request.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_REQUEST_H
8 #define PXR_EXEC_EXEC_USD_REQUEST_H
9 
11 
12 #include "pxr/pxr.h"
13 
14 #include "pxr/exec/execUsd/api.h"
15 
16 #include <memory>
17 #include <utility>
18 
19 PXR_NAMESPACE_OPEN_SCOPE
20 
21 class ExecUsdSystem;
22 class ExecUsd_RequestImpl;
23 
32 {
33 public:
34  EXECUSD_API
36 
37  EXECUSD_API
38  ExecUsdRequest& operator=(ExecUsdRequest &&);
39 
40  EXECUSD_API
41  ~ExecUsdRequest();
42 
50  EXECUSD_API
51  bool IsValid() const;
52 
53 private:
54  friend class ExecUsdSystem;
55  explicit ExecUsdRequest(std::unique_ptr<ExecUsd_RequestImpl> &&impl);
56 
57  ExecUsd_RequestImpl& _GetImpl() const {
58  return *_impl;
59  }
60 
61 private:
62  std::unique_ptr<ExecUsd_RequestImpl> _impl;
63 };
64 
65 PXR_NAMESPACE_CLOSE_SCOPE
66 
67 #endif
EXECUSD_API bool IsValid() const
Return true if this request may be used to compute values.
A batch of values to compute together.
Definition: request.h:31
The implementation of a system to procedurally compute values based on USD scene description and comp...
Definition: system.h:45