NAME
Action Classes -
Classes
class SoAction
The SoAction class is the base class for all traversal actions.
Applying actions is the basic mechanism in Coin for executing various
operations on scene graphs or paths within scene graphs, including
search operations, rendering, interaction through picking, etc. "
class SoAudioRenderAction
The SoAudioRenderAction class renders the aural parts of the scene
graph.
Applying this method at a root node for a scene graph, path or pathlist
will render all sound-related nodes contained within that instance to
the current SoAudioDevice. "
class SoBoxHighlightRenderAction
The SoBoxHighlightRenderAction class renders the scene with highlighted
boxes around selections.
This action performs the same tasks as its parent class,
SoGLRenderAction, with the added ability to render highlighted bounding
boxes around geometry in selected nodes. This is a simple but
convenient way of giving feedback to the user upon interaction with the
scene graph. "
class SoCallbackAction
The SoCallbackAction class invokes callbacks at specific nodes.
This action has mechanisms for tracking traversal position and
traversal state. In combination with the ability to pass geometry
primitives to callback actions set by the user, this does for instance
make it rather straightforward to extract the geometry of a scene
graph. "
class SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Applying this method at a root node for a scene graph, path or pathlist
will render all geometry contained within that instance to the current
OpenGL context. "
class SoGetBoundingBoxAction
The SoGetBoundingBoxAction class calculates bounding boxes for nodes
and subgraphs.
If this action is applied to a path or scene graph root, it will
calculate the bounding box and the center point of the geometry
contained within the scene. "
class SoGetMatrixAction
The SoGetMatrixAction class is an action for accumulating the
transformation matrix of a subgraph.
This action makes it easy to calculate and convert to and from the
global coordinate system of your scene and local coordinates of parts
in a hierarchical model. "
class SoGetPrimitiveCountAction
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Apply this action to a scene if you need to know the number of
primitives present in a scenegraph, or parts of a scenegraph. "
class SoHandleEventAction
The SoHandleEventAction class distributes user events to the scene.
This is the action used by the GUI viewer classes to pass interaction
events from the window system to the nodes in the scene graph. "
class SoLineHighlightRenderAction
The SoLineHighlightRenderAction class renders selections with line
highlighting.
See the documentation of SoBoxHighlightRenderAction. "
class SoPickAction
The SoPickAction class is the base class for picking actions.
The basis for all interaction features that Coin provides for the
application programmer is the pick actions. Draggers, manipulators,
SoSelection nodes, etc all make use of the functionality provided by
the pick actions for selecting and manipulating scene geometry in
various ways. "
class SoRayPickAction
The SoRayPickAction class does ray intersection with scene graphs.
For interaction with the scene graph geometry, it is necessary to be
able to do intersection testing for rays. This functionality is
provided by the SoRayPickAction class. "
class SoReorganizeAction
The SoReorganizeAction class reorganizes your scene graph to optimize
traversal/rendering.
class SoSearchAction
The SoSearchAction class provides methods for searching through scene
graphs.
Nodes can be searched for by pointer, type, and name, or a combination
of those criteria. Types can be interpreted as exact types, or the type
can match nodes derived from it. Every single node can be searched, or
normal traversal rules can be followed when searching (this is
especially important to note with regard to switch nodes). "
class SoToVRML2Action
The SoToVRML2Action class builds a new scene graph, using only
VRML97/VRML2 nodes.
This action is used for converting a scene graph of VRML1/Coin nodes to
a new scene graph using only VRML97/VRML2 nodes. "
class SoToVRMLAction
The SoToVRMLAction class builds a new scene graph using only VRML 1.0
nodes.
This action is used for converting a scene graph of VRML2/VRML97 nodes
to a new scene graph using only VRML1 compatible nodes. "
class SoWriteAction
The SoWriteAction class writes a scene graph to file.
When applied to a scene, this action writes its contents to the stream
contained within an SoOutput instance. This can be a file, a memory
buffer or a system filehandle like stdout, for instance. "
class SoIntersectionDetectionAction
The SoIntersectionDetectionAction class is for detecting intersecting
primitives in a scene.
class SoActionMethodList
The SoActionMethodList class contains function pointers for action
methods.
An SoActionMethodList contains one function pointer per node type. Each
action contains an SoActioMethodList to know which functions to call
during scene graph traversal. "
class SoEnabledElementsList
The SoEnabledElementsList class is a container for type info for
element types that are enabled in actions.
This class is probably not interesting for the application programmer.
"
Detailed Description
Actions are objects that traverse a scene graph to drive some scene-
related process, one example being OpenGL rendering, and another being
ray picking.
At the most basic level, most action management will be done for the
user behind the scenes in an SoSceneManager object, and the only
actions one might need to get acquainted with are SoSearchAction and
SoWriteAction.
For more advanced usage of Coin, one might want (or need) to take full
control over driving all the actions oneself, in which case one will
also need to know about the SoGLRenderAction, SoHandleEventAction,
SoGetBoundingBoxAction, and SoRayPickAction.
The remaining actions are mostly more special-purpose actions of
various kinds, except for the SoCallbackAction.
Before going to the step of implementing an extension action, one
should really take a good look at the SoCallbackAction class, which is
a general-purpose action that can be used as the framework for
implementing almost any traversal-based process, with callback-hooks
for all kinds of events that happen during traversal. In most cases,
one can avoid the hassle of writing a new action, and just use
SoCallbackAction instead.
Author
Generated automatically by Doxygen for Coin from the source code.