OpenVDB: InternalNode< ChildT, Log2Dim > Class Template Reference

OpenVDB 10.0.1

Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Friends | List of all members
InternalNode< ChildT, Log2Dim > Class Template Reference

Internal nodes of a VDB treedim(),. More...

`#include <nanovdb/NanoVDB.h>`

Inherits InternalData< ChildT, ChildT::LOG2DIM+1 >.

## Classes
class | ChildIterator
| Visits child nodes of this node only. More...
class | ValueIterator
| Visits all tile values in this node, i.e. both inactive and active tiles. More...
class | ValueOnIterator
| Visits active tile values of this node only. More...

## Public Types
using | DataType = InternalData< ChildT, Log2Dim >
using | ValueType = typename DataType::ValueT
using | FloatType = typename DataType::StatsT
using | BuildType = typename DataType::BuildT
using | LeafNodeType = typename ChildT::LeafNodeType
using | ChildNodeType = ChildT
using | CoordType = typename ChildT::CoordType
template<uint32_t LOG2>
using | MaskType = typename ChildT::template MaskType< LOG2 >
template<bool On>
using | MaskIterT = typename Mask< Log2Dim >::template Iterator< On >

## Public Member Functions
ChildIterator | beginChild () const
ValueIterator | beginValue () const
ValueOnIterator | beginValueOn () const
| InternalNode ()=delete
| This class cannot be constructed or deleted. More...
| InternalNode (const InternalNode &)=delete
InternalNode & | operator= (const InternalNode &)=delete
| ~InternalNode ()=delete
DataType * | data ()
const DataType * | data () const
const MaskType< LOG2DIM > & | valueMask () const
| Return a const reference to the bit mask of active voxels in this internal node. More...
const MaskType< LOG2DIM > & | childMask () const
| Return a const reference to the bit mask of child nodes in this internal node. More...
CoordType | origin () const
| Return the origin in index space of this leaf node. More...
const ValueType & | minimum () const
| Return a const reference to the minimum active value encoded in this internal node and any of its child nodes. More...
const ValueType & | maximum () const
| Return a const reference to the maximum active value encoded in this internal node and any of its child nodes. More...
const FloatType & | average () const
| Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes. More...
FloatType | variance () const
| Return the variance of all the active values encoded in this internal node and any of its child nodes. More...
const FloatType & | stdDeviation () const
| Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes. More...
const BBox< CoordType > & | bbox () const
| Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes. More...
ValueType | getValue (const CoordType &ijk) const
| Return the value of the given voxel. More...
bool | isActive (const CoordType &ijk) const
bool | probeValue (const CoordType &ijk, ValueType &v) const
| return the state and updates the value of the specified voxel More...
const LeafNodeType * | probeLeaf (const CoordType &ijk) const
const ChildNodeType * | probeChild (const CoordType &ijk) const
void | localToGlobalCoord (Coord &ijk) const
| modifies local coordinates to global coordinates of a tile or child node More...
Coord | offsetToGlobalCoord (uint32_t n) const
bool | isActive () const
| Return true if this node or any of its child nodes contain active values. More...
template<typename AccessorT >
ChildT::LeafNodeType * | probeLeafAndCache (const Coord &xyz, AccessorT &acc)
template<typename AccessorT >
const ChildT::LeafNodeType * | probeLeafAndCache (const Coord &xyz, AccessorT &acc) const
template<typename AccessorT >
const ChildT::ValueType & | getValueAndCache (const Coord &xyz, AccessorT &acc) const

## Static Public Member Functions
static uint32_t | dim ()
| Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32) More...
static size_t | memUsage ()
| Return memory usage in bytes for the class. More...
static uint32_t | CoordToOffset (const CoordType &ijk)
| Return the linear offset corresponding to the given coordinate. More...
static Coord | OffsetToLocalCoord (uint32_t n)

## Static Public Attributes
static constexpr bool | FIXED_SIZE = DataType::FIXED_SIZE
static constexpr uint32_t | LOG2DIM = Log2Dim
static constexpr uint32_t | TOTAL = LOG2DIM + ChildT::TOTAL
static constexpr uint32_t | DIM = 1u << TOTAL
static constexpr uint32_t | SIZE = 1u << (3 * LOG2DIM)
static constexpr uint32_t | MASK = (1u << TOTAL) - 1u
static constexpr uint32_t | LEVEL = 1 + ChildT::LEVEL
static constexpr uint64_t | NUM_VALUES = uint64_t(1) << (3 * TOTAL)

## Private Member Functions
ValueT | getValue (uint32_t n) const
bool | isActive (uint32_t n) const

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

## Detailed Description

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
class nanovdb::InternalNode< ChildT, Log2Dim >

Internal nodes of a VDB treedim(),.

## Member Typedef Documentation

## ◆ BuildType

using BuildType = typename DataType::BuildT

## ◆ ChildNodeType

using ChildNodeType = ChildT

## ◆ CoordType

using CoordType = typename ChildT::CoordType

## ◆ DataType

using DataType = InternalData<ChildT, Log2Dim>

## ◆ FloatType

using FloatType = typename DataType::StatsT

## ◆ LeafNodeType

using LeafNodeType = typename ChildT::LeafNodeType

## ◆ MaskIterT

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

## ◆ MaskType

using MaskType = typename ChildT::template MaskType<LOG2>

## ◆ ValueType

using ValueType = typename DataType::ValueT

## Constructor & Destructor Documentation

## ◆ InternalNode() [1/2]

InternalNode | ( |  | ) |
| delete

This class cannot be constructed or deleted.

## ◆ InternalNode() [2/2]

InternalNode | ( | const InternalNode< ChildT, Log2Dim > & |  | ) |
| delete

## ◆ ~InternalNode()

~InternalNode | ( |  | ) |
| delete

## Member Function Documentation

## ◆ average()

const FloatType & average | ( |  | ) | const
| inline

Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes.

## ◆ bbox()

const BBox< CoordType > & bbox | ( |  | ) | const
| inline

Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes.

## ◆ beginChild()

ChildIterator beginChild | ( |  | ) | const
| inline

## ◆ beginValue()

ValueIterator beginValue | ( |  | ) | const
| inline

## ◆ beginValueOn()

ValueOnIterator beginValueOn | ( |  | ) | const
| inline

## ◆ childMask()

const MaskType< LOG2DIM > & childMask | ( |  | ) | const
| inline

Return a const reference to the bit mask of child nodes in this internal node.

## ◆ CoordToOffset()

static uint32_t CoordToOffset | ( | const CoordType & | ijk | ) |
| inlinestatic

Return the linear offset corresponding to the given coordinate.

## ◆ data() [1/2]

DataType * data | ( |  | ) |
| inline

## ◆ data() [2/2]

const DataType * data | ( |  | ) | const
| inline

## ◆ dim()

static uint32_t dim | ( |  | ) |
| inlinestatic

Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32)

## ◆ getValue()

ValueType getValue | ( | const CoordType & | ijk | ) | const
| inline

Return the value of the given voxel.

## ◆ getValueAndCache()

const ChildT::ValueType & getValueAndCache | ( | const Coord & | xyz,
|  | AccessorT & | acc
| ) |  | const
| inline

## ◆ isActive() [1/2]

bool isActive | ( |  | ) | const
| inline

Return true if this node or any of its child nodes contain active values.

## ◆ isActive() [2/2]

bool isActive | ( | const CoordType & | ijk | ) | const
| inline

## ◆ localToGlobalCoord()

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

modifies local coordinates to global coordinates of a tile or child node

## ◆ maximum()

const ValueType & maximum | ( |  | ) | const
| inline

Return a const reference to the maximum active value encoded in this internal node and any of its child nodes.

## ◆ memUsage()

static size_t memUsage | ( |  | ) |
| inlinestatic

Return memory usage in bytes for the class.

## ◆ minimum()

const ValueType & minimum | ( |  | ) | const
| inline

Return a const reference to the minimum active value encoded in this internal node and any of its child nodes.

## ◆ offsetToGlobalCoord()

Coord offsetToGlobalCoord | ( | uint32_t | n | ) | const
| inline

## ◆ OffsetToLocalCoord()

static Coord OffsetToLocalCoord | ( | uint32_t | n | ) |
| inlinestatic

Returns
  the local coordinate of the n'th tile or child node

## ◆ operator=()

InternalNode & operator= | ( | const InternalNode< ChildT, Log2Dim > & |  | ) |
| delete

## ◆ origin()

CoordType origin | ( |  | ) | const
| inline

Return the origin in index space of this leaf node.

## ◆ probeChild()

const ChildNodeType * probeChild | ( | const CoordType & | ijk | ) | const
| inline

## ◆ probeLeaf()

const LeafNodeType * probeLeaf | ( | const CoordType & | ijk | ) | const
| inline

## ◆ probeLeafAndCache() [1/2]

ChildT::LeafNodeType * probeLeafAndCache | ( | const Coord & | xyz,
|  | AccessorT & | acc
| ) |  |
| inline

## ◆ probeLeafAndCache() [2/2]

const ChildT::LeafNodeType * probeLeafAndCache | ( | const Coord & | xyz,
|  | AccessorT & | acc
| ) |  | const
| inline

## ◆ probeValue()

bool probeValue | ( | const CoordType & | ijk,
|  | ValueType & | v
| ) |  | const
| inline

return the state and updates the value of the specified voxel

## ◆ stdDeviation()

const FloatType & stdDeviation | ( |  | ) | const
| inline

Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes.

## ◆ valueMask()

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

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

## ◆ variance()

FloatType variance | ( |  | ) | const
| inline

Return the variance of all the active values encoded in this internal node and any of its child nodes.

## Friends And Related Function Documentation

## ◆ InternalNode

friend class InternalNode
| friend

## ◆ ReadAccessor

friend class ReadAccessor
| friend

## ◆ RootNode

friend class RootNode
| friend

## Member Data Documentation

## ◆ DIM

constexpr uint32_t DIM = 1u << TOTAL
| staticconstexpr

## ◆ FIXED_SIZE

constexpr bool FIXED_SIZE = DataType::FIXED_SIZE
| staticconstexpr

## ◆ LEVEL

constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
| staticconstexpr

## ◆ LOG2DIM

constexpr uint32_t LOG2DIM = Log2Dim
| staticconstexpr

## ◆ MASK

constexpr uint32_t MASK = (1u << TOTAL) - 1u
| staticconstexpr

## ◆ NUM_VALUES

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

## ◆ SIZE

constexpr uint32_t SIZE = 1u << (3 * LOG2DIM)
| staticconstexpr

## ◆ TOTAL

constexpr uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
| staticconstexpr