HDK
|
#include <extCompGpuPrimvarBufferSource.h>
Public Member Functions | |
HdStExtCompGpuPrimvarBufferSource (TfToken const &name, HdTupleType const &valueType, int numElements, SdfPath const &compId) | |
virtual HDST_API | ~HdStExtCompGpuPrimvarBufferSource ()=default |
virtual HDST_API size_t | ComputeHash () const override |
Computes and returns a hash value for the underlying data. More... | |
virtual HDST_API bool | Resolve () override |
virtual HDST_API TfToken const & | GetName () const override |
Return the name of this buffer source. More... | |
virtual HDST_API size_t | GetNumElements () const override |
virtual HDST_API HdTupleType | GetTupleType () const override |
Returns the data type and count (array size) for this buffer source. More... | |
virtual HDST_API void | GetBufferSpecs (HdBufferSpecVector *specs) const override |
Public Member Functions inherited from HdNullBufferSource | |
virtual HD_API void const * | GetData () const override |
Following interfaces will be called after Resolve. More... | |
Public Member Functions inherited from HdBufferSource | |
HdBufferSource () | |
virtual HD_API | ~HdBufferSource () |
bool | IsResolved () const |
Returns true it this computation has already been resolved. More... | |
bool | HasResolveError () const |
Returns true if an error occurred during resolve. More... | |
HD_API bool | IsValid () const |
virtual HD_API bool | HasPreChainedBuffer () const |
Returns true if this buffer has a pre-chained buffer. More... | |
virtual HD_API HdBufferSourceSharedPtr | GetPreChainedBuffer () const |
Returns the pre-chained buffer. More... | |
virtual HD_API bool | HasChainedBuffer () const |
Returns true if this buffer has any chained buffer(s) More... | |
virtual HD_API HdBufferSourceSharedPtrVector | GetChainedBuffers () const |
Returns the vector of chained buffers. More... | |
Protected Member Functions | |
virtual bool | _CheckValid () const override |
Protected Member Functions inherited from HdBufferSource | |
void | _SetResolved () |
void | _SetResolveError () |
bool | _TryLock () |
A buffer source mapped to an output of an ExtComp CPU computation.
Definition at line 41 of file extCompGpuPrimvarBufferSource.h.
HdStExtCompGpuPrimvarBufferSource::HdStExtCompGpuPrimvarBufferSource | ( | TfToken const & | name, |
HdTupleType const & | valueType, | ||
int | numElements, | ||
SdfPath const & | compId | ||
) |
|
virtualdefault |
|
overrideprotectedvirtual |
Checks the validity of the source buffer. This function is called by IsValid() to do the real checking.
Should only be implemented in classes at leafs of the class hierarchy (Please place common validation code in a new non-virtual method)
This code should return false:
The resolve step requires a 'source' buffer and that buffer is invalid.
If returning false, the buffer will not be registered with the resource registry. AddBufferSpec and Resolve will not be called
Implements HdBufferSource.
|
overridevirtual |
Computes and returns a hash value for the underlying data.
Reimplemented from HdNullBufferSource.
|
overridevirtual |
Add the buffer spec for this buffer source into given bufferspec vector. note: buffer specs has to be determined before the source resolution.
Reimplemented from HdNullBufferSource.
|
overridevirtual |
Return the name of this buffer source.
Reimplemented from HdNullBufferSource.
|
overridevirtual |
Returns the number of elements (e.g. VtVec3dArray().GetLength()) from the source array.
Reimplemented from HdNullBufferSource.
|
overridevirtual |
Returns the data type and count (array size) for this buffer source.
Reimplemented from HdNullBufferSource.
|
overridevirtual |
Prepare the access of GetData(). This process may include some computations (e.g. cpu smooth normals). Note: Resolve may be called in parallel from multiple threads across buffer sources, so be careful if it uses static/shared states among objects. Returns true if it resolved. If the buffer source has to wait some results of other buffer sources, or the buffer source is being resolved by other threads, it returns false.
Implements HdBufferSource.