|
Easy3D 2.6.1
|
This class computes geodesic distance from a set of seed vertices. More...
#include <easy3d/algo/surface_mesh_geodesic.h>
Public Member Functions | |
| SurfaceMeshGeodesic (SurfaceMesh *mesh, bool use_virtual_edges=true) | |
| Construct from mesh. | |
| unsigned int | compute (const std::vector< SurfaceMesh::Vertex > &seed, float max_dist=FLT_MAX, unsigned int max_num=INT_MAX, std::vector< SurfaceMesh::Vertex > *neighbors=nullptr) |
| Compute geodesic distances from specified seed points. | |
| float | operator() (SurfaceMesh::Vertex v) const |
| Access the computed geodesic distance. | |
| void | distance_to_texture_coordinates () |
| Use the normalized distances as texture coordinates. | |
This class computes geodesic distance from a set of seed vertices.
The method works by a Dykstra-like breadth first traversal from the seed vertices, implemented by a heap structure. See the following paper for more details:
|
explicit |
| unsigned int compute | ( | const std::vector< SurfaceMesh::Vertex > & | seed, |
| float | max_dist = FLT_MAX, | ||
| unsigned int | max_num = INT_MAX, | ||
| std::vector< SurfaceMesh::Vertex > * | neighbors = nullptr ) |
Compute geodesic distances from specified seed points.
The results are store as SurfaceMesh::VertexProperty<float> with a name "v:geodesic:distance".
| [in] | seed | The vector of seed vertices. |
| [in] | max_dist | The maximum distance up to which to compute the geodesic distances. |
| [in] | max_num | The maximum number of neighbors up to which to compute the geodesic distances. |
| [out] | neighbors | The vector of neighbor vertices. |
| void distance_to_texture_coordinates | ( | ) |
Use the normalized distances as texture coordinates.
Stores the normalized distances in a vertex property of type TexCoord named "v:tex". Re-uses any existing vertex property of the same type and name.
|
inline |
Access the computed geodesic distance.
| [in] | v | The vertex for which to return the geodesic distance. |
v. v needs to be a valid vertex handle of the mesh used during construction.