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) | 
|  | 
| 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 std::string | checkValueType () | 
|  | Return a nonempty message if the grid's value type is a floating point. 
 | 
|  | 
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() 
◆ MaskType
template<class GridType> 
      
        
          | using MaskType = typename GridType::template ValueConverter<bool>::Type | 
      
 
 
◆ ValueType
template<class GridType> 
      
        
          | using ValueType = typename GridType::ValueType | 
      
 
 
◆ CheckLevelSet()
◆ 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()
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()
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> 
  
  | 
        
          | 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()
Clear the mask and error counter. 
 
 
◆ failureCount()
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]
◆ 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()
Return the number of values (i.e. background, tiles or voxels) that have failed one or more checks.