Keenan Crane, Christina Vaz, and Andreas Fabri
The package provides an algorithm that solves the single- or multiple-source shortest path problem by returning an approximation of the geodesic distance for all vertices of a triangle mesh to the closest vertex in a given set of source vertices.
Concepts
Classes
Functions
|
| template<typename TriangleMesh , typename VertexDistanceMap , typename Mode > |
| void | CGAL::Heat_method_3::estimate_geodesic_distances (const TriangleMesh &tm, VertexDistanceMap vdm, typename boost::graph_traits< TriangleMesh >::vertex_descriptor source, Mode) |
| | computes for each vertex of the triangle mesh tm the estimated geodesic distance to a given source vertex.
|
| |
| template<typename TriangleMesh , typename VertexDistanceMap , typename VertexConstRange , typename Mode > |
| void | CGAL::Heat_method_3::estimate_geodesic_distances (const TriangleMesh &tm, VertexDistanceMap vdm, const VertexConstRange &sources, Mode) |
| | computes for each vertex of the triangle mesh tm the estimated geodesic distance to a given set of source vertices.
|
| |
◆ estimate_geodesic_distances() [1/2]
template<typename TriangleMesh , typename VertexDistanceMap , typename VertexConstRange , typename Mode >
| void CGAL::Heat_method_3::estimate_geodesic_distances |
( |
const TriangleMesh & |
tm, |
|
|
VertexDistanceMap |
vdm, |
|
|
const VertexConstRange & |
sources, |
|
|
Mode |
|
|
) |
| |
#include <CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h>
computes for each vertex of the triangle mesh tm the estimated geodesic distance to a given set of source vertices.
This function is provided only if Eigen 3.3 (or greater) is available and CGAL_EIGEN3_ENABLED is defined.
- Template Parameters
-
| TriangleMesh | a triangulated surface mesh, model of FaceListGraph and HalfedgeListGraph It must have an internal vertex point property map with the value type being a 3D point from a cgal Kernel model |
| VertexDistanceMap | a property map model of WritablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and double as value type. |
| VertexConstRange | a model of the concept ConstRange with value type boost::graph_traits<TriangleMesh>::vertex_descriptor |
| Mode | either the tag Direct or Intrinsic_Delaunay, which determines if the geodesic distance is computed directly on the mesh or if the intrinsic Delaunay triangulation is applied first. The default is Intrinsic_Delaunay. |
- Precondition
- If
Mode is Direct, tm mesh does not have any degenerate faces
- Warning
- The return type is
double even when used with an exact kernel.
- See also
CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3
◆ estimate_geodesic_distances() [2/2]
template<typename TriangleMesh , typename VertexDistanceMap , typename Mode >
| void CGAL::Heat_method_3::estimate_geodesic_distances |
( |
const TriangleMesh & |
tm, |
|
|
VertexDistanceMap |
vdm, |
|
|
typename boost::graph_traits< TriangleMesh >::vertex_descriptor |
source, |
|
|
Mode |
|
|
) |
| |
#include <CGAL/Heat_method_3/Surface_mesh_geodesic_distances_3.h>
computes for each vertex of the triangle mesh tm the estimated geodesic distance to a given source vertex.
This function is provided only if Eigen 3.3 (or greater) is available and CGAL_EIGEN3_ENABLED is defined.
- Template Parameters
-
| TriangleMesh | a triangulated surface mesh, model of FaceListGraph and HalfedgeListGraph. It must have an internal vertex point property map with the value type being a 3D point from a cgal Kernel model |
| VertexDistanceMap | a property map model of WritablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and double as value type. |
| Mode | either the tag Direct or Intrinsic_Delaunay, which determines if the geodesic distance is computed directly on the mesh or if the intrinsic Delaunay triangulation is applied first. The default is Intrinsic_Delaunay. |
- Precondition
- If
Mode is Direct, tm does not have any degenerate faces
- Warning
- The return type is
double even when used with an exact kernel.
- See also
CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3
- Examples
- Heat_method_3/heat_method.cpp, and Heat_method_3/heat_method_polyhedron.cpp.