HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NodeManager.h File Reference

NodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing. More...

#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <openvdb/Types.h>
#include <deque>
+ Include dependency graph for NodeManager.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, LEVELS >
 To facilitate threading over the nodes of a tree, cache node pointers in linear arrays, one for each level of the tree. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >
 This class caches tree nodes of a specific type in a linear array. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::NodeRange
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::NodeRange::Iterator
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >
 This class is a link in a chain that each caches tree nodes of a specific type in a linear array. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, 0 >
 Specialization that terminates the chain of cached tree nodes. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, LEVELS >
 To facilitate threading over the nodes of a tree, cache node pointers in linear arrays, one for each level of the tree. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 0 >
 Template specialization of the NodeManager with no caching of nodes. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 1 >
 Template specialization of the NodeManager with one level of nodes. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 2 >
 Template specialization of the NodeManager with two levels of nodes. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 3 >
 Template specialization of the NodeManager with three levels of nodes. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >
 Template specialization of the NodeManager with four levels of nodes. More...
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tree
 

Detailed Description

NodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing.

Author
Ken Museth
Note
A NodeManager can be constructed from a Tree or LeafManager. The latter is slightly more efficient since the cached leaf nodes will be reused.

Definition in file NodeManager.h.