OpenVDB  9.0.1
Classes | Public Member Functions | Protected Attributes | List of all members
NodeList< NodeT > Class Template Reference

This class caches tree nodes of a specific type in a linear array. More...

#include <openvdb/tree/NodeManager.h>

Classes

class  NodeRange
 

Public Member Functions

 NodeList ()=default
 
NodeT & operator() (size_t n) const
 
NodeT *& operator[] (size_t n)
 
Index64 nodeCount () const
 
void clear ()
 
template<typename RootT >
bool initRootChildren (RootT &root)
 
template<typename ParentsT , typename NodeFilterT >
bool initNodeChildren (ParentsT &parents, const NodeFilterT &nodeFilter=NodeFilterT(), bool serial=false)
 
NodeRange nodeRange (size_t grainsize=1) const
 Return a TBB-compatible NodeRange. More...
 
template<typename NodeOp >
void foreach (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void reduce (NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void foreachWithIndex (const NodeOp &op, bool threaded=true, size_t grainSize=1)
 
template<typename NodeOp >
void reduceWithIndex (NodeOp &op, bool threaded=true, size_t grainSize=1)
 

Protected Attributes

size_t mNodeCount = 0
 
std::unique_ptr< NodeT *[]> mNodePtrs
 
NodeT ** mNodes = nullptr
 

Detailed Description

template<typename NodeT>
class openvdb::v9_0::tree::NodeList< NodeT >

This class caches tree nodes of a specific type in a linear array.

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

Constructor & Destructor Documentation

NodeList ( )
default

Member Function Documentation

void clear ( )
inline
void foreach ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline
void foreachWithIndex ( const NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline
bool initNodeChildren ( ParentsT &  parents,
const NodeFilterT &  nodeFilter = NodeFilterT(),
bool  serial = false 
)
inline
bool initRootChildren ( RootT &  root)
inline
Index64 nodeCount ( ) const
inline
NodeRange nodeRange ( size_t  grainsize = 1) const
inline

Return a TBB-compatible NodeRange.

NodeT& operator() ( size_t  n) const
inline
NodeT*& operator[] ( size_t  n)
inline
void reduce ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline
void reduceWithIndex ( NodeOp &  op,
bool  threaded = true,
size_t  grainSize = 1 
)
inline

Member Data Documentation

size_t mNodeCount = 0
protected
std::unique_ptr<NodeT*[]> mNodePtrs
protected
NodeT** mNodes = nullptr
protected