Loading...
Searching...
No Matches
LeafNode< BuildT, CoordT, MaskT, Log2Dim > Class Template Reference

Leaf nodes of the VDB tree. (defaults to 8x8x8 = 512 voxels) More...

`#include <nanovdb/NanoVDB.h>`

Inheritance diagram for LeafNode< BuildT, CoordT, MaskT, Log2Dim >:

## Classes

struct | ChildNodeType
class | ValueIterator
| Visits all values in a leaf node, i.e. both active and inactive values. More...
class | ValueOffIterator
| Visits all inactive values in a leaf node. More...
class | ValueOnIterator
| Visits all active values in a leaf node. More...

## Public Types

using | LeafNodeType = LeafNode< BuildT, CoordT, MaskT, Log2Dim >
using | DataType = LeafData< BuildT, CoordT, MaskT, Log2Dim >
using | ValueType = typename DataType::ValueType
using | FloatType = typename DataType::FloatType
using | BuildType = typename DataType::BuildType
using | CoordType = CoordT
template<uint32_t LOG2>
using | MaskType = MaskT< LOG2 >
template<bool ON>
using | MaskIterT = typename Mask< Log2Dim >::template Iterator< ON >
using | ArrayType = ValueT

## Public Member Functions

ValueOnIterator | beginValueOn () const
ValueOnIterator | cbeginValueOn () const
ValueOffIterator | beginValueOff () const
ValueOffIterator | cbeginValueOff () const
ValueIterator | beginValue () const
ValueIterator | cbeginValueAll () const
DataType * | data ()
const DataType * | data () const
const MaskType< LOG2DIM > & | valueMask () const
| Return a const reference to the bit mask of active voxels in this leaf node.
const MaskType< LOG2DIM > & | getValueMask () const
ValueType | minimum () const
| Return a const reference to the minimum active value encoded in this leaf node.
ValueType | maximum () const
| Return a const reference to the maximum active value encoded in this leaf node.
FloatType | average () const
| Return a const reference to the average of all the active values encoded in this leaf node.
FloatType | variance () const
| Return the variance of all the active values encoded in this leaf node.
FloatType | stdDeviation () const
| Return a const reference to the standard deviation of all the active values encoded in this leaf node.
uint8_t | flags () const
CoordT | origin () const
| Return the origin in index space of this leaf node.
void | localToGlobalCoord (Coord &ijk) const
| Converts (in place) a local index coordinate to a global index coordinate.
CoordT | offsetToGlobalCoord (uint32_t n) const
BBox< CoordT > | bbox () const
| Return the bounding box in index space of active values in this leaf node.
uint64_t | memUsage () const
| return memory usage in bytes for the leaf node
| LeafNode ()=delete
| This class cannot be constructed or deleted.
| LeafNode (const LeafNode &)=delete
LeafNode & | operator= (const LeafNode &)=delete
| ~LeafNode ()=delete
ValueType | getValue (uint32_t offset) const
| Return the voxel value at the given offset.
ValueType | getValue (const CoordT &ijk) const
| Return the voxel value at the given coordinate.
ValueType | getFirstValue () const
| Return the first value in this leaf node.
ValueType | getLastValue () const
| Return the last value in this leaf node.
void | setValue (const CoordT &ijk, const ValueType &v)
| Sets the value at the specified location and activate its state.
void | setValueOnly (uint32_t offset, const ValueType &v)
| Sets the value at the specified location but leaves its state unchanged.
void | setValueOnly (const CoordT &ijk, const ValueType &v)
bool | isActive (const CoordT &ijk) const
| Return `true` if the voxel value at the given coordinate is active.
bool | isActive (uint32_t n) const
bool | isActive () const
| Return `true` if any of the voxel value are active in this leaf node.
bool | hasBBox () const
bool | probeValue (const CoordT &ijk, ValueType &v) const
| Return `true` if the voxel value at the given coordinate is active and updates `v` with the value.
const LeafNode * | probeLeaf (const CoordT &) const
bool | updateBBox ()
| Updates the local bounding box of active voxels in this node. Return true if bbox was updated.
template<typename OpT , typename... ArgsT>
auto | get (const CoordType &ijk, ArgsT &&... args) const
template<typename OpT , typename... ArgsT>
auto | get (const uint32_t n, ArgsT &&... args) const
template<typename OpT , typename... ArgsT>
auto | set (const CoordType &ijk, ArgsT &&... args)
template<typename OpT , typename... ArgsT>
auto | set (const uint32_t n, ArgsT &&... args)
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)

## Static Public Member Functions

static CoordT | OffsetToLocalCoord (uint32_t n)
| Compute the local coordinates from a linear offset.
static uint32_t | dim ()
| Return the dimension, in index space, of this leaf node (typically 8 as for openvdb leaf nodes!)
static uint32_t | voxelCount ()
| Return the total number of voxels (e.g. values) encoded in this leaf node.
static uint32_t | padding ()
static uint32_t | CoordToOffset (const CoordT &ijk)
| Return the linear offset corresponding to the given coordinate.
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 = DataType::FIXED_SIZE
static constexpr uint32_t | LOG2DIM = Log2Dim
static constexpr uint32_t | TOTAL = LOG2DIM
static constexpr uint32_t | DIM = 1u << TOTAL
static constexpr uint32_t | SIZE = 1u << 3 * LOG2DIM
static constexpr uint32_t | MASK = (1u << LOG2DIM) - 1u
static constexpr uint32_t | LEVEL = 0
static constexpr uint64_t | NUM_VALUES = uint64_t(1) << (3 * TOTAL)

## Friends

template<typename , int , int , int >
class | ReadAccessor
template<typename >
class | RootNode
template<typename , uint32_t >
class | InternalNode

## Detailed Description

template<typename BuildT, typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
class nanovdb::LeafNode< BuildT, CoordT, MaskT, Log2Dim >

Leaf nodes of the VDB tree. (defaults to 8x8x8 = 512 voxels)

## Member Typedef Documentation

## ArrayType

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

using ArrayType = ValueT

inherited

## BuildType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using BuildType = typename DataType::BuildType

## CoordType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using CoordType = CoordT

## DataType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using DataType = LeafData<BuildT, CoordT, MaskT, Log2Dim>

## FloatType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using FloatType = typename DataType::FloatType

## LeafNodeType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using LeafNodeType = LeafNode<BuildT, CoordT, MaskT, Log2Dim>

## MaskIterT

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<bool ON>

using MaskIterT = typename Mask<Log2Dim>::template Iterator<ON>

## MaskType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<uint32_t LOG2>

using MaskType = MaskT<LOG2>

## ValueType

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

using ValueType = typename DataType::ValueType

## Constructor & Destructor Documentation

## LeafNode() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

LeafNode | ( |  | ) |

delete

This class cannot be constructed or deleted.

## LeafNode() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

LeafNode | ( | const LeafNode< BuildT, CoordT, MaskT, Log2Dim > & |  | ) |

delete

## ~LeafNode()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

~LeafNode | ( |  | ) |

delete

## Member Function Documentation

## average()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

FloatType average | ( |  | ) | const

inline

Return a const reference to the average of all the active values encoded in this leaf node.

## bbox()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

BBox< CoordT > bbox | ( |  | ) | const

inline

Return the bounding box in index space of active values in this leaf node.

## beginValue()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueIterator beginValue | ( |  | ) | const

inline

## beginValueOff()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueOffIterator beginValueOff | ( |  | ) | const

inline

## beginValueOn()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueOnIterator beginValueOn | ( |  | ) | const

inline

## cbeginValueAll()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueIterator cbeginValueAll | ( |  | ) | const

inline

## cbeginValueOff()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueOffIterator cbeginValueOff | ( |  | ) | const

inline

## cbeginValueOn()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueOnIterator cbeginValueOn | ( |  | ) | const

inline

## CoordToOffset()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

static uint32_t CoordToOffset | ( | const CoordT & | ijk | ) |

inlinestatic

Return the linear offset corresponding to the given coordinate.

## data() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

DataType * data | ( |  | ) |

inline

## data() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

const DataType * data | ( |  | ) | const

inline

## dim()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

static uint32_t dim | ( |  | ) |

inlinestatic

Return the dimension, in index space, of this leaf node (typically 8 as for openvdb leaf nodes!)

## fill()

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

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

inlineinherited

## flags()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

uint8_t flags | ( |  | ) | const

inline

## get() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename OpT , typename... ArgsT>

auto get | ( | const CoordType & | ijk,
|  | ArgsT &&... | args
| ) |  | const

inline

## get() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename OpT , typename... ArgsT>

auto get | ( | const uint32_t | n,
|  | ArgsT &&... | args
| ) |  | const

inline

## getAvg()

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

FloatType getAvg | ( |  | ) | const

inlineinherited

## getDev()

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

FloatType getDev | ( |  | ) | const

inlineinherited

## getFirstValue()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType getFirstValue | ( |  | ) | const

inline

Return the first value in this leaf node.

## getLastValue()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType getLastValue | ( |  | ) | const

inline

Return the last value in this leaf node.

## getMax()

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

ValueType getMax | ( |  | ) | const

inlineinherited

## getMin()

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

ValueType getMin | ( |  | ) | const

inlineinherited

## getValue() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType getValue | ( | const CoordT & | ijk | ) | const

inline

Return the voxel value at the given coordinate.

## getValue() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType getValue | ( | uint32_t | offset | ) | const

inline

Return the voxel value at the given offset.

## getValueMask()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

const MaskType< LOG2DIM > & getValueMask | ( |  | ) | const

inline

## hasBBox()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

bool hasBBox | ( |  | ) | const

inline

## hasStats()

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

static bool hasStats | ( |  | ) |

inlinestaticinherited

## isActive() [1/3]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

bool isActive | ( |  | ) | const

inline

Return `true` if any of the voxel value are active in this leaf node.

## isActive() [2/3]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

bool isActive | ( | const CoordT & | ijk | ) | const

inline

Return `true` if the voxel value at the given coordinate is active.

## isActive() [3/3]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

bool isActive | ( | uint32_t | n | ) | const

inline

## localToGlobalCoord()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

void localToGlobalCoord | ( | Coord & | ijk | ) | const

inline

Converts (in place) a local index coordinate to a global index coordinate.

## maximum()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType maximum | ( |  | ) | const

inline

Return a const reference to the maximum active value encoded in this leaf node.

## memUsage() [1/2]

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

static uint64_t memUsage | ( |  | ) |

inlinestaticinherited

## memUsage() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

uint64_t memUsage | ( |  | ) | const

inline

return memory usage in bytes for the leaf node

## minimum()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

ValueType minimum | ( |  | ) | const

inline

Return a const reference to the minimum active value encoded in this leaf node.

## offsetToGlobalCoord()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

CoordT offsetToGlobalCoord | ( | uint32_t | n | ) | const

inline

## OffsetToLocalCoord()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

static CoordT OffsetToLocalCoord | ( | uint32_t | n | ) |

inlinestatic

Compute the local coordinates from a linear offset.

Parameters

  n | Linear offset into this nodes dense table

Returns
  Local (vs global) 3D coordinates

## operator=()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

LeafNode & operator= | ( | const LeafNode< BuildT, CoordT, MaskT, Log2Dim > & |  | ) |

delete

## origin()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

CoordT origin | ( |  | ) | const

inline

Return the origin in index space of this leaf node.

## padding()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

static uint32_t padding | ( |  | ) |

inlinestatic

## probeLeaf()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

const LeafNode * probeLeaf | ( | const CoordT & |  | ) | const

inline

## probeValue()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

bool probeValue | ( | const CoordT & | ijk,
|  | ValueType & | v
| ) |  | const

inline

Return `true` if the voxel value at the given coordinate is active and updates `v` with the value.

## set() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename OpT , typename... ArgsT>

auto set | ( | const CoordType & | ijk,
|  | ArgsT &&... | args
| ) |  |

inline

## set() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename OpT , typename... ArgsT>

auto set | ( | const uint32_t | n,
|  | ArgsT &&... | args
| ) |  |

inline

## setAvg()

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

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

inlineinherited

## setDev()

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

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

inlineinherited

## setMax()

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

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

inlineinherited

## setMin()

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

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

inlineinherited

## setOn()

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

void setOn | ( | uint32_t | offset | ) |

inlineinherited

## setOrigin()

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

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

inlineinherited

## setValue() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

void setValue | ( | const CoordT & | ijk,
|  | const ValueType & | v
| ) |  |

inline

Sets the value at the specified location and activate its state.

Note
  This is safe since it does not change the topology of the tree (unlike setValue methods on the other nodes)

## setValue() [2/2]

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

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

inlineinherited

## setValueOnly() [1/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

void setValueOnly | ( | const CoordT & | ijk,
|  | const ValueType & | v
| ) |  |

inline

## setValueOnly() [2/2]

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

void setValueOnly | ( | uint32_t | offset,
|  | const ValueType & | v
| ) |  |

inline

Sets the value at the specified location but leaves its state unchanged.

Note
  This is safe since it does not change the topology of the tree (unlike setValue methods on the other nodes)

## stdDeviation()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

FloatType stdDeviation | ( |  | ) | const

inline

Return a const reference to the standard deviation of all the active values encoded in this leaf node.

## updateBBox()

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

bool updateBBox | ( |  | ) |

inline

Updates the local bounding box of active voxels in this node. Return true if bbox was updated.

Warning
  It assumes that the origin and value mask have already been set.

This method is based on few (intrinsic) bit operations and hence is relatively fast. However, it should only only be called if either the value mask has changed or if the active bounding box is still undefined. e.g. during construction of this node.

## valueMask()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

const MaskType< LOG2DIM > & valueMask | ( |  | ) | const

inline

Return a const reference to the bit mask of active voxels in this leaf node.

## variance()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

FloatType variance | ( |  | ) | const

inline

Return the variance of all the active values encoded in this leaf node.

## voxelCount()

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

static uint32_t voxelCount | ( |  | ) |

inlinestatic

Return the total number of voxels (e.g. values) encoded in this leaf node.

## Friends And Related Symbol Documentation

## InternalNode

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename , uint32_t >

friend class InternalNode

friend

## ReadAccessor

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename , int , int , int >

friend class ReadAccessor

friend

## RootNode

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>
template<typename >

friend class RootNode

friend

## Member Data Documentation

## DIM

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t DIM = 1u << TOTAL

staticconstexpr

## FIXED_SIZE

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr bool FIXED_SIZE = DataType::FIXED_SIZE

staticconstexpr

## LEVEL

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t LEVEL = 0

staticconstexpr

## LOG2DIM

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t LOG2DIM = Log2Dim

staticconstexpr

## MASK

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t MASK = (1u << LOG2DIM) - 1u

staticconstexpr

## mAverage

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

FloatType mAverage

inherited

## mBBoxDif

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

uint8_t mBBoxDif[3]

inherited

## mBBoxMin

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

CoordT mBBoxMin

inherited

## mFlags

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

uint8_t mFlags

inherited

## mMaximum

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

ValueType mMaximum

inherited

## mMinimum

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

ValueType mMinimum

inherited

## mStdDevi

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

FloatType mStdDevi

inherited

## mValueMask

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

MaskT<LOG2DIM> mValueMask

inherited

## mValues

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

ValueType mValues[1u<< 3 *LOG2DIM]

inherited

## NUM_VALUES

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)

staticconstexpr

## SIZE

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t SIZE = 1u << 3 * LOG2DIM

staticconstexpr

## TOTAL

template<typename BuildT , typename CoordT = Coord, template< uint32_t > class MaskT = Mask, uint32_t Log2Dim = 3>

constexpr uint32_t TOTAL = LOG2DIM

staticconstexpr