OpenVDB 13.0.0

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::v13_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