OpenVDB  9.0.1
Public Types | Public Member Functions | Public Attributes | List of all members
CheckMagnitude< GridT, TreeIterT > Struct Template Reference

Check that the magnitude of a value, a, is close to a fixed magnitude, b, given a fixed tolerance c. That is | |a| - |b| | <= c. More...

#include <openvdb/tools/Diagnostics.h>

Public Types

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

Public Member Functions

 CheckMagnitude (const ElementType &a, const ElementType &t=math::Tolerance< ElementType >::value())
 Default constructor. More...
 
bool operator() (const ElementType &v) const
 
template<typename T >
std::enable_if< VecTraits< T >::IsVec, bool >::type operator() (const T &v) const
 Return true if any of the vector components are infinite. More...
 
bool operator() (const TreeIterT &iter) const
 Return true if the tile at the iterator location is infinite. More...
 
bool operator() (const VoxelIterT &iter) const
 Return true if the tile at the iterator location is infinite. More...
 
std::string str () const
 Return a string describing a failed check. More...
 

Public Attributes

const ElementType absVal
 
const ElementType tolVal
 

Detailed Description

template<typename GridT, typename TreeIterT = typename GridT::ValueOffCIter>
struct openvdb::v9_0::tools::CheckMagnitude< GridT, TreeIterT >

Check that the magnitude of a value, a, is close to a fixed magnitude, b, given a fixed tolerance c. That is | |a| - |b| | <= c.

Member Typedef Documentation

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

Constructor & Destructor Documentation

CheckMagnitude ( const ElementType a,
const ElementType t = math::Tolerance<ElementType>::value() 
)
inline

Default constructor.

Member Function Documentation

bool operator() ( const ElementType v) const
inline

Return true if the magnitude of the value is not approximately equal to totVal.

std::enable_if<VecTraits<T>::IsVec, bool>::type operator() ( const T &  v) const
inline

Return true if any of the vector components are infinite.

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

Return true if the tile at the iterator location is infinite.

bool operator() ( const VoxelIterT iter) const
inline

Return true if the tile at the iterator location is infinite.

std::string str ( ) const
inline

Return a string describing a failed check.

Member Data Documentation

const ElementType absVal
const ElementType tolVal