Loading...
Searching...
No Matches
valueKey.h
Go to the documentation of this file.
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_USD_VALUE_KEY_H
8#define PXR_EXEC_EXEC_USD_VALUE_KEY_H
9
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/execUsd/api.h"
15
16#include "pxr/base/tf/token.h"
17#include "pxr/usd/usd/prim.h"
18#include "pxr/usd/usd/attribute.h"
19
20#include <variant>
21
22PXR_NAMESPACE_OPEN_SCOPE
23
24class ExecValueKey;
25
31{
32 SdfPath path;
33 TfToken computation;
34};
35
38{
39 UsdAttribute provider;
40 TfToken computation;
41};
42
45{
46 UsdPrim provider;
47 TfToken computation;
48};
49
56{
57public:
61 EXECUSD_API
62 explicit ExecUsdValueKey(const UsdAttribute &provider);
63
65 EXECUSD_API
66 ExecUsdValueKey(const UsdAttribute &provider, const TfToken &computation);
67
69 EXECUSD_API
70 ExecUsdValueKey(const UsdPrim &provider, const TfToken &computation);
71
72 EXECUSD_API
74
75private:
76 template <typename Visitor>
77 friend auto ExecUsd_VisitValueKey(Visitor &&, const ExecUsdValueKey &);
78
79 // Expires a value key by replacing it with an ExecUsd_ExpiredValueKey.
80 friend void
81 ExecUsd_ExpireValueKey(ExecUsdValueKey *);
82
83 std::variant<
87 > _key;
88};
89
90PXR_NAMESPACE_CLOSE_SCOPE
91
92#endif
Specifies a computed value.
Definition: valueKey.h:56
EXECUSD_API ExecUsdValueKey(const UsdPrim &provider, const TfToken &computation)
Constructs a value key representing a prim computation.
EXECUSD_API ExecUsdValueKey(const UsdAttribute &provider)
Constructs a value key that computes the builtin computeValue attribute computation.
EXECUSD_API ExecUsdValueKey(const UsdAttribute &provider, const TfToken &computation)
Constructs a value key representing an attribute computation.
Specifies a computed value.
Definition: valueKey.h:29
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:183
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
Represents attribute computation value keys.
Definition: valueKey.h:38
Represents expired value keys.
Definition: valueKey.h:31
Represents prim computation value keys.
Definition: valueKey.h:45
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...