7 #ifndef PXR_EXEC_VDF_DATA_MANAGER_BASED_EXECUTOR_H
8 #define PXR_EXEC_VDF_DATA_MANAGER_BASED_EXECUTOR_H
30 template<
typename DataManagerType,
typename BaseClass>
43 BaseClass(parentExecutor)
74 return _dataManager.TakeOutputValue(output, value, mask);
83 _dataManager.DuplicateOutputData(sourceOutput, destOutput);
125 const VdfOutput &output)
const override {
133 const VdfId outputId,
const VdfId nodeId)
override {
141 const VdfId outputId,
142 const VdfMask &invalidationMask)
const override {
143 return _dataManager.IsOutputInvalid(outputId, invalidationMask);
158 const VdfMask &invalidationMask)
override
160 return _dataManager.InvalidateOutput(output, invalidationMask);
170 BaseClass::GetExecutorInvalidationTimestamp());
179 const VdfMask &sourceMask)
const override {
virtual void _SetReferenceOutputValue(const VdfOutput &destOutput, const VdfOutput &sourceOutput, const VdfMask &sourceMask) const override
VdfDataManagerBasedExecutor(const VdfExecutorInterface *parentExecutor)
virtual bool TakeOutputValue(const VdfOutput &output, VdfVector *value, const VdfMask &mask) override
virtual const VdfVector * _GetInputValue(const VdfConnection &connection, const VdfMask &mask) const override
#define PXR_NAMESPACE_OPEN_SCOPE
GLsizei const GLfloat * value
void _ClearDataForOutput(const VdfId outputId, const VdfId nodeId) override
VdfDataManagerBasedExecutor()
A VdfMask is placed on connections to specify the data flowing through them.
virtual ~VdfDataManagerBasedExecutor()
virtual void SetOutputValue(const VdfOutput &output, const VdfVector &value, const VdfMask &mask) override
DataManagerType _dataManager
GLsizei GLsizei GLchar * source
virtual void DuplicateOutputData(const VdfOutput &sourceOutput, const VdfOutput &destOutput) override
virtual bool HasInvalidationTimestampMismatch(const VdfOutput &source, const VdfOutput &dest) const override
virtual bool _InvalidateOutput(const VdfOutput &output, const VdfMask &invalidationMask) override
virtual const VdfVector * _GetOutputValueForReading(const VdfOutput &output, const VdfMask &mask) const override
virtual void Resize(const VdfNetwork &network) override
virtual void _UpdateInvalidationTimestamp() override
virtual void _TouchOutput(const VdfOutput &output) const override
#define PXR_NAMESPACE_CLOSE_SCOPE
virtual bool IsEmpty() const override
virtual bool _IsOutputInvalid(const VdfId outputId, const VdfMask &invalidationMask) const override
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values...
virtual VdfVector * _GetOutputValueForWriting(const VdfOutput &output) const override
uint64_t VdfId
The unique identifier type for Vdf objects.