OpenVDB 12.1.0
Loading...
Searching...
No Matches
AttributeHandle< ValueType, CodecType > Class Template Reference

#include <openvdb/points/AttributeArray.h>

Public Types

using Handle = AttributeHandle<ValueType, CodecType>
using Ptr = std::shared_ptr<Handle>
using UniquePtr = std::unique_ptr<Handle>

Public Member Functions

 AttributeHandle (const AttributeArray &array, const bool collapseOnDestruction=true)
 AttributeHandle (const AttributeHandle &)=default
AttributeHandleoperator= (const AttributeHandle &)=default
virtual ~AttributeHandle ()
Index stride () const
Index size () const
bool isUniform () const
bool hasConstantStride () const
ValueType get (Index n, Index m=0) const
const AttributeArrayarray () const

Static Public Member Functions

static Ptr create (const AttributeArray &array, const bool collapseOnDestruction=true)

Protected Types

using GetterPtr = ValueType (*)(const AttributeArray* array, const Index n)
using SetterPtr = void (*)(AttributeArray* array, const Index n, const ValueType& value)
using ValuePtr = void (*)(AttributeArray* array, const ValueType& value)

Protected Member Functions

Index index (Index n, Index m) const

Protected Attributes

const AttributeArraymArray
GetterPtr mGetter
SetterPtr mSetter
ValuePtr mCollapser
ValuePtr mFiller

Friends

class ::TestAttributeArray

Detailed Description

template<typename ValueType, typename CodecType = UnknownCodec>
class openvdb::v12_1::points::AttributeHandle< ValueType, CodecType >

AttributeHandles provide access to specific TypedAttributeArray methods without needing to know the compression codec, however these methods also incur the cost of a function pointer

Member Typedef Documentation

◆ GetterPtr

template<typename ValueType, typename CodecType = UnknownCodec>
using GetterPtr = ValueType (*)(const AttributeArray* array, const Index n)
protected

◆ Handle

template<typename ValueType, typename CodecType = UnknownCodec>
using Handle = AttributeHandle<ValueType, CodecType>

◆ Ptr

template<typename ValueType, typename CodecType = UnknownCodec>
using Ptr = std::shared_ptr<Handle>

◆ SetterPtr

template<typename ValueType, typename CodecType = UnknownCodec>
using SetterPtr = void (*)(AttributeArray* array, const Index n, const ValueType& value)
protected

◆ UniquePtr

template<typename ValueType, typename CodecType = UnknownCodec>
using UniquePtr = std::unique_ptr<Handle>

◆ ValuePtr

template<typename ValueType, typename CodecType = UnknownCodec>
using ValuePtr = void (*)(AttributeArray* array, const ValueType& value)
protected

Constructor & Destructor Documentation

◆ AttributeHandle() [1/2]

template<typename ValueType, typename CodecType>
AttributeHandle ( const AttributeArray & array,
const bool collapseOnDestruction = true )

◆ AttributeHandle() [2/2]

template<typename ValueType, typename CodecType = UnknownCodec>
AttributeHandle ( const AttributeHandle< ValueType, CodecType > & )
default

◆ ~AttributeHandle()

template<typename ValueType, typename CodecType>
~AttributeHandle ( )
virtual

Member Function Documentation

◆ array()

template<typename ValueType, typename CodecType>
const AttributeArray & array ( ) const

◆ create()

template<typename ValueType, typename CodecType>
AttributeHandle< ValueType, CodecType >::Ptr create ( const AttributeArray & array,
const bool collapseOnDestruction = true )
static

◆ get()

template<typename ValueType, typename CodecType>
ValueType get ( Index n,
Index m = 0 ) const

◆ hasConstantStride()

template<typename ValueType, typename CodecType>
bool hasConstantStride ( ) const

◆ index()

template<typename ValueType, typename CodecType>
Index index ( Index n,
Index m ) const
protected

◆ isUniform()

template<typename ValueType, typename CodecType>
bool isUniform ( ) const

◆ operator=()

template<typename ValueType, typename CodecType = UnknownCodec>
AttributeHandle & operator= ( const AttributeHandle< ValueType, CodecType > & )
default

◆ size()

template<typename ValueType, typename CodecType = UnknownCodec>
Index size ( ) const
inline

◆ stride()

template<typename ValueType, typename CodecType = UnknownCodec>
Index stride ( ) const
inline

◆ ::TestAttributeArray

template<typename ValueType, typename CodecType = UnknownCodec>
friend class ::TestAttributeArray
friend

Member Data Documentation

◆ mArray

template<typename ValueType, typename CodecType = UnknownCodec>
const AttributeArray* mArray
protected

◆ mCollapser

template<typename ValueType, typename CodecType = UnknownCodec>
ValuePtr mCollapser
protected

◆ mFiller

template<typename ValueType, typename CodecType = UnknownCodec>
ValuePtr mFiller
protected

◆ mGetter

template<typename ValueType, typename CodecType = UnknownCodec>
GetterPtr mGetter
protected

◆ mSetter

template<typename ValueType, typename CodecType = UnknownCodec>
SetterPtr mSetter
protected