Loading...
Searching...
No Matches
dataManagerFacade.h
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_EXEC_VDF_DATA_MANAGER_FACADE
8#define PXR_EXEC_VDF_DATA_MANAGER_FACADE
9
10#include "pxr/pxr.h"
11
13
14PXR_NAMESPACE_OPEN_SCOPE
15
16class VdfMask;
17class VdfOutput;
18class VdfVector;
19
24{
25public:
26 explicit VdfDataManagerFacade(const VdfExecutorInterface &executor)
27 : _executor(&executor)
28 {}
29
35 const VdfOutput &output,
36 const VdfMask &mask) const {
37 return _executor->GetOutputValue(output, mask);
38 }
39
40private:
41 const VdfExecutorInterface *_executor;
42};
43
44PXR_NAMESPACE_CLOSE_SCOPE
45
46#endif
Facade that gives clients access to values cached on an executor, without exposing the entire VdfExec...
const VdfVector * GetOutputValue(const VdfOutput &output, const VdfMask &mask) const
Returns the value cached at output for the given mask.
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
const VdfVector * GetOutputValue(const VdfOutput &output, const VdfMask &mask) const
Returns the cached value for a given output if it has a cache that contains all values specified by m...
A VdfMask is placed on connections to specify the data flowing through them.
Definition: mask.h:37
A VdfOutput represents an output on a node.
Definition: output.h:32
This class is used to abstract away knowledge of the cache data used for each node.
Definition: vector.h:56