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.