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

#include <bufferArrayRange.h>

+ Inheritance diagram for HdStBufferArrayRange:

Public Member Functions

 HdStBufferArrayRange (HdStResourceRegistry *resourceRegistry)
 
virtual HDST_API ~HdStBufferArrayRange ()
 
virtual HdStBufferResourceSharedPtr GetResource () const =0
 
virtual HdStBufferResourceSharedPtr GetResource (TfToken const &name)=0
 Returns the named GPU resource. More...
 
virtual
HdStBufferResourceNamedList
const & 
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...
 
virtual int GetElementStride () const
 
- 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 RequiresStaging () const =0
 Returns true if this needs a staging buffer for CPU to GPU copies. 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...
 

Protected Member Functions

HdStResourceRegistryGetResourceRegistry ()
 
HdStResourceRegistryGetResourceRegistry () const
 
- 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 59 of file bufferArrayRange.h.

Constructor & Destructor Documentation

HdStBufferArrayRange::HdStBufferArrayRange ( HdStResourceRegistry resourceRegistry)
virtual HDST_API HdStBufferArrayRange::~HdStBufferArrayRange ( )
virtual

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 HdStBufferArrayRange::GetBufferSpecs ( HdBufferSpecVector bufferSpecs) const
overridevirtual

Sets the bufferSpecs for all resources.

Implements HdBufferArrayRange.

virtual int HdStBufferArrayRange::GetElementStride ( ) const
inlinevirtual
virtual HdStBufferResourceSharedPtr HdStBufferArrayRange::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 HdStVBOSimpleMemoryManager::_SimpleBufferArrayRange, HdStVBOMemoryManager::_StripedBufferArrayRange, and HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.

virtual HdStBufferResourceSharedPtr HdStBufferArrayRange::GetResource ( TfToken const &  name)
pure virtual
HdStResourceRegistry* HdStBufferArrayRange::GetResourceRegistry ( )
protected
HdStResourceRegistry* HdStBufferArrayRange::GetResourceRegistry ( ) const
protected
virtual HdStBufferResourceNamedList const& HdStBufferArrayRange::GetResources ( ) const
pure virtual

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