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.
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
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.
Checks whether this graph has USD notice handling enabled.
Attributes
CURRENT_FILE_FORMAT_VERSION
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,
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>,
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:
- create_node(
- self: omni.graph.core._omni_graph_core.Graph,
- path: str,
- node_type: str,
- use_usd: bool,
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:
- create_runtime_variable(
- self: omni.graph.core._omni_graph_core.Graph,
- name: str,
- type: omni::graph::core::Py_Type,
- value: object = None,
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:
- create_subgraph(
- self: omni.graph.core._omni_graph_core.Graph,
- subgraphPath: str,
- evaluator: str = '',
- createUsd: bool = True,
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:
- create_variable(
- self: omni.graph.core._omni_graph_core.Graph,
- name: str,
- type: omni::graph::core::Py_Type,
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:
- deregister_error_status_change_callback(
- self: omni.graph.core._omni_graph_core.Graph,
- status_change_handle: int,
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,
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,
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( ) omni::graph::core::Py_GraphContext #
Gets the context associated to the graph
- Returns:
The context associated to the graph
- Return type:
- get_default_graph_context( ) omni::graph::core::Py_GraphContext #
Gets the default context associated with this graph
- Returns:
The default graph context associated with this graph.
- Return type:
- get_evaluator_name( ) 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( ) 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( ) 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:
- 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( ) 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,
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:
- get_nodes( ) 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( ) 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( ) 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( ) str #
Gets the path to this graph
- Returns:
The path to this graph (may be empty).
- Return type:
str
- get_pipeline_stage( ) 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,
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( ) 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( ) 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:
- inspect(
- self: omni.graph.core._omni_graph_core.Graph,
- inspector: omni::core::Api<omni::inspect::IInspector_abi>,
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( ) 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( ) 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( ) 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,
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( ) 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( ) None #
Reload the graph settings.
- remove_variable( ) 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,
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,
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,
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,
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( ) 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,
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( ) 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.