HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 > Class Template Reference

Template specialization of the NodeManager with four levels of nodes. More...

#include <NodeManager.h>

Public Types

typedef
TreeOrLeafManagerT::RootNodeType 
RootNodeType
 

Public Member Functions

 HBOOST_STATIC_ASSERT (RootNodeType::LEVEL > 3)
 
 NodeManager (TreeOrLeafManagerT &tree)
 
virtual ~NodeManager ()
 
void clear ()
 Clear all the cached tree nodes. More...
 
void rebuild ()
 Clear and recache all the tree nodes from the tree. This is required if tree nodes have been added or removed. More...
 
const RootNodeTyperoot () const
 Return a reference to the root node. More...
 
Index64 nodeCount () const
 Return the total number of cached nodes (excluding the root node) More...
 
Index64 nodeCount (Index i) const
 Return the number of cached nodes at level i, where 0 corresponds to the lowest level. More...
 
template<typename NodeOp >
void foreachBottomUp (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void foreachTopDown (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
OPENVDB_DEPRECATED void processBottomUp (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
OPENVDB_DEPRECATED void processTopDown (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void reduceBottomUp (NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void reduceTopDown (NodeOp &op, bool threaded=true, size_t grainSize=1)
 

Static Public Attributes

static const Index LEVELS = 4
 

Protected Types

typedef RootNodeType NodeT4
 
typedef NodeT4::ChildNodeType NodeT3
 
typedef NodeT3::ChildNodeType NodeT2
 
typedef NodeT2::ChildNodeType NodeT1
 
typedef NodeT1::ChildNodeType NodeT0
 
typedef NodeList< NodeT3ListT3
 
typedef NodeList< NodeT2ListT2
 
typedef NodeList< NodeT1ListT1
 
typedef NodeList< NodeT0ListT0
 

Protected Attributes

NodeT4mRoot
 
ListT3 mList3
 
ListT2 mList2
 
ListT1 mList1
 
ListT0 mList0
 

Detailed Description

template<typename TreeOrLeafManagerT>
class openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >

Template specialization of the NodeManager with four levels of nodes.

Definition at line 988 of file NodeManager.h.

Member Typedef Documentation

template<typename TreeOrLeafManagerT >
typedef NodeList<NodeT0> openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::ListT0
protected

Definition at line 1106 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeList<NodeT1> openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::ListT1
protected

Definition at line 1105 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeList<NodeT2> openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::ListT2
protected

Definition at line 1104 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeList<NodeT3> openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::ListT3
protected

Definition at line 1103 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeT1::ChildNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeT0
protected

Definition at line 1101 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeT2::ChildNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeT1
protected

Definition at line 1100 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeT3::ChildNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeT2
protected

Definition at line 1099 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef NodeT4::ChildNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeT3
protected

Definition at line 1098 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef RootNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeT4
protected

Definition at line 1097 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
typedef TreeOrLeafManagerT::RootNodeType openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::RootNodeType

Definition at line 991 of file NodeManager.h.

Constructor & Destructor Documentation

template<typename TreeOrLeafManagerT >
openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::NodeManager ( TreeOrLeafManagerT &  tree)
inline

Definition at line 995 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
virtual openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::~NodeManager ( )
inlinevirtual

Definition at line 1010 of file NodeManager.h.

Member Function Documentation

template<typename TreeOrLeafManagerT >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::clear ( void  )
inline

Clear all the cached tree nodes.

Definition at line 1013 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::foreachBottomUp ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1045 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::foreachTopDown ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1055 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::HBOOST_STATIC_ASSERT ( RootNodeType::LEVEL  ,
 
)
template<typename TreeOrLeafManagerT >
Index64 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::nodeCount ( ) const
inline

Return the total number of cached nodes (excluding the root node)

Definition at line 1030 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
Index64 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::nodeCount ( Index  i) const
inline

Return the number of cached nodes at level i, where 0 corresponds to the lowest level.

Definition at line 1038 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
OPENVDB_DEPRECATED void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::processBottomUp ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1065 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
OPENVDB_DEPRECATED void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::processTopDown ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1071 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::rebuild ( )
inline

Clear and recache all the tree nodes from the tree. This is required if tree nodes have been added or removed.

Definition at line 1017 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::reduceBottomUp ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1077 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::reduceTopDown ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Definition at line 1087 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
const RootNodeType& openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::root ( void  ) const
inline

Return a reference to the root node.

Definition at line 1027 of file NodeManager.h.

Member Data Documentation

template<typename TreeOrLeafManagerT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::LEVELS = 4
static

Definition at line 993 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
ListT0 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::mList0
protected

Definition at line 1112 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
ListT1 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::mList1
protected

Definition at line 1111 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
ListT2 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::mList2
protected

Definition at line 1110 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
ListT3 openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::mList3
protected

Definition at line 1109 of file NodeManager.h.

template<typename TreeOrLeafManagerT >
NodeT4& openvdb::OPENVDB_VERSION_NAME::tree::NodeManager< TreeOrLeafManagerT, 4 >::mRoot
protected

Definition at line 1108 of file NodeManager.h.


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