This commit is contained in:
Andreas Fabri 2018-10-30 16:15:38 +01:00
parent a6e5e0ef0c
commit 347fab4d34
3 changed files with 20 additions and 10 deletions

View File

@ -5,9 +5,9 @@
The concept `HeatMethodTraits_3` describes the types, The concept `HeatMethodTraits_3` describes the types,
predicates, and constructions required by the traits class parameter of predicates, and constructions required by the traits class parameter of
`CGAL::Heat_method_3::Heat_method_3`. `CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3`.
\cgalHasModel All the \cgal Kernels \cgalHasModel All the \cgal kernels
*/ */
@ -28,8 +28,12 @@ public:
/// The 2D point type. /// The 2D point type.
typedef unspecified_type Point_2; typedef unspecified_type Point_2;
typedef unspecified_type Compute_x_3;
typedef unspecified_type Compute_y_3;
typedef unspecified_type Compute_z_3;
typedef unspecified_type Construct_vector_3;
typedef unspecified_type Construct_cross_product_vector_3;
/// @} /// @}

View File

@ -40,7 +40,7 @@ source vertices. }
## Functions ## ## Functions ##
- `CGAL::Heat_method_3::geodesic_distances_3()` - `CGAL::Heat_method_3::estimate_geodesic_distances()`
*/ */
\todo Add more detailed cache \todo Add more detailed cache

View File

@ -709,7 +709,7 @@ struct Base_helper<TriangleMesh, Traits, Intrinsic_Delaunay, LA, VertexPointMap>
/** /**
* \ingroup PkgHeatMethod * \ingroup PkgHeatMethod
* *
* Class `Surface_mesh_geodesic_distances_3` computes geodesic distances for a set of source vertices where sources can be added and removed. * 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 does only depend on the mesh, so that the distance computation takes less * The class performs a preprocessing step that does only depend on the mesh, so that the distance computation takes less
* time after changes of the set of sources. * time after changes of the set of sources.
* *
@ -860,11 +860,14 @@ public:
/// \ingroup PkgHeatMethod /// \ingroup PkgHeatMethod
/// computes for each vertex of the triangle mesh `tm` the estimated geodesic distance to a given source vertex. /// computes for each vertex of the triangle mesh `tm` the estimated geodesic distance to a given source vertex.
/// \tparam TriangleMesh a triangulated surface mesh, model of `FaceListGraph` and `HalfedgeListGraph` /// \tparam TriangleMesh a triangulated surface mesh, model of `FaceListGraph` and `HalfedgeListGraph`
/// with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `double` as value type.
/// \tparam VertexDistanceMap a property map model of `WritablePropertyMap` /// \tparam VertexDistanceMap a property map model of `WritablePropertyMap`
/// with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `double` as value type.
/// \tparam 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 `Direct`.
/// ///
/// \sa CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3 /// \sa CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3
template <typename TriangleMesh, typename VertexDistanceMap, typename Mode> template <typename TriangleMesh, typename VertexDistanceMap,Mode>
void void
estimate_geodesic_distances(const TriangleMesh& tm, estimate_geodesic_distances(const TriangleMesh& tm,
VertexDistanceMap vdm, VertexDistanceMap vdm,
@ -876,8 +879,8 @@ estimate_geodesic_distances(const TriangleMesh& tm,
hm.estimate_geodesic_distances(vdm); hm.estimate_geodesic_distances(vdm);
} }
template <typename TriangleMesh, typename VertexDistanceMap> template <typename TriangleMesh, typename VertexDistanceMap>
void void
estimate_geodesic_distances(const TriangleMesh& tm, estimate_geodesic_distances(const TriangleMesh& tm,
VertexDistanceMap vdm, VertexDistanceMap vdm,
@ -895,6 +898,9 @@ estimate_geodesic_distances(const TriangleMesh& tm,
/// \tparam VertexDistanceMap a property map model of `WritablePropertyMap` /// \tparam VertexDistanceMap a property map model of `WritablePropertyMap`
/// with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `double` as value type. /// with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `double` as value type.
/// \tparam VertexRange a range with value type `boost::graph_traits<TriangleMesh>::vertex_descriptor` /// \tparam VertexRange a range with value type `boost::graph_traits<TriangleMesh>::vertex_descriptor`
/// \tparam 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 `Direct`.
/// ///
/// \sa CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3 /// \sa CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3
template <typename TriangleMesh, typename VertexDistanceMap, typename VertexRange, typename Mode> template <typename TriangleMesh, typename VertexDistanceMap, typename VertexRange, typename Mode>