HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::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 <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::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.

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

Definition at line 402 of file NodeManager.h.

Member Typedef Documentation

template<typename NodeT, Index LEVEL>
using openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::ChildNodeType = typename CopyConstness<NodeT, NonConstChildNodeType>::Type

Definition at line 406 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
using openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::NonConstChildNodeType = typename NodeT::ChildNodeType

Definition at line 405 of file NodeManager.h.

Constructor & Destructor Documentation

template<typename NodeT, Index LEVEL>
openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::NodeManagerLink ( )
default

Member Function Documentation

template<typename NodeT, Index LEVEL>
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::clear ( void  )
inline

Definition at line 410 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::foreachBottomUp ( const NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline

Definition at line 434 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::foreachTopDown ( const NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline

Definition at line 441 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename ParentsT >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::initNodeChildren ( ParentsT &  parents,
bool  serial = false 
)
inline

Definition at line 420 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename RootT >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::initRootChildren ( RootT &  root,
bool  serial = false 
)
inline

Definition at line 413 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
Index64 openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::nodeCount ( ) const
inline

Definition at line 426 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
Index64 openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::nodeCount ( Index  i) const
inline

Definition at line 428 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::reduceBottomUp ( NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline

Definition at line 448 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
template<typename NodeOp >
void openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::reduceTopDown ( NodeOp &  op,
bool  threaded,
size_t  grainSize 
)
inline

Definition at line 455 of file NodeManager.h.

Member Data Documentation

template<typename NodeT, Index LEVEL>
NodeList<NodeT> openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::mList
protected

Definition at line 462 of file NodeManager.h.

template<typename NodeT, Index LEVEL>
NodeManagerLink<ChildNodeType, LEVEL-1> openvdb::OPENVDB_VERSION_NAME::tree::NodeManagerLink< NodeT, LEVEL >::mNext
protected

Definition at line 463 of file NodeManager.h.


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