Open Inventor Reference
|
Element that stores the transformation matrix from object space to some local coordinate space during application of an SoGetBoundingBoxAction. More...
#include <Inventor/elements/SoLocalBBoxMatrixElement.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. | |
virtual SbBool | matches (const SoElement *elt) const |
Prints error message and returns FALSE (see class header comment) | |
virtual SoElement * | copyMatchInfo () const |
Create and return a copy of this element. | |
virtual void | print (FILE *fp) const |
Prints element (for debugging) | |
Static Public Member Functions | |
static void | makeIdentity (SoState *state) |
Sets the local matrix to the identity matrix. | |
static void | set (SoState *state, const SbMatrix &matrix) |
Sets the local matrix to the given matrix. | |
static void | mult (SoState *state, const SbMatrix &matrix) |
Multiplies the given matrix into the local matrix. | |
static void | translateBy (SoState *state, const SbVec3f &translation) |
Each of these multiplies a matrix that performs the specified transformation into the local matrix. | |
static void | rotateBy (SoState *state, const SbRotation &rotation) |
static void | scaleBy (SoState *state, 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 | resetAll (SoState *state) |
Resets all current instances in the state to identity. | |
static const SbMatrix & | get (SoState *state) |
Returns current matrix from the state. | |
static void | initClass () |
Initializes the SoLocalBBoxMatrixElement class. | |
Protected Member Functions | |
virtual | ~SoLocalBBoxMatrixElement () |
Protected Attributes | |
SbMatrix | localMatrix |
This element is needed to allow separators (and other caching nodes) to store cached bounding boxes in their own local space. Shapes that extend the current bounding box computed by the action use this matrix to transform the bounding box into local space. Separators cache this box, then transform it into the next local space up the hierarchy.
Because this element is set to identity by separators before traversing their children, it can never have an affect on any caching separator that it is not under. Therefore, it should never be tested for cache invalidation, so its matches() method prints an error message and returns FALSE. It also means that it does not have to save node id's so there are no nodes passed in to any of the methods.
Definition at line 84 of file SoLocalBBoxMatrixElement.h.
virtual SoLocalBBoxMatrixElement::~SoLocalBBoxMatrixElement | ( | ) | [protected, virtual] |
virtual SoElement* SoLocalBBoxMatrixElement::copyMatchInfo | ( | ) | const [virtual] |
Implements SoElement.
virtual void SoLocalBBoxMatrixElement::init | ( | SoState * | state | ) | [virtual] |
Reimplemented from SoElement.
static void SoLocalBBoxMatrixElement::initClass | ( | ) | [static] |
Reimplemented from SoElement.
static void SoLocalBBoxMatrixElement::makeIdentity | ( | SoState * | state | ) | [static] |
Implements SoElement.
virtual void SoLocalBBoxMatrixElement::print | ( | FILE * | fp | ) | const [virtual] |
Reimplemented from SoElement.
virtual void SoLocalBBoxMatrixElement::push | ( | SoState * | state | ) | [virtual] |
Reimplemented from SoElement.
static void SoLocalBBoxMatrixElement::resetAll | ( | SoState * | state | ) | [static] |
static void SoLocalBBoxMatrixElement::rotateBy | ( | SoState * | state, |
const SbRotation & | rotation | ||
) | [static] |
static void SoLocalBBoxMatrixElement::scaleBy | ( | SoState * | state, |
const SbVec3f & | scaleFactor | ||
) | [static] |
static void SoLocalBBoxMatrixElement::translateBy | ( | SoState * | state, |
const SbVec3f & | translation | ||
) | [static] |
SbMatrix SoLocalBBoxMatrixElement::localMatrix [protected] |
Definition at line 134 of file SoLocalBBoxMatrixElement.h.