7#ifndef PXR_IMAGING_HD_ST_BUFFER_ARRAY_RANGE_H
8#define PXR_IMAGING_HD_ST_BUFFER_ARRAY_RANGE_H
11#include "pxr/imaging/hdSt/api.h"
12#include "pxr/imaging/hd/version.h"
14#include "pxr/imaging/hd/bufferArrayRange.h"
18PXR_NAMESPACE_OPEN_SCOPE
24using HdStBufferArrayRangeSharedPtr =
25 std::shared_ptr<class HdStBufferArrayRange>;
29using HdStBufferResourceSharedPtr =
30 std::shared_ptr<class HdStBufferResource>;
31using HdStBufferResourceNamedList =
32 std::vector< std::pair<TfToken, HdStBufferResourceSharedPtr> >;
63 virtual HdStBufferResourceNamedList
const&
GetResources()
const = 0;
69 virtual int GetElementStride()
const {
83std::ostream &operator <<(std::ostream &out,
99 void Set(
int index, HdStBufferArrayRangeSharedPtr
const &range);
104 HdStBufferArrayRangeSharedPtr
const &
Get(
int index)
const;
107 std::vector<HdStBufferArrayRangeSharedPtr> _ranges;
111PXR_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...