actions(3)

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