OpenVDB 13.0.0

Loading...
Searching...
No Matches
SparseExtractor< OpType, DenseType > Class Template Reference

Functor-based class used to extract data that satisfies some criteria defined by the embedded `OpType` functor. The `extractSparseTree` function wraps this class. More...

`#include <openvdb/tools/DenseSparseTools.h>`

## Public Types
using | Index = openvdb::math::Coord::ValueType
using | DenseValueType = typename DenseType::ValueType
using | ResultTreeType = typename OpType::ResultTreeType
using | ResultValueType = typename ResultTreeType::ValueType
using | ResultLeafNodeType = typename ResultTreeType::LeafNodeType
using | MaskTree = typename ResultTreeType::template ValueConverter<ValueMask>::Type
using | Range3d = tbb::blocked_range3d<Index, Index, Index>

## Public Member Functions
| SparseExtractor (const DenseType &dense, const OpType &functor, const ResultValueType background)
| SparseExtractor (const DenseType &dense, const openvdb::math::CoordBBox &bbox, const OpType &functor, const ResultValueType background)
| SparseExtractor (SparseExtractor &other, tbb::split)
ResultTreeType::Ptr | extract (bool threaded=true)
void | operator() (const Range3d &range)
void | join (SparseExtractor &rhs)

## Detailed Description

template<typename OpType, typename DenseType>
class openvdb::v13_0::tools::SparseExtractor< OpType, DenseType >

Functor-based class used to extract data that satisfies some criteria defined by the embedded `OpType` functor. The `extractSparseTree` function wraps this class.

## Member Typedef Documentation

## ◆ DenseValueType

template<typename OpType, typename DenseType>

using DenseValueType = typename DenseType::ValueType

## ◆ Index

template<typename OpType, typename DenseType>

using Index = openvdb::math::Coord::ValueType

## ◆ MaskTree

template<typename OpType, typename DenseType>

using MaskTree = typename ResultTreeType::template ValueConverter<ValueMask>::Type

## ◆ Range3d

template<typename OpType, typename DenseType>

using Range3d = tbb::blocked_range3d<Index, Index, Index>

## ◆ ResultLeafNodeType

template<typename OpType, typename DenseType>

using ResultLeafNodeType = typename ResultTreeType::LeafNodeType

## ◆ ResultTreeType

template<typename OpType, typename DenseType>

using ResultTreeType = typename OpType::ResultTreeType

## ◆ ResultValueType

template<typename OpType, typename DenseType>

using ResultValueType = typename ResultTreeType::ValueType

## Constructor & Destructor Documentation

## ◆ SparseExtractor() [1/3]

template<typename OpType, typename DenseType>

SparseExtractor | ( | const DenseType & | dense,
|  | const OpType & | functor,
|  | const ResultValueType | background )
| inline

## ◆ SparseExtractor() [2/3]

template<typename OpType, typename DenseType>

SparseExtractor | ( | const DenseType & | dense,
|  | const openvdb::math::CoordBBox & | bbox,
|  | const OpType & | functor,
|  | const ResultValueType | background )
| inline

## ◆ SparseExtractor() [3/3]

template<typename OpType, typename DenseType>

SparseExtractor | ( | SparseExtractor< OpType, DenseType > & | other,
|  | tbb::split | )
| inline

## Member Function Documentation

## ◆ extract()

template<typename OpType, typename DenseType>

ResultTreeType::Ptr extract | ( | bool | threaded = true | ) |
| inline

## ◆ join()

template<typename OpType, typename DenseType>

void join | ( | SparseExtractor< OpType, DenseType > & | rhs | ) |
| inline

## ◆ operator()()

template<typename OpType, typename DenseType>

void operator() | ( | const Range3d & | range | ) |
| inline