INodeTypeForwarding2
- class omni.graph.core.INodeTypeForwarding2
Bases:
_INodeTypeForwarding2
@brief Interface that creates a forward on a request for a node type to a different node type
There are a couple of different common use cases for needing a forward: - Node type gets renamed - Node type moves from one extension to another
The node type forward specifies the unique node type name so if extension omni.my.extension has a node whose type is specified as “MyNode” then the forward must be from “omni.my.extension.MyNode”.
The forwarding is version-based as well, where the version is a minimum number required for forwarding, the usual node version update mechanism not withstanding. For example, if you set up a forward from “omni.nodes.MyNode” version 2 to “omni.my_nodes.MyNode” version 3 then any larger version number is forwarded to the same location: - omni.nodes.MyNode(2) -> omni.my_nodes.MyNode(3) - omni.nodes.MyNode(3) -> omni.my_nodes.MyNode(3) - omni.nodes.MyNode(4) -> omni.my_nodes.MyNode(3)
The forwards can also have multiple versions forwarding to different locations, so if on top of the above forward you also add a forward from “omni.nodes.MyNode” version 3 to “omni.new_nodes.MyNode” version 4 then these become the example forward locations: - omni.nodes.MyNode(2) -> omni.my_nodes.MyNode(3) - omni.nodes.MyNode(3) -> omni.new_nodes.MyNode(4) - omni.nodes.MyNode(4) -> omni.new_nodes.MyNode(4)
Version numbers lower than the first forward are left as-is - omni.nodes.MyNode(1) -> omni.nodes.MyNode(1)
- @note The usual mechanism of calling updateVersionNumber on a node is only applied after a forward so in the above
cases requesting omni.nodes.MyNode(2) does not call updateVersionNumber(1,2) on your omni.nodes.MyNode implementation.
Node type forwards are associative, so if A forwards to B and B forwards to C then when you request A you get C. Adding a new forward from omni.my_nodes.MyNode(3) to omni.new_nodes.MyNode(2) above yields this forwarding: - omni.nodes.MyNode(2) -> omni.my_nodes.MyNode(3) -> omni.new_nodes.MyNode(2) - omni.nodes.MyNode(3) -> omni.new_nodes.MyNode(4) - omni.nodes.MyNode(4) -> omni.new_nodes.MyNode(4)
Methods
__init__
(*args, **kwargs)Overloaded function.
inspect
(self, inspector)Runs the inspector on the scheduling hints.
Attributes
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: omni.graph.core._omni_graph_core.INodeTypeForwarding2, arg0: omni.core._core.IObject) -> None
__init__(self: omni.graph.core._omni_graph_core.INodeTypeForwarding2) -> None
- inspect(self: omni.graph.core._omni_graph_core.INodeTypeForwarding2, inspector: omni::core::Api<omni::inspect::IInspector_abi>) bool
Runs the inspector on the scheduling hints.
@param[in] inspector The inspector class @return true if the inspection ran successfully, false if the inspection type is not supported