public abstract class SoIndexedShape extends SoVertexShape
SoIndexedFaceSet
, SoIndexedTriangleStripSet
, and SoIndexedLineSet
. SoIndexedShape
defines fields that are used in all of its subclasses.
All subclasses of SoNonIndexedShape
construct objects by using the coordinates specified by the vertexProperty
field (from SoVertexShape
), or the current inherited coordinates. The coordIndex
field defined by this class contains the indices into the current coordinates of the vertices of the shape. These indices are also used for materials, normals, tangents or texture coordinates when the appropriate binding is PER_VERTEX_INDEXED.
Material, normal and tangent bindings are interpreted as follows for each subclass:
<TABLE border=0 cellspacing=0 cellpadding=5> <TR><TD valign=_top> OVERALL <TD valign=_top> One material for the entire shape. <TR><TD valign=_top> PER_PART <TD valign=_top> Specific to the subclass. <TR><TD valign=_top> PER_PART_INDEXED <TD valign=_top> Same as PER_PART, using indices from the #materialIndex,
normalIndex
or tangentIndex
field.
PER_FACE
Specific to the subclass.
PER_FACE_INDEXED
Same as PER_FACE, using indices from the materialIndex
, normalIndex
or tangentIndex
field.
PER_VERTEX
One material per vertex.
PER_VERTEX_INDEXED
One material per vertex, using indices from the materialIndex
, normalIndex
or tangentIndex
field.
When any _INDEXED binding is used for materials, normals or tangents, the materialIndex
, normalIndex
or tangentIndex
field is used to determine the indices for the materials, normals or tangents. If this field contains a single value of -1 (the default), the coordinate indices from the coordIndex
field are used as well for materials, normals or tangents. When the binding is PER_VERTEX_INDEXED, indices in these fields that correspond to negative indices in coordIndex
are skipped; for other index bindings all the values in the fields are used, in order.
Explicit texture coordinates (as defined by SoTextureCoordinate2
) may be bound to vertices of an indexed shape consecutively (if the texture coordinate binding is PER_VERTEX) or by using the indices in the textureCoordIndex
field (if the binding is PER_VERTEX_INDEXED). As with all vertex-based shapes, if there is a current texture but no texture coordinates are specified, a default texture coordinate mapping is calculated using the bounding box of the shape.
Be sure that the indices contained in the coordIndex
, materialIndex
, normalIndex
, tangentIndex
, and textureCoordIndex
fields are valid with respect to the current state, or errors will occur.
Limitations:
File format/default:
This is an abstract class. See the reference page of a derived class for the format and default values.
See also:
SoIndexedFaceSet
, SoIndexedLineSet
, SoIndexedTriangleStripSet
, SoMaterialBinding
, SoNonIndexedShape
, SoNormalBinding
, SoTangentBinding, SoShapeHints
, SoTextureCoordinateBinding
SoShape.ShapeTypes
SoNode.RenderModes
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoMFInt32 |
coordIndex
The indices of the coordinates that the shape uses as its vertices.
|
SoMFInt32 |
materialIndex
The indices of the materials that are used for the shape.
|
SoMFInt32 |
normalIndex
The indices of the normals that are used for the shape.
|
SoMFInt32 |
tangentIndex
The indices of the tangents that are used for the shape.
|
SoMFInt32 |
textureCoordIndex
The indices of the texture coordinates that are used for the shape.
|
vertexProperty
boundingBoxIgnoring
VERBOSE_LEVEL, ZeroHandle
getNormalCache, getTangentCache
getShapeType, isPrimitiveRestartAvailable, isPrimitiveRestartAvailable
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
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
getNativeResourceHandle
public final SoMFInt32 coordIndex
public final SoMFInt32 materialIndex
public final SoMFInt32 normalIndex
public final SoMFInt32 tangentIndex
public final SoMFInt32 textureCoordIndex
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com