Open Inventor Reference
SoGetMatrixAction Class Reference

Computes transformation matrix for subgraph. More...

#include <Inventor/actions/SoGetMatrixAction.h>

Inheritance diagram for SoGetMatrixAction:
SoAction

List of all members.

Public Member Functions

 SoGetMatrixAction (const SbViewportRegion &newRegion)
 Constructor takes viewport region to use for picking.
virtual ~SoGetMatrixAction ()
 Destructor.
void setViewportRegion (const SbViewportRegion &newRegion)
 Sets/returns current viewport region to use for action.
const SbViewportRegiongetViewportRegion () const
 Sets/returns current viewport region to use for action.
SbMatrixgetMatrix ()
 Returns cumulative transformation matrix.
SbMatrixgetInverse ()
 Returns cumulative inverse transformation matrix.
SbMatrixgetTextureMatrix ()
 Returns cumulative transformation matrix.
SbMatrixgetTextureInverse ()
 Returns cumulative inverse transformation matrix.

Static Public Member Functions

static void initClass ()

Protected Member Functions

virtual void beginTraversal (SoNode *node)
 Initiates action on graph.

Detailed Description

This action computes transformation matrices for a given subgraph. It computes the cumulative transformation matrix and its inverse, along with a cumulative texture transformation matrix and its inverse.

This action is unlike most others in that it does not traverse downwards from groups. When applied to a node, it computes the matrix for just that node. (This makes sense for transformation nodes, but not for others, really.) It is much more useful when applied to a path. When applied to a path, it gathers the transformation info for all nodes in the path and those that affect nodes in the path, but it stops when it hits the last node in the path; it does not traverse downwards from it as other actions (such as rendering) do. This behavior makes the most sense for this action.

See Also
SoGetBoundingBoxAction

Definition at line 90 of file SoGetMatrixAction.h.


Constructor & Destructor Documentation

SoGetMatrixAction::SoGetMatrixAction ( const SbViewportRegion newRegion)

Even though the matrix computation may not involve a window per se, some nodes need this information to determine their placement.

virtual SoGetMatrixAction::~SoGetMatrixAction ( ) [virtual]

Member Function Documentation

virtual void SoGetMatrixAction::beginTraversal ( SoNode node) [protected, virtual]

Reimplemented from SoAction.

SbMatrix& SoGetMatrixAction::getInverse ( ) [inline]

Warning: the matrix returned by this routine should not be changed (unless you are implementing your own transformation nodes).

Definition at line 118 of file SoGetMatrixAction.h.

SbMatrix& SoGetMatrixAction::getMatrix ( ) [inline]

Warning: the matrix returned by this routine should not be changed (unless you are implementing your own transformation nodes).

Definition at line 114 of file SoGetMatrixAction.h.

SbMatrix& SoGetMatrixAction::getTextureInverse ( ) [inline]

Warning: the matrix returned by this routine should not be changed (unless you are implementing your own transformation nodes).

Definition at line 127 of file SoGetMatrixAction.h.

SbMatrix& SoGetMatrixAction::getTextureMatrix ( ) [inline]

Warning: the matrix returned by this routine should not be changed (unless you are implementing your own transformation nodes).

Definition at line 123 of file SoGetMatrixAction.h.

const SbViewportRegion& SoGetMatrixAction::getViewportRegion ( ) const [inline]

Definition at line 109 of file SoGetMatrixAction.h.

static void SoGetMatrixAction::initClass ( ) [static]

Reimplemented from SoAction.

void SoGetMatrixAction::setViewportRegion ( const SbViewportRegion newRegion)

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