| 
    OpenVDB
    13.0.0
    
   | 
 
Multi-threaded computation of surface area, volume and average mean-curvature for narrow band level sets. More...
#include <openvdb/tools/LevelSetMeasure.h>
Public Types | |
| using | GridType = GridT | 
| using | TreeType = typename GridType::TreeType | 
| using | ValueType = typename TreeType::ValueType | 
| using | ManagerType = typename tree::LeafManager< const TreeType > | 
Public Member Functions | |
| LevelSetMeasure (const GridType &grid, InterruptT *interrupt=nullptr) | |
| Main constructor from a grid.  More... | |
| void | init (const GridType &grid) | 
| Re-initialize using the specified grid.  More... | |
| virtual | ~LevelSetMeasure () | 
| Destructor.  More... | |
| int | getGrainSize () const | 
| void | setGrainSize (int grainsize) | 
| Set the grain-size used for multi-threading.  More... | |
| Real | area (bool useWorldUnits=true) | 
| Compute the surface area of the level set.  More... | |
| Real | volume (bool useWorldUnits=true) | 
| Compute the volume of the level set surface.  More... | |
| Real | totMeanCurvature (bool useWorldUnits=true) | 
| Compute the total mean curvature of the level set surface.  More... | |
| Real | totGaussianCurvature (bool useWorldUnits=true) | 
| Compute the total gaussian curvature of the level set surface.  More... | |
| Real | avgMeanCurvature (bool useWorldUnits=true) | 
| Compute the average mean curvature of the level set surface.  More... | |
| Real | avgGaussianCurvature (bool useWorldUnits=true) | 
| Compute the average gaussian curvature of the level set surface.  More... | |
| int | eulerCharacteristic () | 
| Compute the Euler characteristic of the level set surface.  More... | |
| int | genus () | 
| Compute the genus of the level set surface.  More... | |
Multi-threaded computation of surface area, volume and average mean-curvature for narrow band level sets.
To reduce the risk of round-off errors (primarily due to catastrophic cancellation) and guarantee determinism during multi-threading this class is implemented using parallel_for, and delayed reduction of a sorted list.
| using GridType = GridT | 
| using ManagerType = typename tree::LeafManager<const TreeType> | 
| using TreeType = typename GridType::TreeType | 
| using ValueType = typename TreeType::ValueType | 
      
  | 
  inline | 
Main constructor from a grid.
| grid | The level set to be measured. | 
| interrupt | Optional interrupter. | 
| RuntimeError | if the grid is not a level set or if it's empty. | 
      
  | 
  inlinevirtual | 
Destructor.
Compute the surface area of the level set.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
Compute the average gaussian curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
Compute the average mean curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
      
  | 
  inline | 
Compute the Euler characteristic of the level set surface.
      
  | 
  inline | 
Compute the genus of the level set surface.
      
  | 
  inline | 
      
  | 
  inline | 
Re-initialize using the specified grid.
| grid | The level set to be measured. | 
| RuntimeError | if the grid is not a level set or if it's empty. | 
      
  | 
  inline | 
Set the grain-size used for multi-threading.
Compute the total gaussian curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
Compute the total mean curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
 1.8.11