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 |
Class to use in tbb::parallel_reduce for tree operations that do not require an output tree.
TreeT | tree type |
Proc | functor for operations on a tree |
using MR::RangeProcessorSingle< TreeT, Proc >::InterruptFunc = std::function<bool( void )> |
using MR::RangeProcessorSingle< TreeT, Proc >::LeafIterT = typename TreeT::LeafCIter |
using MR::RangeProcessorSingle< TreeT, Proc >::LeafRange = typename openvdb::tree::IteratorRange<LeafIterT> |
using MR::RangeProcessorSingle< TreeT, Proc >::ProgressHolder = std::shared_ptr<RangeProgress> |
using MR::RangeProcessorSingle< TreeT, Proc >::TileIterT = typename TreeT::ValueAllCIter |
using MR::RangeProcessorSingle< TreeT, Proc >::TileRange = typename openvdb::tree::IteratorRange<TileIterT> |
using MR::RangeProcessorSingle< TreeT, Proc >::TreeAccessor = typename openvdb::tree::ValueAccessor<const TreeT> |
using MR::RangeProcessorSingle< TreeT, Proc >::ValueT = typename TreeT::ValueType |
|
inline |
|
inline |
Splitting constructor: don't copy the original processor's output tree.
|
inline |
Merge another processor's output tree into this processor's tree.
|
inline |
Transform each leaf node in the given range.
|
inline |
Transform each non-background tile in the given range.
|
inline |
|
inline |
Proc MR::RangeProcessorSingle< TreeT, Proc >::mProc |