Stores the current model matrix for use with the SoGetBoundingBoxAction. More...
#include <Inventor/elements/SoBBoxModelMatrixElement.h>
Public Member Functions | |
virtual void | push (SoState *state) |
Static Public Member Functions | |
static SoType | getClassTypeId () |
static int | getClassStackIndex () |
static void | reset (SoState *state, SoNode *node) |
static void | pushMatrix (SoState *state, SbMatrix &matrix, SbMatrix &localmatrix) |
static void | popMatrix (SoState *state, const SbMatrix &matrix, const SbMatrix &localmatrix) |
Stores the current model matrix for use with the SoGetBoundingBoxAction.
This element stores the current model matrix for use with the SoGetBoundingBoxAction. 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.
SoTransformSeparator, SoResetTransform
static int SoBBoxModelMatrixElement::getClassStackIndex | ( | ) | [static] |
Returns the stack id for this element.
Reimplemented from SoModelMatrixElement.
static SoType SoBBoxModelMatrixElement::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoModelMatrixElement.
static void SoBBoxModelMatrixElement::popMatrix | ( | SoState * | state, | |
const SbMatrix & | matrix, | |||
const SbMatrix & | localmatrix | |||
) | [static] |
See description for pushMatrix().
virtual void SoBBoxModelMatrixElement::push | ( | SoState * | state | ) | [virtual] |
Overrides push() method to copy values from next instance in the stack.
Reimplemented from SoModelMatrixElement.
static void SoBBoxModelMatrixElement::pushMatrix | ( | SoState * | state, | |
SbMatrix & | matrix, | |||
SbMatrix & | localmatrix | |||
) | [static] |
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; SoTransformSeparator::getBoundingBox uses these methods to correctly keep both matrices up-to-date.
Allows the SoGetBoundingBoxAction to reset the current model matrix to identity and all currently-open local matrices to identity.