Open Inventor Reference
|
Computes transformation matrix for subgraph. More...
#include <Inventor/actions/SoGetMatrixAction.h>
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 SbViewportRegion & | getViewportRegion () const |
Sets/returns current viewport region to use for action. | |
SbMatrix & | getMatrix () |
Returns cumulative transformation matrix. | |
SbMatrix & | getInverse () |
Returns cumulative inverse transformation matrix. | |
SbMatrix & | getTextureMatrix () |
Returns cumulative transformation matrix. | |
SbMatrix & | getTextureInverse () |
Returns cumulative inverse transformation matrix. | |
Static Public Member Functions | |
static void | initClass () |
Protected Member Functions | |
virtual void | beginTraversal (SoNode *node) |
Initiates action on graph. |
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.
Definition at line 90 of file SoGetMatrixAction.h.
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] |
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 | ) |