Open Inventor Reference
SoBBoxModelMatrixElement Class Reference

Element that stores the current model matrix for use with the SoGetBoundingBoxAction. More...

#include <Inventor/elements/SoBBoxModelMatrixElement.h>

Inheritance diagram for SoBBoxModelMatrixElement:
SoModelMatrixElement SoAccumulatedElement SoElement

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Overrides push() method to copy values from next instance in the stack.
 
- Public Member Functions inherited from SoModelMatrixElement
virtual void init (SoState *state)
 Initializes element.
 
virtual bool matches (const SoElement *elt) const
 Override standard matches to invalidate on cull-test.
 
virtual void push (SoState *state)
 Overrides push() method to copy values from next instance in the stack.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
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 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 reset (SoState *state, SoNode *node)
 Allows the SoGetBoundingBoxAction to reset the current model matrix to identity and all currently-open local matrices to identity.
 
static void pushMatrix (SoState *state, SbMatrix &matrix, SbMatrix &localmatrix)
 Because two model matrices are kept track of during the getBoundingBoxAction (the local model matrix, used by Separators to calculate their bbox caches, and the real model matrix), replacement routines for pushMatrix/popMatrix must be given; TransformSeparator::getBoundingBox uses these methods to correctly keep both matrices up-to-date.
 
static void popMatrix (SoState *state, const SbMatrix &matrix, const SbMatrix &localmatrix)
 
static void initClass ()
 Initializes the SoBBoxModelMatrixElement class.
 
- Static Public Member Functions inherited from SoModelMatrixElement
static void makeIdentity (SoState *state, SoNode *node)
 Sets the model matrix to the identity matrix.
 
static void set (SoState *state, SoNode *node, const SbMatrix &matrix)
 Sets the model matrix to the given matrix.
 
static void mult (SoState *state, SoNode *node, const SbMatrix &matrix)
 Multiplies the given matrix into the model matrix.
 
static void translateBy (SoState *state, SoNode *node, const SbVec3f &translation)
 Each of these multiplies a matrix that performs the specified transformation into the model matrix.
 
static void rotateBy (SoState *state, SoNode *node, const SbRotation &rotation)
 
static void scaleBy (SoState *state, SoNode *node, const SbVec3f &scaleFactor)
 
static SbMatrix pushMatrix (SoState *state)
 These methods are used by the TransformSeparator node.
 
static void popMatrix (SoState *state, const SbMatrix &m)
 
static void setCullMatrix (SoState *state, SoNode *node, const SbMatrix &matrix)
 Sets the transformation that defines the volume that view-volume culling should be tested against.
 
static const SbMatrixgetCombinedCullMatrix (SoState *state)
 This method gets the model*cullMatrix combined matrix (which is cached by this element).
 
static const SbMatrixget (SoState *state)
 Returns current model matrix from the state.
 
static const SbMatrixget (SoState *state, bool &isIdent)
 Returns current model matrix from the state, sets given flag to TRUE if matrix is known to be identity.
 
static void initClass ()
 Initializes the SoModelMatrixElement class.
 
- Static Public Member Functions inherited from SoAccumulatedElement
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

virtual void makeEltIdentity ()
 These all override the methods on SoModelMatrixElement to also set the SoLocalBBoxMatrixElement.
 
virtual void setElt (const SbMatrix &matrix)
 Sets the matrix in an instance to given matrix.
 
virtual void multElt (const SbMatrix &matrix)
 Multiplies into the matrix in an instance.
 
virtual void translateEltBy (const SbVec3f &translation)
 Each of these performs the appropriate operation on the matrix in an instance.
 
virtual void rotateEltBy (const SbRotation &translation)
 
virtual void scaleEltBy (const SbVec3f &scaleFactor)
 
virtual SbMatrix pushMatrixElt ()
 These must never be called; they print debug errors if called:
 
virtual void popMatrixElt (const SbMatrix &m)
 
virtual ~SoBBoxModelMatrixElement ()
 
- Protected Member Functions inherited from SoModelMatrixElement
virtual void makeEltIdentity ()
 Sets the matrix in an instance to identity.
 
virtual void setElt (const SbMatrix &matrix)
 Sets the matrix in an instance to given matrix.
 
virtual void multElt (const SbMatrix &matrix)
 Multiplies into the matrix in an instance.
 
virtual void translateEltBy (const SbVec3f &translation)
 Each of these performs the appropriate operation on the matrix in an instance.
 
virtual void rotateEltBy (const SbRotation &translation)
 
virtual void scaleEltBy (const SbVec3f &scaleFactor)
 
virtual SbMatrix pushMatrixElt ()
 virtual methods for push/pop so GL element can Do The Right Thing:
 
virtual void popMatrixElt (const SbMatrix &m)
 
virtual ~SoModelMatrixElement ()
 
- Protected Member Functions inherited from SoAccumulatedElement
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 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.
 

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.
 
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 inherited from SoAccumulatedElement
SbPList nodeIds
 This stores the list of node id's as pointers, since they should be the same length as int32_ts.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Overrides the virtual methods on SoModelMatrixElement to also set the current SoLocalBBoxMatrixElement.

This class relies on SoModelMatrixElement to store the matrix in the instance, and inherits most of its methods from it.

Definition at line 75 of file SoBBoxModelMatrixElement.h.

Constructor & Destructor Documentation

◆ ~SoBBoxModelMatrixElement()

virtual SoBBoxModelMatrixElement::~SoBBoxModelMatrixElement ( )
protectedvirtual

Member Function Documentation

◆ init()

virtual void SoBBoxModelMatrixElement::init ( SoState state)
virtual

Reimplemented from SoModelMatrixElement.

◆ initClass()

static void SoBBoxModelMatrixElement::initClass ( )
static

◆ makeEltIdentity()

virtual void SoBBoxModelMatrixElement::makeEltIdentity ( )
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ multElt()

virtual void SoBBoxModelMatrixElement::multElt ( const SbMatrix matrix)
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ popMatrix()

static void SoBBoxModelMatrixElement::popMatrix ( SoState state,
const SbMatrix matrix,
const SbMatrix localmatrix 
)
static

◆ popMatrixElt()

virtual void SoBBoxModelMatrixElement::popMatrixElt ( const SbMatrix m)
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ push()

virtual void SoBBoxModelMatrixElement::push ( SoState state)
virtual

Reimplemented from SoModelMatrixElement.

◆ pushMatrix()

static void SoBBoxModelMatrixElement::pushMatrix ( SoState state,
SbMatrix matrix,
SbMatrix localmatrix 
)
static

◆ pushMatrixElt()

virtual SbMatrix SoBBoxModelMatrixElement::pushMatrixElt ( )
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ reset()

static void SoBBoxModelMatrixElement::reset ( SoState state,
SoNode node 
)
static

◆ rotateEltBy()

virtual void SoBBoxModelMatrixElement::rotateEltBy ( const SbRotation translation)
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ scaleEltBy()

virtual void SoBBoxModelMatrixElement::scaleEltBy ( const SbVec3f scaleFactor)
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ setElt()

virtual void SoBBoxModelMatrixElement::setElt ( const SbMatrix matrix)
protectedvirtual

Reimplemented from SoModelMatrixElement.

◆ translateEltBy()

virtual void SoBBoxModelMatrixElement::translateEltBy ( const SbVec3f translation)
protectedvirtual

Reimplemented from SoModelMatrixElement.


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