HDK
|
NodeManager allows for sequential access to nodes. More...
#include <NodeManager.h>
Public Member Functions | |
NodeManager (const NodeManager &)=delete | |
NodeManager (NodeManager &&)=delete | |
NodeManager & | operator= (const NodeManager &)=delete |
NodeManager & | operator= (NodeManager &&)=delete |
~NodeManager ()=delete | |
__hostdev__ bool | isLinear () const |
return true if the nodes have both fixed size and are arranged breadth-first in memory. This allows for direct and memory-efficient linear access to nodes. More... | |
__hostdev__ uint64_t | memUsage () const |
Return the memory footprint in bytes of this instance. More... | |
__hostdev__ GridT & | grid () |
Return a reference to the grid. More... | |
__hostdev__ const GridT & | grid () const |
__hostdev__ TreeT & | tree () |
Return a reference to the tree. More... | |
__hostdev__ const TreeT & | tree () const |
__hostdev__ RootT & | root () |
Return a reference to the root. More... | |
__hostdev__ const RootT & | root () const |
__hostdev__ uint64_t | nodeCount (int level) const |
Return the number of tree nodes at the specified level. More... | |
__hostdev__ uint64_t | leafCount () const |
__hostdev__ uint64_t | lowerCount () const |
__hostdev__ uint64_t | upperCount () const |
template<int LEVEL> | |
__hostdev__ const NodeT< LEVEL > & | node (uint32_t i) const |
Return the i'th leaf node with respect to breadth-first ordering. More... | |
template<int LEVEL> | |
__hostdev__ NodeT< LEVEL > & | node (uint32_t i) |
Return the i'th node with respect to breadth-first ordering. More... | |
__hostdev__ const Node0 & | leaf (uint32_t i) const |
Return the i'th leaf node with respect to breadth-first ordering. More... | |
__hostdev__ Node0 & | leaf (uint32_t i) |
__hostdev__ const Node1 & | lower (uint32_t i) const |
Return the i'th lower internal node with respect to breadth-first ordering. More... | |
__hostdev__ Node1 & | lower (uint32_t i) |
__hostdev__ const Node2 & | upper (uint32_t i) const |
Return the i'th upper internal node with respect to breadth-first ordering. More... | |
__hostdev__ Node2 & | upper (uint32_t i) |
Static Public Member Functions | |
static __hostdev__ bool | isLinear (const GridT &grid) |
return true if the nodes have both fixed size and are arranged breadth-first in memory. This allows for direct and memory-efficient linear access to nodes. More... | |
static __hostdev__ uint64_t | memUsage (const GridT &grid) |
Return the memory footprint in bytes of the NodeManager derived from the specified grid. More... | |
Static Public Attributes | |
static constexpr bool | FIXED_SIZE = Node0::FIXED_SIZE && Node1::FIXED_SIZE && Node2::FIXED_SIZE |
NodeManager allows for sequential access to nodes.
This class allows for sequential access to nodes in a NanoVDB tree.
Nodes are always arranged breadth first during sequential access of nodes at a particular level.
Definition at line 27 of file NodeManager.h.
|
delete |
|
delete |
|
delete |
|
inline |
Return a reference to the grid.
Definition at line 222 of file NodeManager.h.
|
inline |
Definition at line 223 of file NodeManager.h.
|
inlinestatic |
return true if the nodes have both fixed size and are arranged breadth-first in memory. This allows for direct and memory-efficient linear access to nodes.
Definition at line 202 of file NodeManager.h.
|
inline |
return true if the nodes have both fixed size and are arranged breadth-first in memory. This allows for direct and memory-efficient linear access to nodes.
Definition at line 206 of file NodeManager.h.
|
inline |
Return the i'th leaf node with respect to breadth-first ordering.
Definition at line 270 of file NodeManager.h.
|
inline |
Definition at line 271 of file NodeManager.h.
|
inline |
Definition at line 237 of file NodeManager.h.
|
inline |
Return the i'th lower internal node with respect to breadth-first ordering.
Definition at line 274 of file NodeManager.h.
|
inline |
Definition at line 275 of file NodeManager.h.
|
inline |
Definition at line 238 of file NodeManager.h.
|
inlinestatic |
Return the memory footprint in bytes of the NodeManager derived from the specified grid.
Definition at line 209 of file NodeManager.h.
|
inline |
Return the memory footprint in bytes of this instance.
Definition at line 219 of file NodeManager.h.
|
inline |
Return the i'th leaf node with respect to breadth-first ordering.
Definition at line 243 of file NodeManager.h.
|
inline |
Return the i'th node with respect to breadth-first ordering.
Definition at line 257 of file NodeManager.h.
|
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 235 of file NodeManager.h.
|
delete |
|
delete |
|
inline |
Return a reference to the root.
Definition at line 230 of file NodeManager.h.
|
inline |
Definition at line 231 of file NodeManager.h.
|
inline |
Return a reference to the tree.
Definition at line 226 of file NodeManager.h.
|
inline |
Definition at line 227 of file NodeManager.h.
|
inline |
Return the i'th upper internal node with respect to breadth-first ordering.
Definition at line 278 of file NodeManager.h.
|
inline |
Definition at line 279 of file NodeManager.h.
|
inline |
Definition at line 239 of file NodeManager.h.
|
static |
Definition at line 192 of file NodeManager.h.