HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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_VALUE_KEY_H
8 #define PXR_EXEC_EXEC_VALUE_KEY_H
9 
10 #include "pxr/pxr.h"
11 
12 #include "pxr/exec/exec/api.h"
13 
14 #include "pxr/exec/esf/object.h"
15 
16 #include "pxr/base/tf/token.h"
17 
18 #include <string>
19 #include <utility>
20 
22 
23 /// Specifies a computed value.
24 ///
25 /// Clients identify computations to evaluate using a scene description
26 /// object that provides computations and the name of the computation.
27 ///
29 {
30 public:
31  ExecValueKey(EsfObject&& provider, const TfToken& computationName)
32  : _provider(std::move(provider))
33  , _computationName(computationName)
34  {}
35 
36  /// Returns the provider object of the requested value.
37  const EsfObject& GetProvider() const {
38  return _provider;
39  }
40 
41  /// Returns the name of the requested computation.
42  const TfToken& GetComputationName() const {
43  return _computationName;
44  }
45 
46  /// Return a human-readable description of this value key for diagnostic
47  /// purposes.
48  ///
49  EXEC_API
50  std::string GetDebugName() const;
51 
52 private:
53  EsfObject _provider;
54  TfToken _computationName;
55 };
56 
58 
59 #endif
EXEC_API std::string GetDebugName() const
#define PXR_NAMESPACE_OPEN_SCOPE
Definition: pxr.h:73
const EsfObject & GetProvider() const
Returns the provider object of the requested value.
Definition: valueKey.h:37
Definition: token.h:70
#define EXEC_API
Definition: api.h:25
ExecValueKey(EsfObject &&provider, const TfToken &computationName)
Definition: valueKey.h:31
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
const TfToken & GetComputationName() const
Returns the name of the requested computation.
Definition: valueKey.h:42