SoGetMatrixAction(3IV)

SoGetMatrixAction - computes transformation matrix for subgraph

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

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