SoHandleEventAction Class |
Allows nodes in a graph to receive input events.
Namespace: OIV.Inventor.Actions
The SoHandleEventAction type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoHandleEventAction | Constructor takes viewport region to use; this is needed to perform a pick operation when requested. |
Name | Description | |
---|---|---|
![]() | Apply(SoNode) | Initiates an action on the graph defined by a node. |
![]() | Apply(SoPath) | Initiates an action on the graph defined by a path. |
![]() | Apply(SoPathList) | Calls Apply(pathList, false). (Inherited from SoAction.) |
![]() | Apply(SoPathList, Boolean) | Initiates an action on the graph defined by a list of paths. |
![]() | ClearApplyResult | When applied, an action may reference nodes or create objects (e.g. |
![]() ![]() | EnableElement | |
![]() | EnableElements | (Overrides SoActionEnableElements.) |
![]() | EnableRadiusForTriangles | Enable pick radius for triangle-based shapes. |
![]() | Equals | (Inherited from Object.) |
![]() | ForwardTraversal | Traverse a node that is not part of the current scenegraph. |
![]() | GetContinueActionInBranchFlag | This function indicates if the action must stop in the current branch. |
![]() | GetCurPath | (Inherited from SoAction.) |
![]() | GetEvent | Returns the event being handled. |
![]() | GetGrabber | Returns the node that is currently grabbing events, or NULL if there is none. |
![]() | GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) |
![]() | GetNodeAppliedTo | (Inherited from SoAction.) |
![]() | GetOriginalPathListAppliedTo | (Inherited from SoAction.) |
![]() | GetPathAppliedTo | (Inherited from SoAction.) |
![]() | GetPathCode(SbNativeArrayInt32) | Returns path code based on where current node (the node at the end of the current path) lies with respect to the path(s) the action is being applied to. |
![]() | GetPathCode(SbNativeInt32Array) | Obsolete. Returns path code based on where current node (the node at the end of the current path) lies with respect to the path(s) the action is being applied to. |
![]() | GetPathListAppliedTo | (Inherited from SoAction.) |
![]() | GetPickedPoint | Returns the frontmost object hit (as an SoPickedPoint) by performing a pick based on the mouse location specified in the event for which the action is being applied. |
![]() | GetPickedPointList | Returns a list of objects intersected by a picking operation, sorted from nearest to farthest. |
![]() | GetPickRadius | Returns the radius (in pixels) around the viewport-space point through which the ray passes when doing ray picking. |
![]() | GetPickRoot | Returns the root node used for initiating a pick action for those nodes that want to know what is under the cursor. |
![]() | GetPipeId | Gets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration. |
![]() | GetSceneManager | Return the SoSceneManager associated with this action. |
![]() | GetState | (Inherited from SoAction.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetViewportRegion | Returns current viewport region to use for action. |
![]() | GetWhatAppliedTo | (Inherited from SoAction.) |
![]() | HasTerminated | (Inherited from SoAction.) |
![]() | InvalidateState | Invalidates the current traversal state in the action, forcing it to be recreated when the action is next applied. |
![]() | IsBeingApplied | Returns true if this action is currently being applied. |
![]() | IsHandled | Returns whether any node has yet handled the event. |
![]() | IsLastPathListAppliedTo | (Inherited from SoAction.) |
![]() | IsUsingAlternateRep | Returns true if current action is using alternate representations. |
![]() | PostDelayedTraversal | Method called by SoMultiPassManager after delayed pass traversals. |
![]() | PreDelayedTraversal | Method called by SoMultiPassManager before delayed pass traversals. |
![]() | ReleaseGrabber | Releases the grab. |
![]() | ResetContinueActionInBranchFlag | This function resets the continue action flag. |
![]() | SetEvent | Sets the event being handled. |
![]() | SetGrabber | Initiates grabbing of future events. |
![]() | SetHandled | Sets whether any node has yet handled the event. |
![]() | SetPickedPoint | Calls SetPickedPoint((OIV.Inventor.SoPickedPoint ^)nullptr). |
![]() | SetPickedPoint(SoPickedPoint) | Set the SoPickedPoint object that will be returned by getPickedPoint. |
![]() | SetPickRadius | Sets the radius (in pixels) around the viewport-space point through which the ray passes when doing ray picking. |
![]() | SetPickRoot | Sets the root node used for initiating a pick action for those nodes that want to know what is under the cursor. |
![]() | SetPipeId | Sets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration. |
![]() | SetSceneManager | Set the scene manager associated with this action (if any ). |
![]() | SetUpState | (Inherited from SoAction.) |
![]() | SetViewportRegion | Sets current viewport region to use for action. |
![]() | StopActionInBranch | This function stops the action in the current Scene Graph branch. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | Traverse | (Inherited from SoAction.) |
![]() | UseAlternateRep | Tell the action to use alternate representations during traversal when available. |
This class is used to allow nodes in a scene graph to handle input events. It is usually invoked from a component derived from SoWinRenderArea when the component receives a window system event. SoSceneManager automatically creates a handle event action and provides a convenience method processEvent() to pass events to its managed scene graph. The Open Inventor viewer classes use this method to pass events to the scene graph in selection mode.
Manipulator, dragger and selection nodes respond to and process events. Most group nodes just pass the event to their children, while most other nodes simply ignore the action entirely. The SoEventCallback node invokes a callback / delegate method when traversed by a handle event action processing a specific type of event. This is the primary mechanism for handling event input in Open Inventor. Once a node has indicated to the action that it has handled the event, traversal stops.
A node that handles an event can also grab future events. Once it has done so, all events will be sent directly to that node, with no traversal taking place, until the node releases the grab. Draggers use this mechanism to ensure that they see the "finish" (e.g. mouse button up) event for their interaction.
A node can get the event currently being handled by calling getEvent(). A node can also find out what, if any, geometry is under the cursor by calling the getPickedPoint() method. The handle event action will automatically apply an SoRayPickAction to the scene graph and remember the result in case other nodes make the same query during the traversal. If a node needs to apply the pick action itself, it can get the appropriate root node by calling getPickRoot().
NOTE: The SoRayPickAction applied by the handle event action does not compute texture coordinates and normal vector for the picked point. Thus, getPickedPoint().getNormal() returns (0,0,0) and getPickedPoint().getTextureCoords() returns (0,0,0,0).
Sets: SoViewportRegionElement