SoIndexedShape(3IV)

SoIndexedShape (SoInd) - abstract base class for all indexed vertex-based shapes

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoIndexedShape (SoInd) - abstract base class for all indexed vertex-based
     shapes

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape >
     SoIndexedShape

SYNOPSIS
     #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)
     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
     (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