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

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 its compute 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