OpenVDB 11.0.0
Loading...
Searching...
No Matches
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>

Inheritance diagram for LeafData< ValueT, CoordT, MaskT, LOG2DIM >:
LeafNode< BuildT, Coord, Mask, 3 > LeafNode< NanoBuildT, openvdb::Coord, openvdb::util::NodeMask >

Public Types

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

Public Member Functions

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

Static Public Member Functions

static constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment.
static uint64_t memUsage ()
static 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

◆ ArrayType

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
using ArrayType = ValueT

◆ BuildType

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
using BuildType = ValueT

◆ FloatType

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
using FloatType = typename FloatTraits<ValueT>::FloatType

◆ ValueType

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
using ValueType = ValueT

Constructor & Destructor Documentation

◆ LeafData() [1/2]

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
LeafData ( )
delete

This class cannot be constructed or deleted.

◆ LeafData() [2/2]

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
LeafData ( const LeafData< ValueT, CoordT, MaskT, LOG2DIM > & )
delete

◆ ~LeafData()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
~LeafData ( )
delete

Member Function Documentation

◆ fill()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void fill ( const ValueType & v)
inline

◆ getAvg()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
FloatType getAvg ( ) const
inline

◆ getDev()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
FloatType getDev ( ) const
inline

◆ getMax()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType getMax ( ) const
inline

◆ getMin()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType getMin ( ) const
inline

◆ getValue()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType getValue ( uint32_t i) const
inline

◆ hasStats()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
bool hasStats ( )
inlinestatic

◆ memUsage()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint64_t memUsage ( )
inlinestatic

◆ operator=()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
LeafData & operator= ( const LeafData< ValueT, CoordT, MaskT, LOG2DIM > & )
delete

◆ padding()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
constexpr uint32_t padding ( )
inlinestaticconstexpr

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.

◆ setAvg()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setAvg ( const FloatType & v)
inline

◆ setDev()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setDev ( const FloatType & v)
inline

◆ setMax()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setMax ( const ValueType & v)
inline

◆ setMin()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setMin ( const ValueType & v)
inline

◆ setOn()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setOn ( uint32_t offset)
inline

◆ setOrigin()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
template<typename T>
void setOrigin ( const T & ijk)
inline

◆ setValue()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setValue ( uint32_t offset,
const ValueType & value )
inline

◆ setValueOnly()

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
void setValueOnly ( uint32_t offset,
const ValueType & value )
inline

Member Data Documentation

◆ FIXED_SIZE

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
bool FIXED_SIZE = true
staticconstexpr

◆ mAverage

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
FloatType mAverage

◆ mBBoxDif

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint8_t mBBoxDif[3]

◆ mBBoxMin

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
CoordT mBBoxMin

◆ mFlags

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint8_t mFlags

◆ mMaximum

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType mMaximum

◆ mMinimum

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType mMinimum

◆ mStdDevi

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
FloatType mStdDevi

◆ mValueMask

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
MaskT<LOG2DIM> mValueMask

◆ mValues

template<typename ValueT, typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
ValueType mValues[1u<< 3 *LOG2DIM]