ISchedulingHints_abi#

Fully qualified name: omni::graph::core::ISchedulingHints_abi

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