Graph#

class omni.graph.core.Graph#

Bases: pybind11_object

Object containing everything necessary to execute a connected set of nodes.

Methods

__init__(*args, **kwargs)

change_pipeline_stage(self, newPipelineStage)

Change the pipeline stage that this graph is in (simulation, pre-render, post-render, on-demand)

create_graph_as_node(self, name, path, ...)

Creates a graph that is wrapped by a node in the current graph.

create_node(self, path, node_type, use_usd)

Given the path to the node and the type of the node, creates a node of that type at that path.

create_runtime_variable(self, name, type, value)

Creates a variable on the graph without USD backing.

create_subgraph(self, subgraphPath[, ...])

Given the path to the subgraph, create the subgraph at that path.

create_variable(self, name, type)

Creates a variable on the graph.

deregister_error_status_change_callback(...)

De-registers the error status change callback to be invoked when the error status of nodes change during evaluation.

destroy_node(self, node_path, update_usd)

Given the path to the node, destroys the node at that path.

evaluate(self)

Tick the graph by causing it to evaluate.

find_variable(self, name)

Find the variable with the given name in the graph.

get_context(self)

Gets the context associated to the graph

get_default_graph_context(self)

Gets the default context associated with this graph

get_evaluator_name(self)

Gets the name of the evaluator being used on this graph

get_event_stream(self)

Get the event stream the graph uses for notification of changes.

get_graph_backing_type(self)

Gets the data type backing this graph

get_handle(self)

Gets a unique handle identifier for this graph

get_instance_count(self)

Gets the number of instances this graph has

get_node(self, path)

Given a path to the node, returns the object for the node.

get_nodes(self)

Gets the list of nodes currently in this graph

get_owning_compound_node(self)

Returns the compound node for which this graph is the compound subgraph of.

get_parent_graph(self)

Gets the immediate parent graph of this graph

get_path_to_graph(self)

Gets the path to this graph

get_pipeline_stage(self)

Gets the pipeline stage to which this graph belongs

get_subgraph(self, path)

Gets the subgraph living at the given path below this graph

get_subgraphs(self)

Gets the list of subgraphs under this graph

get_variables(self)

Returns the list of variables defined on the graph.

inspect(self, inspector)

Runs the inspector on the graph

is_auto_instanced(self)

Returns whether this graph is an auto instance or not.

is_compound_graph(self)

Returns whether this graph is a compound graph.

is_disabled(self)

Checks to see if the graph is disabled

is_valid(self)

Checks to see if the graph object is valid

register_error_status_change_callback(self, ...)

Registers a callback to be invoked after graph evaluation for all the nodes whose error status changed during the evaluation.

reload_from_stage(self)

Force the graph to reload by deleting it and re-parsing from the stage.

reload_settings(self)

Reload the graph settings.

remove_variable(self, variable)

Removes the given variable from the graph.

rename_node(self, path, new_path)

Given the path to the node, renames the node at that path.

rename_subgraph(self, path, new_path)

Renames the path of a subgraph

set_auto_instancing_allowed(self, arg0)

Allows (or not) this graph to be an auto-instance, ie.

set_disabled(self, disable)

Sets whether this graph object is to be disabled or not.

set_prim_view(self, view)

Apply a view to a graph: a view is a way to dynamically maintain a list of instances for a graph.

set_usd_notice_handling_enabled(self, enable)

Sets whether this graph object has USD notice handling enabled.

usd_notice_handling_enabled(self)

Checks whether this graph has USD notice handling enabled.

Attributes

CURRENT_FILE_FORMAT_VERSION

evaluation_mode

The evaluation mode sets how the graph will be evaluated.

__init__(*args, **kwargs)#
change_pipeline_stage(
self: omni.graph.core._omni_graph_core.Graph,
newPipelineStage: omni.graph.core._omni_graph_core.GraphPipelineStage,
) None#

Change the pipeline stage that this graph is in (simulation, pre-render, post-render, on-demand)

Parameters:

newPipelineStage (omni.graph.core.GraphPipelineStage) – The new pipeline stage of the graph

create_graph_as_node(
self: omni.graph.core._omni_graph_core.Graph,
name: str,
path: str,
evaluator: str,
is_global_graph: bool,
is_backed_by_usd: bool,
backing_type: omni.graph.core._omni_graph_core.GraphBackingType,
pipeline_stage: omni.graph.core._omni_graph_core.GraphPipelineStage,
evaluation_mode: omni.graph.core._omni_graph_core.GraphEvaluationMode = <GraphEvaluationMode.GRAPH_EVALUATION_MODE_AUTOMATIC: 0>,
) omni.graph.core._omni_graph_core.Node#

Creates a graph that is wrapped by a node in the current graph.

Parameters:
  • name (str) – The name of the node

  • path (str) – The path to the graph

  • evaluator (str) – The name of the evaluator to use for the graph

  • is_global_graph (bool) – Whether this is a global graph

  • is_backed_by_usd (bool) – Whether the constructs are to be backed by USD

  • backing_type (omni.graph.core.GraphBackingType) – The kind of cache backing this graph

  • pipeline_stage (omni.graph.core.GraphPipelineStage) – What stage in the pipeline the global graph is at (simulation, pre-render, post-render)

  • evaluation_mode (omni.graph.core.GraphEvaluationMode) – What mode to use when evaluating the graph

Returns:

Node wrapping the graph that was created

Return type:

omni.graph.core.Node

create_node(
self: omni.graph.core._omni_graph_core.Graph,
path: str,
node_type: str,
use_usd: bool,
) omni.graph.core._omni_graph_core.Node#

Given the path to the node and the type of the node, creates a node of that type at that path.

Parameters:
  • path (str) – The path to the node

  • node_type (str) – The type of the node

  • use_usd (bool) – Whether or not to create the USD backing for the node

Returns:

The newly created node

Return type:

omni.graph.core.Node

create_runtime_variable(
self: omni.graph.core._omni_graph_core.Graph,
name: str,
type: omni::graph::core::Py_Type,
value: object = None,
) omni.graph.core._omni_graph_core.IVariable#

Creates a variable on the graph without USD backing.

Parameters:
  • name (str) – The name of the variable

  • type (omni.graph.core.Type) – The type of the variable to create.

  • value (Any) – The initial value to set on the variable, default is None.

Returns:

A reference to the newly created variable, or None if the variable could not be created.

Return type:

omni.graph.core.IVariable

create_subgraph(
self: omni.graph.core._omni_graph_core.Graph,
subgraphPath: str,
evaluator: str = '',
createUsd: bool = True,
) omni.graph.core._omni_graph_core.Graph#

Given the path to the subgraph, create the subgraph at that path.

Parameters:
  • subgraphPath (str) – The path to the subgraph

  • evaluator (str) – The evaluator type

  • createUsd (bool) – Whether or not to create the USD backing for the node

Returns:

Subgraph object created for the given path.

Return type:

omni.graph.core.Graph

create_variable(
self: omni.graph.core._omni_graph_core.Graph,
name: str,
type: omni::graph::core::Py_Type,
) omni.graph.core._omni_graph_core.IVariable#

Creates a variable on the graph.

Parameters:
  • name (str) – The name of the variable

  • type (omni.graph.core.Type) – The type of the variable to create.

Returns:

A reference to the newly created variable, or None if the variable could not be created.

Return type:

omni.graph.core.IVariable

deregister_error_status_change_callback(
self: omni.graph.core._omni_graph_core.Graph,
status_change_handle: int,
) None#

De-registers the error status change callback to be invoked when the error status of nodes change during evaluation.

Parameters:

status_change_handle (int) – The handle that was returned during the register_error_status_change_callback call

destroy_node(
self: omni.graph.core._omni_graph_core.Graph,
node_path: str,
update_usd: bool,
) bool#

Given the path to the node, destroys the node at that path.

Parameters:
  • node_path (str) – The path to the node

  • update_usd (bool) – Whether or not to destroy the USD backing for the node

Returns:

True if the node was successfully destroyed

Return type:

bool

evaluate(self: omni.graph.core._omni_graph_core.Graph) None#

Tick the graph by causing it to evaluate.

find_variable(
self: omni.graph.core._omni_graph_core.Graph,
name: str,
) omni.graph.core._omni_graph_core.IVariable#

Find the variable with the given name in the graph.

Parameters:

name (str) – The name of the variable to find.

Returns:

The variable with the given name, or None if not found.

Return type:

omni.graph.core.IVariable | None

get_context(
self: omni.graph.core._omni_graph_core.Graph,
) omni::graph::core::Py_GraphContext#

Gets the context associated to the graph

Returns:

The context associated to the graph

Return type:

omni.graph.core.GraphContext

get_default_graph_context(
self: omni.graph.core._omni_graph_core.Graph,
) omni::graph::core::Py_GraphContext#

Gets the default context associated with this graph

Returns:

The default graph context associated with this graph.

Return type:

omni.graph.core.GraphContext

get_evaluator_name(
self: omni.graph.core._omni_graph_core.Graph,
) str#

Gets the name of the evaluator being used on this graph

Returns:

The name of the graph evaluator (dirty_push, push, execution)

Return type:

str

get_event_stream(
self: omni.graph.core._omni_graph_core.Graph,
) carb.events._events.IEventStream#

Get the event stream the graph uses for notification of changes.

Returns:

Event stream to monitor for graph changes

Return type:

carb.events.IEventStream

get_graph_backing_type(
self: omni.graph.core._omni_graph_core.Graph,
) omni.graph.core._omni_graph_core.GraphBackingType#

Gets the data type backing this graph

Returns:

Returns the type of data structure backing this graph

Return type:

omni.graph.core.GraphBackingType

get_handle(self: omni.graph.core._omni_graph_core.Graph) int#

Gets a unique handle identifier for this graph

Returns:

Unique handle identifier for this graph

Return type:

int

get_instance_count(
self: omni.graph.core._omni_graph_core.Graph,
) int#

Gets the number of instances this graph has

Returns:

The number of instances the graph has (0 if the graph is standalone).

Return type:

int

get_node(
self: omni.graph.core._omni_graph_core.Graph,
path: str,
) omni.graph.core._omni_graph_core.Node#

Given a path to the node, returns the object for the node.

Parameters:

path (str) – The path to the node

Returns:

Node object for the given path, None if it does not exist

Return type:

omni.graph.core.Node

get_nodes(
self: omni.graph.core._omni_graph_core.Graph,
) List[omni.graph.core._omni_graph_core.Node]#

Gets the list of nodes currently in this graph

Returns:

The nodes in this graph.

Return type:

list[omni.graph.core.Node]

get_owning_compound_node(
self: omni.graph.core._omni_graph_core.Graph,
) omni.graph.core._omni_graph_core.Node#

Returns the compound node for which this graph is the compound subgraph of.

Returns:

(og.Node) If this graph is a compound graph, the owning compound node. Otherwise, this an invalid node is returned.

get_parent_graph(
self: omni.graph.core._omni_graph_core.Graph,
) object#

Gets the immediate parent graph of this graph

Returns:

The immediate parent graph of this graph (may be None)

Return type:

omni.graph.core.Graph | None

get_path_to_graph(
self: omni.graph.core._omni_graph_core.Graph,
) str#

Gets the path to this graph

Returns:

The path to this graph (may be empty).

Return type:

str

get_pipeline_stage(
self: omni.graph.core._omni_graph_core.Graph,
) omni.graph.core._omni_graph_core.GraphPipelineStage#

Gets the pipeline stage to which this graph belongs

Returns:

The type of pipeline stage of this graph (simulation, pre-render, post-render)

Return type:

omni.graph.core.PipelineStage

get_subgraph(
self: omni.graph.core._omni_graph_core.Graph,
path: str,
) omni.graph.core._omni_graph_core.Graph#

Gets the subgraph living at the given path below this graph

Parameters:

path (str) – Path to the subgraph to find

Returns:

Subgraph at the path, or None if not found

Return type:

omni.graph.core.Graph | None

get_subgraphs(
self: omni.graph.core._omni_graph_core.Graph,
) List[omni.graph.core._omni_graph_core.Graph]#

Gets the list of subgraphs under this graph

Returns:

List of graphs that are subgraphs of this graph

Return type:

list[omni.graph.core.Graph]

get_variables(
self: omni.graph.core._omni_graph_core.Graph,
) List[omni.graph.core._omni_graph_core.IVariable]#

Returns the list of variables defined on the graph.

Returns:

The current list of variables on the graph.

Return type:

list[omni.graph.core.IVariable]

inspect(
self: omni.graph.core._omni_graph_core.Graph,
inspector: omni::core::Api<omni::inspect::IInspector_abi>,
) bool#

Runs the inspector on the graph

Parameters:

inspector (omni.inspect.Inspector) – The inspector to run

Returns:

True if the inspector was successfully run on the graph, False if it is not supported

Return type:

bool

is_auto_instanced(
self: omni.graph.core._omni_graph_core.Graph,
) bool#

Returns whether this graph is an auto instance or not. An auto instance is a graph that got merged as an instance with all other similar graphs in the stage.

Returns:

True if this graph is an auto instance

Return type:

bool

is_compound_graph(
self: omni.graph.core._omni_graph_core.Graph,
) bool#

Returns whether this graph is a compound graph. A compound graph is subgraph that controlled by a compound node.

Returns:

True if this graph is a compound graph

Return type:

bool

is_disabled(
self: omni.graph.core._omni_graph_core.Graph,
) bool#

Checks to see if the graph is disabled

Returns:

True if this graph object is disabled.

Return type:

bool

is_valid(self: omni.graph.core._omni_graph_core.Graph) bool#

Checks to see if the graph object is valid

Returns:

True if this graph object is valid.

Return type:

bool

register_error_status_change_callback(
self: omni.graph.core._omni_graph_core.Graph,
callback: object,
) int#

Registers a callback to be invoked after graph evaluation for all the nodes whose error status changed during the evaluation. The callback receives a list of the nodes whose error status changed.

Parameters:

callback (callable) – The callback function

Returns:

A handle that can be used for deregistration. Note the calling module is responsible for deregistration of the callback in all circumstances, including where the extension is hot-reloaded.

Return type:

int

reload_from_stage(
self: omni.graph.core._omni_graph_core.Graph,
) None#

Force the graph to reload by deleting it and re-parsing from the stage.

This is potentially destructive if you have internal state information in any nodes.

reload_settings(
self: omni.graph.core._omni_graph_core.Graph,
) None#

Reload the graph settings.

remove_variable(
self: omni.graph.core._omni_graph_core.Graph,
variable: omni.graph.core._omni_graph_core.IVariable,
) bool#

Removes the given variable from the graph.

Parameters:

variable (omni.graph.core.IVariable) – The variable to remove.

Returns:

True if the variable was successfully removed, False otherwise.

Return type:

bool

rename_node(
self: omni.graph.core._omni_graph_core.Graph,
path: str,
new_path: str,
) bool#

Given the path to the node, renames the node at that path.

Parameters:
  • path (str) – The path to the node

  • new_path (str) – The new path

Returns:

True if the node was successfully renamed

Return type:

bool

rename_subgraph(
self: omni.graph.core._omni_graph_core.Graph,
path: str,
new_path: str,
) bool#

Renames the path of a subgraph

Parameters:
  • path (str) – Path to the subgraph being renamed

  • new_path (str) – New path for the subgraph

set_auto_instancing_allowed(
self: omni.graph.core._omni_graph_core.Graph,
arg0: bool,
) bool#

Allows (or not) this graph to be an auto-instance, ie. to be executed vectorized as an instance amongst all other identical graph

Parameters:

allowed (bool) – Whether this graph is allowed to be an auto instance.

Returns:

Whether this graph was allowed to be an auto instance before this call.

Return type:

bool

set_disabled(
self: omni.graph.core._omni_graph_core.Graph,
disable: bool,
) None#

Sets whether this graph object is to be disabled or not.

Parameters:

disable (bool) – True if the graph is to be disabled

set_prim_view(
self: omni.graph.core._omni_graph_core.Graph,
view: omni.graph.core._omni_graph_core.IPrimView,
) bool#

Apply a view to a graph: a view is a way to dynamically maintain a list of instances for a graph.

Parameters:

view (IPrimViewPtr) – The view to apply to that graph

Returns:

whether or not the view has been successfully applied to the graph.

Return type:

bool

set_usd_notice_handling_enabled(
self: omni.graph.core._omni_graph_core.Graph,
enable: bool,
) None#

Sets whether this graph object has USD notice handling enabled.

Parameters:

enable (bool) – True to enable USD notice handling, False to disable.

usd_notice_handling_enabled(
self: omni.graph.core._omni_graph_core.Graph,
) bool#

Checks whether this graph has USD notice handling enabled.

Returns:

True if USD notice handling is enabled on this graph.

Return type:

bool

property evaluation_mode#

The evaluation mode sets how the graph will be evaluated.

GRAPH_EVALUATION_MODE_AUTOMATIC - Evaluate the graph in Standalone mode when there are no relationships to it, otherwise it will be evaluated in Instanced mode.

GRAPH_EVALUATION_MODE_STANDALONE - Evaluates the graph with the graph Prim as the graph target, and ignore Prims with relationships to the graph Prim. Use this mode when constructing self-contained graphs that evaluate independently.

GRAPH_EVALUATION_MODE_INSTANCED - Evaluates only when the graph there are relationships from OmniGraphAPI interfaces. Each Prim with a relationship to the graph Prim will cause an evaluation, with the Graph Target set to path of Prim with the OmniGraphAPI interface. Use this mode when the graph represents as an asset or template that can be applied to multiple Prims.

Type:

omni.graph.core.GraphEvaluationMode