Open Inventor 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>
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 SoElement * | copyMatchInfo () 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. |
(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.
virtual SoAccumulatedElement::~SoAccumulatedElement | ( | ) | [protected, virtual] |
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.
static void SoAccumulatedElement::initClass | ( | ) | [static] |
Reimplemented from SoElement.
Reimplemented in SoBBoxModelMatrixElement, SoClipPlaneElement, SoGLClipPlaneElement, SoGLModelMatrixElement, SoGLTextureMatrixElement, SoModelMatrixElement, SoProfileElement, and SoTextureMatrixElement.
Implements SoElement.
Reimplemented in SoModelMatrixElement.
virtual void SoAccumulatedElement::print | ( | FILE * | fp | ) | const [virtual] |
Reimplemented from SoElement.
Reimplemented in SoClipPlaneElement, SoModelMatrixElement, SoProfileElement, and SoTextureMatrixElement.
void SoAccumulatedElement::setNodeId | ( | const SoNode * | node | ) | [protected] |
SbPList SoAccumulatedElement::nodeIds [protected] |
The id's are sorted by increasing value, to make comparisons easier.
Definition at line 127 of file SoAccumulatedElement.h.