OpenVDB  4.0.1
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Attributes | List of all members
NodeManager< TreeOrLeafManagerT, 1 > Class Template Reference

Template specialization of the NodeManager with one level of nodes. More...

#include <NodeManager.h>

Public Types

typedef TreeOrLeafManagerT::RootNodeType RootNodeType
 

Public Member Functions

 BOOST_STATIC_ASSERT (RootNodeType::LEVEL > 0)
 
 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 = 1
 

Protected Types

typedef RootNodeType NodeT1
 
typedef NodeT1::ChildNodeType NodeT0
 
typedef NodeList< NodeT0ListT0
 

Protected Attributes

NodeT1mRoot
 
ListT0 mList0
 

Detailed Description

template<typename TreeOrLeafManagerT>
class openvdb::v4_0_1::tree::NodeManager< TreeOrLeafManagerT, 1 >

Template specialization of the NodeManager with one level of nodes.

Member Typedef Documentation

◆ ListT0

typedef NodeList<NodeT0> ListT0
protected

◆ NodeT0

typedef NodeT1::ChildNodeType NodeT0
protected

◆ NodeT1

typedef RootNodeType NodeT1
protected

◆ RootNodeType

typedef TreeOrLeafManagerT::RootNodeType RootNodeType

Constructor & Destructor Documentation

◆ NodeManager()

NodeManager ( TreeOrLeafManagerT &  tree)
inline

◆ ~NodeManager()

virtual ~NodeManager ( )
inlinevirtual

Member Function Documentation

◆ BOOST_STATIC_ASSERT()

BOOST_STATIC_ASSERT ( RootNodeType::LEVEL  ,
 
)

◆ clear()

void clear ( )
inline

Clear all the cached tree nodes.

◆ foreachBottomUp()

void foreachBottomUp ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ foreachTopDown()

void foreachTopDown ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ nodeCount() [1/2]

Index64 nodeCount ( ) const
inline

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

◆ nodeCount() [2/2]

Index64 nodeCount ( Index  i) const
inline

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

◆ processBottomUp()

OPENVDB_DEPRECATED void processBottomUp ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ processTopDown()

OPENVDB_DEPRECATED void processTopDown ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ rebuild()

void rebuild ( )
inline

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

◆ reduceBottomUp()

void reduceBottomUp ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ reduceTopDown()

void reduceTopDown ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

◆ root()

const RootNodeType& root ( ) const
inline

Return a reference to the root node.

Member Data Documentation

◆ LEVELS

const Index LEVELS = 1
static

◆ mList0

ListT0 mList0
protected

◆ mRoot

NodeT1& mRoot
protected

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