42
42
typedef typename BK::Point_2 Point_2;
43
43
typedef typename BK::Circular_kernel::
44
44
template Base< BK >::Type::Compare_x_2 CK_Compare_x_2;
45
typedef CK_Compare_x_2 Base;
48
typedef typename CK_Compare_x_2::result_type result_type;
51
operator() (const Point_2 &p0,
52
const Point_2 &p1) const
54
return CK_Compare_x_2()(p0, p1);
49
typedef typename CK_Compare_x_2::result_type result_type;
57
51
#ifndef CGAL_CFG_MATCHING_BUG_6
58
using CK_Compare_x_2::operator();
52
using Base::operator();
60
typedef typename BK::Line_2 Line_2;
63
operator() (const Point_2 &p0,
65
const Line_2 &p2) const
67
return CK_Compare_x_2()(p0, p1,p2);
71
operator() (const Line_2 &p0,
73
const Line_2 &p2) const
75
return CK_Compare_x_2()(p0, p1,p2);
79
operator() (const Line_2 &p0,
82
const Line_2 &p3) const
84
return CK_Compare_x_2()(p0, p1,p2,p3);
54
template <typename T1, typename T2>
56
operator()(const T1& t1, const T2& t2) const
60
template <typename T1, typename T2, typename T3>
62
operator()(const T1& t1, const T2& t2, const T3& t3) const
64
return Base()(t1,t2,t3);
67
template <typename T1, typename T2, typename T3, typename T4>
69
operator()(const T1& t1, const T2& t2, const T3& t3, const T4& t4) const
71
return Base()(t1,t2,t3,t4);
110
98
typedef typename BK::Point_2 Point_2;
111
99
typedef typename BK::Circular_kernel::
112
100
template Base< BK >::Type::Compare_y_2 CK_Compare_y_2;
101
typedef CK_Compare_y_2 Base;
116
typedef typename CK_Compare_y_2::result_type result_type;
104
typedef typename CK_Compare_y_2::result_type result_type;
119
107
operator() (const Point_2 &p0,
125
113
#ifndef CGAL_CFG_MATCHING_BUG_6
126
using CK_Compare_y_2::operator();
114
using Base::operator();
128
typedef typename BK::Line_2 Line_2;
131
operator() (const Point_2 &p0,
133
const Line_2 &p2) const
135
return CK_Compare_y_2()(p0, p1,p2);
139
operator() (const Line_2 &p0,
141
const Line_2 &p2) const
143
return CK_Compare_y_2()(p0, p1,p2);
147
operator() (const Line_2 &p0,
150
const Line_2 &p3) const
152
return CK_Compare_y_2()(p0, p1,p2,p3);
116
template <typename T1, typename T2>
118
operator()(const T1& t1, const T2& t2) const
120
return Base()(t1,t2);
122
template <typename T1, typename T2, typename T3>
124
operator()(const T1& t1, const T2& t2, const T3& t3) const
126
return Base()(t1,t2,t3);
129
template <typename T1, typename T2, typename T3, typename T4>
131
operator()(const T1& t1, const T2& t2, const T3& t3, const T4& t4) const
133
return Base()(t1,t2,t3,t4);
174
154
class Compare_xy_2 : public BK::Circular_kernel:: template Base< BK >::Type::Compare_xy_2
176
156
typedef typename BK::Circular_kernel::
177
template Base< BK >::Type::Compare_xy_2 CK_Compare_xy_2;
157
template Base< BK >::Type::Compare_xy_2 CK_Compare_xy_2;
158
typedef CK_Compare_xy_2 Base;
178
159
typedef typename BK::Circular_arc_point_2 Circular_arc_point_2;
179
160
typedef typename BK::Point_2 Point_2;
183
typedef typename CK_Compare_xy_2::result_type result_type;
184
using CK_Compare_xy_2::operator();
164
typedef typename Base::result_type result_type;
167
#ifndef CGAL_CFG_MATCHING_BUG_6
168
using Base::operator();
170
template <typename T1, typename T2>
189
operator()( const Point_2 &a, const Point_2 &b) const
172
operator()(const T1& t1, const T2& t2) const
191
return CK_Compare_xy_2()(a,b);
174
return Base()(t1,t2);
195
180
operator()( const Circular_arc_point_2 &a, const Circular_arc_point_2 &b) const
213
198
typedef typename BK::Circular_kernel::
214
199
template Base< BK >::Type::In_x_range_2 CK_In_x_range_2;
200
typedef CK_In_x_range_2 Base;
215
201
typedef typename BK::Circular_arc_point_2 Circular_arc_point_2;
216
202
typedef typename BK::Circular_arc_2 Circular_arc_2;
217
203
typedef typename BK::Line_arc_2 Line_arc_2;
221
typedef typename CK_In_x_range_2::result_type result_type;
222
using CK_In_x_range_2::operator();
207
typedef typename CK_In_x_range_2::result_type result_type;
209
#ifndef CGAL_CFG_MATCHING_BUG_6
210
using Base::operator();
212
template <typename T1, typename T2>
214
operator()(const T1& t1, const T2& t2) const
216
return Base()(t1,t2);
226
221
template <class Arc_2>
275
270
typedef typename BK::Circular_kernel::
276
271
template Base< BK >::Type::Compare_y_at_x_2 CK_Compare_y_at_x_2;
272
typedef CK_Compare_y_at_x_2 Base;
277
273
typedef typename BK::Circular_arc_2 Circular_arc_2;
278
274
typedef typename BK::Circular_arc_point_2 Circular_arc_point_2;
279
275
typedef typename BK::Line_arc_2 Line_arc_2;
283
typedef typename CK_Compare_y_at_x_2::result_type result_type;
284
using CK_Compare_y_at_x_2::operator();
279
typedef typename CK_Compare_y_at_x_2::result_type result_type;
281
#ifndef CGAL_CFG_MATCHING_BUG_6
282
using Base::operator();
284
template <typename T1, typename T2>
286
operator()(const T1& t1, const T2& t2) const
288
return Base()(t1,t2);
291
template <typename T1, typename T2, typename T3>
293
operator()(const T1& t1, const T2& t2, const T3& t3) const
295
return Base()(t1,t2,t3);
298
template <typename T1, typename T2, typename T3, typename T4>
300
operator()(const T1& t1, const T2& t2, const T3& t3, const T4& t4) const
302
return Base()(t1,t2,t3,t4);
305
template <typename T1, typename T2, typename T3, typename T4, typename T5>
307
operator()(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5) const
309
return Base()(t1,t2,t3,t4,t5);
288
314
template <class Arc_2>
325
351
typedef typename BK::Circular_kernel::
326
352
template Base< BK >::Type::Has_on_2 CK_Has_on_2;
353
typedef CK_Has_on_2 Base;
327
354
typedef typename BK::Circular_arc_2 Circular_arc_2;
328
355
typedef typename BK::Circular_arc_point_2 Circular_arc_point_2;
329
356
typedef typename BK::Line_arc_2 Line_arc_2;
333
typedef typename CK_Has_on_2::result_type result_type;
334
using CK_Has_on_2::operator();
360
typedef typename CK_Has_on_2::result_type result_type;
361
#ifndef CGAL_CFG_MATCHING_BUG_6
362
using Base::operator();
364
template <typename T1, typename T2>
366
operator()(const T1& t1, const T2& t2) const
368
return Base()(t1,t2);
338
373
template <class Arc_2>
384
419
typedef typename BK::Circular_arc_point_2 Circular_arc_point_2;
385
420
typedef typename BK::Line_arc_2 Line_arc_2;
422
typedef CK_Equal_2 Base;
389
typedef typename CK_Equal_2::result_type result_type;
392
operator() (const Point_2 &p0,
393
const Point_2 &p1) const
394
{ return CK_Equal_2()(p0,p1); }
426
typedef typename CK_Equal_2::result_type result_type;
396
428
#ifndef CGAL_CFG_MATCHING_BUG_6
397
using CK_Equal_2::operator();
429
using Base::operator();
400
operator() (const Vector_2 &p0,
401
const Vector_2 &p1) const
402
{ return CK_Equal_2()(p0,p1); }
405
operator() (const Vector_2 &p0,
406
const Null_vector &p1) const
407
{ return CK_Equal_2()(p0,p1); }
410
operator() (const Null_vector &p0,
411
const Vector_2 &p1) const
412
{ return CK_Equal_2()(p0,p1); }
415
operator() (const Direction_2 &p0,
416
const Direction_2 &p1) const
417
{ return CK_Equal_2()(p0,p1); }
421
operator() (const Segment_2 &p0,
422
const Segment_2 &p1) const
423
{ return CK_Equal_2()(p0,p1); }
427
operator() (const Ray_2 &p0,
428
const Ray_2 &p1) const
429
{ return CK_Equal_2()(p0,p1); }
432
operator() (const Line_2 &p0,
433
const Line_2 &p1) const
434
{ return CK_Equal_2()(p0,p1); }
439
operator() (const Triangle_2 &p0,
440
const Triangle_2 &p1) const
441
{ return CK_Equal_2()(p0,p1); }
445
operator() (const Iso_rectangle_2 &p0,
446
const Iso_rectangle_2 &p1) const
447
{ return CK_Equal_2()(p0,p1); }
451
operator() (const Circle_2 &p0,
452
const Circle_2 &p1) const
453
{ return CK_Equal_2()(p0,p1); }
431
template <typename T1, typename T2>
433
operator()(const T1& t1, const T2& t2) const
435
return Base()(t1,t2);
534
517
typedef typename BK::Circular_kernel::
535
518
template Base< BK >::Type::Do_overlap_2 CK_Do_overlap_2;
519
typedef CK_Do_overlap_2 Base;
536
520
typedef typename BK::Circular_arc_2 Circular_arc_2;
537
521
typedef typename BK::Line_arc_2 Line_arc_2;
541
typedef typename CK_Do_overlap_2::result_type result_type;
542
using CK_Do_overlap_2::operator();
525
typedef typename CK_Do_overlap_2::result_type result_type;
527
#ifndef CGAL_CFG_MATCHING_BUG_6
528
using Base::operator();
530
template <typename T1, typename T2>
532
operator()(const T1& t1, const T2& t2) const
534
return Base()(t1,t2);