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"
35PXR_NAMESPACE_OPEN_SCOPE
41using HdStBufferArrayRangeSharedPtr =
42 std::shared_ptr<class HdStBufferArrayRange>;
46using HdStBufferResourceSharedPtr =
47 std::shared_ptr<class HdStBufferResource>;
48using HdStBufferResourceNamedList =
49 std::vector< std::pair<TfToken, HdStBufferResourceSharedPtr> >;
80 virtual HdStBufferResourceNamedList
const&
GetResources()
const = 0;
86 virtual int GetElementStride()
const {
100std::ostream &operator <<(std::ostream &out,
116 void Set(
int index, HdStBufferArrayRangeSharedPtr
const &range);
121 HdStBufferArrayRangeSharedPtr
const &
Get(
int index)
const;
124 std::vector<HdStBufferArrayRangeSharedPtr> _ranges;
128PXR_NAMESPACE_CLOSE_SCOPE
Interface class for representing range (subset) locator of HdBufferArray.
A resizable container of HdBufferArrayRanges.
HdStBufferArrayRangeContainer(int size)
Constructor.
HDST_API HdStBufferArrayRangeSharedPtr const & Get(int index) const
Returns the bar at index. returns null if either the index.
HDST_API void Set(int index, HdStBufferArrayRangeSharedPtr const &range)
Set range into the container at index.
Interface class for representing range (subset) locator of HdBufferArray.
virtual HdStBufferResourceSharedPtr GetResource() const =0
Returns the GPU resource.
virtual HDST_API ~HdStBufferArrayRange()
Destructor (do nothing).
virtual HDST_API void GetBufferSpecs(HdBufferSpecVector *bufferSpecs) const override
Sets the bufferSpecs for all resources.
virtual HdStBufferResourceSharedPtr GetResource(TfToken const &name)=0
Returns the named GPU resource.
virtual HdStBufferResourceNamedList const & GetResources() const =0
Returns the list of all named GPU resources for this bufferArrayRange.
A GPU resource contained within an underlying HgiBuffer.
A central registry of all GPU resources.
Token for efficient comparison, assignment, and hashing of known strings.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...