.TH "SoNonIndexedShape" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoNonIndexedShape \- .PP The \fBSoNonIndexedShape\fP class is the superclass for all non-indexed vertex based shapes\&. .PP It contains the (now obsoleted) startIndex field and a convenience method for calculating the bounding box\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoVertexShape\fP\&. .PP Inherited by \fBSoFaceSet\fP, \fBSoLineSet\fP, \fBSoPointSet\fP, \fBSoQuadMesh\fP, and \fBSoTriangleStripSet\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const " .br .RI "\fIReturns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. \fP" .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBSoSFInt32\fP \fBstartIndex\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoFieldData\fP * \fBgetFieldData\fP (void) const " .br .ti -1c .RI "\fBSoNonIndexedShape\fP (void)" .br .ti -1c .RI "virtual \fB~SoNonIndexedShape\fP ()" .br .ti -1c .RI "void \fBcomputeCoordBBox\fP (\fBSoAction\fP *action, int numVertices, \fBSbBox3f\fP &box, \fBSbVec3f\fP ¢er)" .br .ti -1c .RI "void \fBfixNumVerticesPointers\fP (\fBSoState\fP *state, const int32_t *&start, const int32_t *&end, int32_t *dummyarray) const " .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSoNonIndexedShape\fP class is the superclass for all non-indexed vertex based shapes\&. .PP It contains the (now obsoleted) startIndex field and a convenience method for calculating the bounding box\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoNonIndexedShape::SoNonIndexedShape (void)\fC [protected]\fP" Constructor\&. .SS "SoNonIndexedShape::~SoNonIndexedShape ()\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoNonIndexedShape::getTypeId (void) const\fC [virtual]\fP" .PP Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. Usage example: .PP .PP .nf void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } } .fi .PP .PP For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in \fIall\fP subclasses\&. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance \fBInventor/nodes/SoSubNode\&.h\fP (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine\&.h (for engine classes) and so on\&. .PP For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups\&. .PP Reimplemented from \fBSoVertexShape\fP\&. .PP Reimplemented in \fBSoFaceSet\fP, \fBSoLineSet\fP, \fBSoMarkerSet\fP, \fBSoPointSet\fP, \fBSoQuadMesh\fP, and \fBSoTriangleStripSet\fP\&. .SS "const \fBSoFieldData\fP * SoNonIndexedShape::getFieldData (void) const\fC [protected]\fP, \fC [virtual]\fP" Returns a pointer to the class-wide field data storage object for this instance\&. If no fields are present, returns \fCNULL\fP\&. .PP Reimplemented from \fBSoVertexShape\fP\&. .PP Reimplemented in \fBSoFaceSet\fP, \fBSoLineSet\fP, \fBSoMarkerSet\fP, \fBSoPointSet\fP, \fBSoQuadMesh\fP, and \fBSoTriangleStripSet\fP\&. .SS "void SoNonIndexedShape::computeCoordBBox (\fBSoAction\fP *action, intnumVertices, \fBSbBox3f\fP &box, \fBSbVec3f\fP ¢er)\fC [protected]\fP" This method is provided as a convenient means for the subclasses of this class to find their bounding box and center value\&. .PP The returned bounding box will enclose all vertices from \fIstartIndex\fP up to \fIstartIndex\fP + \fInumVertices\fP\&. If \fInumVertices\fP is less than zero, \fIall\fP vertices in the current coordinate element or vertex property node will be used in the calculation\&. .PP The \fIcenter\fP point will be calculated as the average of all the vertices in the bounding box\&. .SS "void SoNonIndexedShape::fixNumVerticesPointers (\fBSoState\fP *state, const int32_t *&start, const int32_t *&end, int32_t *dummyarray) const\fC [protected]\fP" Convenience method that might adjust \fIstart\fP and \fIend\fP pointers, which should point at the start and end of the numVertices array when calling this method\&. This takes care of the case where numVertices contains a single -1, and all coordinates in the state (or in the vertexProperty field) should be rendered as one primitive\&. .PP \fIdummyarray\fP should be a temporary array, with room for one integer\&. .PP Not part of the OIV API\&. .SH "Member Data Documentation" .PP .SS "\fBSoSFInt32\fP SoNonIndexedShape::startIndex" Coordinates are fetched from this index on\&. This field is now obsoleted, and is provided only for backward compatibility\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.