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)()