OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
LeafData< FpN, CoordT, MaskT, LOG2DIM > Struct Template Reference

#include <nanovdb/NanoVDB.h>

Inheritance diagram for LeafData< FpN, CoordT, MaskT, LOG2DIM >:
LeafFnBase< CoordT, MaskT, LOG2DIM >

Public Types

using BaseT = LeafFnBase<CoordT, MaskT, LOG2DIM>
 
using BuildType = FpN
 
using ValueType
 
using BuildType
 
using FloatType
 
using ArrayType
 

Public Member Functions

__hostdev__ uint8_t bitWidth () const
 
__hostdev__ size_t memUsage () const
 
__hostdev__ float getValue (uint32_t i) const
 
 LeafData ()=delete
 This class cannot be constructed or deleted.
 
 LeafData (const LeafData &)=delete
 
LeafDataoperator= (const LeafData &)=delete
 
 ~LeafData ()=delete
 
__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)
 
__hostdev__ void setOrigin (const T &ijk)
 
__hostdev__ void fill (const ValueType &v)
 
 LeafData ()=delete
 This class cannot be constructed or deleted.
 
 LeafData (const LeafData &)=delete
 
LeafDataoperator= (const LeafData &)=delete
 
 ~LeafData ()=delete
 
__hostdev__ void init (float min, float max, uint8_t bitWidth)
 
__hostdev__ void setMin (float min)
 
__hostdev__ void setMax (float max)
 
__hostdev__ void setAvg (float avg)
 
__hostdev__ void setDev (float dev)
 

Static Public Member Functions

static __hostdev__ constexpr uint32_t padding ()
 
static __hostdev__ size_t memUsage (uint32_t bitWidth)
 
static __hostdev__ constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment.
 
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]
 
float mQuantum
 
uint16_t mMin
 
uint16_t mMax
 
uint16_t mAvg
 
uint16_t mDev
 

Static Public Attributes

static constexpr bool FIXED_SIZE = false
 
static constexpr bool FIXED_SIZE
 

Member Typedef Documentation

◆ ArrayType

using ArrayType

◆ BaseT

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
using BaseT = LeafFnBase<CoordT, MaskT, LOG2DIM>

◆ BuildType [1/2]

using BuildType

◆ BuildType [2/2]

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

◆ FloatType

using FloatType

◆ ValueType

using ValueType

Constructor & Destructor Documentation

◆ LeafData() [1/4]

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

This class cannot be constructed or deleted.

◆ LeafData() [2/4]

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

◆ ~LeafData() [1/2]

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

◆ LeafData() [3/4]

LeafData ( )
delete

This class cannot be constructed or deleted.

◆ LeafData() [4/4]

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

◆ ~LeafData() [2/2]

~LeafData ( )
delete

Member Function Documentation

◆ bitWidth()

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ uint8_t bitWidth ( ) const
inline

◆ fill()

__hostdev__ void fill ( const ValueType & v)
inline

◆ getAvg()

__hostdev__ FloatType getAvg ( ) const
inline

◆ getDev()

__hostdev__ FloatType getDev ( ) const
inline

◆ getMax()

__hostdev__ ValueType getMax ( ) const
inline

◆ getMin()

__hostdev__ ValueType getMin ( ) const
inline

◆ getValue() [1/2]

__hostdev__ ValueType getValue ( uint32_t i) const
inline

◆ getValue() [2/2]

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

◆ hasStats()

static __hostdev__ bool hasStats ( )
inlinestatic

◆ init()

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ void init ( float min,
float max,
uint8_t bitWidth )
inlineinherited

◆ memUsage() [1/3]

static __hostdev__ uint64_t memUsage ( )
inlinestatic

◆ memUsage() [2/3]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ size_t memUsage ( ) const
inline

◆ memUsage() [3/3]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
static __hostdev__ size_t memUsage ( uint32_t bitWidth)
inlinestatic

◆ operator=() [1/2]

LeafData & operator= ( const LeafData< FpN, CoordT, MaskT, LOG2DIM > & )
delete

◆ operator=() [2/2]

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

◆ padding() [1/2]

static __hostdev__ 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.

◆ padding() [2/2]

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

◆ setAvg() [1/2]

__hostdev__ void setAvg ( const FloatType & v)
inline

◆ setAvg() [2/2]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ void setAvg ( float avg)
inlineinherited
Note
min <= avg <= max or 0 <= (avg-min)/(min-max) <= 1

◆ setDev() [1/2]

__hostdev__ void setDev ( const FloatType & v)
inline

◆ setDev() [2/2]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ void setDev ( float dev)
inlineinherited
Note
0 <= StdDev <= max-min or 0 <= StdDev/(max-min) <= 1

◆ setMax() [1/2]

__hostdev__ void setMax ( const ValueType & v)
inline

◆ setMax() [2/2]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ void setMax ( float max)
inlineinherited
Note
min <= X <= max or 0 <= (X-min)/(min-max) <= 1

◆ setMin() [1/2]

__hostdev__ void setMin ( const ValueType & v)
inline

◆ setMin() [2/2]

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
__hostdev__ void setMin ( float min)
inlineinherited
Note
min <= X <= max or 0 <= (X-min)/(min-max) <= 1

◆ setOn()

__hostdev__ void setOn ( uint32_t offset)
inline

◆ setOrigin()

__hostdev__ void setOrigin ( const T & ijk)
inline

◆ setValue()

__hostdev__ void setValue ( uint32_t offset,
const ValueType & value )
inline

◆ setValueOnly()

__hostdev__ void setValueOnly ( uint32_t offset,
const ValueType & value )
inline

Member Data Documentation

◆ FIXED_SIZE [1/2]

bool FIXED_SIZE
staticconstexpr

◆ FIXED_SIZE [2/2]

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

◆ mAverage

FloatType mAverage

◆ mAvg

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint16_t mAvg
inherited

◆ mBBoxDif

uint8_t mBBoxDif[3]

◆ mBBoxMin

CoordT mBBoxMin

◆ mDev

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint16_t mDev
inherited

◆ mFlags

uint8_t mFlags

◆ mMax

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint16_t mMax
inherited

◆ mMaximum

ValueType mMaximum

◆ mMin

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
uint16_t mMin
inherited

◆ mMinimum

ValueType mMinimum

◆ mQuantum

template<typename CoordT, template< uint32_t > class MaskT, uint32_t LOG2DIM>
float mQuantum
inherited

◆ mStdDevi

FloatType mStdDevi

◆ mValueMask

MaskT<LOG2DIM> mValueMask

◆ mValues

ValueType mValues[1u<< 3 *LOG2DIM]