All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStBufferArrayRangeGL Class Referenceabstract

#include <bufferArrayRangeGL.h>

+ Inheritance diagram for HdStBufferArrayRangeGL:

Public Member Functions

virtual HDST_API ~HdStBufferArrayRangeGL ()
GetResource () const =0
GetResource (TfToken const &name)=0
 Returns the named GPU resource. More...
GetResources () const =0
 Returns the list of all named GPU resources for this bufferArrayRange. More...
virtual HDST_API void GetBufferSpecs (HdBufferSpecVector *bufferSpecs) const override
 Sets the bufferSpecs for all resources. More...
- Public Member Functions inherited from HdBufferArrayRange
HD_API HdBufferArrayRange ()
virtual HD_API ~HdBufferArrayRange ()
virtual bool IsValid () const =0
 Returns true if this range is valid. More...
virtual bool IsAssigned () const =0
 Returns true is the range has been assigned to a buffer. More...
virtual bool IsImmutable () const =0
 Returns true if this range is marked as immutable. More...
virtual bool Resize (int numElements)=0
virtual void CopyData (HdBufferSourceSharedPtr const &bufferSource)=0
 Copy source data into buffer. More...
virtual VtValue ReadData (TfToken const &name) const =0
 Read back the buffer content. More...
virtual int GetElementOffset () const =0
virtual int GetByteOffset (TfToken const &resourceName) const =0
virtual size_t GetNumElements () const =0
 Returns the number of elements. More...
virtual size_t GetVersion () const =0
 Returns the version of the buffer array. More...
virtual void IncrementVersion ()=0
virtual size_t GetMaxNumElements () const =0
 Returns the max number of elements. More...
virtual HdBufferArrayUsageHint GetUsageHint () const =0
 Gets the usage hint on the underlying buffer array. More...
virtual void SetBufferArray (HdBufferArray *bufferArray)=0
 Sets the buffer array associated with this buffer;. More...
virtual void DebugDump (std::ostream &out) const =0
 Debug output. More...
bool IsAggregatedWith (HdBufferArrayRangeSharedPtr const &other) const
 Returns true if the underlying buffer array is aggregated to other's. More...

Additional Inherited Members

- Protected Member Functions inherited from HdBufferArrayRange
virtual const void_GetAggregation () const =0
 Returns the aggregation container to be used in IsAggregatedWith() More...
 HdBufferArrayRange (const HdBufferArrayRange &)=delete
HdBufferArrayRangeoperator= (const HdBufferArrayRange &)=delete

Detailed Description

Interface class for representing range (subset) locator of HdBufferArray.

Each memory management strategy defines a specialized range class which is inherited of this interface so that client (drawItem) can be agnostic about the implementation detail of aggregation.

Definition at line 58 of file bufferArrayRangeGL.h.

Constructor & Destructor Documentation

virtual HDST_API HdStBufferArrayRangeGL::~HdStBufferArrayRangeGL ( )

Destructor (do nothing). The specialized range class may want to do something for garbage collection in its destructor. However, be careful not do any substantial work here (obviously including any kind of GL calls), since the destructor gets called frequently on various contexts.

Member Function Documentation

virtual HDST_API void HdStBufferArrayRangeGL::GetBufferSpecs ( HdBufferSpecVector bufferSpecs) const

Sets the bufferSpecs for all resources.

Implements HdBufferArrayRange.

virtual HdStBufferResourceGLSharedPtr HdStBufferArrayRangeGL::GetResource ( ) const
pure virtual

Returns the GPU resource. If the buffer array contains more than one resource, this method raises a coding error.

Implemented in HdStVBOMemoryManager::_StripedBufferArrayRange, HdStVBOSimpleMemoryManager::_SimpleBufferArrayRange, and HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.

virtual HdStBufferResourceGLNamedList const& HdStBufferArrayRangeGL::GetResources ( ) const
pure virtual

The documentation for this class was generated from the following file: