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

List of all members.

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.

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.

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 ()

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

virtual SoBBoxModelMatrixElement::~SoBBoxModelMatrixElement ( ) [protected, virtual]

Member Function Documentation

virtual void SoBBoxModelMatrixElement::init ( SoState state) [virtual]

Reimplemented from SoModelMatrixElement.

static void SoBBoxModelMatrixElement::initClass ( ) [static]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::makeEltIdentity ( ) [protected, virtual]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::multElt ( const SbMatrix matrix) [protected, virtual]

Reimplemented from SoModelMatrixElement.

static void SoBBoxModelMatrixElement::popMatrix ( SoState state,
const SbMatrix matrix,
const SbMatrix localmatrix 
) [static]
virtual void SoBBoxModelMatrixElement::popMatrixElt ( const SbMatrix m) [protected, virtual]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::push ( SoState state) [virtual]

Reimplemented from SoModelMatrixElement.

static void SoBBoxModelMatrixElement::pushMatrix ( SoState state,
SbMatrix matrix,
SbMatrix localmatrix 
) [static]
virtual SbMatrix SoBBoxModelMatrixElement::pushMatrixElt ( ) [protected, virtual]

Reimplemented from SoModelMatrixElement.

static void SoBBoxModelMatrixElement::reset ( SoState state,
SoNode node 
) [static]
virtual void SoBBoxModelMatrixElement::rotateEltBy ( const SbRotation translation) [protected, virtual]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::scaleEltBy ( const SbVec3f scaleFactor) [protected, virtual]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::setElt ( const SbMatrix matrix) [protected, virtual]

Reimplemented from SoModelMatrixElement.

virtual void SoBBoxModelMatrixElement::translateEltBy ( const SbVec3f translation) [protected, virtual]

Reimplemented from SoModelMatrixElement.


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