Changes after Guillaume's review

This commit is contained in:
Andreas Fabri 2018-11-12 09:57:58 +01:00
parent 3f7300283e
commit f0e6802f74
2 changed files with 27 additions and 27 deletions

View File

@ -31,22 +31,22 @@ public:
/// and have a constructor with three parameters of a type constructibe from `double`.
typedef unspecified_type Vector_3;
/// Functor with operator: `Vector_3 operator()(Point_3 from, Point_3 to) const`, which constructs the vector from `from` to `to` .
/// Functor with operator: `Vector_3 operator()(Point_3 from, Point_3 to) const`, which constructs the vector from `to - from` .
typedef unspecified_type Construct_vector_3;
/// Functor with operator: `Vector_3 operator()(Vector_3 v, Vector_3 w) const`, which constructs the vector `v+ w`.
/// Functor with operator: `Vector_3 operator()(Vector_3 v, Vector_3 w) const`, which constructs the vector `v + w`.
typedef unspecified_type Construct_sum_of_vectors_3;
/// Functor with operator: `Vector_3 operator()(Vector_3 v, double d) const`, which constructs the vector `d* v`.
/// Functor with operator: `Vector_3 operator()(Vector_3 v, double d) const`, which constructs the vector `d * v`.
typedef unspecified_type Construct_scaled_vector_3;
/// Functor with operator: `Vector_3 operator()(Vector_3 v, Vector_3 w) const`, which constructs the cross product of `v`and `w`.
/// Functor with operator: `Vector_3 operator()(Vector_3 v, Vector_3 w) const`, which constructs the cross product of `v` and `w`.
typedef unspecified_type Construct_cross_product_vector_3;
/// Functor with operator: `FT operator()(Vector_3 v, Vector_3 w) const, which constructs the scalar product of `v`and `w`.`.
/// Functor with operator: `FT operator()(Vector_3 v, Vector_3 w) const, which constructs the scalar product of `v` and `w`.
typedef unspecified_type Compute_scalar_product_3;
/// Functor with operator: `FT operator()(Point_3 p, Point_3 q) const` which computes the squared distance between `p`and `q`.
/// Functor with operator: `FT operator()(Point_3 p, Point_3 q) const` which computes the squared distance between `p` and `q`.
typedef unspecified_type Compute_squared_distance_3;

View File

@ -74,16 +74,16 @@ protected:
friend Surface_mesh_geodesic_distances_3_private_tests;
#endif
/// Polygon_mesh typedefs
typedef typename boost::graph_traits<TriangleMesh> graph_traits;
typedef typename graph_traits::vertex_descriptor vertex_descriptor;
typedef typename boost::graph_traits<TriangleMesh> graph_traits;
typedef typename graph_traits::vertex_descriptor vertex_descriptor;
typedef typename graph_traits::edge_descriptor edge_descriptor;
typedef typename graph_traits::halfedge_descriptor halfedge_descriptor;
typedef typename graph_traits::halfedge_descriptor halfedge_descriptor;
typedef typename graph_traits::face_descriptor face_descriptor;
typedef typename std::set<vertex_descriptor> Vertex_range;
typedef typename std::set<vertex_descriptor> Vertex_const_range;
/// Geometric typedefs
typedef typename Traits::Point_3 Point_3;
typedef typename Traits::FT FT;
typedef typename Traits::Vector_3 Vector_3;
typedef typename Traits::Point_3 Point_3;
typedef typename Traits::FT FT;
typedef typename Traits::Vector_3 Vector_3;
// Property map typedefs
typedef typename boost::property_traits<VertexPointMap>::reference VertexPointMap_reference;
@ -177,13 +177,13 @@ public:
/**
* adds vertices in the `vrange` to the source set'.
* \tparam VertexRange a model of the concept `ConstRange` with value type `boost::graph_traits<TriangleMesh>::%vertex_descriptor`
* \tparam VertexConstRange a model of the concept `ConstRange` with value type `boost::graph_traits<TriangleMesh>::%vertex_descriptor`
*/
template <typename VertexRange>
template <typename VertexConstRange>
void
add_sources(const VertexRange& vrange)
add_sources(const VertexConstRange& vrange)
{
typedef typename std::iterator_traits<typename VertexRange::const_iterator>::value_type value_type;
typedef typename std::iterator_traits<typename VertexConstRange::const_iterator>::value_type value_type;
m_source_change_flag = true;
BOOST_FOREACH(value_type vd, vrange){
m_sources.insert(v2v(vd));
@ -218,7 +218,7 @@ public:
* returns the set of source vertices.
*/
const Vertex_range&
const Vertex_const_range&
sources() const
{
return m_sources;
@ -835,10 +835,10 @@ public:
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor vertex_descriptor;
#ifndef DOXYGEN_RUNNING
/// Source vertex iterator type
typedef typename Base_helper::type::Vertex_range Vertex_range;
typedef typename Base_helper::type::Vertex_const_range Vertex_const_range;
#else
/// a model of `ConstRange` with an iterator that is model of `ForwardIterator` with `vertex_descriptor` as value type.
typedef unspecified_type Vertex_range;
typedef unspecified_type Vertex_const_range;
/// Vertex point map type derived from `VertexPointMap`.
typedef unspecified_type Vertex_point_map;
#endif
@ -876,11 +876,11 @@ public:
/**
* adds the range of vertices to the source set.
* \tparam VertexRange a model of the concept `ConstRange` with value type `boost::graph_traits<TriangleMesh>::%vertex_descriptor`
* \tparam VertexConstRange a model of the concept `ConstRange` with value type `boost::graph_traits<TriangleMesh>::%vertex_descriptor`
*/
template <typename VertexRange>
template <typename VertexConstRange>
void
add_sources(const VertexRange& vrange)
add_sources(const VertexConstRange& vrange)
{
base().add_sources(vrange);
}
@ -916,7 +916,7 @@ public:
/**
* returns the source set.
*/
const Vertex_range&
const Vertex_const_range&
sources() const
{
return base().sources();
@ -985,17 +985,17 @@ estimate_geodesic_distances(const TriangleMesh& tm,
/// It must have an internal vertex point property map with the value type being a 3D point from a cgal Kernel model
/// \tparam VertexDistanceMap a property map model of `WritablePropertyMap`
/// with `boost::graph_traits<TriangleMesh>::%vertex_descriptor` as key type and `double` as value type.
/// \tparam VertexRange a model of the concept `ConstRange` with value type `boost::graph_traits<TriangleMesh>::%vertex_descriptor`
/// \tparam VertexConstRange a model of the concept `ConstRange` 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`.
/// \warning The return type is `double` even when used with an exact kernel.
/// \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 VertexConstRange, typename Mode>
void
estimate_geodesic_distances(const TriangleMesh& tm,
VertexDistanceMap vdm,
const VertexRange& sources,
const VertexConstRange& sources,
Mode)
{
CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3<TriangleMesh, Mode> hm(tm);