SoDistributeAction Class |
Computes a distribution of the scene graph for use in depth compositing in ScaleViz.
Namespace: OIV.Inventor.Actions
The SoDistributeAction type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoDistributeAction | Constructor. |
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.) |
![]() | 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.) |
![]() | GetDistributeMethod | Returns the algorithm used to distribute the scene graph. |
![]() | 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.) |
![]() | 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.) |
![]() | 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. |
![]() | 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. |
![]() | ResetContinueActionInBranchFlag | This function resets the continue action flag. |
![]() | SetDistributeMethod | Specifies the algorithm used to distribute the scene graph. |
![]() | 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.) |
![]() | 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 compute a distribution of the scene graph for use in depth compositing in ScaleViz.
In order to simplify the distribution of the scene graph, two different algorithms are supported for the automatic allocation of render unit IDs of each separator in a scene graph:
ROUND_ROBIN, which implements a round robin algorithm, does static allocation based on the number of running OIRUs. This algorithm is the fastest way to distribute a scene graph between all running OIRUs, but as it does not take in account the weight of the sub scene graph assigned to each OIRU, it can potentially result in an unbalanced distribution.
TRIANGLE_COUNT is a dynamic algorithm that takes in account the weight of each separator, and tries to distribute the scene graph as equally as possible between OIRUs. Compared with the first algorithm, it is more time consuming, but the result is a better balanced scene graph distribution. This is the default.
To specify the desired distribution algorithm, instantiate an SoDistributeAction, specify the the desired algorithm, and apply the action on the scene graph that you want to distribute.