MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::RangeProcessorSingle< TreeT, Proc > Class Template Reference

Class to use in tbb::parallel_reduce for tree operations that do not require an output tree. More...

#include <MROpenVDBHelper.h>

Public Types

using InterruptFunc = std::function<bool( void )>
 
using ProgressHolder = std::shared_ptr<RangeProgress>
 
using ValueT = typename TreeT::ValueType
 
using LeafIterT = typename TreeT::LeafCIter
 
using TileIterT = typename TreeT::ValueAllCIter
 
using LeafRange = typename openvdb::tree::IteratorRange<LeafIterT>
 
using TileRange = typename openvdb::tree::IteratorRange<TileIterT>
 
using TreeAccessor = typename openvdb::tree::ValueAccessor<const TreeT>
 

Public Member Functions

 RangeProcessorSingle (const openvdb::math::CoordBBox &b, const TreeT &inT, const Proc &proc)
 
 RangeProcessorSingle (RangeProcessorSingle &other, tbb::split)
 Splitting constructor: don't copy the original processor's output tree.
 
void setInterrupt (const InterruptFunc &f)
 
void setProgressHolder (ProgressHolder progressHolder)
 
void operator() (const LeafRange &rCRef)
 Transform each leaf node in the given range.
 
void operator() (const TileRange &rCRef)
 Transform each non-background tile in the given range.
 
void join (RangeProcessorSingle &other)
 Merge another processor's output tree into this processor's tree.
 

Public Attributes

Proc mProc
 

Detailed Description

template<typename TreeT, typename Proc>
class MR::RangeProcessorSingle< TreeT, Proc >

Class to use in tbb::parallel_reduce for tree operations that do not require an output tree.

Template Parameters
TreeTtree type
Procfunctor for operations on a tree

Member Function Documentation

◆ operator()()

template<typename TreeT , typename Proc >
void MR::RangeProcessorSingle< TreeT, Proc >::operator() ( const TileRange & rCRef)
inline

Transform each non-background tile in the given range.

Skip voxels and background tiles.


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