OpenVDB 11.0.0
Loading...
Searching...
No Matches
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.
 
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::v11_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()

template<typename NodeT >
NodeList ( )
default

Member Function Documentation

◆ clear()

template<typename NodeT >
void clear ( )
inline

◆ foreach()

template<typename NodeT >
template<typename NodeOp >
void foreach ( const NodeOp & op,
bool threaded = true,
size_t grainSize = 1 )
inline

◆ foreachWithIndex()

template<typename NodeT >
template<typename NodeOp >
void foreachWithIndex ( const NodeOp & op,
bool threaded = true,
size_t grainSize = 1 )
inline

◆ initNodeChildren()

template<typename NodeT >
template<typename ParentsT , typename NodeFilterT >
bool initNodeChildren ( ParentsT & parents,
const NodeFilterT & nodeFilter = NodeFilterT(),
bool serial = false )
inline

◆ initRootChildren()

template<typename NodeT >
template<typename RootT >
bool initRootChildren ( RootT & root)
inline

◆ nodeCount()

template<typename NodeT >
Index64 nodeCount ( ) const
inline

◆ nodeRange()

template<typename NodeT >
NodeRange nodeRange ( size_t grainsize = 1) const
inline

Return a TBB-compatible NodeRange.

◆ operator()()

template<typename NodeT >
NodeT & operator() ( size_t n) const
inline

◆ operator[]()

template<typename NodeT >
NodeT *& operator[] ( size_t n)
inline

◆ reduce()

template<typename NodeT >
template<typename NodeOp >
void reduce ( NodeOp & op,
bool threaded = true,
size_t grainSize = 1 )
inline

◆ reduceWithIndex()

template<typename NodeT >
template<typename NodeOp >
void reduceWithIndex ( NodeOp & op,
bool threaded = true,
size_t grainSize = 1 )
inline

Member Data Documentation

◆ mNodeCount

template<typename NodeT >
size_t mNodeCount = 0
protected

◆ mNodePtrs

template<typename NodeT >
std::unique_ptr<NodeT*[]> mNodePtrs
protected

◆ mNodes

template<typename NodeT >
NodeT** mNodes = nullptr
protected