mirror of https://github.com/CGAL/cgal
Fix compilation in periodic triangulations
This commit is contained in:
parent
8e0b7a5827
commit
c5d51c4909
|
|
@ -42,8 +42,6 @@ class Functor_with_offset_weighted_points_adaptor_3
|
|||
typedef typename Kernel::Construct_weighted_point_3 Construct_weighted_point_3;
|
||||
|
||||
public:
|
||||
typedef typename Functor::result_type result_type;
|
||||
|
||||
Functor_with_offset_weighted_points_adaptor_3(const Functor_& functor,
|
||||
const Construct_point_3& cp,
|
||||
const Construct_weighted_point_3& wp)
|
||||
|
|
@ -53,76 +51,76 @@ public:
|
|||
// gives access to calls with Point_3 arguments and without offset
|
||||
using Base::operator();
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Offset& o0, const Offset& o1) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Offset& o0, const Offset& o1) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1));
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2));
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2), wp(p3, o3));
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Weighted_point_3& p4,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
const Offset& o4) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Weighted_point_3& p4,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
const Offset& o4) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2), wp(p3, o3), wp(p4, o4));
|
||||
}
|
||||
|
||||
// for `Compare_power_distance_3`
|
||||
result_type operator() (const Point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2) const {
|
||||
decltype(auto) operator()(const Point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2) const {
|
||||
return operator()(this->cp(p0, o0), wp(p1, o1), wp(p2, o2));
|
||||
}
|
||||
|
||||
// for `Compare_weighted_squared_radius_3`
|
||||
result_type operator() (const Weighted_point_3& p0, const Offset& o0,
|
||||
const FT w) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Offset& o0,
|
||||
const FT w) const {
|
||||
return operator()(wp(p0, o0), w);
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const FT w) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const FT w) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), w);
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2,
|
||||
const FT w) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2,
|
||||
const FT w) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2), w);
|
||||
}
|
||||
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
const FT w) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
const FT w) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2), wp(p3, o3), w);
|
||||
}
|
||||
|
||||
// for robust circumcenter_3
|
||||
result_type operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
bool b) const {
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Offset& o0, const Offset& o1,
|
||||
const Offset& o2, const Offset& o3,
|
||||
bool b) const {
|
||||
return operator()(wp(p0, o0), wp(p1, o1), wp(p2, o2), wp(p3, o3), b);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,6 @@ public:
|
|||
|
||||
using Base::operator();
|
||||
|
||||
template<typename F>
|
||||
struct result : Base::template result<F> {};
|
||||
|
||||
template<typename F>
|
||||
struct result<F(Point_3)> {
|
||||
typedef const Point_3& type;
|
||||
};
|
||||
|
||||
const Point_3& operator()(const Point_3& p) const { return p; }
|
||||
};
|
||||
|
||||
|
|
@ -61,29 +53,27 @@ class Functor_with_point_offset_pair_adaptor
|
|||
typedef typename Traits::Point_3 Point;
|
||||
|
||||
public:
|
||||
typedef typename Functor::result_type result_type;
|
||||
|
||||
Functor_with_point_offset_pair_adaptor(const Functor & functor) : Functor_(functor) { }
|
||||
|
||||
public:
|
||||
using Functor::operator();
|
||||
|
||||
result_type operator()(const Point& p0, const Point& p1) const {
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1) const {
|
||||
return operator()(p0.first, p1.first,
|
||||
p0.second, p1.second);
|
||||
}
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2) const {
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2) const {
|
||||
return operator()(p0.first, p1.first, p2.first,
|
||||
p0.second, p1.second, p2.second);
|
||||
}
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3) const {
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3) const {
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first,
|
||||
p0.second, p1.second, p2.second, p3.second);
|
||||
}
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3, const Point& p4) const {
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3, const Point& p4) const {
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first, p4.first,
|
||||
p0.second, p1.second, p2.second, p3.second, p4.second);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,14 +49,6 @@ public:
|
|||
|
||||
using Base::operator(); // for K::Weighted_point_3 to Point_3
|
||||
|
||||
template<typename F>
|
||||
struct result : Base::template result<F> {};
|
||||
|
||||
template<typename F>
|
||||
struct result<F(Weighted_point_3)> {
|
||||
typedef Point_3 type;
|
||||
};
|
||||
|
||||
Point_3 operator()(const Weighted_point_3& wp) const {
|
||||
return std::make_pair(operator()(wp.first), wp.second /* offset */);
|
||||
}
|
||||
|
|
@ -75,8 +67,6 @@ class Functor_with_weighted_point_offset_pair_adaptor
|
|||
typedef typename Traits::Weighted_point_3 Weighted_point_3;
|
||||
|
||||
public:
|
||||
typedef typename Functor::result_type result_type;
|
||||
|
||||
Functor_with_weighted_point_offset_pair_adaptor (const Functor & functor)
|
||||
: Functor_(functor)
|
||||
{ }
|
||||
|
|
@ -84,54 +74,54 @@ public:
|
|||
public:
|
||||
using Functor::operator();
|
||||
|
||||
result_type operator() (const Point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2) const
|
||||
decltype(auto) operator()(const Point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2) const
|
||||
{
|
||||
return operator()(p0.first, p1.first, p2.first,
|
||||
p0.second, p1.second, p2.second);
|
||||
}
|
||||
|
||||
// bare points
|
||||
result_type operator()(const Point_3& p0, const Point_3& p1) const {
|
||||
decltype(auto) operator()(const Point_3& p0, const Point_3& p1) const {
|
||||
return operator()(p0.first, p1.first,
|
||||
p0.second, p1.second);
|
||||
}
|
||||
result_type operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2) const {
|
||||
decltype(auto) operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2) const {
|
||||
return operator()(p0.first, p1.first, p2.first,
|
||||
p0.second, p1.second, p2.second);
|
||||
}
|
||||
result_type operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2, const Point_3& p3) const {
|
||||
decltype(auto) operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2, const Point_3& p3) const {
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first,
|
||||
p0.second, p1.second, p2.second, p3.second);
|
||||
}
|
||||
result_type operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2, const Point_3& p3, const Point_3& p4) const {
|
||||
decltype(auto) operator()(const Point_3& p0, const Point_3& p1,
|
||||
const Point_3& p2, const Point_3& p3, const Point_3& p4) const {
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first, p4.first,
|
||||
p0.second, p1.second, p2.second, p3.second, p4.second);
|
||||
}
|
||||
|
||||
// weighted points
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1) const
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1) const
|
||||
{
|
||||
return operator()(p0.first, p1.first, p0.second, p1.second);
|
||||
}
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2) const
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2) const
|
||||
{
|
||||
return operator()(p0.first, p1.first, p2.first,
|
||||
p0.second, p1.second, p2.second);
|
||||
}
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3) const
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3) const
|
||||
{
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first,
|
||||
p0.second, p1.second, p2.second, p3.second);
|
||||
}
|
||||
result_type operator() (const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Weighted_point_3& p4) const
|
||||
decltype(auto) operator()(const Weighted_point_3& p0, const Weighted_point_3& p1,
|
||||
const Weighted_point_3& p2, const Weighted_point_3& p3,
|
||||
const Weighted_point_3& p4) const
|
||||
{
|
||||
return operator()(p0.first, p1.first, p2.first, p3.first, p4.first,
|
||||
p0.second, p1.second, p2.second, p3.second, p4.second);
|
||||
|
|
|
|||
|
|
@ -48,45 +48,43 @@ class Hyperbolic_traits_with_translations_2_adaptor
|
|||
typedef typename Kernel::Construct_hyperbolic_point_2 Construct_hyperbolic_point_2;
|
||||
|
||||
public:
|
||||
typedef typename Predicate::result_type result_type;
|
||||
|
||||
using Predicate::operator();
|
||||
|
||||
Hyperbolic_traits_with_translations_2_adaptor(const Predicate_ pred = Predicate_()) : Predicate_(pred) {}
|
||||
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1) const
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1) const
|
||||
{
|
||||
return operator()(pp(p0, o0), pp(p1, o1));
|
||||
}
|
||||
|
||||
result_type operator()(const Point& p0, const Point& p1, const Point& p2,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1, const Hyperbolic_translation& o2) const
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1, const Point& p2,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1, const Hyperbolic_translation& o2) const
|
||||
{
|
||||
return operator()(pp(p0, o0), pp(p1, o1), pp(p2, o2));
|
||||
}
|
||||
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1,
|
||||
const Hyperbolic_translation& o2, const Hyperbolic_translation& o3) const
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1,
|
||||
const Hyperbolic_translation& o2, const Hyperbolic_translation& o3) const
|
||||
{
|
||||
return operator()(pp(p0, o0), pp(p1, o1), pp(p2, o2), pp(p3, o3));
|
||||
}
|
||||
|
||||
// Added for Side_of_hyperbolic_triangle_2
|
||||
template <typename T>
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3, T& t) const
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3, T& t) const
|
||||
{
|
||||
return operator()(p0, p1, p2, p3, t);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
result_type operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1,
|
||||
const Hyperbolic_translation& o2, const Hyperbolic_translation& o3, T& t) const
|
||||
decltype(auto) operator()(const Point& p0, const Point& p1,
|
||||
const Point& p2, const Point& p3,
|
||||
const Hyperbolic_translation& o0, const Hyperbolic_translation& o1,
|
||||
const Hyperbolic_translation& o2, const Hyperbolic_translation& o3, T& t) const
|
||||
{
|
||||
return operator()(pp(p0, o0), pp(p1, o1), pp(p2, o2), pp(p3, o3), t);
|
||||
}
|
||||
|
|
@ -109,8 +107,6 @@ private:
|
|||
typedef typename Kernel::Hyperbolic_translation Hyperbolic_translation;
|
||||
|
||||
public:
|
||||
typedef Point result_type;
|
||||
|
||||
using Construct_point_base::operator();
|
||||
|
||||
Periodic_4_construct_hyperbolic_point_2() { }
|
||||
|
|
@ -165,14 +161,13 @@ class Compute_approximate_hyperbolic_diameter
|
|||
typedef typename Traits:: Euclidean_line_2 Euclidean_line_2;
|
||||
typedef typename Traits::Circle_2 Circle_2;
|
||||
typedef typename Traits::Hyperbolic_point_2 Hyperbolic_point_2;
|
||||
public:
|
||||
typedef double result_type;
|
||||
|
||||
public:
|
||||
Compute_approximate_hyperbolic_diameter(const Traits& gt = Traits()) : _gt(gt) {}
|
||||
|
||||
result_type operator()(const Hyperbolic_point_2& p1,
|
||||
const Hyperbolic_point_2& p2,
|
||||
const Hyperbolic_point_2& p3)
|
||||
double operator()(const Hyperbolic_point_2& p1,
|
||||
const Hyperbolic_point_2& p2,
|
||||
const Hyperbolic_point_2& p3)
|
||||
{
|
||||
|
||||
Circle_2 c = _gt.construct_circle_2_object()(p1, p2, p3);
|
||||
|
|
@ -443,8 +438,6 @@ class Compute_approximate_hyperbolic_diameter
|
|||
public:
|
||||
Construct_inexact_hyperbolic_circumcenter_2(const Traits& gt = Traits()) : _gt(gt) {}
|
||||
|
||||
typedef Hyperbolic_Voronoi_point_2 result_type;
|
||||
|
||||
Hyperbolic_Voronoi_point_2 operator()(const Hyperbolic_point_2& p,
|
||||
const Hyperbolic_point_2& q,
|
||||
const Hyperbolic_point_2& r)
|
||||
|
|
|
|||
Loading…
Reference in New Issue