HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT > Class Template Reference

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

#include <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::OPENVDB_VERSION_NAME::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.

Definition at line 54 of file NodeManager.h.

Constructor & Destructor Documentation

template<typename NodeT>
openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::NodeList ( )
default

Member Function Documentation

template<typename NodeT>
void openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::clear ( void  )
inline

Definition at line 65 of file NodeManager.h.

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

Definition at line 268 of file NodeManager.h.

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

Definition at line 284 of file NodeManager.h.

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

Definition at line 105 of file NodeManager.h.

template<typename NodeT>
template<typename RootT >
bool openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::initRootChildren ( RootT &  root)
inline

Definition at line 74 of file NodeManager.h.

template<typename NodeT>
Index64 openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::nodeCount ( ) const
inline

Definition at line 63 of file NodeManager.h.

template<typename NodeT>
NodeRange openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::nodeRange ( size_t  grainsize = 1) const
inline

Return a TBB-compatible NodeRange.

Definition at line 262 of file NodeManager.h.

template<typename NodeT>
NodeT& openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::operator() ( size_t  n) const
inline

Definition at line 59 of file NodeManager.h.

template<typename NodeT>
NodeT*& openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::operator[] ( size_t  n)
inline

Definition at line 61 of file NodeManager.h.

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

Definition at line 275 of file NodeManager.h.

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

Definition at line 292 of file NodeManager.h.

Member Data Documentation

template<typename NodeT>
size_t openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::mNodeCount = 0
protected

Definition at line 388 of file NodeManager.h.

template<typename NodeT>
std::unique_ptr<NodeT*[]> openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::mNodePtrs
protected

Definition at line 389 of file NodeManager.h.

template<typename NodeT>
NodeT** openvdb::OPENVDB_VERSION_NAME::tree::NodeList< NodeT >::mNodes = nullptr
protected

Definition at line 390 of file NodeManager.h.


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