OpenVDB  12.0.0
Classes | Public Member Functions | List of all members
FastSweeping< SdfGridT, ExtValueT >::SweepingKernel Struct Reference

Private class of FastSweeping to perform concurrent fast sweeping in two directions. More...

#include <openvdb/tools/FastSweeping.h>

Classes

struct  NN
 

Public Member Functions

 SweepingKernel (FastSweeping &parent)
 
 SweepingKernel (const SweepingKernel &)=delete
 
SweepingKerneloperator= (const SweepingKernel &)=delete
 
template<typename HashOp >
void computeVoxelSlices (HashOp hash)
 Main method that performs concurrent bi-directional sweeps. More...
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
ExtT twoNghbr (const NN &d1, const NN &d2, const SdfT &, const ExtT &v1, const ExtT &v2) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
ExtT twoNghbr (const NN &d1, const NN &d2, const SdfT &w, const ExtT &v1, const ExtT &v2) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if< std::is_same< ExtT, int >::value, int >::type = 0>
ExtT threeNghbr (const NN &d1, const NN &d2, const NN &d3, const SdfT &, const ExtT &v1, const ExtT &v2, const ExtT &v3) const
 
template<typename ExtT = ExtValueT, typename SdfT = SdfValueT, typename std::enable_if<!std::is_same< ExtT, int >::value, int >::type = 0>
ExtT threeNghbr (const NN &d1, const NN &d2, const NN &d3, const SdfT &w, const ExtT &v1, const ExtT &v2, const ExtT &v3) const
 
void sweep ()
 

Detailed Description

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
struct openvdb::v12_0::tools::FastSweeping< SdfGridT, ExtValueT >::SweepingKernel

Private class of FastSweeping to perform concurrent fast sweeping in two directions.

Constructor & Destructor Documentation

SweepingKernel ( FastSweeping parent)
inline
SweepingKernel ( const SweepingKernel )
delete

Member Function Documentation

void computeVoxelSlices ( HashOp  hash)
inline

Main method that performs concurrent bi-directional sweeps.

SweepingKernel& operator= ( const SweepingKernel )
delete
void sweep ( )
inline
ExtT threeNghbr ( const NN d1,
const NN d2,
const NN d3,
const SdfT &  ,
const ExtT &  v1,
const ExtT &  v2,
const ExtT &  v3 
) const
inline
Note
Extending an integer field is based on the nearest-neighbor interpolation
ExtT threeNghbr ( const NN d1,
const NN d2,
const NN d3,
const SdfT &  w,
const ExtT &  v1,
const ExtT &  v2,
const ExtT &  v3 
) const
inline
Note
Extending a non-integer field is based on a weighted interpolation
ExtT twoNghbr ( const NN d1,
const NN d2,
const SdfT &  ,
const ExtT &  v1,
const ExtT &  v2 
) const
inline
Note
Extending an integer field is based on the nearest-neighbor interpolation
ExtT twoNghbr ( const NN d1,
const NN d2,
const SdfT &  w,
const ExtT &  v1,
const ExtT &  v2 
) const
inline
Note
Extending a non-integer field is based on a weighted interpolation