OpenVDB 11.0.0
Loading...
Searching...
No Matches
FastSweeping< SdfGridT, ExtValueT >::InitExt< OpT > Struct Template Reference

Private class of FastSweeping to perform multi-threaded initialization. More...

#include <openvdb/tools/FastSweeping.h>

Public Types

using LeafRange = typename tree::LeafManager<SdfTreeT>::LeafRange
 
using OpPoolT = tbb::enumerable_thread_specific<OpT>
 

Public Member Functions

 InitExt (FastSweeping &parent)
 
 InitExt (const InitExt &)=default
 
InitExtoperator= (const InitExt &)=delete
 
void run (SdfValueT isoValue, const OpT &opPrototype)
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
void sumHelper (ExtT &sum2, ExtT ext, bool update, const SdfT &) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
void sumHelper (ExtT &sum2, ExtT ext, bool, const SdfT &d2) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
ExtT extValHelper (ExtT extSum, const SdfT &) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
ExtT extValHelper (ExtT extSum, const SdfT &sdfSum) const
 
void operator() (const LeafRange &r) const
 
template<typename RootOrInternalNodeT >
void operator() (const RootOrInternalNodeT &node) const
 

Public Attributes

FastSweepingmParent
 
OpPoolTmOpPool
 
SdfGridT * mSdfGrid
 
ExtGridT * mExtGrid
 
SdfValueT mIsoValue
 
SdfValueT mAboveSign
 

Detailed Description

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT>
struct openvdb::v11_0::tools::FastSweeping< SdfGridT, ExtValueT >::InitExt< OpT >

Private class of FastSweeping to perform multi-threaded initialization.

Member Typedef Documentation

◆ LeafRange

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
using LeafRange = typename tree::LeafManager<SdfTreeT>::LeafRange

◆ OpPoolT

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
using OpPoolT = tbb::enumerable_thread_specific<OpT>

Constructor & Destructor Documentation

◆ InitExt() [1/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
InitExt ( FastSweeping & parent)
inline

◆ InitExt() [2/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
InitExt ( const InitExt< OpT > & )
default

Member Function Documentation

◆ extValHelper() [1/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
ExtT extValHelper ( ExtT extSum,
const SdfT &  ) const
inline

◆ extValHelper() [2/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
ExtT extValHelper ( ExtT extSum,
const SdfT & sdfSum ) const
inline

◆ operator()() [1/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
void operator() ( const LeafRange & r) const
inline

◆ operator()() [2/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
template<typename RootOrInternalNodeT >
void operator() ( const RootOrInternalNodeT & node) const
inline

◆ operator=()

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
InitExt & operator= ( const InitExt< OpT > & )
delete

◆ run()

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
void run ( SdfValueT isoValue,
const OpT & opPrototype )
inline

◆ sumHelper() [1/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
void sumHelper ( ExtT & sum2,
ExtT ext,
bool update,
const SdfT &  ) const
inline

◆ sumHelper() [2/2]

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
void sumHelper ( ExtT & sum2,
ExtT ext,
bool ,
const SdfT & d2 ) const
inline

Member Data Documentation

◆ mAboveSign

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
SdfValueT mAboveSign

◆ mExtGrid

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
ExtGridT* mExtGrid

◆ mIsoValue

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
SdfValueT mIsoValue

◆ mOpPool

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
OpPoolT* mOpPool

◆ mParent

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
FastSweeping* mParent

◆ mSdfGrid

template<typename SdfGridT , typename ExtValueT = typename SdfGridT::ValueType>
template<typename OpT >
SdfGridT* mSdfGrid