SoGetMatrixAction(3IV)NAMESoGetMatrixAction (SoMxAct) - computes transformation matrix for subgraph
INHERITS FROM
SoAction > SoGetMatrixActionSYNOPSIS
#include <Inventor_c/actions/SoGetMatrixAction.h>
typedef SoGetMatrixAction SoMxAct
Functions from class SoGetMatrixAction:
SoGetMatrixAction * SoMxActCreate(const SbViewportRegion
*newRegion)
void SoMxActSetVPReg(SoMxAct *this, const
SbViewportRegion *newRegion)
const SbViewportRegion * SoMxActGetVPReg(const SoMxAct *this)
SbMatrix * SoMxActGetMx(SoMxAct *this)
SbMatrix * SoMxActGetInv(SoMxAct *this)
SbMatrix * SoMxActGetTexMx(SoMxAct *this)
SbMatrix * SoMxActGetTexInv(SoMxAct *this)
Functions from class SoAction:
void SoMxActApply(SoMxAct *this, SoNode *node)
void SoMxActApplyPath(SoMxAct *this, SoPath *path)
void SoMxActApplyPathList(SoMxAct *this, const SoPathList
*pathList, SbBool obeysRules = FALSE)
SoType SoMxActGetClassTypeId()
SoType SoMxActGetTypeId(SoMxAct *this)
SbBool SoMxActIsOfType(SoMxAct *this, SoType type)
void SoMxActInvalidateState(SoMxAct *this)
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.
Page 1SoGetMatrixAction(3IV)FUNCTIONSSoGetMatrixAction * SoMxActCreate(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 SoMxActSetVPReg(SoMxAct *this, const
SbViewportRegion *newRegion)
const SbViewportRegion * SoMxActGetVPReg(const SoMxAct *this)
Sets/returns current viewport region to use for action.
SbMatrix * SoMxActGetMx(SoMxAct *this)
SbMatrix * SoMxActGetInv(SoMxAct *this)
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 * SoMxActGetTexMx(SoMxAct *this)
SbMatrix * SoMxActGetTexInv(SoMxAct *this)
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
Page 2