table of contents
| actions(3) | Coin | actions(3) |
NAME¶
actions
SYNOPSIS¶
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.
| Tue Dec 15 2020 | Version 3.1.3 |