OpenVDB 11.0.0
Loading...
Searching...
No Matches
AttributeWriteHandle< ValueType, CodecType > Class Template Reference

Write-able version of AttributeHandle. More...

#include <openvdb/points/AttributeArray.h>

Inheritance diagram for AttributeWriteHandle< ValueType, CodecType >:
AttributeHandle< ValueType, UnknownCodec >

Public Types

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

Public Member Functions

 AttributeWriteHandle (AttributeArray &array, const bool expand=true)
 
virtual ~AttributeWriteHandle ()=default
 
void expand (bool fill=true)
 If this array is uniform, replace it with an array of length size().
 
void collapse ()
 Replace the existing array with a uniform value (zero if none provided).
 
void collapse (const ValueType &uniformValue)
 
bool compact ()
 Compact the existing array to become uniform if all values are identical.
 
void fill (const ValueType &value)
 Fill the existing array with the given value.
 
void set (Index n, const ValueType &value)
 
void set (Index n, Index m, const ValueType &value)
 
AttributeArrayarray ()
 
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 (AttributeArray &array, const bool expand=true)
 
static Ptr create (const AttributeArray &array, const bool collapseOnDestruction=true)
 

Protected Types

using GetterPtr
 
using SetterPtr
 
using ValuePtr
 

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::v11_0::points::AttributeWriteHandle< ValueType, CodecType >

Write-able version of AttributeHandle.

Member Typedef Documentation

◆ GetterPtr

using GetterPtr
protectedinherited

◆ Handle

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

◆ Ptr

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

◆ ScopedPtr

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

◆ SetterPtr

using SetterPtr
protectedinherited

◆ UniquePtr

using UniquePtr
inherited

◆ ValuePtr

using ValuePtr
protectedinherited

Constructor & Destructor Documentation

◆ AttributeWriteHandle()

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

◆ ~AttributeWriteHandle()

template<typename ValueType , typename CodecType = UnknownCodec>
virtual ~AttributeWriteHandle ( )
virtualdefault

Member Function Documentation

◆ array() [1/2]

const AttributeArray & array ( ) const
inherited

◆ array() [2/2]

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

◆ collapse() [1/2]

template<typename ValueType , typename CodecType >
void collapse ( )

Replace the existing array with a uniform value (zero if none provided).

◆ collapse() [2/2]

template<typename ValueType , typename CodecType >
void collapse ( const ValueType & uniformValue)

◆ compact()

template<typename ValueType , typename CodecType >
bool compact ( )

Compact the existing array to become uniform if all values are identical.

◆ create() [1/2]

AttributeHandle< ValueType, UnknownCodec >::Ptr create ( const AttributeArray & array,
const bool collapseOnDestruction = true )
staticinherited

◆ create() [2/2]

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

◆ expand()

template<typename ValueType , typename CodecType >
void expand ( bool fill = true)

If this array is uniform, replace it with an array of length size().

Parameters
fillif true, assign the uniform value to each element of the array.

◆ fill()

template<typename ValueType , typename CodecType >
void fill ( const ValueType & value)

Fill the existing array with the given value.

Note
Identical to collapse() except a non-uniform array will not become uniform.

◆ get()

ValueType get ( Index n,
Index m = 0 ) const
inherited

◆ hasConstantStride()

bool hasConstantStride ( ) const
inherited

◆ index()

Index index ( Index n,
Index m ) const
protectedinherited

◆ isUniform()

bool isUniform ( ) const
inherited

◆ set() [1/2]

template<typename ValueType , typename CodecType >
void set ( Index n,
const ValueType & value )

◆ set() [2/2]

template<typename ValueType , typename CodecType >
void set ( Index n,
Index m,
const ValueType & value )

◆ size()

Index size ( ) const
inlineinherited

◆ stride()

Index stride ( ) const
inlineinherited

Friends And Related Symbol Documentation

◆ ::TestAttributeArray

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

Member Data Documentation

◆ mArray

const AttributeArray* mArray
protectedinherited

◆ mCollapser

ValuePtr mCollapser
protectedinherited

◆ mFiller

ValuePtr mFiller
protectedinherited

◆ mGetter

GetterPtr mGetter
protectedinherited

◆ mSetter

SetterPtr mSetter
protectedinherited