Class to use in tbb::parallel_reduce for openvdb::tree transformation. More...
#include <MROpenVDBHelper.h>
Public Types | |
using | InterruptFunc = std::function<bool( void )> |
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 | InTreeAccessor = typename openvdb::tree::ValueAccessor<const TreeT> |
using | OutTreeAccessor = typename openvdb::tree::ValueAccessor<TreeT> |
Public Member Functions | |
RangeProcessor (const openvdb::math::CoordBBox &b, const TreeT &inT, TreeT &outT, const Transformer &xform) | |
RangeProcessor (const openvdb::math::CoordBBox &b, const TreeT &inTree, const Transformer &xform) | |
~RangeProcessor () | |
RangeProcessor (RangeProcessor &other, tbb::split) | |
Splitting constructor: don't copy the original processor's output tree. | |
void | setInterrupt (const InterruptFunc &f) |
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 (RangeProcessor &other) |
Merge another processor's output tree into this processor's tree. | |
Class to use in tbb::parallel_reduce for openvdb::tree transformation.
similar to openvdb::RangeProcessor
TreeT | tree type |
Transformer | functor to transform tree |
using MR::RangeProcessor< TreeT, Transformer >::InterruptFunc = std::function<bool( void )> |
using MR::RangeProcessor< TreeT, Transformer >::InTreeAccessor = typename openvdb::tree::ValueAccessor<const TreeT> |
using MR::RangeProcessor< TreeT, Transformer >::LeafIterT = typename TreeT::LeafCIter |
using MR::RangeProcessor< TreeT, Transformer >::LeafRange = typename openvdb::tree::IteratorRange<LeafIterT> |
using MR::RangeProcessor< TreeT, Transformer >::OutTreeAccessor = typename openvdb::tree::ValueAccessor<TreeT> |
using MR::RangeProcessor< TreeT, Transformer >::TileIterT = typename TreeT::ValueAllCIter |
using MR::RangeProcessor< TreeT, Transformer >::TileRange = typename openvdb::tree::IteratorRange<TileIterT> |
using MR::RangeProcessor< TreeT, Transformer >::ValueT = typename TreeT::ValueType |
|
inline |
|
inline |
|
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 |