SoIndexedShape(3IV)NAMESoIndexedShape (SoInd) - abstract base class for all indexed vertex-based
shapes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape >
SoIndexedShapeSYNOPSIS
#include <Inventor_c/nodes/SoIndexedShape.h>
typedef SoIndexedShape SoInd
Fields from class SoIndexedShape:
SoMFInt32 coordIndex
SoMFInt32 materialIndex
SoMFInt32 normalIndex
SoMFInt32 textureCoordIndex
Fields from class SoVertexShape:
SoSFNode vertexProperty
Functions from class SoIndexedShape:
SoType SoIndGetClassTypeId()
Functions from class SoNode:
void SoIndSetOverride(SoInd *this, SbBool state)
SbBool SoIndIsOverride(const SoInd *this)
SoNode * SoIndCopy(const SoInd *this, SbBool copyConnections =
FALSE)
SbBool SoIndAffectsState(const SoInd *this)
SoNode * SoIndGetByName(const char *name)
int SoIndGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoIndSetToDflts(SoInd *this)
SbBool SoIndHasDfltVals(const SoInd *this)
SbBool SoIndFldsAreEq(const SoInd *this, const
SoFieldContainer *fc)
void SoIndCopyFieldVals(SoInd *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoIndSet(SoInd *this, const char *fieldDataString)
void SoIndGet(SoInd *this, SbString *fieldDataString)
int SoIndGetFields(const SoInd *this, SoFieldList
*resultList)
Page 1SoIndexedShape(3IV)
SoField * SoIndGetField(const SoInd *this, const char
*fieldName)
SbBool SoIndGetFieldName(const SoInd *this, const SoField
*field, SbName *fieldName)
SbBool SoIndIsNotifyEnabled(const SoInd *this)
SbBool SoIndEnableNotify(SoInd *this, SbBool flag)
Functions from class SoBase:
void SoIndRef(SoInd *this)
void SoIndUnref(const SoInd *this)
void SoIndUnrefNoDelete(const SoInd *this)
void SoIndTouch(SoInd *this)
SoType SoIndGetTypeId(const SoInd *this)
SbBool SoIndIsOfType(const SoInd *this, SoType type)
void SoIndSetName(SoInd *this, const char *name)
SbName SoIndGetName(const SoInd *this)
DESCRIPTION
This node is the abstract base class for all vertex-based shapes that are
constructed from indices, including 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, or texture coordinates when the appropriate binding is
PER_VERTEX_INDEXED.
Material and normal bindings are interpreted as follows for each
subclass:
OVERALL One material for the entire shape.
PER_PART Specific to the subclass.
PER_PART_INDEXED Same as PER_PART, using indices from the
materialIndex or normalIndex field.
PER_FACE Specific to the subclass.
PER_FACE_INDEXED Same as PER_FACE, using indices from the
materialIndex or normalIndex field.
PER_VERTEX One material per vertex.
PER_VERTEX_INDEXED One material per vertex, using indices from the
materialIndex or normalIndex field.
When any _INDEXED binding is used for materials or normals, the
materialIndex or normalIndex field is used to determine the indices for
the materials or normals. If this field contains a single value of -1
Page 2SoIndexedShape(3IV)
(the default), the coordinate indices from the coordIndex field are used
as well for materials or normals. 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, and textureCoordIndex fields are valid with respect to the
current state, or errors will occur.
FIELDS
SoMFInt32 coordIndex
The indices of the coordinates that the shape uses as its vertices.
The coordinates connect to form faces, lines, or other shapes. Each
subclass defines special negative indices to use to indicate
separation between faces, lines, and so on.
SoMFInt32 materialIndex
SoMFInt32 normalIndex
SoMFInt32 textureCoordIndex
The indices of the materials, normals, and texture coordinates that
are used for the shape. These fields are used only when the
appropriate binding is one of the _INDEXED bindings. By default, the
values of these fields indicate that the coordinate indices should
be used for materials, normals, or texture coordinates as well.
FUNCTIONS
SoType SoIndGetClassTypeId()
Returns type identifier for this class.
FILE FORMAT/DEFAULTS
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, SoShapeHints,
SoTextureCoordinateBinding
Page 3