Provided by: inventor-doc_2.1.5-10-18_all 

NAME
SoIndexedShape — abstract base class for all indexed vertex-based shapes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape > SoIndexedShape
SYNOPSIS
#include <Inventor/nodes/SoIndexedShape.h>
Fields from class SoIndexedShape:
SoMFInt32 coordIndex
SoMFInt32 materialIndex
SoMFInt32 normalIndex
SoMFInt32 textureCoordIndex
Fields from class SoVertexShape:
SoSFNode vertexProperty
Methods from class SoIndexedShape:
static SoType getClassTypeId()
Methods from class SoNode:
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE) const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name, SoNodeList &list)
Methods from class SoFieldContainer:
void setToDefaults()
SbBool hasDefaultValues() const
SbBool fieldsAreEqual(const SoFieldContainer *fc) const
void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
SbBool set(const char *fieldDataString)
void get(SbString &fieldDataString)
virtual int getFields(SoFieldList &resultList) const
virtual SoField * getField(const SbName &fieldName) const
SbBool getFieldName(const SoField *field, SbName &fieldName) const
SbBool isNotifyEnabled() const
SbBool enableNotify(SbBool flag)
Methods from class SoBase:
void ref()
void unref() const
void unrefNoDelete() const
void touch()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName getName() const
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 (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.
METHODS
static SoType getClassTypeId()
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
SoIndexedShape(3IV)()