SoAction — abstract base class for all actions
Contents
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.
Inherits From
SoAction
Methods
virtual~SoAction()
Destructor.
virtualvoidapply(SoNode*node)virtualvoidapply(SoPath*path)virtualvoidapply(constSoPathList&pathList,SbBoolobeysRules=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.
staticSoTypegetClassTypeId()
Returns the type identifier for this class.
virtualSoTypegetTypeId()
Returns the type identifier for a specific instance.
virtualSbBoolisOfType(SoTypetype)
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.
virtualvoidinvalidateState()
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.
Name
SoAction — abstract base class for all actions
See Also
SoNode,SoPath,SoPathList,SoCallbackAction,SoGLRenderAction,SoGetBoundingBoxAction,SoGetMatrixAction,SoHandleEventAction,SoPickAction,SoRayPickAction,SoSearchAction,SoWriteActionSoAction(3IV)()
Synopsis
#include<Inventor/actions/SoAction.h>
Methods from class SoAction:
virtual~SoAction()virtualvoidapply(SoNode*node)virtualvoidapply(SoPath*path)virtualvoidapply(constSoPathList&pathList,SbBoolobeysRules=FALSE)staticSoTypegetClassTypeId()virtualSoTypegetTypeId()virtualSbBoolisOfType(SoTypetype)virtualvoidinvalidateState()