OpenVDB 11.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
SparseMaskedExtractor< DenseType, MaskTreeType > Class Template Reference

Functor-based class used to extract data from a dense grid, at the index-space intersection with a supplied mask in the form of a sparse tree. The extractSparseTreeWithMask function wraps this class. More...

#include <openvdb/tools/DenseSparseTools.h>

Public Types

using _ResultTreeType = typename DSConverter<DenseType, MaskTreeType>::Type
 
using ResultTreeType = _ResultTreeType
 
using ResultLeafNodeType = typename ResultTreeType::LeafNodeType
 
using ResultValueType = typename ResultTreeType::ValueType
 
using DenseValueType = ResultValueType
 
using MaskTree = typename ResultTreeType::template ValueConverter<ValueMask>::Type
 
using MaskLeafCIter = typename MaskTree::LeafCIter
 
using MaskLeafVec = std::vector<const typename MaskTree::LeafNodeType*>
 

Public Member Functions

 SparseMaskedExtractor (const DenseType &dense, const ResultValueType &background, const MaskLeafVec &leafVec)
 
 SparseMaskedExtractor (const SparseMaskedExtractor &other, tbb::split)
 
ResultTreeType::Ptr extract (bool threaded=true)
 
void operator() (const tbb::blocked_range< size_t > &range)
 
void join (SparseMaskedExtractor &rhs)
 

Detailed Description

template<typename DenseType, typename MaskTreeType>
class openvdb::v11_0::tools::SparseMaskedExtractor< DenseType, MaskTreeType >

Functor-based class used to extract data from a dense grid, at the index-space intersection with a supplied mask in the form of a sparse tree. The extractSparseTreeWithMask function wraps this class.

Member Typedef Documentation

◆ _ResultTreeType

template<typename DenseType , typename MaskTreeType >
using _ResultTreeType = typename DSConverter<DenseType, MaskTreeType>::Type

◆ DenseValueType

template<typename DenseType , typename MaskTreeType >
using DenseValueType = ResultValueType

◆ MaskLeafCIter

template<typename DenseType , typename MaskTreeType >
using MaskLeafCIter = typename MaskTree::LeafCIter

◆ MaskLeafVec

template<typename DenseType , typename MaskTreeType >
using MaskLeafVec = std::vector<const typename MaskTree::LeafNodeType*>

◆ MaskTree

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

◆ ResultLeafNodeType

template<typename DenseType , typename MaskTreeType >
using ResultLeafNodeType = typename ResultTreeType::LeafNodeType

◆ ResultTreeType

template<typename DenseType , typename MaskTreeType >
using ResultTreeType = _ResultTreeType

◆ ResultValueType

template<typename DenseType , typename MaskTreeType >
using ResultValueType = typename ResultTreeType::ValueType

Constructor & Destructor Documentation

◆ SparseMaskedExtractor() [1/2]

template<typename DenseType , typename MaskTreeType >
SparseMaskedExtractor ( const DenseType & dense,
const ResultValueType & background,
const MaskLeafVec & leafVec )
inline

◆ SparseMaskedExtractor() [2/2]

template<typename DenseType , typename MaskTreeType >
SparseMaskedExtractor ( const SparseMaskedExtractor< DenseType, MaskTreeType > & other,
tbb::split  )
inline

Member Function Documentation

◆ extract()

template<typename DenseType , typename MaskTreeType >
ResultTreeType::Ptr extract ( bool threaded = true)
inline

◆ join()

template<typename DenseType , typename MaskTreeType >
void join ( SparseMaskedExtractor< DenseType, MaskTreeType > & rhs)
inline

◆ operator()()

template<typename DenseType , typename MaskTreeType >
void operator() ( const tbb::blocked_range< size_t > & range)
inline