HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::build::NodeManager< GridT > Class Template Reference

#include <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. More...
 
template<int LEVEL>
enable_if< LEVEL==0, Node0 & >
::type 
node (int i)
 
template<int LEVEL>
enable_if< LEVEL==0, const
Node0 & >::type 
node (int i) const
 
template<int LEVEL>
enable_if< LEVEL==1, Node1 & >
::type 
node (int i)
 
template<int LEVEL>
enable_if< LEVEL==1, const
Node1 & >::type 
node (int i) const
 
template<int LEVEL>
enable_if< LEVEL==2, Node2 & >
::type 
node (int i)
 
template<int LEVEL>
enable_if< LEVEL==2, const
Node2 & >::type 
node (int i) const
 
const Node0leaf (uint32_t i) const
 Return the i'th leaf node with respect to breadth-first ordering. More...
 
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. More...
 
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. More...
 
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
 

Detailed Description

template<typename GridT>
class nanovdb::build::NodeManager< GridT >

Definition at line 2056 of file GridBuilder.h.

Member Typedef Documentation

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::BuildType = typename GridT::BuildType

Definition at line 2061 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::GridType = GridT

Definition at line 2062 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::Node0 = typename Node1::ChildNodeType

Definition at line 2068 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::Node1 = typename Node2::ChildNodeType

Definition at line 2067 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::Node2 = typename RootNodeType::ChildNodeType

Definition at line 2066 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::RootNodeType = typename TreeType::RootNodeType

Definition at line 2064 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::TreeType = typename GridT::TreeType

Definition at line 2063 of file GridBuilder.h.

template<typename GridT>
using nanovdb::build::NodeManager< GridT >::ValueType = typename GridT::ValueType

Definition at line 2060 of file GridBuilder.h.

Constructor & Destructor Documentation

template<typename GridT>
nanovdb::build::NodeManager< GridT >::NodeManager ( GridT &  grid)
inline

Definition at line 2070 of file GridBuilder.h.

Member Function Documentation

template<typename GridT>
GridType& nanovdb::build::NodeManager< GridT >::grid ( )
inline

Definition at line 2137 of file GridBuilder.h.

template<typename GridT>
const GridType& nanovdb::build::NodeManager< GridT >::grid ( ) const
inline

Definition at line 2138 of file GridBuilder.h.

template<typename GridT>
void nanovdb::build::NodeManager< GridT >::init ( )
inline

Definition at line 2071 of file GridBuilder.h.

template<typename GridT>
const Node0& nanovdb::build::NodeManager< GridT >::leaf ( uint32_t  i) const
inline

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

Definition at line 2117 of file GridBuilder.h.

template<typename GridT>
Node0& nanovdb::build::NodeManager< GridT >::leaf ( uint32_t  i)
inline

Definition at line 2118 of file GridBuilder.h.

template<typename GridT>
uint64_t nanovdb::build::NodeManager< GridT >::leafCount ( ) const
inline

Definition at line 2119 of file GridBuilder.h.

template<typename GridT>
const Node1& nanovdb::build::NodeManager< GridT >::lower ( uint32_t  i) const
inline

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

Definition at line 2122 of file GridBuilder.h.

template<typename GridT>
Node1& nanovdb::build::NodeManager< GridT >::lower ( uint32_t  i)
inline

Definition at line 2123 of file GridBuilder.h.

template<typename GridT>
uint64_t nanovdb::build::NodeManager< GridT >::lowerCount ( ) const
inline

Definition at line 2124 of file GridBuilder.h.

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

Definition at line 2104 of file GridBuilder.h.

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

Definition at line 2106 of file GridBuilder.h.

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

Definition at line 2108 of file GridBuilder.h.

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

Definition at line 2110 of file GridBuilder.h.

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

Definition at line 2112 of file GridBuilder.h.

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

Definition at line 2114 of file GridBuilder.h.

template<typename GridT>
uint64_t nanovdb::build::NodeManager< GridT >::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

Definition at line 2097 of file GridBuilder.h.

template<typename GridT>
RootNodeType& nanovdb::build::NodeManager< GridT >::root ( )
inline

Definition at line 2131 of file GridBuilder.h.

template<typename GridT>
const RootNodeType& nanovdb::build::NodeManager< GridT >::root ( ) const
inline

Definition at line 2132 of file GridBuilder.h.

template<typename GridT>
TreeType& nanovdb::build::NodeManager< GridT >::tree ( )
inline

Definition at line 2134 of file GridBuilder.h.

template<typename GridT>
const TreeType& nanovdb::build::NodeManager< GridT >::tree ( ) const
inline

Definition at line 2135 of file GridBuilder.h.

template<typename GridT>
const Node2& nanovdb::build::NodeManager< GridT >::upper ( uint32_t  i) const
inline

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

Definition at line 2127 of file GridBuilder.h.

template<typename GridT>
Node2& nanovdb::build::NodeManager< GridT >::upper ( uint32_t  i)
inline

Definition at line 2128 of file GridBuilder.h.

template<typename GridT>
uint64_t nanovdb::build::NodeManager< GridT >::upperCount ( ) const
inline

Definition at line 2129 of file GridBuilder.h.

Member Data Documentation

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

Definition at line 2143 of file GridBuilder.h.

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

Definition at line 2144 of file GridBuilder.h.

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

Definition at line 2145 of file GridBuilder.h.

template<typename GridT>
GridT& nanovdb::build::NodeManager< GridT >::mGrid
protected

Definition at line 2142 of file GridBuilder.h.


The documentation for this class was generated from the following file: