Provided by: inventor-doc_2.1.5-10-18_all bug

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

                                                                         SoGetMatrixAction(3IV)()