Open Inventor Reference
SoReplacedElement Class Reference

This is the abstract base class for each state element whose value is replaced whenever it is set. More...

#include <Inventor/elements/SoReplacedElement.h>

Inheritance diagram for SoReplacedElement:
SoElement SoCoordinateElement SoFontNameElement SoGLMaterialIndexElement SoLightAttenuationElement SoNormalElement SoPolygonOffsetElement SoProfileCoordinateElement SoProjectionMatrixElement SoTextureCoordinateElement SoTextureImageElement SoViewVolumeElement SoViewingMatrixElement

Public Member Functions

virtual void init (SoState *state)
 Initializes node id in element.
 
virtual bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
SbNodeIdType getNodeId () const
 Return nodeId.
 
- 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 SoElementcopyMatchInfo () 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.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static void initClass ()
 Initializes the SoReplacedElement 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

virtual ~SoReplacedElement ()
 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.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Static Protected Member Functions

static SoElementgetElement (SoState *state, int stackIndex, SoNode *node)
 Overrides SoElement::getElement() to set the nodeId in the element instance before returning it.
 
- 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.
 
static const SoElementgetConstElement (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.
 

Protected Attributes

SbNodeIdType nodeId
 

Additional Inherited Members

- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

(Most state elements fall into this category, so most are derived from this class.)

This class overrides the SoElement::getElement() method to store the node-id of the node that is about to set the value in the element (i.e., the node that is passed to getElement()). This class also defines the SoElement::matches() method to return TRUE if the node-id's of the two elements match. Subclasses can change this behavior by defining matches() differently, if they wish. For example, they can compare the elements' values, instead.

Definition at line 82 of file SoReplacedElement.h.

Constructor & Destructor Documentation

◆ ~SoReplacedElement()

virtual SoReplacedElement::~SoReplacedElement ( )
protectedvirtual

Member Function Documentation

◆ copyMatchInfo()

virtual SoElement * SoReplacedElement::copyMatchInfo ( ) const
virtual

The only operation supported by the copy is matches() (the copy will be unitialized except for the nodeId).

Implements SoElement.

Reimplemented in SoFontNameElement, SoGLMaterialIndexElement, and SoLightAttenuationElement.

◆ getElement()

static SoElement * SoReplacedElement::getElement ( SoState state,
int  stackIndex,
SoNode node 
)
staticprotected

◆ getNodeId()

SbNodeIdType SoReplacedElement::getNodeId ( ) const
inline

This was added so the SoTransformSeparator class can figure out whether or not it contains a camera:

Definition at line 107 of file SoReplacedElement.h.

◆ init()

◆ initClass()

static void SoReplacedElement::initClass ( )
static

◆ matches()

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

◆ print()

Member Data Documentation

◆ nodeId

SbNodeIdType SoReplacedElement::nodeId
protected

Definition at line 110 of file SoReplacedElement.h.


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