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 <MRVoxels/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: