24 #ifndef PXR_IMAGING_HD_ST_BUFFER_ARRAY_RANGE_H
25 #define PXR_IMAGING_HD_ST_BUFFER_ARRAY_RANGE_H
28 #include "pxr/imaging/hdSt/api.h"
29 #include "pxr/imaging/hd/version.h"
31 #include "pxr/imaging/hd/bufferArrayRange.h"
35 PXR_NAMESPACE_OPEN_SCOPE
38 class HdBufferArrayGL;
41 using HdStBufferArrayRangeSharedPtr =
42 std::shared_ptr<class HdStBufferArrayRange>;
46 using HdStBufferResourceSharedPtr =
47 std::shared_ptr<class HdStBufferResource>;
48 using HdStBufferResourceNamedList =
49 std::vector< std::pair<TfToken, HdStBufferResourceSharedPtr> >;
74 virtual HdStBufferResourceSharedPtr
GetResource()
const = 0;
80 virtual HdStBufferResourceNamedList
const&
GetResources()
const = 0;
84 virtual void GetBufferSpecs(HdBufferSpecVector *bufferSpecs)
const override;
110 void Set(
int index, HdStBufferArrayRangeSharedPtr
const &range);
115 HdStBufferArrayRangeSharedPtr
const &
Get(
int index)
const;
118 std::vector<HdStBufferArrayRangeSharedPtr> _ranges;
122 PXR_NAMESPACE_CLOSE_SCOPE
124 #endif // HD_BUFFER_ARRAY_RANGE_GL_H
HDST_API HdStBufferArrayRangeSharedPtr const & Get(int index) const
Returns the bar at index. returns null if either the index.
Interface class for representing range (subset) locator of HdBufferArray.
virtual HDST_API void GetBufferSpecs(HdBufferSpecVector *bufferSpecs) const override
Sets the bufferSpecs for all resources.
Interface class for representing range (subset) locator of HdBufferArray.
A resizable container of HdBufferArrayRanges.
Token for efficient comparison, assignment, and hashing of known strings.
virtual HdStBufferResourceNamedList const & GetResources() const =0
Returns the list of all named GPU resources for this bufferArrayRange.
HDST_API void Set(int index, HdStBufferArrayRangeSharedPtr const &range)
Set range into the container at index.
A central registry of all GPU resources.
virtual HdStBufferResourceSharedPtr GetResource() const =0
Returns the GPU resource.
A specific type of HdBufferResource (GPU resource) representing an HgiBufferHandle.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
virtual HDST_API ~HdStBufferArrayRange()
Destructor (do nothing).
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
HdStBufferArrayRangeContainer(int size)
Constructor.