omni::graph::action::IActionGraph_abi
Defined in omni/graph/action/IActionGraph.h
Inheritance Relationships
Base Type
public omni::core::Inherits< omni::core::IObject, OMNI_TYPE_ID("omni.graph.action.IActionGraph")>
Derived Type
public omni::core::Generated< omni::graph::action::IActionGraph_abi >
(omni::core::Generated< omni::graph::action::IActionGraph_abi >)
-
class IActionGraph_abi : public omni::core::Inherits<omni::core::IObject, OMNI_TYPE_ID("omni.graph.action.IActionGraph")>
Functions for implementing nodes which are used in
Action Graph
.Nodes in
Action Graph
have special functionality which is not present in other graph types.Subclassed by omni::core::Generated< omni::graph::action::IActionGraph_abi >
Protected Functions
-
virtual omni::core::Result setExecutionEnabled_abi(omni::graph::core::NameToken attributeName, omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Indicate that the given output attribute should be enabled, so that execution flow should continue along downstream networks.
Note
This should only be called from within a node
compute
function.- Parameters
attributeName – [in] attribute on the current node to be set
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
Success if executed successfully
-
virtual omni::core::Result setExecutionEnabledAndPushed_abi(omni::graph::core::NameToken attributeName, omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Indicate that the given output attribute should be enabled, and the current node should be pushed to the execution
stack
.This means that when the downstream execution flow has completed, this node will be
popped
from the execution stack and itscompute
function will be called again.Note
This should only be called from within a node
compute
function.- Parameters
attributeName – [in] attribute on the current node to be set
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
Success if executed successfully
-
virtual omni::core::Result startLatentState_abi(omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Indicate that the current execution flow should be blocked at the given node, and the node should be
ticked
every update of the Graph (compute
function called), until it calls endLatentState_abi.Note
This should only be called from within a node
compute
function.- Parameters
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
Success if executed successfully
-
virtual omni::core::Result endLatentState_abi(omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Indicate that the current execution flow should be un-blocked at the given node, if it is currently in a latent state.
It is an error to call this function before calling startLatentState_abi.
Note
This should only be called from within a node
compute
function.- Parameters
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
Success if executed successfully
-
virtual bool getLatentState_abi(omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Read the current latent state of the node.
This state is set using startLatentState_abi and endLatentState_abi
Note
This should only be called from within a node
compute
function.- Parameters
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
true if the node is currently in a latent state
- Returns
false if the node is not in a latent state, or the call failed
-
virtual bool getExecutionEnabled_abi(omni::graph::core::NameToken attributeName, omni::graph::core::InstanceIndex instanceIdx) noexcept = 0
Read the enabled state of an input execution attribute.
An input attribute is considered enabled if it is connected to the upstream node that was computed immediately prior to the currently computing node. Event nodes and nodes in latent state may not have any enabled input.
Note
This should only be called from within a node
compute
function.- Parameters
attributeName – [in] attribute on the current node to be set
instanceIdx – [in] In vectorized context, the instance index relative to the currently targeted graph
- Returns
true if the given attribute is considered enabled.
- Returns
false if the attribute is considered disabled or the call failed
-
virtual omni::core::Result setExecutionEnabled_abi(omni::graph::core::NameToken attributeName, omni::graph::core::InstanceIndex instanceIdx) noexcept = 0