OpenVDB 11.0.0
Loading...
Searching...
No Matches
NodeManager< GridT > Class Template Reference

#include <nanovdb/util/GridBuilder.h>

Public Types

using ValueType = typename GridT::ValueType
 
using BuildType = typename GridT::BuildType
 
using GridType = GridT
 
using TreeType = typename GridT::TreeType
 
using RootNodeType = typename TreeType::RootNodeType
 
using Node2 = typename RootNodeType::ChildNodeType
 
using Node1 = typename Node2::ChildNodeType
 
using Node0 = typename Node1::ChildNodeType
 

Public Member Functions

 NodeManager (GridT &grid)
 
void init ()
 
uint64_t nodeCount (int level) const
 Return the number of tree nodes at the specified level.
 
template<int LEVEL>
enable_if< LEVEL==0, Node0 & >::type node (int i)
 
template<int LEVEL>
enable_if< LEVEL==0, constNode0 & >::type node (int i) const
 
template<int LEVEL>
enable_if< LEVEL==1, Node1 & >::type node (int i)
 
template<int LEVEL>
enable_if< LEVEL==1, constNode1 & >::type node (int i) const
 
template<int LEVEL>
enable_if< LEVEL==2, Node2 & >::type node (int i)
 
template<int LEVEL>
enable_if< LEVEL==2, constNode2 & >::type node (int i) const
 
const Node0leaf (uint32_t i) const
 Return the i'th leaf node with respect to breadth-first ordering.
 
Node0leaf (uint32_t i)
 
uint64_t leafCount () const
 
const Node1lower (uint32_t i) const
 Return the i'th lower internal node with respect to breadth-first ordering.
 
Node1lower (uint32_t i)
 
uint64_t lowerCount () const
 
const Node2upper (uint32_t i) const
 Return the i'th upper internal node with respect to breadth-first ordering.
 
Node2upper (uint32_t i)
 
uint64_t upperCount () const
 
RootNodeTyperoot ()
 
const RootNodeTyperoot () const
 
TreeTypetree ()
 
const TreeTypetree () const
 
GridTypegrid ()
 
const GridTypegrid () const
 

Protected Attributes

GridT & mGrid
 
std::vector< Node0 * > mArray0
 
std::vector< Node1 * > mArray1
 
std::vector< Node2 * > mArray2
 

Member Typedef Documentation

◆ BuildType

template<typename GridT >
using BuildType = typename GridT::BuildType

◆ GridType

template<typename GridT >
using GridType = GridT

◆ Node0

template<typename GridT >
using Node0 = typename Node1::ChildNodeType

◆ Node1

template<typename GridT >
using Node1 = typename Node2::ChildNodeType

◆ Node2

template<typename GridT >
using Node2 = typename RootNodeType::ChildNodeType

◆ RootNodeType

template<typename GridT >
using RootNodeType = typename TreeType::RootNodeType

◆ TreeType

template<typename GridT >
using TreeType = typename GridT::TreeType

◆ ValueType

template<typename GridT >
using ValueType = typename GridT::ValueType

Constructor & Destructor Documentation

◆ NodeManager()

template<typename GridT >
NodeManager ( GridT & grid)
inline

Member Function Documentation

◆ grid() [1/2]

template<typename GridT >
GridType & grid ( )
inline

◆ grid() [2/2]

template<typename GridT >
const GridType & grid ( ) const
inline

◆ init()

template<typename GridT >
void init ( )
inline

◆ leaf() [1/2]

template<typename GridT >
Node0 & leaf ( uint32_t i)
inline

◆ leaf() [2/2]

template<typename GridT >
const Node0 & leaf ( uint32_t i) const
inline

Return the i'th leaf node with respect to breadth-first ordering.

◆ leafCount()

template<typename GridT >
uint64_t leafCount ( ) const
inline

◆ lower() [1/2]

template<typename GridT >
Node1 & lower ( uint32_t i)
inline

◆ lower() [2/2]

template<typename GridT >
const Node1 & lower ( uint32_t i) const
inline

Return the i'th lower internal node with respect to breadth-first ordering.

◆ lowerCount()

template<typename GridT >
uint64_t lowerCount ( ) const
inline

◆ node() [1/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==0, Node0 & >::type node ( int i)
inline

◆ node() [2/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==1, Node1 & >::type node ( int i)
inline

◆ node() [3/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==2, Node2 & >::type node ( int i)
inline

◆ node() [4/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==0, constNode0 & >::type node ( int i) const
inline

◆ node() [5/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==1, constNode1 & >::type node ( int i) const
inline

◆ node() [6/6]

template<typename GridT >
template<int LEVEL>
enable_if< LEVEL==2, constNode2 & >::type node ( int i) const
inline

◆ nodeCount()

template<typename GridT >
uint64_t nodeCount ( int level) const
inline

Return the number of tree nodes at the specified level.

0 is leaf, 1 is lower internal, and 2 is upper internal level

◆ root() [1/2]

template<typename GridT >
RootNodeType & root ( )
inline

◆ root() [2/2]

template<typename GridT >
const RootNodeType & root ( ) const
inline

◆ tree() [1/2]

template<typename GridT >
TreeType & tree ( )
inline

◆ tree() [2/2]

template<typename GridT >
const TreeType & tree ( ) const
inline

◆ upper() [1/2]

template<typename GridT >
Node2 & upper ( uint32_t i)
inline

◆ upper() [2/2]

template<typename GridT >
const Node2 & upper ( uint32_t i) const
inline

Return the i'th upper internal node with respect to breadth-first ordering.

◆ upperCount()

template<typename GridT >
uint64_t upperCount ( ) const
inline

Member Data Documentation

◆ mArray0

template<typename GridT >
std::vector<Node0*> mArray0
protected

◆ mArray1

template<typename GridT >
std::vector<Node1*> mArray1
protected

◆ mArray2

template<typename GridT >
std::vector<Node2*> mArray2
protected

◆ mGrid

template<typename GridT >
GridT& mGrid
protected