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