omni::graph::core::ISchedulingHints_abi
Defined in omni/graph/core/ISchedulingHints.h
Inheritance Relationships
Base Type
public omni::core::Inherits< omni::core::IObject, OMNI_TYPE_ID("omni.graph.core.ISchedulingHints")>
-
class ISchedulingHints_abi : public omni::core::Inherits<omni::core::IObject, OMNI_TYPE_ID("omni.graph.core.ISchedulingHints")>
Interface to the list of scheduling hints that can be applied to a node type.
Protected Functions
-
virtual eThreadSafety getThreadSafety_abi() noexcept = 0
Get the threadSafety status (i.e.
can be run in parallel with other nodes)
- Returns
Is the node compute threadsafe?
-
virtual void setThreadSafety_abi(eThreadSafety newThreadSafety) noexcept = 0
Set the flag indicating if a node is threadsafe or not.
- Parameters
newThreadSafety – [in] New value of the threadsafe flag
-
virtual eAccessType getDataAccess_abi(eAccessLocation dataType) noexcept = 0
Get the type of access the node has for a given data type.
- Parameters
dataType – [in] Type of data for which access type is being modified
- Returns
Value of the access type flag
-
virtual void setDataAccess_abi(eAccessLocation dataType, eAccessType newAccessType) noexcept = 0
Set the flag describing how a node accesses particular data in its compute _abi (defaults to no access).
Setting any of these flags will, in most cases, automatically mark the node as “not threadsafe”. One current exception to this is allowing a node to be both threadsafe and a writer to USD, since such behavior can be achieved if delayed writebacks (e.g. “registerForUSDWriteBack”) are utilized in the node’s compute method.
- Parameters
dataType – [in] Type of data for which access type is being modified
newAccessType – [in] New value of the access type flag
-
virtual eComputeRule getComputeRule_abi() noexcept = 0
Get the flag describing the compute rule which may be followed by the evaluator.
- Returns
Value of the ComputeRule flag
-
virtual void setComputeRule_abi(eComputeRule newComputeRule) noexcept = 0
Set the flag describing the compute rule which may be followed by the evaluator.
- Parameters
newComputeRule – [in] New value of the ComputeRule flag
-
virtual bool inspect_abi(omni::inspect::IInspector *inspector) noexcept = 0
Runs the inspector on the scheduling hints.
- Parameters
inspector – [in] The inspector class
- Returns
true if the inspection ran successfully, false if the inspection type is not supported
-
virtual eThreadSafety getThreadSafety_abi() noexcept = 0