OpenVDB 13.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 >:

## 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.
| LeafData (const LeafData &)=delete
LeafData & | operator= (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.
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

## ◆ 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>

__hostdev__ void fill | ( | const ValueType & | v | ) |
| inline

## ◆ getAvg()

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

__hostdev__ FloatType getAvg | ( |  | ) | const
| inline

## ◆ getDev()

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

__hostdev__ FloatType getDev | ( |  | ) | const
| inline

## ◆ getMax()

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

__hostdev__ ValueType getMax | ( |  | ) | const
| inline

## ◆ getMin()

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

__hostdev__ ValueType getMin | ( |  | ) | const
| inline

## ◆ getValue()

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

__hostdev__ ValueType getValue | ( | uint32_t | i | ) | const
| inline

## ◆ hasStats()

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

__hostdev__ bool hasStats | ( |  | ) |
| inline static

## ◆ memUsage()

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

__hostdev__ uint64_t memUsage | ( |  | ) |
| inline static

## ◆ 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>

__hostdev__ constexpr uint32_t padding | ( |  | ) |
| inline static constexpr

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>

__hostdev__ void setAvg | ( | const FloatType & | v | ) |
| inline

## ◆ setDev()

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

__hostdev__ void setDev | ( | const FloatType & | v | ) |
| inline

## ◆ setMax()

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

__hostdev__ void setMax | ( | const ValueType & | v | ) |
| inline

## ◆ setMin()

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

__hostdev__ void setMin | ( | const ValueType & | v | ) |
| inline

## ◆ setOn()

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

__hostdev__ void setOn | ( | uint32_t | offset | ) |
| inline

## ◆ setOrigin()

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

__hostdev__ void setOrigin | ( | const T & | ijk | ) |
| inline

## ◆ setValue()

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

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

## ◆ setValueOnly()

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

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

## ◆ 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]