Loading...
Searching...
No Matches
cacheView.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_EXEC_CACHE_VIEW_H
8#define PXR_EXEC_EXEC_CACHE_VIEW_H
9
10#include "pxr/pxr.h"
11
12#include "pxr/exec/exec/api.h"
13
14#include "pxr/base/tf/span.h"
15#include "pxr/exec/vdf/dataManagerFacade.h"
16
17#include <optional>
18
19PXR_NAMESPACE_OPEN_SCOPE
20
21class Exec_ValueExtractor;
22class VdfMaskedOutput;
23class VtValue;
24
32{
33public:
35 Exec_CacheView() = default;
36
42 EXEC_API
43 VtValue Get(int index) const;
44
45private:
46 friend class Exec_RequestImpl;
48 const VdfDataManagerFacade dataManager,
51
52private:
53 std::optional<const VdfDataManagerFacade> _dataManager;
54 const TfSpan<const VdfMaskedOutput> _outputs{};
55 const TfSpan<const Exec_ValueExtractor> _extractors{};
56};
57
58PXR_NAMESPACE_CLOSE_SCOPE
59
60#endif
A view into values cached by ExecSystem.
Definition: cacheView.h:32
Exec_CacheView()=default
Constructs an invalid cache view.
EXEC_API VtValue Get(int index) const
Returns the computed value for the provided extraction index.
Contains data structures necessary to implement exec requests that are independent of scene descripti...
Definition: requestImpl.h:47
Represents a range of contiguous elements.
Definition: span.h:71
Facade that gives clients access to values cached on an executor, without exposing the entire VdfExec...
Class to hold on to an externally owned output and a mask.
Definition: maskedOutput.h:32
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:90