SoLocalBBoxMatrixElement Class Reference
[Elements]

Stores the transformation matrix from object space to some local coordinate space during application of an SoGetBoundingBoxAction. More...

#include <Inventor/elements/SoLocalBBoxMatrixElement.h>

Inheritance diagram for SoLocalBBoxMatrixElement:
SoElement SoTypedObject

List of all members.

Public Member Functions

virtual void push (SoState *state)
virtual void print (FILE *fp) const

Static Public Member Functions

static SoType getClassTypeId ()
static int getClassStackIndex ()
static void makeIdentity (SoState *state)
static void set (SoState *state, const SbMatrix &matrix)
static void mult (SoState *state, const SbMatrix &matrix)
static void translateBy (SoState *state, const SbVec3f &translation)
static void rotateBy (SoState *state, const SbRotation &rotation)
static void scaleBy (SoState *state, const SbVec3f &scaleFactor)
static SbMatrix pushMatrix (SoState *state)
static void popMatrix (SoState *state, const SbMatrix &m)
static void resetAll (SoState *state)
static const SbMatrixget (SoState *state)

Detailed Description

Stores the transformation matrix from object space to some local coordinate space during application of an SoGetBoundingBoxAction.

This element stores the transformation matrix from object space to some local coordinate space during application of an SoGetBoundingBoxAction. 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.

SEE ALSO


Member Function Documentation

static const SbMatrix& SoLocalBBoxMatrixElement::get ( SoState state  )  [static]

Returns current matrix from the state.

static int SoLocalBBoxMatrixElement::getClassStackIndex (  )  [static]

Returns the stack id for this element.

Reimplemented from SoElement.

static SoType SoLocalBBoxMatrixElement::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoElement.

static void SoLocalBBoxMatrixElement::makeIdentity ( SoState state  )  [static]

Sets the local matrix to the identity matrix.

static void SoLocalBBoxMatrixElement::mult ( SoState state,
const SbMatrix matrix 
) [static]

Multiplies the given matrix into the local matrix.

static void SoLocalBBoxMatrixElement::popMatrix ( SoState state,
const SbMatrix m 
) [static]

This method is used by the TransformSeparator node.

virtual void SoLocalBBoxMatrixElement::print ( FILE *  fp  )  const [virtual]

Prints element (for debugging).

Reimplemented from SoElement.

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

Overrides push() method to copy values from next instance in the stack.

Reimplemented from SoElement.

static SbMatrix SoLocalBBoxMatrixElement::pushMatrix ( SoState state  )  [static]

This method is used by the TransformSeparator node.

static void SoLocalBBoxMatrixElement::resetAll ( SoState state  )  [static]

Resets all current instances in the state to identity.

static void SoLocalBBoxMatrixElement::rotateBy ( SoState state,
const SbRotation rotation 
) [static]

Multiplies a matrix that performs the specified transformation into the local matrix.

static void SoLocalBBoxMatrixElement::scaleBy ( SoState state,
const SbVec3f scaleFactor 
) [static]

Multiplies a matrix that performs the specified transformation into the local matrix.

static void SoLocalBBoxMatrixElement::set ( SoState state,
const SbMatrix matrix 
) [static]

Sets the local matrix to the given matrix.

static void SoLocalBBoxMatrixElement::translateBy ( SoState state,
const SbVec3f translation 
) [static]

Multiplies a matrix that performs the specified transformation into the local matrix.


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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/