HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT > Struct Template Reference

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

#include <Diagnostics.h>

Public Types

typedef GridT::ValueType ValueType
 
typedef TreeIterT TileIterT
 
typedef tree::IterTraits
< typename TreeIterT::NodeT,
typename TreeIterT::ValueIterT >
::template NodeConverter
< typename
GridT::TreeType::LeafNodeType >
::Type 
VoxelIterT
 

Public Member Functions

 HBOOST_STATIC_ASSERT (hboost::is_floating_point< ValueType >::value)
 
 CheckEikonal (const GridT &grid, const ValueType &_min, const ValueType &_max)
 Constructor taking a grid and a range to be tested against. More...
 
 CheckEikonal (const CheckEikonal &other)
 
bool operator() (const ValueType &v) const
 Return true if the value is smaller than min or larger than max. More...
 
bool operator() (const TreeIterT &) const
 Return true if zero is outside the range. More...
 
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. More...
 
std::string str () const
 Return a string describing a failed check. More...
 

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::OPENVDB_VERSION_NAME::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!

Definition at line 507 of file Diagnostics.h.

Member Typedef Documentation

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
typedef TreeIterT openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::TileIterT

Definition at line 511 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
typedef GridT::ValueType openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::ValueType

Definition at line 509 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
typedef tree::IterTraits<typename TreeIterT::NodeT, typename TreeIterT::ValueIterT>::template NodeConverter<typename GridT::TreeType::LeafNodeType>::Type openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::VoxelIterT

Definition at line 513 of file Diagnostics.h.

Constructor & Destructor Documentation

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::CheckEikonal ( const GridT &  grid,
const ValueType _min,
const ValueType _max 
)
inline

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

Definition at line 516 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::CheckEikonal ( const CheckEikonal< GridT, TreeIterT, StencilT > &  other)
inline

Definition at line 527 of file Diagnostics.h.

Member Function Documentation

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::HBOOST_STATIC_ASSERT ( hboost::is_floating_point< ValueType >::value  )
template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
bool openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::operator() ( const ValueType v) const
inline

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

Definition at line 533 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
bool openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::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.

Definition at line 537 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
bool openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::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.

Definition at line 541 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
std::string openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::str ( ) const
inline

Return a string describing a failed check.

Definition at line 549 of file Diagnostics.h.

Member Data Documentation

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
const ValueType openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::maxVal

Definition at line 557 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
const ValueType openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::minVal

Definition at line 557 of file Diagnostics.h.

template<typename GridT , typename TreeIterT = typename GridT::ValueOnCIter, typename StencilT = math::WenoStencil<GridT>>
StencilT openvdb::OPENVDB_VERSION_NAME::tools::CheckEikonal< GridT, TreeIterT, StencilT >::stencil
mutable

Definition at line 556 of file Diagnostics.h.


The documentation for this struct was generated from the following file: