NAME
SoIndexedShape -
The SoIndexedShape class is the superclass for all indexed vertex
shapes.
This is an abstract class which contains storage for four fields for
indices to coordinates, normals, materials and texture coordinates for
it’s subclasses.
SYNOPSIS
#include <Inventor/nodes/SoIndexedShape.h>
Inherits SoVertexShape.
Inherited by SoIndexedFaceSet, SoIndexedLineSet, SoIndexedPointSet, and
SoIndexedTriangleStripSet.
Static Public Member Functions
static void initClass (void)
Public Attributes
SoMFInt32 coordIndex
SoMFInt32 materialIndex
SoMFInt32 normalIndex
SoMFInt32 textureCoordIndex
Protected Member Functions
SoIndexedShape (void)
virtual ~SoIndexedShape ()
virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f
¢er)
int getNumVerts (const int startCoord)
void setupIndices (const int numParts, const int numFaces, const SbBool
needNormals, const SbBool needTexCoords)
const int32_t * getNormalIndices (void)
const int32_t * getColorIndices (void)
const int32_t * getTexCoordIndices (void)
SbBool getVertexData (SoState *state, const SoCoordinateElement
*&coords, const SbVec3f *&normals, const int32_t *&cindices, const
int32_t *&nindices, const int32_t *&tindices, const int32_t
*&mindices, int &numcindices, const SbBool needNormals, SbBool
&normalCacheUsed)
Static Protected Member Functions
static SbBool areTexCoordsIndexed (SoAction *action)
Detailed Description
The SoIndexedShape class is the superclass for all indexed vertex
shapes.
This is an abstract class which contains storage for four fields for
indices to coordinates, normals, materials and texture coordinates for
it’s subclasses.
Constructor & Destructor Documentation
SoIndexedShape::SoIndexedShape (void) [protected] Constructor.
SoIndexedShape::~SoIndexedShape () [protected, virtual] Destructor.
Member Function Documentation
void SoIndexedShape::initClass (void) [static] Sets up initialization for
data common to all instances of this class, like submitting necessary
information to the Coin type system.
Reimplemented from SoVertexShape.
Reimplemented in SoIndexedFaceSet, SoIndexedLineSet,
SoIndexedMarkerSet, SoIndexedPointSet, and SoIndexedTriangleStripSet.
void SoIndexedShape::computeBBox (SoAction * action, SbBox3f & box, SbVec3f
& center) [protected, virtual] Implemented by SoShape subclasses to let
the SoShape superclass know the exact size and weighted center point of
the shape’s bounding box.
The bounding box and center point should be calculated and returned in
the local coordinate system.
The method implements action behavior for shape nodes for
SoGetBoundingBoxAction. It is invoked from SoShape::getBoundingBox().
(Subclasses should not override SoNode::getBoundingBox().)
The box parameter sent in is guaranteed to be an empty box, while
center is undefined upon function entry.
Implements SoShape.
int SoIndexedShape::getNumVerts (const int startCoord) [protected] Starting
at index position startCoord, returns the number of indices until
either the end of index array or a separator index (-1).
void SoIndexedShape::setupIndices (const int numParts, const int numFaces,
const SbBool needNormals, const SbBool needTexCoords) [protected] Not
implemented. Probably only used for internal purposes in SGI’s original
Open Inventor, which means it should have been private.
Let us know if you need this method for any code you are porting and
we’ll look into implement it properly.
const int32_t * SoIndexedShape::getNormalIndices (void) [protected] Not
implemented. Probably only used for internal purposes in SGI’s original
Open Inventor, which means it should have been private.
Let us know if you need this method for any code you are porting and
we’ll look into implement it properly.
const int32_t * SoIndexedShape::getColorIndices (void) [protected] Not
implemented. Probably only used for internal purposes in SGI’s original
Open Inventor, which means it should have been private.
Let us know if you need this method for any code you are porting and
we’ll look into implement it properly.
const int32_t * SoIndexedShape::getTexCoordIndices (void) [protected] Not
implemented. Probably only used for internal purposes in SGI’s original
Open Inventor, which means it should have been private.
Let us know if you need this method for any code you are porting and
we’ll look into implement it properly.
SbBool SoIndexedShape::areTexCoordsIndexed (SoAction * action) [static,
protected] Returns whether texture coordinates should be indexed or
not.
See also:
SoTextureCoordinateBinding
SbBool SoIndexedShape::getVertexData (SoState * state, const
SoCoordinateElement *& coords, const SbVec3f *& normals, const int32_t
*& cindices, const int32_t *& nindices, const int32_t *& tindices,
const int32_t *& mindices, int & numcindices, const SbBool needNormals,
SbBool & normalCacheUsed) [protected] Convenience method that will
fetch data needed for rendering or generating primitives. Takes care of
normal cache.
This method was not part of the original SGI Open Inventor API, and is
an extension specific for Coin.
Member Data Documentation
SoMFInt32 SoIndexedShape::coordIndex Coordinate indices.
SoMFInt32 SoIndexedShape::materialIndex Material indices.
SoMFInt32 SoIndexedShape::normalIndex Normal indices.
SoMFInt32 SoIndexedShape::textureCoordIndex Texture coordinate indices.
Author
Generated automatically by Doxygen for Coin from the source code.