SoGetMatrixAction — computes transformation matrix for subgraph
Contents
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.
Inherits From
SoAction > SoGetMatrixAction
Methods
SoGetMatrixAction(constSbViewportRegion&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.
voidsetViewportRegion(constSbViewportRegion&newRegion)constSbViewportRegion&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).
Name
SoGetMatrixAction — computes transformation matrix for subgraph
See Also
SoGetBoundingBoxActionSoGetMatrixAction(3IV)()
Synopsis
#include<Inventor/actions/SoGetMatrixAction.h>
Methods from class SoGetMatrixAction:
SoGetMatrixAction(constSbViewportRegion&newRegion)voidsetViewportRegion(constSbViewportRegion&newRegion)constSbViewportRegion&getViewportRegion()constSbMatrix&getMatrix()SbMatrix&getInverse()SbMatrix&getTextureMatrix()SbMatrix&getTextureInverse()
Methods from class SoAction:
virtualvoidapply(SoNode*node)virtualvoidapply(SoPath*path)virtualvoidapply(constSoPathList&pathList,SbBoolobeysRules=FALSE)staticSoTypegetClassTypeId()virtualSoTypegetTypeId()virtualSbBoolisOfType(SoTypetype)virtualvoidinvalidateState()