OpenVDB 11.0.0

Loading...
Searching...
No Matches
CheckLevelSet< GridType > Class Template Reference

Class that performs various types of checks on narrow-band level sets. More...

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

## Public Types
using | ValueType = typename GridType::ValueType
using | MaskType = typename GridType::template ValueConverter<bool>::Type

## Public Member Functions
| CheckLevelSet (const GridType &grid)
MaskType::ConstPtr | mask () const
| Return a boolean mask of all the values (i.e. tiles and/or voxels) that have failed one or more checks.
MaskType::Ptr | mask ()
Index64 | valueCount () const
| Return the number of values (i.e. background, tiles or voxels) that have failed one or more checks.
Index64 | failureCount () const
| Return total number of failed checks.
const GridType & | grid () const
| Return a const reference to the grid.
void | clear ()
| Clear the mask and error counter.
std::string | checkClassType () const
| Return message if the grid's class is a level set.
std::string | checkTransform () const
| Return a nonempty message if the grid's transform does not have uniform scaling.
std::string | checkBackground (Real halfWidth=LEVEL_SET_HALF_WIDTH) const
| Return a nonempty message if the background value is larger than or equal to the halfWidth*voxelSize.
std::string | checkTiles () const
| Return a nonempty message if the grid has no active tile values.
std::string | checkFinite (bool updateMask=false)
| Return a nonempty message if any of the values are not finite. i.e. NaN or inf.
std::string | checkRange (bool updateMask=false)
| Return a nonempty message if the active voxel values are out-of-range.
std::string | checkInactiveValues (bool updateMask=false)
| Return a nonempty message if the the inactive values do not have a magnitude equal to the background value.
std::string | checkEikonal (bool updateMask=false, ValueType minV=0.5, ValueType maxV=1.5)
| Return a nonempty message if the norm of the gradient of the active voxels is out of the range minV to maxV.
std::string | check (size_t n=9, bool updateMask=false)
| Return a nonempty message if an error or issue is detected. Only runs tests with a number lower than or equal to n, where:

## Static Public Member Functions
static std::string | checkValueType ()
| Return a nonempty message if the grid's value type is a floating point.

## Detailed Description

template<class GridType>
class openvdb::v11_0::tools::CheckLevelSet< GridType >

Class that performs various types of checks on narrow-band level sets.

Note
  The most common usage is to simply call CheckLevelSet::check()

## Member Typedef Documentation

## ◆ MaskType

template<class GridType>

using MaskType = typename GridType::template ValueConverter<bool>::Type

## ◆ ValueType

template<class GridType>

using ValueType = typename GridType::ValueType

## Constructor & Destructor Documentation

## ◆ CheckLevelSet()

template<class GridType>

CheckLevelSet | ( | const GridType & | grid | ) |
| inline

## Member Function Documentation

## ◆ check()

template<class GridType>

std::string check | ( | size_t | n = 9,
|  | bool | updateMask = false )
| inline

Return a nonempty message if an error or issue is detected. Only runs tests with a number lower than or equal to n, where:

Fast checks 1: value type is floating point 2: has level set class type 3: has uniform scale 4: background value is positive and n*dx

Slower checks 5: no active tiles 6: all the values are finite, i.e not NaN or infinite 7: active values in range between +-background 8: abs of inactive values = background, i.e. assuming a symmetric narrow band!

Relatively slow check (however multi-threaded) 9: norm of gradient at zero-crossings is one, i.e. satisfied the Eikonal equation.

## ◆ checkBackground()

template<class GridType>

std::string checkBackground | ( | Real | halfWidth = LEVEL_SET_HALF_WIDTH | ) | const
| inline

Return a nonempty message if the background value is larger than or equal to the halfWidth*voxelSize.

Note
  Small run-time overhead

## ◆ checkClassType()

template<class GridType>

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

Return message if the grid's class is a level set.

Note
  Small run-time overhead

## ◆ checkEikonal()

template<class GridType>

std::string checkEikonal | ( | bool | updateMask = false,
|  | ValueType | minV = 0.5,
|  | ValueType | maxV = 1.5 )
| inline

Return a nonempty message if the norm of the gradient of the active voxels is out of the range minV to maxV.

Note
  Significant run-time overhead

## ◆ checkFinite()

template<class GridType>

std::string checkFinite | ( | bool | updateMask = false | ) |
| inline

Return a nonempty message if any of the values are not finite. i.e. NaN or inf.

Note
  Medium run-time overhead

## ◆ checkInactiveValues()

template<class GridType>

std::string checkInactiveValues | ( | bool | updateMask = false | ) |
| inline

Return a nonempty message if the the inactive values do not have a magnitude equal to the background value.

Note
  Medium run-time overhead

## ◆ checkRange()

template<class GridType>

std::string checkRange | ( | bool | updateMask = false | ) |
| inline

Return a nonempty message if the active voxel values are out-of-range.

Note
  Medium run-time overhead

## ◆ checkTiles()

template<class GridType>

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

Return a nonempty message if the grid has no active tile values.

Note
  Medium run-time overhead

## ◆ checkTransform()

template<class GridType>

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

Return a nonempty message if the grid's transform does not have uniform scaling.

Note
  Small run-time overhead

## ◆ checkValueType()

template<class GridType>

std::string checkValueType | ( |  | ) |
| inline static

Return a nonempty message if the grid's value type is a floating point.

Note
  No run-time overhead

## ◆ clear()

template<class GridType>

void clear | ( |  | ) |
| inline

Clear the mask and error counter.

## ◆ failureCount()

template<class GridType>

Index64 failureCount | ( |  | ) | const
| inline

Return total number of failed checks.

Note
  If only one check was performed and the mask was updated failureCount equals valueCount.

## ◆ grid()

template<class GridType>

const GridType & grid | ( |  | ) | const
| inline

Return a const reference to the grid.

## ◆ mask() [1/2]

template<class GridType>

MaskType::Ptr mask | ( |  | ) |
| inline

## ◆ mask() [2/2]

template<class GridType>

MaskType::ConstPtr mask | ( |  | ) | const
| inline

Return a boolean mask of all the values (i.e. tiles and/or voxels) that have failed one or more checks.

## ◆ valueCount()

template<class GridType>

Index64 valueCount | ( |  | ) | const
| inline

Return the number of values (i.e. background, tiles or voxels) that have failed one or more checks.