HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType > Class Template Reference

#include <AttributeArray.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >:

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::OPENVDB_VERSION_NAME::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

Definition at line 834 of file AttributeArray.h.

Member Typedef Documentation

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

Definition at line 842 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
using openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::Handle = AttributeHandle<ValueType, CodecType>

Definition at line 837 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
using openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::Ptr = std::shared_ptr<Handle>

Definition at line 838 of file AttributeArray.h.

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

Definition at line 843 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
using openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::UniquePtr = std::unique_ptr<Handle>

Definition at line 839 of file AttributeArray.h.

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

Definition at line 844 of file AttributeArray.h.

Constructor & Destructor Documentation

template<typename ValueType , typename CodecType >
openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::AttributeHandle ( const AttributeArray array,
const bool  collapseOnDestruction = true 
)

Definition at line 2117 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::AttributeHandle ( const AttributeHandle< ValueType, CodecType > &  )
default
template<typename ValueType , typename CodecType >
openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::~AttributeHandle ( )
virtual

Definition at line 2145 of file AttributeArray.h.

Member Function Documentation

template<typename ValueType , typename CodecType >
const AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::array ( ) const

Definition at line 2172 of file AttributeArray.h.

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

Definition at line 2110 of file AttributeArray.h.

template<typename ValueType , typename CodecType >
ValueType openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::get ( Index  n,
Index  m = 0 
) const

Definition at line 2187 of file AttributeArray.h.

template<typename ValueType , typename CodecType >
bool openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::hasConstantStride ( ) const

Definition at line 2219 of file AttributeArray.h.

template<typename ValueType , typename CodecType >
Index openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::index ( Index  n,
Index  m 
) const
protected

Definition at line 2179 of file AttributeArray.h.

template<typename ValueType , typename CodecType >
bool openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::isUniform ( ) const

Definition at line 2213 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
AttributeHandle& openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::operator= ( const AttributeHandle< ValueType, CodecType > &  )
default
template<typename ValueType, typename CodecType = UnknownCodec>
Index openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::size ( void  ) const
inline

Definition at line 857 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
Index openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::stride ( ) const
inline

Definition at line 856 of file AttributeArray.h.

Friends And Related Function Documentation

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

Definition at line 877 of file AttributeArray.h.

Member Data Documentation

template<typename ValueType, typename CodecType = UnknownCodec>
const AttributeArray* openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::mArray
protected

Definition at line 869 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
ValuePtr openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::mCollapser
protected

Definition at line 873 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
ValuePtr openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::mFiller
protected

Definition at line 874 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
GetterPtr openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::mGetter
protected

Definition at line 871 of file AttributeArray.h.

template<typename ValueType, typename CodecType = UnknownCodec>
SetterPtr openvdb::OPENVDB_VERSION_NAME::points::AttributeHandle< ValueType, CodecType >::mSetter
protected

Definition at line 872 of file AttributeArray.h.


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