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 bool | 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) | |
Public Member Functions inherited from SoElement | |
virtual void | init (SoState *state) |
Initializes element. | |
virtual void | push (SoState *state) |
Pushes/pops element. | |
virtual void | pop (SoState *state, const SoElement *prevTopElement) |
virtual void | print (FILE *fp) const |
Prints element (for debugging) | |
virtual bool | matches (const SoElement *elt) const =0 |
Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity. | |
virtual SoElement * | copyMatchInfo () const =0 |
Create a copy that we can put in a cache used list and call matches() on later. | |
SoType | getTypeId () const |
Returns type identifier for element instance. | |
int | getStackIndex () const |
Returns the stack index for an element instance. | |
void | setDepth (int dpth) |
Sets stuff in an element instance. | |
void | setNext (SoElement *nxt) |
void | setNextInStack (SoElement *nxt) |
void | setNextFree (SoElement *nxt) |
int | getDepth () const |
Returns stuff from element instance. | |
SoElement * | getNext () const |
virtual | ~SoElement () |
Destructor. | |
Static Public Member Functions | |
static void | initClass () |
Initializes the SoAccumulatedElement class. | |
Static Public Member Functions inherited from SoElement | |
static SoType | getClassTypeId () |
Returns type identifier for SoElement class. | |
static void | initElements () |
Initialize ALL Inventor element classes. | |
static void | initClass () |
Initializes the SoElement class. | |
static int | getNumStackIndices () |
Returns the number of stack indices allocated. | |
static SoType | getIdFromStackIndex (int stackIndex) |
Returns the id for the element with the given stack index. | |
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 Member Functions inherited from SoElement | |
SoElement () | |
Constructor; use typeId.createInstance to create elements. | |
void | capture (SoState *state) const |
Does whatever is necessary in state to capture this element for caching purposes. | |
virtual void | captureThis (SoState *state) const |
Really captures this element, once it has been determined that a cache is open to capture it. | |
void | setTypeId (SoType id) |
Sets typeId in instance. | |
void | setStackIndex (int index) |
Sets stackIndex in instance. | |
SoElement * | getNextInStack () const |
Returns next instance in specific element stack. | |
SoElement * | getNextFree () const |
Returns next free element in a specific element stack. | |
Protected Attributes | |
SbPList | nodeIds |
This stores the list of node id's as pointers, since they should be the same length as int32_ts. | |
Additional Inherited Members | |
Static Protected Member Functions inherited from SoElement | |
static SoElement * | getElement (SoState *state, int stackIndex) |
Returns an instance of an element from the stack with the given index in the given state. | |
static const SoElement * | getConstElement (SoState *state, int stackIndex) |
Returns a read-only pointer to the top instance in the given element stack. | |
static int | createStackIndex (SoType id) |
Creates and returns a new stack index. | |
Static Protected Attributes inherited from SoElement | |
static int | classStackIndex |
Stack index for SoElement class. | |
(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.
|
protectedvirtual |
|
protected |
|
protectedvirtual |
Reimplemented from SoElement.
|
protected |
|
protectedvirtual |
Implements SoElement.
|
static |
|
virtual |
Implements SoElement.
Reimplemented in SoModelMatrixElement.
|
virtual |
Reimplemented from SoElement.
Reimplemented in SoClipPlaneElement, SoModelMatrixElement, SoProfileElement, and SoTextureMatrixElement.
|
protected |
|
protected |
The id's are sorted by increasing value, to make comparisons easier.
Definition at line 127 of file SoAccumulatedElement.h.