mirror of https://github.com/CGAL/cgal
Changes after Guillaume's review
This commit is contained in:
parent
3f7300283e
commit
f0e6802f74
|
|
@ -31,22 +31,22 @@ public:
|
||||||
/// and have a constructor with three parameters of a type constructibe from `double`.
|
/// and have a constructor with three parameters of a type constructibe from `double`.
|
||||||
typedef unspecified_type Vector_3;
|
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;
|
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;
|
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;
|
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;
|
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;
|
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;
|
typedef unspecified_type Compute_squared_distance_3;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,16 +74,16 @@ protected:
|
||||||
friend Surface_mesh_geodesic_distances_3_private_tests;
|
friend Surface_mesh_geodesic_distances_3_private_tests;
|
||||||
#endif
|
#endif
|
||||||
/// Polygon_mesh typedefs
|
/// Polygon_mesh typedefs
|
||||||
typedef typename boost::graph_traits<TriangleMesh> graph_traits;
|
typedef typename boost::graph_traits<TriangleMesh> graph_traits;
|
||||||
typedef typename graph_traits::vertex_descriptor vertex_descriptor;
|
typedef typename graph_traits::vertex_descriptor vertex_descriptor;
|
||||||
typedef typename graph_traits::edge_descriptor edge_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 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
|
/// Geometric typedefs
|
||||||
typedef typename Traits::Point_3 Point_3;
|
typedef typename Traits::Point_3 Point_3;
|
||||||
typedef typename Traits::FT FT;
|
typedef typename Traits::FT FT;
|
||||||
typedef typename Traits::Vector_3 Vector_3;
|
typedef typename Traits::Vector_3 Vector_3;
|
||||||
|
|
||||||
// Property map typedefs
|
// Property map typedefs
|
||||||
typedef typename boost::property_traits<VertexPointMap>::reference VertexPointMap_reference;
|
typedef typename boost::property_traits<VertexPointMap>::reference VertexPointMap_reference;
|
||||||
|
|
@ -177,13 +177,13 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* adds vertices in the `vrange` to the source set'.
|
* 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
|
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;
|
m_source_change_flag = true;
|
||||||
BOOST_FOREACH(value_type vd, vrange){
|
BOOST_FOREACH(value_type vd, vrange){
|
||||||
m_sources.insert(v2v(vd));
|
m_sources.insert(v2v(vd));
|
||||||
|
|
@ -218,7 +218,7 @@ public:
|
||||||
* returns the set of source vertices.
|
* returns the set of source vertices.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Vertex_range&
|
const Vertex_const_range&
|
||||||
sources() const
|
sources() const
|
||||||
{
|
{
|
||||||
return m_sources;
|
return m_sources;
|
||||||
|
|
@ -835,10 +835,10 @@ public:
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor vertex_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor vertex_descriptor;
|
||||||
#ifndef DOXYGEN_RUNNING
|
#ifndef DOXYGEN_RUNNING
|
||||||
/// Source vertex iterator type
|
/// 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
|
#else
|
||||||
/// a model of `ConstRange` with an iterator that is model of `ForwardIterator` with `vertex_descriptor` as value type.
|
/// 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`.
|
/// Vertex point map type derived from `VertexPointMap`.
|
||||||
typedef unspecified_type Vertex_point_map;
|
typedef unspecified_type Vertex_point_map;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -876,11 +876,11 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* adds the range of vertices to the source set.
|
* 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
|
void
|
||||||
add_sources(const VertexRange& vrange)
|
add_sources(const VertexConstRange& vrange)
|
||||||
{
|
{
|
||||||
base().add_sources(vrange);
|
base().add_sources(vrange);
|
||||||
}
|
}
|
||||||
|
|
@ -916,7 +916,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* returns the source set.
|
* returns the source set.
|
||||||
*/
|
*/
|
||||||
const Vertex_range&
|
const Vertex_const_range&
|
||||||
sources() const
|
sources() const
|
||||||
{
|
{
|
||||||
return base().sources();
|
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
|
/// 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`
|
/// \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 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
|
/// \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.
|
/// is computed directly on the mesh or if the intrinsic Delaunay triangulation is applied first.
|
||||||
/// The default is `Direct`.
|
/// The default is `Direct`.
|
||||||
/// \warning The return type is `double` even when used with an exact kernel.
|
/// \warning The return type is `double` even when used with an exact kernel.
|
||||||
/// \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 VertexConstRange, typename Mode>
|
||||||
void
|
void
|
||||||
estimate_geodesic_distances(const TriangleMesh& tm,
|
estimate_geodesic_distances(const TriangleMesh& tm,
|
||||||
VertexDistanceMap vdm,
|
VertexDistanceMap vdm,
|
||||||
const VertexRange& sources,
|
const VertexConstRange& sources,
|
||||||
Mode)
|
Mode)
|
||||||
{
|
{
|
||||||
CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3<TriangleMesh, Mode> hm(tm);
|
CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3<TriangleMesh, Mode> hm(tm);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue