HDK
|
Accelerated closest surface point queries for narrow band level sets. More...
#include <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. More... | |
bool | searchAndReplace (std::vector< Vec3R > &points, std::vector< float > &distances) |
Overwrite each input point with its closest surface point. More... | |
const Index32TreeT & | indexTree () const |
Tree accessor. More... | |
const Int16TreeT & | signTree () const |
Tree accessor. More... | |
template<typename InterrupterT > | |
ClosestSurfacePoint< GridT >::Ptr | create (const GridT &grid, float isovalue, InterrupterT *interrupter) |
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. More... | |
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.
Definition at line 81 of file VolumeToSpheres.h.
using openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::BoolTreeT = typename TreeT::template ValueConverter<bool>::Type |
Definition at line 86 of file VolumeToSpheres.h.
using openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::Index32TreeT = typename TreeT::template ValueConverter<Index32>::Type |
Definition at line 87 of file VolumeToSpheres.h.
using openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::Int16TreeT = typename TreeT::template ValueConverter<Int16>::Type |
Definition at line 88 of file VolumeToSpheres.h.
using openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::Ptr = std::unique_ptr<ClosestSurfacePoint> |
Definition at line 84 of file VolumeToSpheres.h.
using openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::TreeT = typename GridT::TreeType |
Definition at line 85 of file VolumeToSpheres.h.
|
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. |
ClosestSurfacePoint<GridT>::Ptr openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::create | ( | const GridT & | grid, |
float | isovalue, | ||
InterrupterT * | interrupter | ||
) |
Definition at line 828 of file VolumeToSpheres.h.
|
inline |
Tree accessor.
Definition at line 116 of file VolumeToSpheres.h.
bool openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::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 |
Definition at line 981 of file VolumeToSpheres.h.
bool openvdb::OPENVDB_VERSION_NAME::tools::ClosestSurfacePoint< GridT >::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 |
Definition at line 989 of file VolumeToSpheres.h.
|
inline |
Tree accessor.
Definition at line 118 of file VolumeToSpheres.h.