7#ifndef PXR_EXEC_VDF_DATALESS_EXECUTOR_H
8#define PXR_EXEC_VDF_DATALESS_EXECUTOR_H
14#include "pxr/exec/vdf/api.h"
17PXR_NAMESPACE_OPEN_SCOPE
81 const VdfMask &mask)
const override {
89 const VdfMask &mask)
const override {
105 const VdfId outputId,
const VdfId nodeId)
override {}
130 const VdfMask &sourceMask)
const;
142PXR_NAMESPACE_CLOSE_SCOPE
A class that fully represents a connection between two VdfNodes.
An abstract base class for executors, which do not store any data at all.
virtual void _UpdateInvalidationTimestamp()
Called before invalidation begins to update the timestamp that will be written for every VdfOutput vi...
virtual VDF_API bool TakeOutputValue(const VdfOutput &output, VdfVector *value, const VdfMask &mask)
Transfers ownership of value to the given output.
void _ClearDataForOutput(const VdfId outputId, const VdfId nodeId) override
Clears the data for a specific output on this executor.
virtual VdfVector * _GetOutputValueForWriting(const VdfOutput &output) const override
Returns an output value for writing.
virtual VDF_API void _SetReferenceOutputValue(const VdfOutput &destOutput, const VdfOutput &sourceOutput, const VdfMask &sourceMask) const
Called to set destOutput's buffer output to be a reference to the buffer output of sourceOutput.
virtual const VdfVector * _GetOutputValueForReading(const VdfOutput &output, const VdfMask &mask) const override
Returns an output value for reading.
virtual const VdfVector * _GetInputValue(const VdfConnection &connection, const VdfMask &mask) const override
Returns a value for the cache that flows across connection.
virtual void _ClearData()
Clears all the data caches associated with any output in the network.
virtual VDF_API void SetOutputValue(const VdfOutput &output, const VdfVector &value, const VdfMask &mask)
Sets the cached value for a given output.
virtual bool IsEmpty() const
Returns true of the data manager is empty.
virtual VDF_API ~VdfDatalessExecutor()
Destructor.
virtual void _TouchOutput(const VdfOutput &output) const
Mark the output as having been visited.
VDF_API VdfDatalessExecutor()
Protected default constructor.
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
A VdfMask is placed on connections to specify the data flowing through them.
A VdfOutput represents an output on a node.
This class is used to abstract away knowledge of the cache data used for each node.
uint64_t VdfId
The unique identifier type for Vdf objects.