|
OpenVDB 10.0.1
|
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.
|
inline |
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. |
|
inline |
Compute the volume of the level set surface.
| useWorldUnits | Specifies if the result is in world or voxel units. |