25 #ifndef PXR_IMAGING_HD_COMP_EXT_COMP_INPUT_SOURCE_H
26 #define PXR_IMAGING_HD_COMP_EXT_COMP_INPUT_SOURCE_H
29 #include "pxr/imaging/hd/api.h"
30 #include "pxr/imaging/hd/version.h"
31 #include "pxr/imaging/hd/extCompInputSource.h"
35 PXR_NAMESPACE_OPEN_SCOPE
39 using HdExtCompCpuComputationSharedPtr =
40 std::shared_ptr<HdExtCompCpuComputation>;
46 class Hd_CompExtCompInputSource final :
public Hd_ExtCompInputSource {
51 Hd_CompExtCompInputSource(
const TfToken &inputName,
52 const HdExtCompCpuComputationSharedPtr &source,
53 const TfToken &sourceOutputName);
56 virtual ~Hd_CompExtCompInputSource() =
default;
60 virtual bool Resolve()
override;
64 virtual const VtValue &GetValue()
const override;
71 HdExtCompCpuComputationSharedPtr _source;
72 size_t _sourceOutputIdx;
74 Hd_CompExtCompInputSource() =
delete;
75 Hd_CompExtCompInputSource(
const Hd_CompExtCompInputSource &) =
delete;
76 Hd_CompExtCompInputSource &operator = (
const Hd_CompExtCompInputSource &)
80 PXR_NAMESPACE_CLOSE_SCOPE
82 #endif // PXR_IMAGING_HD_COMP_EXT_COMP_INPUT_SOURCE_H
A Buffer Source that represents a CPU implementation of a ExtComputation.
Token for efficient comparison, assignment, and hashing of known strings.
virtual bool _CheckValid() const =0
Checks the validity of the source buffer.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
virtual bool Resolve()=0
Prepare the access of GetData().