OpenVDB: CheckEikonal< GridT, TreeIterT, StencilT > Struct Template Reference

OpenVDB 10.0.1

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
CheckEikonal< GridT, TreeIterT, StencilT > Struct Template Reference

Checks the norm of the gradient at zero-crossing voxels against a range. More...

`#include <openvdb/tools/Diagnostics.h>`

## Public Types
using | ValueType = typename GridT::ValueType
using | TileIterT = TreeIterT
using | VoxelIterT = typename tree::IterTraits< typename TreeIterT::NodeT, typename TreeIterT::ValueIterT > ::template NodeConverter< typename GridT::TreeType::LeafNodeType >::Type

## Public Member Functions
| CheckEikonal (const GridT &grid, const ValueType &_min, const ValueType &_max)
| Constructor taking a grid and a range to be tested against.
| CheckEikonal (const CheckEikonal &other)
bool | operator() (const ValueType &v) const
| Return true if the value is smaller than min or larger than max.
bool | operator() (const TreeIterT &) const
| Return true if zero is outside the range.
bool | operator() (const VoxelIterT &iter) const
| Return true if the norm of the gradient at a zero-crossing voxel location of the iterator is out of range.
std::string | str () const
| Return a string describing a failed check.

## Public Attributes
StencilT | stencil
const ValueType | minVal
const ValueType | maxVal

## Detailed Description

template<typename GridT, typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
struct openvdb::v10_0::tools::CheckEikonal< GridT, TreeIterT, StencilT >

Checks the norm of the gradient at zero-crossing voxels against a range.

CheckEikonal differs from CheckNormGrad in that it only checks the norm of the gradient at voxel locations where the FD-stencil crosses the zero isosurface!

## Member Typedef Documentation

## ◆ TileIterT

using TileIterT = TreeIterT

## ◆ ValueType

using ValueType = typename GridT::ValueType

## ◆ VoxelIterT

using VoxelIterT = typename tree::IterTraits<typename TreeIterT::NodeT, typename TreeIterT::ValueIterT> ::template NodeConverter< typename GridT::TreeType::LeafNodeType>::Type

## Constructor & Destructor Documentation

## ◆ CheckEikonal() [1/2]

CheckEikonal | ( | const GridT & | grid,
|  | const ValueType & | _min,
|  | const ValueType & | _max
| ) |  |
| inline

Constructor taking a grid and a range to be tested against.

## ◆ CheckEikonal() [2/2]

CheckEikonal | ( | const CheckEikonal< GridT, TreeIterT, StencilT > & | other | ) |
| inline

## Member Function Documentation

## ◆ operator()() [1/3]

bool operator() | ( | const TreeIterT & |  | ) | const
| inline

Return true if zero is outside the range.

Note
  We assume that the norm of the gradient of a tile is always zero.

## ◆ operator()() [2/3]

bool operator() | ( | const ValueType & | v | ) | const
| inline

Return true if the value is smaller than min or larger than max.

## ◆ operator()() [3/3]

bool operator() | ( | const VoxelIterT & | iter | ) | const
| inline

Return true if the norm of the gradient at a zero-crossing voxel location of the iterator is out of range.

## ◆ str()

std::string str | ( |  | ) | const
| inline

Return a string describing a failed check.

## Member Data Documentation

## ◆ maxVal

const ValueType maxVal

## ◆ minVal

const ValueType minVal

## ◆ stencil

StencilT stencil
| mutable