OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
DynamicNodeManagerLink< 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

 DynamicNodeManagerLink ()=default
 
template<typename NodeOpT, typename RootT>
void foreachTopDown (const NodeOpT &op, RootT &root, bool threaded, size_t leafGrainSize, size_t nonLeafGrainSize)
 
template<typename FilterOpT, typename ParentT>
void foreachTopDownRecurse (const FilterOpT &filterOp, ParentT &parent, bool threaded, size_t leafGrainSize, size_t nonLeafGrainSize)
 
template<typename NodeOpT, typename RootT>
void reduceTopDown (NodeOpT &op, RootT &root, bool threaded, size_t leafGrainSize, size_t nonLeafGrainSize)
 
template<typename FilterOpT, typename ParentT>
void reduceTopDownRecurse (FilterOpT &filterOp, ParentT &parent, bool threaded, size_t leafGrainSize, size_t nonLeafGrainSize)
 

Protected Attributes

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

Detailed Description

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

◆ ChildNodeType

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

◆ NonConstChildNodeType

template<typename NodeT, Index LEVEL>
using NonConstChildNodeType = typename NodeT::ChildNodeType

Constructor & Destructor Documentation

◆ DynamicNodeManagerLink()

template<typename NodeT, Index LEVEL>
DynamicNodeManagerLink ( )
default

Member Function Documentation

◆ foreachTopDown()

template<typename NodeT, Index LEVEL>
template<typename NodeOpT, typename RootT>
void foreachTopDown ( const NodeOpT & op,
RootT & root,
bool threaded,
size_t leafGrainSize,
size_t nonLeafGrainSize )
inline

◆ foreachTopDownRecurse()

template<typename NodeT, Index LEVEL>
template<typename FilterOpT, typename ParentT>
void foreachTopDownRecurse ( const FilterOpT & filterOp,
ParentT & parent,
bool threaded,
size_t leafGrainSize,
size_t nonLeafGrainSize )
inline

◆ reduceTopDown()

template<typename NodeT, Index LEVEL>
template<typename NodeOpT, typename RootT>
void reduceTopDown ( NodeOpT & op,
RootT & root,
bool threaded,
size_t leafGrainSize,
size_t nonLeafGrainSize )
inline

◆ reduceTopDownRecurse()

template<typename NodeT, Index LEVEL>
template<typename FilterOpT, typename ParentT>
void reduceTopDownRecurse ( FilterOpT & filterOp,
ParentT & parent,
bool threaded,
size_t leafGrainSize,
size_t nonLeafGrainSize )
inline

Member Data Documentation

◆ mList

template<typename NodeT, Index LEVEL>
NodeList<NodeT> mList
protected

◆ mNext

template<typename NodeT, Index LEVEL>
DynamicNodeManagerLink<ChildNodeType, LEVEL-1> mNext
protected