Multi-threaded computation of surface area, volume and average mean-curvature for narrow band level sets.
More...
|
| | LevelSetMeasure (const GridType &grid, InterruptT *interrupt=nullptr) |
| | Main constructor from a grid. More...
|
| |
| | LevelSetMeasure (ManagerType &leafs, Real Dx, InterruptT *interrupt) |
| |
| void | reinit (const GridType &grid) |
| | Re-initialize using the specified grid. More...
|
| |
| void | reinit (ManagerType &leafs, Real dx) |
| | Re-initialize using the specified LeafManager and voxelSize. More...
|
| |
| virtual | ~LevelSetMeasure () |
| | Destructor. More...
|
| |
| int | getGrainSize () const |
| |
| void | setGrainSize (int grainsize) |
| | Set the grain-size used for multi-threading. More...
|
| |
| void | measure (Real &area, Real &volume, bool useWorldUnits=true) |
| | Compute the surface area and volume of the level set. Use the last argument to specify the result in world or voxel units. More...
|
| |
| void | measure (Real &area, Real &volume, Real &avgMeanCurvature, bool useWorldUnits=true) |
| | Compute the surface area, volume, and average mean-curvature of the level set. Use the last argument to specify the result in world or voxel units. More...
|
| |
template<typename GridT, typename InterruptT = util::NullInterrupter>
class openvdb::v4_0_2::tools::LevelSetMeasure< GridT, InterruptT >
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.