mirror of https://github.com/CGAL/cgal
This commit is contained in:
parent
a6e5e0ef0c
commit
347fab4d34
|
|
@ -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;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue