OpenVDB 10.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
RootNode< ChildT > Class Template Reference

Top-most node of the VDB tree structure. More...

#include <nanovdb/NanoVDB.h>

Inheritance diagram for RootNode< ChildT >:
RootData< ChildT >

Classes

class  ChildIterator
 
class  ValueIterator
 
class  ValueOnIterator
 

Public Types

using DataType = RootData< ChildT >
 
using LeafNodeType = typename ChildT::LeafNodeType
 
using ChildNodeType = ChildT
 
using RootType = RootNode< ChildT >
 
using ValueType = typename DataType::ValueT
 
using FloatType = typename DataType::StatsT
 
using BuildType = typename DataType::BuildT
 
using CoordType = typename ChildT::CoordType
 
using BBoxType = BBox< CoordType >
 
using AccessorType = DefaultReadAccessor< BuildType >
 
using Tile = typename DataType::Tile
 

Public Member Functions

ChildIterator beginChild () const
 
ValueIterator beginValue () const
 
ValueOnIterator beginValueOn () const
 
 RootNode ()=delete
 This class cannot be constructed or deleted.
 
 RootNode (const RootNode &)=delete
 
RootNodeoperator= (const RootNode &)=delete
 
 ~RootNode ()=delete
 
AccessorType getAccessor () const
 
DataTypedata ()
 
const DataTypedata () const
 
const BBoxTypebbox () const
 Return a const reference to the index bounding box of all the active values in this tree, i.e. in all nodes of the tree.
 
const ValueTypebackground () const
 Return the total number of active voxels in the root and all its child nodes.
 
const uint32_ttileCount () const
 Return the number of tiles encoded in this root node.
 
const ValueTypeminimum () const
 Return a const reference to the minimum active value encoded in this root node and any of its child nodes.
 
const ValueTypemaximum () const
 Return a const reference to the maximum active value encoded in this root node and any of its child nodes.
 
const FloatTypeaverage () const
 Return a const reference to the average of all the active values encoded in this root node and any of its child nodes.
 
FloatType variance () const
 Return the variance of all the active values encoded in this root node and any of its child nodes.
 
const FloatTypestdDeviation () const
 Return a const reference to the standard deviation of all the active values encoded in this root node and any of its child nodes.
 
uint64_t memUsage () const
 Return the actual memory footprint of this root node.
 
ValueType getValue (const CoordType &ijk) const
 Return the value of the given voxel.
 
bool isActive (const CoordType &ijk) const
 
bool isEmpty () const
 Return true if this RootNode is empty, i.e. contains no values or nodes.
 
bool probeValue (const CoordType &ijk, ValueType &v) const
 
const LeafNodeTypeprobeLeaf (const CoordType &ijk) const
 
const ChildNodeTypeprobeChild (const CoordType &ijk) const
 
const TileprobeTile (const CoordType &ijk) const
 Find and return a Tile of this root node.
 

Static Public Member Functions

static uint64_t memUsage (uint32_t tableSize)
 Return the expected memory footprint in bytes with the specified number of tiles.
 

Static Public Attributes

static constexpr bool FIXED_SIZE = DataType::FIXED_SIZE
 
static constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
 

Friends

template<typename , int , int , int >
class ReadAccessor
 
template<typename >
class Tree
 

Detailed Description

template<typename ChildT>
class nanovdb::RootNode< ChildT >

Top-most node of the VDB tree structure.

Member Typedef Documentation

◆ AccessorType

◆ BBoxType

template<typename ChildT >
using BBoxType = BBox<CoordType>

◆ BuildType

template<typename ChildT >
using BuildType = typename DataType::BuildT

◆ ChildNodeType

template<typename ChildT >
using ChildNodeType = ChildT

◆ CoordType

template<typename ChildT >
using CoordType = typename ChildT::CoordType

◆ DataType

template<typename ChildT >
using DataType = RootData<ChildT>

◆ FloatType

template<typename ChildT >
using FloatType = typename DataType::StatsT

◆ LeafNodeType

template<typename ChildT >
using LeafNodeType = typename ChildT::LeafNodeType

◆ RootType

template<typename ChildT >
using RootType = RootNode<ChildT>

◆ Tile

template<typename ChildT >
using Tile = typename DataType::Tile

◆ ValueType

template<typename ChildT >
using ValueType = typename DataType::ValueT

Constructor & Destructor Documentation

◆ RootNode() [1/2]

template<typename ChildT >
RootNode ( )
delete

This class cannot be constructed or deleted.

◆ RootNode() [2/2]

template<typename ChildT >
RootNode ( const RootNode< ChildT > &  )
delete

◆ ~RootNode()

template<typename ChildT >
~RootNode ( )
delete

Member Function Documentation

◆ average()

template<typename ChildT >
const FloatType & average ( ) const
inline

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

◆ background()

template<typename ChildT >
const ValueType & background ( ) const
inline

Return the total number of active voxels in the root and all its child nodes.

Return a const reference to the background value, i.e. the value associated with any coordinate location that has not been set explicitly.

◆ bbox()

template<typename ChildT >
const BBoxType & bbox ( ) const
inline

Return a const reference to the index bounding box of all the active values in this tree, i.e. in all nodes of the tree.

◆ beginChild()

template<typename ChildT >
ChildIterator beginChild ( ) const
inline

◆ beginValue()

template<typename ChildT >
ValueIterator beginValue ( ) const
inline

◆ beginValueOn()

template<typename ChildT >
ValueOnIterator beginValueOn ( ) const
inline

◆ data() [1/2]

template<typename ChildT >
DataType * data ( )
inline

◆ data() [2/2]

template<typename ChildT >
const DataType * data ( ) const
inline

◆ getAccessor()

template<typename ChildT >
AccessorType getAccessor ( ) const
inline

◆ getValue()

template<typename ChildT >
ValueType getValue ( const CoordType ijk) const
inline

Return the value of the given voxel.

◆ isActive()

template<typename ChildT >
bool isActive ( const CoordType ijk) const
inline

◆ isEmpty()

template<typename ChildT >
bool isEmpty ( ) const
inline

Return true if this RootNode is empty, i.e. contains no values or nodes.

◆ maximum()

template<typename ChildT >
const ValueType & maximum ( ) const
inline

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

◆ memUsage() [1/2]

template<typename ChildT >
uint64_t memUsage ( ) const
inline

Return the actual memory footprint of this root node.

◆ memUsage() [2/2]

template<typename ChildT >
static uint64_t memUsage ( uint32_t  tableSize)
inlinestatic

Return the expected memory footprint in bytes with the specified number of tiles.

◆ minimum()

template<typename ChildT >
const ValueType & minimum ( ) const
inline

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

◆ operator=()

template<typename ChildT >
RootNode & operator= ( const RootNode< ChildT > &  )
delete

◆ probeChild()

template<typename ChildT >
const ChildNodeType * probeChild ( const CoordType ijk) const
inline

◆ probeLeaf()

template<typename ChildT >
const LeafNodeType * probeLeaf ( const CoordType ijk) const
inline

◆ probeTile()

template<typename ChildT >
const Tile * probeTile ( const CoordType ijk) const
inline

Find and return a Tile of this root node.

◆ probeValue()

template<typename ChildT >
bool probeValue ( const CoordType ijk,
ValueType v 
) const
inline

◆ stdDeviation()

template<typename ChildT >
const FloatType & stdDeviation ( ) const
inline

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

◆ tileCount()

template<typename ChildT >
const uint32_t & tileCount ( ) const
inline

Return the number of tiles encoded in this root node.

◆ variance()

template<typename ChildT >
FloatType variance ( ) const
inline

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

Friends And Related Symbol Documentation

◆ ReadAccessor

template<typename ChildT >
template<typename , int , int , int >
friend class ReadAccessor
friend

◆ Tree

template<typename ChildT >
template<typename >
friend class Tree
friend

Member Data Documentation

◆ FIXED_SIZE

template<typename ChildT >
constexpr bool FIXED_SIZE = DataType::FIXED_SIZE
staticconstexpr

◆ LEVEL

template<typename ChildT >
constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
staticconstexpr