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

Public Member Functions

virtual bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id's. More...
 
virtual void print (FILE *fp) const
 Prints element (for debugging) More...
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element. More...
 
virtual void push (SoState *state)
 Pushes/pops element. More...
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
SoType getTypeId () const
 Returns type identifier for element instance. More...
 
int getStackIndex () const
 Returns the stack index for an element instance. More...
 
void setDepth (int dpth)
 Sets stuff in an element instance. More...
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance. More...
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor. More...
 

Static Public Member Functions

static void initClass ()
 Initializes the SoAccumulatedElement class. More...
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class. More...
 
static void initElements ()
 Initialize ALL Inventor element classes. More...
 
static void initClass ()
 Initializes the SoElement class. More...
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated. More...
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index. More...
 

Protected Member Functions

void clearNodeIds ()
 Clears out the list of node id's. More...
 
void addNodeId (const SoNode *node)
 Adds the id of the given node to the current list. More...
 
void setNodeId (const SoNode *node)
 Sets the node id list to JUST the id of the given node. More...
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element; this will copy the nodeId list properly. More...
 
virtual void captureThis (SoState *state) const
 Override normal capture method to capture elements at other depths that we are accumulating with. More...
 
virtual ~SoAccumulatedElement ()
 Destructor. More...
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements. More...
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes. More...
 
void setTypeId (SoType id)
 Sets typeId in instance. More...
 
void setStackIndex (int index)
 Sets stackIndex in instance. More...
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack. More...
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack. More...
 

Protected Attributes

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

Additional Inherited Members

- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state. More...
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack. More...
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index. More...
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class. More...
 

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

◆ ~SoAccumulatedElement()

virtual SoAccumulatedElement::~SoAccumulatedElement ( )
protectedvirtual

Member Function Documentation

◆ addNodeId()

void SoAccumulatedElement::addNodeId ( const SoNode node)
protected

◆ captureThis()

virtual void SoAccumulatedElement::captureThis ( SoState state) const
protectedvirtual

Reimplemented from SoElement.

◆ clearNodeIds()

void SoAccumulatedElement::clearNodeIds ( )
protected

◆ copyMatchInfo()

virtual SoElement* SoAccumulatedElement::copyMatchInfo ( ) const
protectedvirtual

Implements SoElement.

◆ initClass()

static void SoAccumulatedElement::initClass ( )
static

◆ matches()

virtual bool SoAccumulatedElement::matches ( const SoElement elt) const
virtual

Implements SoElement.

Reimplemented in SoModelMatrixElement.

◆ print()

virtual void SoAccumulatedElement::print ( FILE *  fp) const
virtual

◆ setNodeId()

void SoAccumulatedElement::setNodeId ( const SoNode node)
protected

Member Data Documentation

◆ nodeIds

SbPList SoAccumulatedElement::nodeIds
protected

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: