Class that performs various types of checks on narrow-band level sets.
More...
#include <openvdb/tools/Diagnostics.h>
|
using | ValueType = typename GridType::ValueType |
|
using | MaskType = typename GridType::template ValueConverter< bool >::Type |
|
|
| CheckLevelSet (const GridType &grid) |
|
Index64 | valueCount () const |
| Return the number of values (i.e. background, tiles or voxels) that have failed one or more checks. More...
|
|
Index64 | failureCount () const |
| Return total number of failed checks. More...
|
|
const GridType & | grid () const |
| Return a const reference to the grid. More...
|
|
void | clear () |
| Clear the mask and error counter. More...
|
|
std::string | checkClassType () const |
| Return message if the grid's class is a level set. More...
|
|
std::string | checkTransform () const |
| Return a nonempty message if the grid's transform does not have uniform scaling. More...
|
|
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. More...
|
|
std::string | checkTiles () const |
| Return a nonempty message if the grid has no active tile values. More...
|
|
std::string | checkFinite (bool updateMask=false) |
| Return a nonempty message if any of the values are not finite. i.e. NaN or inf. More...
|
|
std::string | checkRange (bool updateMask=false) |
| Return a nonempty message if the active voxel values are out-of-range. More...
|
|
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. More...
|
|
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. More...
|
|
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: More...
|
|
|
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. More...
|
|
MaskType::Ptr | mask () |
| Return a boolean mask of all the values (i.e. tiles and/or voxels) that have failed one or more checks. More...
|
|
|
static std::string | checkValueType () |
| Return a nonempty message if the grid's value type is a floating point. More...
|
|
template<class GridType>
class openvdb::v12_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()
using MaskType = typename GridType::template ValueConverter<bool>::Type |
using ValueType = typename GridType::ValueType |
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.
Return a nonempty message if the background value is larger than or equal to the halfWidth*voxelSize.
- Note
- Small run-time overhead
std::string checkClassType |
( |
| ) |
const |
|
inline |
Return message if the grid's class is a level set.
- Note
- Small run-time overhead
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
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
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
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
std::string checkTiles |
( |
| ) |
const |
|
inline |
Return a nonempty message if the grid has no active tile values.
- Note
- Medium run-time overhead
std::string checkTransform |
( |
| ) |
const |
|
inline |
Return a nonempty message if the grid's transform does not have uniform scaling.
- Note
- Small run-time overhead
static std::string checkValueType |
( |
| ) |
|
|
inlinestatic |
Return a nonempty message if the grid's value type is a floating point.
- Note
- No run-time overhead
Clear the mask and error counter.
Return total number of failed checks.
- Note
- If only one check was performed and the mask was updated failureCount equals valueCount.
const GridType& grid |
( |
| ) |
const |
|
inline |
Return a const reference to the grid.
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.
Return a boolean mask of all the values (i.e. tiles and/or voxels) that have failed one or more checks.
Return the number of values (i.e. background, tiles or voxels) that have failed one or more checks.