Click or drag to resize
SoAction Class

Baseclass for all actions.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.Inventor.ActionsSoAction
      More...

Namespace: OIV.Inventor.Actions
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2024.1.1.0 (2024.1.1)
Syntax
public class SoAction : SoNetBase

The SoAction type exposes the following members.

Methods
  NameDescription
Public methodApply(SoNode)

Initiates an action on the graph defined by a node.

Public methodApply(SoPath)

Initiates an action on the graph defined by a path.

Public methodApply(SoPathList)
Calls Apply(pathList, false).
Public methodApply(SoPathList, Boolean)

Initiates an action on the graph defined by a list of paths.

Public methodClearApplyResult

When applied, an action may reference nodes or create objects (e.g.

Public methodEnableElements Obsolete.
Returns the list of enabled elements for a given action subclass.
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodForwardTraversal(SoNode)

Traverse a node that is not part of the current scenegraph.

Public methodForwardTraversal(SoPath)

Traverse a path that is not part of the current scenegraph.

Public methodGetContinueActionInBranchFlag

This function indicates if the action must stop in the current branch.

Public methodGetCurPath

Returns the path accumulated during traversal, i.e., the chain of nodes from the root of the traversed graph to the current node being traversed.

Public methodGetDistribMode

Returns the distribution mode of this action across a cluster (ScaleViz-Cluster only).

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodStatic memberGetInstanceManagedType
Gets a managed action for the given native action handle.
Public methodGetNodeAppliedTo

Returns the node the action is being applied to.

Public methodGetOriginalPathListAppliedTo

Returns the original path list the action is being applied to.

Public methodGetPathAppliedTo

Returns the path the action is being applied to.

Public methodGetPathCode

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.

Public methodGetPathListAppliedTo

Returns the path list the action is being applied to.

Public methodGetPipeId

Gets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration.

Public methodGetSceneManager

Return the OIV.Inventor.SoSceneManager associated with this action.

Public methodGetState

Gets the state from the action.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetWhatAppliedTo

Returns code indicating what action is being applied to.

Public methodHasTerminated

Returns true if the traversal has reached a termination condition.

Public methodInvalidateState

Invalidates the current traversal state in the action, forcing it to be recreated when the action is next applied.

Public methodIsBeingApplied

Returns true if this action is currently being applied.

Public methodIsLastPathListAppliedTo

Returns true if the current list is the last one from the original.

Public methodIsUsingAlternateRep

Returns true if current action is using alternate representations.

Public methodStatic memberNullAction

Null action method that can be stored in lookup table when desired.

Public methodPostDelayedTraversal

Method called by SoMultiPassManager after delayed pass traversals.

Public methodPreDelayedTraversal

Method called by SoMultiPassManager before delayed pass traversals.

Public methodResetContinueActionInBranchFlag

This function resets the continue action flag.

Public methodSetPipeId

Sets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration.

Public methodSetSceneManager

Set the scene manager associated with this action (if any ).

Public methodSetUpState

Creates state if it is NULL or it is no longer valid because new elements have been enabled since it was created.

Public methodStopActionInBranch

This function stops the action in the current Scene Graph branch.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTraverse

Does traversal of a graph rooted by a node.

Public methodUseAlternateRep

Tell the action to use alternate representations during traversal when available.

Top
Remarks

OIV.Inventor.Actions.SoAction is the base class for all actions. Classes derived from OIV.Inventor.Actions.SoAction define operations to be applied at each node encountered during traversal of a scene graph. The function that gets called to implement the action for a particular node type is determined by a lookup table in the global database.

An action may be applied to a node (OIV.Inventor.Nodes.SoNode), a path (OIV.Inventor.SoPath) or a list of paths (OIV.Inventor.SoPathList).

Hidden references:

Some actions, e.g. OIV.Inventor.Actions.SoSearchAction and OIV.Inventor.Actions.SoRayPickAction, create one or more OIV.Inventor.SoPath objects when they are applied to the scene graph. The OIV.Inventor.SoPath object references each node in the path. This reference will prevent the node and its associated memory from being reclaimed for as long as the OIV.Inventor.SoPath object exists. These OIV.Inventor.SoPath objects are stored internally in the action and exist until the action object itself is reclaimed or reset.

See Also
Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.Inventor.ActionsSoAction
      OIV.HardCopySoVectorizeAction
      OIV.Inventor.ActionsSoBevelAction
      OIV.Inventor.ActionsSoCallbackAction
      OIV.Inventor.ActionsSoDistributeAction
      OIV.Inventor.ActionsSoGetBoundingBoxAction
      OIV.Inventor.ActionsSoGetMatrixAction
      OIV.Inventor.ActionsSoGetPrimitiveCountAction
      OIV.Inventor.ActionsSoGLRenderAction
      OIV.Inventor.ActionsSoHandleEventAction
      OIV.Inventor.ActionsSoNurbsBREPAction
      OIV.Inventor.ActionsSoPickAction
      OIV.Inventor.ActionsSoSearchAction
      OIV.Inventor.ActionsSoSimplifyAction
      OIV.Inventor.ActionsSoSplitGeometryAction
      OIV.Inventor.ActionsSoToHTMLAction
      OIV.Inventor.ActionsSoWriteAction
      OIV.Inventor.CollisionSoIntersectionDetectionAction