7#ifndef PXR_EXEC_VDF_ITERATOR_H
8#define PXR_EXEC_VDF_ITERATOR_H
14#include "pxr/exec/vdf/api.h"
18PXR_NAMESPACE_OPEN_SCOPE
46 return context._GetNode();
52 return context._GetExecutor();
110 const VdfMask **affectsMask)
const;
139PXR_NAMESPACE_CLOSE_SCOPE
Token for efficient comparison, assignment, and hashing of known strings.
A class that fully represents a connection between two VdfNodes.
A context is the parameter bundle passed to callbacks of computations.
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
Base class for libVdf iterators.
const VdfExecutorInterface & _GetExecutor(const VdfContext &context) const
Returns the executor for the given context.
VDF_API void _ForEachScheduledOutput(const VdfContext &context, const VdfNode &node, const VdfScheduledOutputCallback &callback) const
Loops over each scheduled output of node and calls callback with the output and request mask in an ef...
VDF_API const VdfVector * _GetInputValue(const VdfContext &context, const VdfConnection &connection, const VdfMask &mask) const
Returns a vector for reading an input value.
VDF_API const VdfOutput * _GetRequiredOutputForWriting(const VdfContext &context, const TfToken &name) const
Returns the output for writing based on the name provided.
VDF_API bool _IsRequiredInput(const VdfContext &context, const VdfConnection &connection) const
Returns true when the connection is scheduled and required, and false otherwise.
VDF_API const VdfVector & _GetRequiredInputValue(const VdfContext &context, const VdfConnection &connection, const VdfMask &mask) const
Returns the cached output value for a given output, or issues an error message if a cache value is no...
VDF_API const VdfMask * _GetRequestMask(const VdfContext &context, const VdfOutput &output) const
Returns the request mask of output, if the output has been scheduled and NULL otherwise.
VDF_API bool _GetOutputMasks(const VdfContext &context, const VdfOutput &output, const VdfMask **requestMask, const VdfMask **affectsMask) const
Retrieves the request and affects masks of the given output.
VDF_API VdfVector * _GetOutputValueForWriting(const VdfContext &context, const VdfOutput &output) const
Returns a vector for writing an output value into.
~VdfIterator()=default
Disallow destruction via base class pointers.
const VdfNode & _GetNode(const VdfContext &context) const
Returns the current node being run.
A VdfMask is placed on connections to specify the data flowing through them.
This is the base class for all nodes in a VdfNetwork.
A VdfOutput represents an output on a node.
This class is used to abstract away knowledge of the cache data used for each node.
std::function< void(const VdfOutput *, const VdfMask &)> VdfScheduledOutputCallback
Function type to be used with ForEachScheduledOutput().