Open Inventor Reference
SoAccumulatedElement Class Reference

This is the abstract base class for each state element whose value may be accumulated when it is set. More...

#include <Inventor/elements/SoAccumulatedElement.h>

Inheritance diagram for SoAccumulatedElement:
SoElement SoClipPlaneElement SoModelMatrixElement SoProfileElement SoTextureMatrixElement SoGLClipPlaneElement SoBBoxModelMatrixElement SoGLModelMatrixElement SoGLTextureMatrixElement

List of all members.

Public Member Functions

virtual SbBool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id's.
virtual void print (FILE *fp) const
 Prints element (for debugging)

Static Public Member Functions

static void initClass ()
 Initializes the SoAccumulatedElement class.

Protected Member Functions

void clearNodeIds ()
 Clears out the list of node id's.
void addNodeId (const SoNode *node)
 Adds the id of the given node to the current list.
void setNodeId (const SoNode *node)
 Sets the node id list to JUST the id of the given node.
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element; this will copy the nodeId list properly.
virtual void captureThis (SoState *state) const
 Override normal capture method to capture elements at other depths that we are accumulating with.
virtual ~SoAccumulatedElement ()
 Destructor.

Protected Attributes

SbPList nodeIds
 This stores the list of node id's as pointers, since they should be the same length as int32_ts.

Detailed Description

(This is rare.) Examples are transformations and profiles.

Subclasses may need to override the push() method to copy values from the next instance in the stack (using getNextInStack() ), if the new one has to accumulate values on top of the old ones.

This class defines the matches() method to compare lists of node-id's. The node-id's represent the states of all nodes that changed the value of the element. SoAccumulatedElement provides methods that maintain lists of node-id's of all nodes that affect an instance. Subclasses must call these methods to make sure the id's are up to date, if they plan to use the standard matches() method. Otherwise, they can define matches() differently, if they wish.

Definition at line 88 of file SoAccumulatedElement.h.


Constructor & Destructor Documentation

virtual SoAccumulatedElement::~SoAccumulatedElement ( ) [protected, virtual]

Member Function Documentation

void SoAccumulatedElement::addNodeId ( const SoNode node) [protected]
virtual void SoAccumulatedElement::captureThis ( SoState state) const [protected, virtual]

Reimplemented from SoElement.

void SoAccumulatedElement::clearNodeIds ( ) [protected]
virtual SoElement* SoAccumulatedElement::copyMatchInfo ( ) const [protected, virtual]

Implements SoElement.

virtual SbBool SoAccumulatedElement::matches ( const SoElement elt) const [virtual]

Implements SoElement.

Reimplemented in SoModelMatrixElement.

virtual void SoAccumulatedElement::print ( FILE *  fp) const [virtual]
void SoAccumulatedElement::setNodeId ( const SoNode node) [protected]

Member Data Documentation

The id's are sorted by increasing value, to make comparisons easier.

Definition at line 127 of file SoAccumulatedElement.h.


The documentation for this class was generated from the following file: