Loading...
Searching...
No Matches
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
SweepingKernel & | operator= (const SweepingKernel &)=delete
template<typename HashOp>
void | computeVoxelSlices (HashOp hash)
| Main method that performs concurrent bi-directional sweeps.
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::v11_0::tools::FastSweeping< SdfGridT, ExtValueT >::SweepingKernel

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

## Constructor & Destructor Documentation

## SweepingKernel() [1/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>

SweepingKernel | ( | FastSweeping & | parent | ) |

inline

## SweepingKernel() [2/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>

SweepingKernel | ( | const SweepingKernel & |  | ) |

delete

## Member Function Documentation

## computeVoxelSlices()

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
template<typename HashOp>

void computeVoxelSlices | ( | HashOp | hash | ) |

inline

Main method that performs concurrent bi-directional sweeps.

## operator=()

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>

SweepingKernel & operator= | ( | const SweepingKernel & |  | ) |

delete

## sweep()

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>

void sweep | ( |  | ) |

inline

## threeNghbr() [1/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
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

inline

Note
  Extending an integer field is based on the nearest-neighbor interpolation

## threeNghbr() [2/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
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

inline

Note
  Extending a non-integer field is based on a weighted interpolation

## twoNghbr() [1/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
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

inline

Note
  Extending an integer field is based on the nearest-neighbor interpolation

## twoNghbr() [2/2]

template<typename SdfGridT, typename ExtValueT = typename SdfGridT::ValueType>
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

inline

Note
  Extending a non-integer field is based on a weighted interpolation