Fix periodic predicates relying on a result_type typedef

This commit is contained in:
Mael Rouxel-Labbé 2025-03-16 13:26:31 +01:00
parent 96524bdf2b
commit 13842b219f
6 changed files with 32 additions and 40 deletions

View File

@ -29,7 +29,6 @@ class Functor_with_offset_points_adaptor_2
typedef typename Kernel::Construct_point_2 Construct_point_2;
public:
typedef typename Functor::result_type result_type;
Functor_with_offset_points_adaptor_2(const Functor& functor,
const Construct_point_2& cp)
@ -39,24 +38,24 @@ public:
// gives access to function calls without offset
using Functor::operator();
result_type operator()(const Point& p0, const Point& p1,
const Offset& o0, const Offset& o1) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Offset& o0, const Offset& o1) const {
return operator()(cp(p0,o0), cp(p1,o1));
}
result_type operator()(const Point& p0, const Point& p1, const Point& p2,
const Offset& o0, const Offset& o1, const Offset& o2) const {
decltype(auto) operator()(const Point& p0, const Point& p1, const Point& p2,
const Offset& o0, const Offset& o1, const Offset& o2) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2));
}
result_type operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3,
const Offset& o0, const Offset& o1,
const Offset& o2, const Offset& o3) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3,
const Offset& o0, const Offset& o1,
const Offset& o2, const Offset& o3) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2), cp(p3,o3));
}
result_type operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3, const Point& p4,
const Offset& o0, const Offset& o1, const Offset& o2,
const Offset& o3, const Offset& o4) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3, const Point& p4,
const Offset& o0, const Offset& o1, const Offset& o2,
const Offset& o3, const Offset& o4) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2), cp(p3,o3), cp(p4,o4));
}

View File

@ -92,12 +92,12 @@ public:
typedef typename Kernel::Iso_rectangle_2 Iso_rectangle_2;
typedef typename Kernel::Periodic_2_offset_2 Offset_2;
typedef typename Kernel:: Orientation Orientation;
public:
const Iso_rectangle_2 * const _dom;
public:
typedef typename Base::result_type result_type;
Periodic_2_orientation_2(const Iso_rectangle_2 * const dom,
const Base& o2b)
: Base(o2b), _dom(dom)
@ -106,7 +106,7 @@ public:
using Base::operator();
/// Normal static orientation test, copied from Orientation_2
result_type operator()(const Point_2 &p, const Point_2 &q, const Point_2 &r) const
Orientation operator()(const Point_2 &p, const Point_2 &q, const Point_2 &r) const
{
CGAL_PROFILER("Periodic_2_orientation_2 calls");
@ -161,7 +161,7 @@ public:
/// Static orientation test with offsets
result_type operator()(const Point_2 &p, const Point_2 &q, const Point_2 &r,
Orientation operator()(const Point_2 &p, const Point_2 &q, const Point_2 &r,
const Offset_2 &o_p, const Offset_2 &o_q, const Offset_2 &o_r) const
{

View File

@ -45,8 +45,6 @@ private:
const Iso_rectangle_2 * _dom;
public:
typedef typename Base::result_type result_type;
Periodic_2_side_of_oriented_circle_2(const Iso_rectangle_2 * dom,
const Base& socb)
: Base(socb), _dom(dom)

View File

@ -34,8 +34,6 @@ class Functor_with_offset_points_adaptor_3
typedef typename Kernel::Construct_point_3 Construct_point_3;
public:
typedef typename Functor::result_type result_type;
Functor_with_offset_points_adaptor_3(const Functor& functor,
const Construct_point_3& cp)
: Functor_(functor), cp(cp)
@ -44,24 +42,24 @@ public:
// gives access to function calls without offset
using Functor::operator();
result_type operator()(const Point& p0, const Point& p1,
const Offset& o0, const Offset& o1) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Offset& o0, const Offset& o1) const {
return operator()(cp(p0,o0), cp(p1,o1));
}
result_type operator()(const Point& p0, const Point& p1, const Point& p2,
const Offset& o0, const Offset& o1, const Offset& o2) const {
decltype(auto) operator()(const Point& p0, const Point& p1, const Point& p2,
const Offset& o0, const Offset& o1, const Offset& o2) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2));
}
result_type operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3,
const Offset& o0, const Offset& o1,
const Offset& o2, const Offset& o3) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3,
const Offset& o0, const Offset& o1,
const Offset& o2, const Offset& o3) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2), cp(p3,o3));
}
result_type operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3, const Point& p4,
const Offset& o0, const Offset& o1, const Offset& o2,
const Offset& o3, const Offset& o4) const {
decltype(auto) operator()(const Point& p0, const Point& p1,
const Point& p2, const Point& p3, const Point& p4,
const Offset& o0, const Offset& o1, const Offset& o2,
const Offset& o3, const Offset& o4) const {
return operator()(cp(p0,o0), cp(p1,o1), cp(p2,o2), cp(p3,o3), cp(p4,o4));
}

View File

@ -42,12 +42,12 @@ public:
typedef typename K::Sphere_3 Sphere_3;
typedef typename K::Periodic_3_offset_3 Offset;
typedef typename K::Orientation Orientation;
public:
const Iso_cuboid_3 * const _dom;
public:
typedef typename Base::result_type result_type;
Periodic_3_orientation_3(const Iso_cuboid_3 * const dom,
const Orientation_3_base& o3b)
: Base(o3b), _dom(dom)
@ -55,7 +55,7 @@ public:
using Base::operator();
result_type
Orientation
operator()(const Point_3 &p, const Point_3 &q,
const Point_3 &r, const Point_3 &s) const
{
@ -157,7 +157,7 @@ public:
return Base::operator()(p, q, r, s);
}
result_type
Orientation
operator()(const Point_3 &p, const Point_3 &q,
const Point_3 &r, const Point_3 &s,
const Offset &o_p, const Offset &o_q,

View File

@ -42,9 +42,6 @@ public:
typedef typename K::Iso_cuboid_3 Iso_cuboid_3;
typedef typename K::Periodic_3_offset_3 Offset;
public:
typedef typename Base::result_type result_type;
private:
const Iso_cuboid_3 * _dom;