OpenVDB  12.0.0
Public Types | Public Member Functions | Protected Attributes | List of all members
NodeManagerLink< NodeT, LEVEL > Class Template Reference

This class is a link in a chain that each caches tree nodes of a specific type in a linear array. More...

#include <openvdb/tree/NodeManager.h>

Public Types

using NonConstChildNodeType = typename NodeT::ChildNodeType
 
using ChildNodeType = typename CopyConstness< NodeT, NonConstChildNodeType >::Type
 

Public Member Functions

 NodeManagerLink ()=default
 
void clear ()
 
template<typename RootT >
void initRootChildren (RootT &root, bool serial=false)
 
template<typename ParentsT >
void initNodeChildren (ParentsT &parents, bool serial=false)
 
Index64 nodeCount () const
 
Index64 nodeCount (Index i) const
 
template<typename NodeOp >
void foreachBottomUp (const NodeOp &op, bool threaded, size_t grainSize)
 
template<typename NodeOp >
void foreachTopDown (const NodeOp &op, bool threaded, size_t grainSize)
 
template<typename NodeOp >
void reduceBottomUp (NodeOp &op, bool threaded, size_t grainSize)
 
template<typename NodeOp >
void reduceTopDown (NodeOp &op, bool threaded, size_t grainSize)
 

Protected Attributes

NodeList< NodeT > mList
 
NodeManagerLink< ChildNodeType, LEVEL-1 > mNext
 

Detailed Description

template<typename NodeT, Index LEVEL>
class openvdb::v12_0::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.

Note
It is for internal use and should rarely be used directly.

Member Typedef Documentation

using ChildNodeType = typename CopyConstness<NodeT, NonConstChildNodeType>::Type
using NonConstChildNodeType = typename NodeT::ChildNodeType

Constructor & Destructor Documentation

NodeManagerLink ( )
default

Member Function Documentation

void clear ( )
inline
void foreachBottomUp ( const NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline
void foreachTopDown ( const NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline
void initNodeChildren ( ParentsT &  parents,
bool  serial = false 
)
inline
void initRootChildren ( RootT &  root,
bool  serial = false 
)
inline
Index64 nodeCount ( ) const
inline
Index64 nodeCount ( Index  i) const
inline
void reduceBottomUp ( NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline
void reduceTopDown ( NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline

Member Data Documentation

NodeList<NodeT> mList
protected
NodeManagerLink<ChildNodeType, LEVEL-1> mNext
protected