Open Inventor Reference
|
Element that stores the current model matrix for use with the SoGetBoundingBoxAction. More...
#include <Inventor/elements/SoBBoxModelMatrixElement.h>
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 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 | 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 SbMatrix & | getCombinedCullMatrix (SoState *state) |
This method gets the model*cullMatrix combined matrix (which is cached by this element). | |
static const SbMatrix & | get (SoState *state) |
Returns current model matrix from the state. | |
static const SbMatrix & | get (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 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. | |
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. | |
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. | |
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.
|
protectedvirtual |
|
virtual |
Reimplemented from SoModelMatrixElement.
|
static |
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
static |
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
virtual |
Reimplemented from SoModelMatrixElement.
|
static |
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.
|
protectedvirtual |
Reimplemented from SoModelMatrixElement.