SoAction(3IV)

SoAction (SoAct) - abstract base class for all actions

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

NAME
     SoAction (SoAct) - abstract base class for all actions

INHERITS FROM
     SoAction

SYNOPSIS
     #include <Inventor_c/actions/SoAction.h>

     typedef SoAction    SoAct

          Functions from class SoAction:

     void                SoActDelete(SoAct *this)
     void                SoActApply(SoAct *this, SoNode *node)
     void                SoActApplyPath(SoAct *this, SoPath *path)
     void                SoActApplyPathList(SoAct *this, const SoPathList
                              *pathList, SbBool obeysRules = FALSE)
     SoType              SoActGetClassTypeId()
     SoType              SoActGetTypeId(SoAct *this)
     SbBool              SoActIsOfType(SoAct *this, SoType type)
     void                SoActInvalidateState(SoAct *this)


DESCRIPTION
     SoAction is the abstract base class for all actions. Classes derived from
     SoAction define operations to be applied at each node encountered during
     traversal of a scene graph. The function that gets called to implement
     the action for a particular node type is determined by a lookup table in
     the global database.

FUNCTIONS
     void                SoActDelete(SoAct *this)
          Destructor.

     void                SoActApply(SoAct *this, SoNode *node)
     void                SoActApplyPath(SoAct *this, SoPath *path)
     void                SoActApplyPathList(SoAct *this, const SoPathList
                              *pathList, SbBool obeysRules = FALSE)
          Initiates an action on the graph defined either by a node, path, or
          list of paths. TRUE can be passed for the obeysRules flag if the
          given path list has the following 4 properties:

               1 - All paths have the same head node
               2 - Paths are sorted in traversal order
               3 - If one path ends at node A, no other path
                   continues through A
               4 - No two paths are the same

          These rules will be obeyed by path lists returned by picking and by
          searches for non-group nodes.
     SoType              SoActGetClassTypeId()
          Returns the type identifier for this class.

     SoType              SoActGetTypeId(SoAct *this)
          Returns the type identifier for a specific instance.

     SbBool              SoActIsOfType(SoAct *this, SoType type)
          Returns TRUE if this instance is of the type specified in type or is
          derived from that type. Otherwise, it returns FALSE. For example,


               SoActionIsOfType(actionPtr, SoGetMxActGetClassTypeId())

          returns TRUE if actionPtr is an instance of SoGetMatrixAction or one
          of its subclasses.

     void                SoActInvalidateState(SoAct *this)
          Invalidates the current traversal state in the action, forcing it to
          be recreated when the action is next applied. This is typically
          unnecessary in most applications.


SEE ALSO
     SoNode, SoPath, SoPathList, SoCallbackAction, SoGLRenderAction,
     SoGetBoundingBoxAction, SoGetMatrixAction, SoHandleEventAction,
     SoPickAction, SoRayPickAction, SoSearchAction, SoWriteAction