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
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
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
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.