24 #ifndef PXR_IMAGING_HD_VERTEX_ADJACENCY_H 25 #define PXR_IMAGING_HD_VERTEX_ADJACENCY_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/version.h" 30 #include "pxr/imaging/hd/bufferArrayRange.h" 31 #include "pxr/imaging/hd/bufferSource.h" 32 #include "pxr/imaging/hd/computation.h" 38 PXR_NAMESPACE_OPEN_SCOPE
41 using Hd_VertexAdjacencySharedPtr =
42 std::shared_ptr<class Hd_VertexAdjacency>;
43 using Hd_AdjacencyBuilderComputationSharedPtr =
44 std::shared_ptr<class Hd_AdjacencyBuilderComputation>;
45 using Hd_AdjacencyBuilderComputationPtr =
46 std::weak_ptr<class Hd_AdjacencyBuilderComputation>;
83 class Hd_VertexAdjacency final {
89 ~Hd_VertexAdjacency();
102 HdBufferSourceSharedPtr GetSharedAdjacencyBuilderComputation(
106 void SetAdjacencyRange(HdBufferArrayRangeSharedPtr
const &range) {
107 _adjacencyRange = range;
111 HdBufferArrayRangeSharedPtr
const &GetAdjacencyRange()
const {
112 return _adjacencyRange;
116 int GetNumPoints()
const {
121 VtIntArray
const &GetAdjacencyTable()
const {
122 return _adjacencyTable;
127 VtIntArray _adjacencyTable;
130 HdBufferArrayRangeSharedPtr _adjacencyRange;
133 Hd_AdjacencyBuilderComputationPtr _sharedAdjacencyBuilder;
146 Hd_AdjacencyBuilderComputation(Hd_VertexAdjacency *adjacency,
149 virtual bool Resolve()
override;
156 Hd_VertexAdjacency *_adjacency;
169 Hd_AdjacencyBufferSource(
170 Hd_VertexAdjacency
const *adjacency,
171 HdBufferSourceSharedPtr
const &adjacencyBuilder);
175 virtual void GetBufferSpecs(HdBufferSpecVector *specs)
const override;
177 virtual bool Resolve()
override;
184 Hd_VertexAdjacency
const *_adjacency;
185 HdBufferSourceSharedPtr
const _adjacencyBuilder;
189 PXR_NAMESPACE_CLOSE_SCOPE
191 #endif // PXR_IMAGING_HD_VERTEX_ADJACENCY_H virtual void GetBufferSpecs(HdBufferSpecVector *specs) const =0
Add the buffer spec for this buffer source into given bufferspec vector.
A abstract base class for pure cpu computation.
virtual bool _CheckValid() const =0
Checks the validity of the source buffer.
Topology data for meshes.
virtual bool Resolve()=0
Prepare the access of GetData().
A abstract base class for cpu computation followed by buffer transfer to the GPU.