summaryrefslogtreecommitdiff
path: root/src/common/include/gudhi/distance_functions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/include/gudhi/distance_functions.h')
-rw-r--r--src/common/include/gudhi/distance_functions.h20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/common/include/gudhi/distance_functions.h b/src/common/include/gudhi/distance_functions.h
index ae5168aa..a8ee4a75 100644
--- a/src/common/include/gudhi/distance_functions.h
+++ b/src/common/include/gudhi/distance_functions.h
@@ -65,19 +65,17 @@ class Euclidean_distance {
* The points are assumed to have the same dimension. */
class Minimal_enclosing_ball_radius {
public:
- /** \brief TODO
+ /** \brief Enclosing ball radius from two points using CGAL.
*
* @param[in] point_1
* @param[in] point_2
- * @return
- * \tparam Point
+ * @return Enclosing ball radius for the two points.
+ * \tparam Point must be a Kernel::Point_d from CGAL.
*
*/
- //typename FT = typename Kernel::FT,
template< typename Kernel = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>,
typename Point= typename Kernel::Point_d>
double operator()(const Point& point_1, const Point& point_2) const {
- std::clog << "Added template: distance betw points 1 and 2" << std::endl;
Kernel kernel_;
return std::sqrt(CGAL::to_double(kernel_.squared_distance_d_object()(point_1, point_2))) / 2.;
}
@@ -94,25 +92,21 @@ class Minimal_enclosing_ball_radius {
template< typename Point >
typename std::iterator_traits<typename boost::range_iterator<Point>::type>::value_type
operator()(const Point& point_1, const Point& point_2) const {
- std::clog << "Hind: Minimal_enclosing_ball_radius point1 et 2; Euclidean" << std::endl;
std::clog << "#" << *point_1.begin() << "##" << *point_2.begin() << std::endl;
return Euclidean_distance()(point_1, point_2) / 2.;
}
-
- /** \brief TODO
+ /** \brief Enclosing ball radius from a point cloud using CGAL.
*
* @param[in] point_cloud The points.
- * @return
- * \tparam Point_cloud
+ * @return Enclosing ball radius for the points.
+ * \tparam Point_cloud must be a range of Kernel::Point_d points from CGAL.
*
*/
- //typename FT = typename Kernel::FT,
template< typename Kernel = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>,
typename Point= typename Kernel::Point_d,
typename Point_cloud = std::vector<Point>>
double operator()(const Point_cloud& point_cloud) const {
- std::clog << "Added template: distance in point cloud" << std::endl;
Kernel kernel_;
return std::sqrt(CGAL::to_double(kernel_.compute_squared_radius_d_object()(point_cloud.begin(), point_cloud.end())));
}
@@ -133,8 +127,6 @@ class Minimal_enclosing_ball_radius {
typename Coordinate = typename std::iterator_traits<Coordinate_iterator>::value_type>
Coordinate
operator()(const Point_cloud& point_cloud) const {
- std::clog << "Hind: Minimal_enclosing_ball_radius point cloud; Miniball" << std::endl;
-
using Min_sphere = Miniball::Miniball<Miniball::CoordAccessor<Point_iterator, Coordinate_iterator>>;
Min_sphere ms(boost::size(*point_cloud.begin()), point_cloud.begin(), point_cloud.end());