Class SoNurbsProperty
- java.lang.Object
 - 
- com.openinventor.inventor.Inventor
 - 
- com.openinventor.inventor.misc.SoBase
 - 
- com.openinventor.inventor.fields.SoFieldContainer
 - 
- com.openinventor.inventor.nodes.SoNode
 - 
- com.openinventor.inventor.nodes.SoNurbsProperty
 
 
 
 
 
 
- 
- All Implemented Interfaces:
 SafeDisposable
public class SoNurbsProperty extends SoNode
Node that defines additional properties for rendering a NURBS surface. This node defines an additional set of properties used bySoNurbsSurfacewhen rendering NURBS surfaces.For a large NURBS surface, it is sometimes more effective to display two central isoparametric curves rather than facet boundaries (as in wireframe mode) because the latter may provide an overly complicated view of the surface.
This node allows you to specify the NURBS draw style; the color of the trim curves, boundaries and isoparametric curves; the line pattern of the isoparametric curves; the number of sample points between trim curves control points; the type of tessellation; angle and distance for adaptive tessellation.
The NURBS draw style is a bitmask specifying which combination of the following representations to use for displaying the NURBS: normal display, trim curves and boundaries, and/or central isoparametric curves.
Turning off the normal NURBS surface display, and turning on the display of trim curves, boundaries and isoparametric curves can dramatically speed up rendering of large models.
When in ADAPTIVE tessellation mode, regions with a low curvature will be less tessellated than regions with a high curvature.
File format/default:
NurbsProperty {
drawStyle NORMAL numSamplePoints -1 color 1 1 1 isoParamCurvesPattern 0xFFFF tessellationType CONSTANT tessellationDistance 0.01 tessellationAngle 0.35 Action behavior:
Sets:
SoNurbsPropertyElement- See Also:
 SoNurbsSurface
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSoNurbsProperty.DrawStylesDraw style.static classSoNurbsProperty.TessellationTypesTesselation type.- 
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes 
- 
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description SoSFColorcolorContains the color used to render trim curves and isoparametric curves.SoSFBitMask<SoNurbsProperty.DrawStyles>drawStyleIndicates which part of the NURBS surface to render.SoSFUShortisoParamCurvesPatternSets a specific line pattern for isoparametric curves.SoSFInt32numSamplePointsnumSamplePointsis used during trim curve tessellation.SoSFFloattessellationAngleUsed when tessellationType is set to ADAPTIVE.SoSFFloattessellationDistanceUsed when tessellationType is set to ADAPTIVE.SoSFEnum<SoNurbsProperty.TessellationTypes>tessellationTypeSpecifies the tessellation type.- 
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle 
 - 
 
- 
Constructor Summary
Constructors Constructor Description SoNurbsProperty()Constructor. 
- 
Method Summary
- 
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write 
- 
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults 
- 
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable 
- 
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle 
 - 
 
 - 
 
- 
- 
Field Detail
- 
drawStyle
public final SoSFBitMask<SoNurbsProperty.DrawStyles> drawStyle
Indicates which part of the NURBS surface to render. Use enumDrawStyle. Default is NORMAL. 
- 
numSamplePoints
public final SoSFInt32 numSamplePoints
numSamplePointsis used during trim curve tessellation. It specifies the exact number of points to generate between two trim curve control points. If set to -1 (the default), the number of points generated is computed from theSoComplexitynode. Setting this field to a small value (less than 3) can reduce the number of triangles generated by the tessellation and thus increase the drawing performance of trimmed NURBS surfaces. 
- 
color
public final SoSFColor color
Contains the color used to render trim curves and isoparametric curves. 
- 
isoParamCurvesPattern
public final SoSFUShort isoParamCurvesPattern
Sets a specific line pattern for isoparametric curves. 
- 
tessellationType
public final SoSFEnum<SoNurbsProperty.TessellationTypes> tessellationType
Specifies the tessellation type. . Default is CONSTANT.- Since:
 - Open Inventor 6.0
 
 
- 
tessellationDistance
public final SoSFFloat tessellationDistance
Used when tessellationType is set to ADAPTIVE. The maximum tessellation step size (curvilinear distance) is this fraction of the diagonal of the bounding box of the surface or the group of surfaces (SoNurbsGroup). Increasing this value make the tessellation more dependent ontessellationAngle. Default value is 0.01. That is, the distance must not be more than 1% of the diagonal of the bounding box.- Since:
 - Open Inventor 6.0
 
 
- 
tessellationAngle
public final SoSFFloat tessellationAngle
Used when tessellationType is set to ADAPTIVE. Specifies the maximum angle (in radians) between the normals of two adjacent tessellated faces. Decreasing this value adds more tessellation points on flat parts of the surface. Default value is 0.35- Since:
 - Open Inventor 6.0
 
 
 - 
 
 -