| 
|   | SoGetMatrixAction (const SbViewportRegion &newRegion) | 
|   | Constructor takes viewport region to use for picking.  
  | 
|   | 
| virtual  | ~SoGetMatrixAction () | 
|   | Destructor.  
  | 
|   | 
| void  | setViewportRegion (const SbViewportRegion &newRegion) | 
|   | Sets/returns current viewport region to use for action.  
  | 
|   | 
| const SbViewportRegion &  | getViewportRegion () const | 
|   | Sets/returns current viewport region to use for action.  
  | 
|   | 
| SbMatrix &  | getMatrix () | 
|   | Returns cumulative transformation matrix.  
  | 
|   | 
| SbMatrix &  | getInverse () | 
|   | Returns cumulative inverse transformation matrix.  
  | 
|   | 
| SbMatrix &  | getTextureMatrix () | 
|   | Returns cumulative transformation matrix.  
  | 
|   | 
| SbMatrix &  | getTextureInverse () | 
|   | Returns cumulative inverse transformation matrix.  
  | 
|   | 
| virtual  | ~SoAction () | 
|   | Destructor.  
  | 
|   | 
| virtual SoType  | getTypeId () const =0 | 
|   | Returns the type identifier for a specific instance.  
  | 
|   | 
| bool  | isOfType (SoType type) const | 
|   | Returns TRUE if this instance is of the type specified in type or is derived from that type.  
  | 
|   | 
| virtual void  | apply (SoNode *node) | 
|   | 
| virtual void  | apply (SoPath *path) | 
|   | 
| virtual void  | apply (const SoPathList &pathList, bool obeysRules=FALSE) | 
|   | Initiates an action on the graph defined either by a node, path, or list of paths.  
  | 
|   | 
| virtual void  | invalidateState () | 
|   | Invalidates the current traversal state in the action, forcing it to be recreated when the action is next applied.  
  | 
|   | 
| AppliedCode  | getWhatAppliedTo () const | 
|   | Returns code indicating what action is being applied to.  
  | 
|   | 
| SoNode *  | getNodeAppliedTo () const | 
|   | These returns a pointer to the node, path, or path list the action is being applied to.  
  | 
|   | 
| SoPath *  | getPathAppliedTo () const | 
|   | 
| const SoPathList *  | getPathListAppliedTo () const | 
|   | A single path list may be split into several, one for each different head node.  
  | 
|   | 
| const SoPathList *  | getOriginalPathListAppliedTo () const | 
|   | 
| bool  | isLastPathListAppliedTo () const | 
|   | 
| PathCode  | getPathCode (int &numIndices, const int *&indices) | 
|   | Returns path code based on where current node (the node at the end of the current path) lies with respect to the path(s) the action is being applied to.  
  | 
|   | 
| void  | traverse (SoNode *node) | 
|   | Does traversal of a graph rooted by a node.  
  | 
|   | 
| bool  | hasTerminated () const | 
|   | Returns TRUE if the traversal has reached a termination condition.  
  | 
|   | 
| const SoPath *  | getCurPath () | 
|   | Returns a pointer to the path accumulated during traversal, i.e., the chain of nodes from the root of the traversed graph to the current node being traversed.  
  | 
|   | 
| SoState *  | getState () const | 
|   | Get the state from the action.  
  | 
|   | 
| PathCode  | getCurPathCode () const | 
|   | These methods maintain the current path accumulated so far during traversal.  
  | 
|   | 
| void  | pushCurPath (int childIndex) | 
|   | 
| void  | popCurPath (PathCode prevPathCode) | 
|   | 
| virtual SoNode *  | getCurPathTail () | 
|   | This is virtual, so that SoCallbackAction can use current node.  
  | 
|   | 
| void  | usePathCode (int &numIndices, const int *&indices) | 
|   | called by inline getPathCode:  
  | 
|   | 
| void  | pushCurPath () | 
|   | Optimized versions of push/pop when we know path codes won't change:  
  | 
|   | 
| void  | popPushCurPath (int childIndex) | 
|   | 
| void  | popCurPath () | 
|   | 
| const SoLightweightPath &  | getCurrentLightweightPath () const | 
|   | Returns the current "light" path.  
  | 
|   | 
| void  | setCurrentLightweightPath (const SoLightweightPath &path) | 
|   | Sets the current "light" path.  
  | 
|   | 
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.
- See Also
 
- SoGetBoundingBoxAction 
 
Definition at line 90 of file SoGetMatrixAction.h.