IActionGraph_abi#
Fully qualified name: 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( ) 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( ) 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( ) 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( ) 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( ) 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( ) 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