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

NAME

       SoAction — abstract base class for all actions

INHERITS FROM

       SoAction

SYNOPSIS

       #include <Inventor/actions/SoAction.h>

          Methods from class SoAction:

     virtual             ~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

       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.

METHODS

     virtual             ~SoAction()
          Destructor.

     virtual void        apply(SoNode *node)
     virtual void        apply(SoPath *path)
     virtual void        apply(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.

     static SoType       getClassTypeId()
          Returns the type identifier for this class.

     virtual SoType      getTypeId()
          Returns the type identifier for a specific instance.

     virtual SbBool      isOfType(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,
               actionPtr->isOfType(SoGetMatrixAction::getClassTypeId())

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

     virtual void        invalidateState()
          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

                                                                                  SoAction(3IV)()