template<typename TriangleMesh, typename Mode = Direct, typename VertexPointMap = Default, typename LA = Default, typename Traits = Default>
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.
The class performs a preprocessing step that only depends on the mesh, so that the distance computation takes less time after changes to the set of sources.
- Template Parameters
-
TriangleMesh | a triangulated surface mesh, model of FaceListGraph and HalfedgeListGraph |
Mode | must be Intrinsic_Delaunay to indicate that an intrinsic Delaunay triangulation is internally constructed or Direct to indicate that the input mesh should be used as is. If Intrinsic_Delaunay , then the type TriangleMesh must have an internal property for vertex_point and its value type must be the same as the value type of VertexPointMap . If Direct , then the input mesh should not have any degenerate faces. |
VertexPointMap | a model of ReadablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key and Traits::Point_3 as value type. The default is typename boost::property_map< TriangleMesh, vertex_point_t>::const_type . |
LA | a model of SparseLinearAlgebraWithFactorTraits_d . If CGAL_EIGEN3_ENABLED is defined, then Eigen_solver_traits<Eigen::SimplicialLDLT<typename Eigen_sparse_matrix<double>::EigenType > > is used as default |
Traits | a model of HeatMethodTraits_3 . The default is the Kernel of the value type of the vertex point map (extracted using Kernel_traits ). |
- Examples:
- Heat_method_3/heat_method_surface_mesh.cpp, and Heat_method_3/heat_method_surface_mesh_direct.cpp.
template<typename TriangleMesh , typename Mode = Direct, typename VertexPointMap = Default, typename LA = Default, typename Traits = Default>
template<class VertexDistanceMap >
fills the distance property map with the estimated geodesic distance of each vertex to the closest source vertex.
- Template Parameters
-
VertexDistanceMap | a property map model of WritablePropertyMap with vertex_descriptor as key type and double as value type. |
- Parameters
-
vdm | the vertex distance map to be filled |
- Precondition
- If
Mode
is Direct
, the support triangle mesh does not have any degenerate faces
- Warning
- The key type is
double
even when used with an exact kernel.