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::v13_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.