SoGetMatrixAction(3IV)

NAME
SoGetMatrixAction — computes transformation matrix for subgraph

INHERITS FROM
SoAction > SoGetMatrixAction

SYNOPSIS
#include <Inventor/actions/SoGetMatrixAction.h>

Methods from class SoGetMatrixAction:

SoGetMatrixAction(const SbViewportRegion &newRegion)
void
setViewportRegion(const SbViewportRegion &newRegion)
const SbViewportRegion &
getViewportRegion() const
SbMatrix &
getMatrix()
SbMatrix &
getInverse()
SbMatrix &
getTextureMatrix()
SbMatrix &
getTextureInverse()

Methods from class SoAction:

virtual void
apply(SoNode *node)
virtual void
apply(SoPath *path)
virtual void
apply(const SoPathList &pathList, SbBool obeysRules = FALSE)
static SoType
getClassTypeId()
virtual SoType
getTypeId()
virtual SbBool
isOfType(SoType type)
virtual void
invalidateState()

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.

METHODS

SoGetMatrixAction(const SbViewportRegion &newRegion)
Constructor takes viewport region to use for picking. Even though the matrix computation may not involve a window per se, some nodes need this information to determine their placement.

void
setViewportRegion(const SbViewportRegion &newRegion)
const SbViewportRegion &
getViewportRegion() const
Sets/returns current viewport region to use for action.

SbMatrix &
getMatrix()
SbMatrix &
getInverse()
Returns cumulative transformation matrix and its inverse. Warning: the matrices returned by these routines should not be changed (unless you are implementing your own transformation nodes).

SbMatrix &
getTextureMatrix()
SbMatrix &
getTextureInverse()
Returns cumulative texture transformation matrix and its inverse. Warning: the matrices returned by these routines should not be changed (unless you are implementing your own transformation nodes).

SEE ALSO
SoGetBoundingBoxAction