CGAL 5.3 - The Heat Method
Heat Method Reference

heat-method-small.png
Keenan Crane, Christina Vaz, 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.
Introduced in: CGAL 4.14
Depends on: CGAL and Solvers
BibTeX: cgal:cvf-hm3-21b
License: GPL
Windows Demo: Polyhedron demo
Common Demo Dlls: dlls

Classified Reference Pages

Concepts

Classes

Functions

Modules

 Concepts
 

Classes

class  CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3< TriangleMesh, Mode, VertexPointMap, LA, Traits >
 Class Surface_mesh_geodesic_distances_3 computes estimated geodesic distances for a set of source vertices where sources can be added and removed. More...
 

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. More...
 
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. More...
 

Function Documentation

◆ estimate_geodesic_distances() [1/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
TriangleMesha 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
VertexDistanceMapa property map model of WritablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and double as value type.
Modeeither 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.

◆ estimate_geodesic_distances() [2/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
TriangleMesha 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
VertexDistanceMapa property map model of WritablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and double as value type.
VertexConstRangea model of the concept ConstRange with value type boost::graph_traits<TriangleMesh>::vertex_descriptor
Modeeither 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