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. | |
| void | init (const GridType &grid) | 
| Re-initialize using the specified grid. | |
| virtual | ~LevelSetMeasure () | 
| Destructor. | |
| int | getGrainSize () const | 
| void | setGrainSize (int grainsize) | 
| Set the grain-size used for multi-threading. | |
| Real | area (bool useWorldUnits=true) | 
| Compute the surface area of the level set. | |
| Real | volume (bool useWorldUnits=true) | 
| Compute the volume of the level set surface. | |
| Real | totMeanCurvature (bool useWorldUnits=true) | 
| Compute the total mean curvature of the level set surface. | |
| Real | totGaussianCurvature (bool useWorldUnits=true) | 
| Compute the total gaussian curvature of the level set surface. | |
| Real | avgMeanCurvature (bool useWorldUnits=true) | 
| Compute the average mean curvature of the level set surface. | |
| Real | avgGaussianCurvature (bool useWorldUnits=true) | 
| Compute the average gaussian curvature of the level set surface. | |
| int | eulerCharacteristic () | 
| Compute the Euler characteristic of the level set surface. | |
| int | genus () | 
| Compute the genus of the level set surface. | |
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. | 
| 
 | inline | 
Compute the average gaussian curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
| 
 | inline | 
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.
| 
 | inline | 
Compute the total gaussian curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. | 
| 
 | inline | 
Compute the total mean curvature of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. |