OpenVDB 13.0.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
AttributeHandle & | operator= (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 AttributeArray & | array () 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 AttributeArray * | mArray
GetterPtr | mGetter
SetterPtr | mSetter
ValuePtr | mCollapser
ValuePtr | mFiller

## Friends
class | ::TestAttributeArray

## Detailed Description

template<typename ValueType, typename CodecType = UnknownCodec>
class openvdb::v13_0::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

## Friends And Related Symbol Documentation

## ◆ ::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