OpenVDB  12.0.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
LeafData< ValueT, CoordT, MaskT, LOG2DIM > Struct Template Reference

Stuct with all the member data of the LeafNode (useful during serialization of an openvdb LeafNode) More...

#include <nanovdb/NanoVDB.h>

Public Types

using ValueType = ValueT
 
using BuildType = ValueT
 
using FloatType = typename FloatTraits< ValueT >::FloatType
 
using ArrayType = ValueT
 

Public Member Functions

__hostdev__ ValueType getValue (uint32_t i) const
 
__hostdev__ void setValueOnly (uint32_t offset, const ValueType &value)
 
__hostdev__ void setValue (uint32_t offset, const ValueType &value)
 
__hostdev__ void setOn (uint32_t offset)
 
__hostdev__ ValueType getMin () const
 
__hostdev__ ValueType getMax () const
 
__hostdev__ FloatType getAvg () const
 
__hostdev__ FloatType getDev () const
 
__hostdev__ void setMin (const ValueType &v)
 
__hostdev__ void setMax (const ValueType &v)
 
__hostdev__ void setAvg (const FloatType &v)
 
__hostdev__ void setDev (const FloatType &v)
 
template<typename T >
__hostdev__ void setOrigin (const T &ijk)
 
__hostdev__ void fill (const ValueType &v)
 
 LeafData ()=delete
 This class cannot be constructed or deleted. More...
 
 LeafData (const LeafData &)=delete
 
LeafDataoperator= (const LeafData &)=delete
 
 ~LeafData ()=delete
 

Static Public Member Functions

static __hostdev__ constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment. More...
 
static __hostdev__ uint64_t memUsage ()
 
static __hostdev__ bool hasStats ()
 

Public Attributes

CoordT mBBoxMin
 
uint8_t mBBoxDif [3]
 
uint8_t mFlags
 
MaskT< LOG2DIM > mValueMask
 
ValueType mMinimum
 
ValueType mMaximum
 
FloatType mAverage
 
FloatType mStdDevi
 
ValueType mValues [1u<< 3 *LOG2DIM]
 

Static Public Attributes

static constexpr bool FIXED_SIZE = true
 

Detailed Description

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
struct nanovdb::LeafData< ValueT, CoordT, MaskT, LOG2DIM >

Stuct with all the member data of the LeafNode (useful during serialization of an openvdb LeafNode)

Note
No client code should (or can) interface with this struct so it can safely be ignored!

Member Typedef Documentation

using ArrayType = ValueT
using BuildType = ValueT
using FloatType = typename FloatTraits<ValueT>::FloatType
using ValueType = ValueT

Constructor & Destructor Documentation

LeafData ( )
delete

This class cannot be constructed or deleted.

LeafData ( const LeafData< ValueT, CoordT, MaskT, LOG2DIM > &  )
delete
~LeafData ( )
delete

Member Function Documentation

__hostdev__ void fill ( const ValueType v)
inline
__hostdev__ FloatType getAvg ( ) const
inline
__hostdev__ FloatType getDev ( ) const
inline
__hostdev__ ValueType getMax ( ) const
inline
__hostdev__ ValueType getMin ( ) const
inline
__hostdev__ ValueType getValue ( uint32_t  i) const
inline
static __hostdev__ bool hasStats ( )
inlinestatic
static __hostdev__ uint64_t memUsage ( )
inlinestatic
LeafData& operator= ( const LeafData< ValueT, CoordT, MaskT, LOG2DIM > &  )
delete
static __hostdev__ constexpr uint32_t padding ( )
inlinestatic

Return padding of this class in bytes, due to aliasing and 32B alignment.

Note
The extra bytes are not necessarily at the end, but can come from aliasing of individual data members.
__hostdev__ void setAvg ( const FloatType v)
inline
__hostdev__ void setDev ( const FloatType v)
inline
__hostdev__ void setMax ( const ValueType v)
inline
__hostdev__ void setMin ( const ValueType v)
inline
__hostdev__ void setOn ( uint32_t  offset)
inline
__hostdev__ void setOrigin ( const T &  ijk)
inline
__hostdev__ void setValue ( uint32_t  offset,
const ValueType value 
)
inline
__hostdev__ void setValueOnly ( uint32_t  offset,
const ValueType value 
)
inline

Member Data Documentation

constexpr bool FIXED_SIZE = true
static
FloatType mAverage
uint8_t mBBoxDif[3]
CoordT mBBoxMin
uint8_t mFlags
ValueType mMaximum
ValueType mMinimum
FloatType mStdDevi
MaskT<LOG2DIM> mValueMask
ValueType mValues[1u<< 3 *LOG2DIM]