diff --git a/Heat_method_3/doc/Heat_method_3/PackageDescription.txt b/Heat_method_3/doc/Heat_method_3/PackageDescription.txt index 851794a9512..3fbe0a26955 100644 --- a/Heat_method_3/doc/Heat_method_3/PackageDescription.txt +++ b/Heat_method_3/doc/Heat_method_3/PackageDescription.txt @@ -43,4 +43,10 @@ ## Classes ## - `CGAL::Heat_method_3::Heat_method_3` +## Function Templates ## + +- `CGAL::Heat_method_3::compute_distances_with_heat_method()` +- `CGAL::Heat_method_3::compute_distances_with_intrinsic_delaunay_heat_method()` + + */ diff --git a/Heat_method_3/include/CGAL/Heat_method_3/Heat_method_3.h b/Heat_method_3/include/CGAL/Heat_method_3/Heat_method_3.h index 234b4b303db..7db226a4ed3 100644 --- a/Heat_method_3/include/CGAL/Heat_method_3/Heat_method_3.h +++ b/Heat_method_3/include/CGAL/Heat_method_3/Heat_method_3.h @@ -578,6 +578,52 @@ namespace CGAL { bool source_change_flag; }; + + /*! \addtogroup PkgHeatMethod + * + * @{ + */ + + /// \relates Heat_method_3 + /// computes ... + template + void compute_distances_with_heat_method(const TriangleMesh& tm, + VertexDistanceMap vdm, + typename boost::graph_traits::vertex_descriptor source) + { + typedef typename boost::property_map::type PPM; + typedef typename boost::property_traits::value_type Point_3; + typedef CGAL::Kernel_traits::Kernel Kernel; + typedef CGAL::Heat_method_3::Heat_method_3 Heat_method; + + Heat_method hm(tm,vdm); + hm.add_source(source); + hm.update(); + } + + + /// \relates Heat_method_3 + /// computes ... + template + void compute_distances_with_intrinsic_delaunay_heat_method(const TriangleMesh& tm, + VertexDistanceMap vdm, + typename boost::graph_traits::vertex_descriptor source) + { + typedef typename boost::property_map::type PPM; + typedef typename boost::property_traits::value_type Point_3; + typedef CGAL::Kernel_traits::Kernel Kernel; + typedef CGAL::Intrinsic_Delaunay_Triangulation_3::Intrinsic_Delaunay_Triangulation_3 Idt; + typedef CGAL::Heat_method_3::Heat_method_3 Heat_method; + + Idt idt(tm, vdm); + Heat_method hm(idt,idt.vertex_distance_map()); + hm.add_source(source); + hm.update(); + } + + + /*! @} */ + } // namespace Heat_method_3 } // namespace CGAL #include