.TH "SoAccumulatedElement" 3 "Wed May 23 2012" "Version 3.1.3" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoAccumulatedElement \- .PP The \fBSoAccumulatedElement\fP class is an abstract class for storing accumulated state\&. .PP This is the superclass of elements where new element data \fIaccumulates\fP with older data\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoElement\fP\&. .PP Inherited by \fBSoBumpMapMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoLightElement\fP, \fBSoModelMatrixElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoProfileElement\fP, \fBSoTextureMatrixElement\fP, and SoVertexAttributeElement\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual SbBool \fBmatches\fP (const \fBSoElement\fP *element) const " .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual void \fBinit\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpush\fP (\fBSoState\fP *state)" .br .ti -1c .RI "void \fBclearNodeIds\fP (void)" .br .ti -1c .RI "void \fBaddNodeId\fP (const \fBSoNode\fP *const node)" .br .ti -1c .RI "void \fBsetNodeId\fP (const \fBSoNode\fP *const node)" .br .ti -1c .RI "void \fBcopyNodeIds\fP (const \fBSoAccumulatedElement\fP *copyfrom)" .br .ti -1c .RI "virtual \fBSoElement\fP * \fBcopyMatchInfo\fP (void) const " .br .ti -1c .RI "virtual void \fBcaptureThis\fP (\fBSoState\fP *state) const " .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBSbList\fP< uint32_t > \fBnodeIds\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSoAccumulatedElement\fP class is an abstract class for storing accumulated state\&. .PP This is the superclass of elements where new element data \fIaccumulates\fP with older data\&. The element stores node id values for all nodes accumulated during traversal for the current state\&. These id values are used to determine when to invalidate caches\&. .PP \fBSee also:\fP .RS 4 \fBSoReplacedElement\fP, \fBSoFloatElement\fP, \fBSoInt32Element\fP .RE .PP .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoAccumulatedElement::getClassTypeId (void)\fC [static]\fP" This static method returns the class type\&. .PP Reimplemented from \fBSoElement\fP\&. .PP Reimplemented in \fBSoLightElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoProfileElement\fP, \fBSoBBoxModelMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoGLMultiTextureMatrixElement\fP, \fBSoModelMatrixElement\fP, \fBSoBumpMapMatrixElement\fP, \fBSoTextureMatrixElement\fP, \fBSoGLClipPlaneElement\fP, \fBSoGLModelMatrixElement\fP, and \fBSoGLTextureMatrixElement\fP\&. .SS "int SoAccumulatedElement::getClassStackIndex (void)\fC [static]\fP" This static method returns the state stack index for the class\&. .PP Reimplemented from \fBSoElement\fP\&. .PP Reimplemented in \fBSoLightElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoProfileElement\fP, \fBSoBBoxModelMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoGLMultiTextureMatrixElement\fP, \fBSoModelMatrixElement\fP, \fBSoBumpMapMatrixElement\fP, \fBSoTextureMatrixElement\fP, \fBSoGLClipPlaneElement\fP, \fBSoGLModelMatrixElement\fP, and \fBSoGLTextureMatrixElement\fP\&. .SS "void SoAccumulatedElement::initClass (void)\fC [static]\fP" Initialize relevant common data for all instances, like the type system\&. .PP Reimplemented from \fBSoElement\fP\&. .PP Reimplemented in \fBSoLightElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoProfileElement\fP, \fBSoBBoxModelMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoGLMultiTextureMatrixElement\fP, \fBSoModelMatrixElement\fP, \fBSoBumpMapMatrixElement\fP, \fBSoTextureMatrixElement\fP, \fBSoGLClipPlaneElement\fP, \fBSoGLModelMatrixElement\fP, and \fBSoGLTextureMatrixElement\fP\&. .SS "SbBool SoAccumulatedElement::matches (const \fBSoElement\fP *element) const\fC [virtual]\fP" This function returns \fCTRUE\fP is the element matches another element (of the same class), with respect to cache validity\&. .PP If the application programmer's extension element has a \fBmatches()\fP function, it should also have a \fBcopyMatchInfo()\fP function\&. .PP Implements \fBSoElement\fP\&. .PP Reimplemented in \fBSoModelMatrixElement\fP\&. .SS "void SoAccumulatedElement::init (\fBSoState\fP *state)\fC [protected]\fP, \fC [virtual]\fP" This function initializes the element type in the given \fBSoState\fP\&. It is called for the first element of each enabled element type in \fBSoState\fP objects\&. .PP Reimplemented from \fBSoElement\fP\&. .PP Reimplemented in \fBSoProfileElement\fP, \fBSoLightElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoBBoxModelMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoGLMultiTextureMatrixElement\fP, \fBSoModelMatrixElement\fP, \fBSoBumpMapMatrixElement\fP, \fBSoTextureMatrixElement\fP, \fBSoGLClipPlaneElement\fP, \fBSoGLModelMatrixElement\fP, and \fBSoGLTextureMatrixElement\fP\&. .SS "void SoAccumulatedElement::push (\fBSoState\fP *state)\fC [protected]\fP, \fC [virtual]\fP" This method is called every time a new element is required in one of the stacks\&. This happens when a writable element is requested, using \fBSoState::getElement()\fP or indirectly \fBSoElement::getElement()\fP, and the depth of the current element is less than the state depth\&. .PP Override this method if your element needs to copy data from the previous top of stack\&. The \fBpush()\fP method is called on the new element, and the previous element can be found using \fBSoElement::getNextInStack()\fP\&. .PP Reimplemented from \fBSoElement\fP\&. .PP Reimplemented in \fBSoProfileElement\fP, \fBSoLightElement\fP, \fBSoBBoxModelMatrixElement\fP, \fBSoMultiTextureMatrixElement\fP, \fBSoClipPlaneElement\fP, \fBSoGLMultiTextureMatrixElement\fP, \fBSoModelMatrixElement\fP, \fBSoBumpMapMatrixElement\fP, \fBSoGLModelMatrixElement\fP, and \fBSoTextureMatrixElement\fP\&. .SS "void SoAccumulatedElement::clearNodeIds (void)\fC [protected]\fP" Empty the list of node ids\&. .SS "void SoAccumulatedElement::addNodeId (const \fBSoNode\fP *constnode)\fC [protected]\fP" Add the node id of \fInode\fP to the list of node ids\&. .SS "void SoAccumulatedElement::setNodeId (const \fBSoNode\fP *constnode)\fC [protected]\fP" Empty the list of node ids, and add the id of \fInode\fP\&. .SS "void SoAccumulatedElement::copyNodeIds (const \fBSoAccumulatedElement\fP *copyfrom)\fC [protected]\fP" Convenience method which copies the node ids from \fIcopyfrom\fP to this element\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .SS "\fBSoElement\fP * SoAccumulatedElement::copyMatchInfo (void) const\fC [protected]\fP, \fC [virtual]\fP" This function creates a copy of the element that contains enough information to enable the \fBmatches()\fP function to work\&. .PP Used to help with scenegraph traversal caching operations\&. .PP Implements \fBSoElement\fP\&. .SS "void SoAccumulatedElement::captureThis (\fBSoState\fP *state) const\fC [protected]\fP, \fC [virtual]\fP" Adds the element to the cache\&. .PP Reimplemented from \fBSoElement\fP\&. .SH "Member Data Documentation" .PP .SS "SoAccumulatedElement::nodeIds\fC [protected]\fP" Stores the internal list of node id values for nodes accumulated on the stack for the element\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.