Accelerated closest surface point queries for narrow band level sets. More...
#include <openvdb/tools/VolumeToSpheres.h>
| Public Types | |
| using | Ptr = std::unique_ptr<ClosestSurfacePoint> | 
| using | TreeT = typename GridT::TreeType | 
| using | BoolTreeT = typename TreeT::template ValueConverter<bool>::Type | 
| using | Index32TreeT = typename TreeT::template ValueConverter<Index32>::Type | 
| using | Int16TreeT = typename TreeT::template ValueConverter<Int16>::Type | 
| Public Member Functions | |
| bool | search (const std::vector< Vec3R > &points, std::vector< float > &distances) | 
| Compute the distance from each input point to its closest surface point. | |
| bool | searchAndReplace (std::vector< Vec3R > &points, std::vector< float > &distances) | 
| Overwrite each input point with its closest surface point. | |
| const Index32TreeT & | indexTree () const | 
| Tree accessor. | |
| const Int16TreeT & | signTree () const | 
| Tree accessor. | |
| Static Public Member Functions | |
| template<typename InterrupterT = util::NullInterrupter> | |
| static Ptr | create (const GridT &grid, float isovalue=0.0, InterrupterT *interrupter=nullptr) | 
| Extract surface points and construct a spatial acceleration structure. | |
Accelerated closest surface point queries for narrow band level sets.
Supports queries that originate at arbitrary world-space locations, is not confined to the narrow band region of the input volume geometry.
| using Index32TreeT = typename TreeT::template ValueConverter<Index32>::Type | 
| using Int16TreeT = typename TreeT::template ValueConverter<Int16>::Type | 
| using Ptr = std::unique_ptr<ClosestSurfacePoint> | 
| using TreeT = typename GridT::TreeType | 
| 
 | static | 
Extract surface points and construct a spatial acceleration structure.
| grid | a scalar level set or fog volume | 
| isovalue | the voxel value that determines the surface of the volume The default value of zero works for signed distance fields, while fog volumes require a larger positive value (0.5 is a good initial guess). | 
| interrupter | pointer to an object adhering to the util::NullInterrupter interface. | 
| 
 | inline | 
Tree accessor.
| bool search | ( | const std::vector< Vec3R > & | points, | 
| std::vector< float > & | distances ) | 
Compute the distance from each input point to its closest surface point.
| points | input list of points in world space | 
| distances | output list of closest surface point distances | 
| bool searchAndReplace | ( | std::vector< Vec3R > & | points, | 
| std::vector< float > & | distances ) | 
Overwrite each input point with its closest surface point.
| points | input/output list of points in world space | 
| distances | output list of closest surface point distances | 
| 
 | inline | 
Tree accessor.