mirror of https://github.com/CGAL/cgal
removed redundant mutable qualifier and cleanup
This commit is contained in:
parent
2213416814
commit
f97f426d65
|
|
@ -14,7 +14,8 @@
|
|||
// $URL$
|
||||
// $Id$
|
||||
//
|
||||
// Author(s) : Efi Fogel <efif@post.tau.ac.il>
|
||||
// Author(s): Efi Fogel <efif@post.tau.ac.il>
|
||||
// Eric Berberich <ericb@post.tau.ac.il>
|
||||
|
||||
#ifndef CGAL_ARR_COUNTING_TRAITS_H
|
||||
#define CGAL_ARR_COUNTING_TRAITS_H
|
||||
|
|
@ -95,7 +96,7 @@ public:
|
|||
}
|
||||
|
||||
/*! Construct copy */
|
||||
Arr_counting_traits_2(Arr_counting_traits_2 & other) : Base(other)
|
||||
Arr_counting_traits_2(Arr_counting_traits_2& other) : Base(other)
|
||||
{
|
||||
clear_counters();
|
||||
increment();
|
||||
|
|
@ -243,15 +244,15 @@ public:
|
|||
class Compare_x_2 {
|
||||
private:
|
||||
typename Base::Compare_x_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_x_2(const Base * base, unsigned int & counter) :
|
||||
Compare_x_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_x_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p1, const Point_2 & p2) const
|
||||
Comparison_result operator()(const Point_2& p1, const Point_2& p2) const
|
||||
{ ++m_counter; return m_object(p1, p2); }
|
||||
};
|
||||
|
||||
|
|
@ -259,15 +260,15 @@ public:
|
|||
class Compare_xy_2 {
|
||||
private:
|
||||
typename Base::Compare_xy_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_xy_2(const Base * base, unsigned int & counter) :
|
||||
Compare_xy_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_xy_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p1, const Point_2 & p2) const
|
||||
Comparison_result operator()(const Point_2& p1, const Point_2& p2) const
|
||||
{ ++m_counter; return m_object(p1, p2); }
|
||||
};
|
||||
|
||||
|
|
@ -275,15 +276,15 @@ public:
|
|||
class Construct_min_vertex_2 {
|
||||
private:
|
||||
typename Base::Construct_min_vertex_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Construct_min_vertex_2(const Base * base, unsigned int & counter) :
|
||||
Construct_min_vertex_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->construct_min_vertex_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
const Point_2 operator()(const X_monotone_curve_2 & xc) const
|
||||
const Point_2 operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -291,15 +292,15 @@ public:
|
|||
class Construct_max_vertex_2 {
|
||||
private:
|
||||
typename Base::Construct_max_vertex_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Construct_max_vertex_2(const Base * base, unsigned int & counter) :
|
||||
Construct_max_vertex_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->construct_max_vertex_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
const Point_2 operator()(const X_monotone_curve_2 & xc) const
|
||||
const Point_2 operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -307,15 +308,15 @@ public:
|
|||
class Is_vertical_2 {
|
||||
private:
|
||||
typename Base::Is_vertical_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Is_vertical_2(const Base * base, unsigned int & counter) :
|
||||
Is_vertical_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->is_vertical_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
bool operator()(const X_monotone_curve_2 & xc) const
|
||||
bool operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -325,16 +326,16 @@ public:
|
|||
class Compare_y_at_x_2 {
|
||||
private:
|
||||
typename Base::Compare_y_at_x_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_y_at_x_2(const Base * base, unsigned int & counter) :
|
||||
Compare_y_at_x_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_y_at_x_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p,
|
||||
const X_monotone_curve_2 & xc) const
|
||||
Comparison_result operator()(const Point_2& p,
|
||||
const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; return m_object(p, xc); }
|
||||
};
|
||||
|
||||
|
|
@ -344,24 +345,23 @@ public:
|
|||
class Equal_2 {
|
||||
private:
|
||||
typename Base::Equal_2 m_object;
|
||||
unsigned int & m_counter1;
|
||||
unsigned int & m_counter2;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Equal_2(const Base * base,
|
||||
unsigned int & counter1, unsigned int & counter2) :
|
||||
Equal_2(const Base* base, unsigned int& counter1, unsigned int& counter2) :
|
||||
m_object(base->equal_2_object()),
|
||||
m_counter1(counter1), m_counter2(counter2)
|
||||
{}
|
||||
|
||||
/*! Operate */
|
||||
bool operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2) const
|
||||
bool operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2) const
|
||||
{ ++m_counter1; return m_object(xc1, xc2); }
|
||||
|
||||
/*! Operate */
|
||||
bool operator()(const Point_2 & p1, const Point_2 & p2) const
|
||||
bool operator()(const Point_2& p1, const Point_2& p2) const
|
||||
{ ++m_counter2; return m_object(p1, p2); }
|
||||
};
|
||||
|
||||
|
|
@ -371,17 +371,17 @@ public:
|
|||
class Compare_y_at_x_left_2 {
|
||||
private:
|
||||
typename Base::Compare_y_at_x_left_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_y_at_x_left_2(const Base * base, unsigned int & counter) :
|
||||
Compare_y_at_x_left_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_y_at_x_left_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
const Point_2 & p) const
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
const Point_2& p) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, p); }
|
||||
};
|
||||
|
||||
|
|
@ -391,17 +391,17 @@ public:
|
|||
class Compare_y_at_x_right_2 {
|
||||
private:
|
||||
typename Base::Compare_y_at_x_right_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_y_at_x_right_2(const Base * base, unsigned int & counter) :
|
||||
Compare_y_at_x_right_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_y_at_x_right_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
const Point_2 & p) const
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
const Point_2& p) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, p); }
|
||||
};
|
||||
|
||||
|
|
@ -409,16 +409,16 @@ public:
|
|||
class Make_x_monotone_2 {
|
||||
private:
|
||||
typename Base::Make_x_monotone_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Make_x_monotone_2(const Base * base, unsigned int & counter) :
|
||||
Make_x_monotone_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->make_x_monotone_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
template<class OutputIterator>
|
||||
OutputIterator operator()(const Curve_2 & cv, OutputIterator oi) const
|
||||
OutputIterator operator()(const Curve_2& cv, OutputIterator oi) const
|
||||
{ ++m_counter; return m_object(cv, oi); }
|
||||
};
|
||||
|
||||
|
|
@ -426,16 +426,16 @@ public:
|
|||
class Split_2 {
|
||||
private:
|
||||
typename Base::Split_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Split_2(const Base * base, unsigned int & counter) :
|
||||
Split_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->split_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
void operator()(const X_monotone_curve_2 & xc, const Point_2 & p,
|
||||
X_monotone_curve_2 & xc1, X_monotone_curve_2 & xc2) const
|
||||
void operator()(const X_monotone_curve_2& xc, const Point_2& p,
|
||||
X_monotone_curve_2& xc1, X_monotone_curve_2& xc2) const
|
||||
{ ++m_counter; m_object(xc, p, xc1, xc2); }
|
||||
};
|
||||
|
||||
|
|
@ -443,17 +443,17 @@ public:
|
|||
class Intersect_2 {
|
||||
private:
|
||||
typename Base::Intersect_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Intersect_2(const Base * base, unsigned int & counter) :
|
||||
Intersect_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->intersect_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
template<class OutputIterator>
|
||||
OutputIterator operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
OutputIterator operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
OutputIterator oi) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, oi); }
|
||||
};
|
||||
|
|
@ -462,16 +462,16 @@ public:
|
|||
class Are_mergeable_2 {
|
||||
private:
|
||||
typename Base::Are_mergeable_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Are_mergeable_2(const Base * base, unsigned int & counter) :
|
||||
Are_mergeable_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->are_mergeable_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
bool operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2) const
|
||||
bool operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2) const
|
||||
{ ++m_counter; return m_object(xc1, xc2); }
|
||||
};
|
||||
|
||||
|
|
@ -479,17 +479,17 @@ public:
|
|||
class Merge_2 {
|
||||
private:
|
||||
typename Base::Merge_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Merge_2(const Base * base, unsigned int & counter) :
|
||||
Merge_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->merge_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
void operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
X_monotone_curve_2 & xc) const
|
||||
void operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
X_monotone_curve_2& xc) const
|
||||
{ ++m_counter; m_object(xc1, xc2, xc); }
|
||||
};
|
||||
|
||||
|
|
@ -497,15 +497,15 @@ public:
|
|||
class Construct_opposite_2 {
|
||||
private:
|
||||
typename Base::Construct_opposite_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Construct_opposite_2(const Base * base, unsigned int & counter) :
|
||||
Construct_opposite_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->construct_opposite_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
X_monotone_curve_2 operator()(const X_monotone_curve_2 & xc)
|
||||
X_monotone_curve_2 operator()(const X_monotone_curve_2& xc)
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -515,15 +515,15 @@ public:
|
|||
class Compare_endpoints_xy_2 {
|
||||
private:
|
||||
typename Base::Compare_endpoints_xy_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_endpoints_xy_2(const Base * base, unsigned int & counter) :
|
||||
Compare_endpoints_xy_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_endpoints_xy_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc)
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc)
|
||||
{ ++m_counter; return m_object(xc); }
|
||||
};
|
||||
|
||||
|
|
@ -535,62 +535,60 @@ public:
|
|||
class Parameter_space_in_x_2 {
|
||||
private:
|
||||
typename Base::Parameter_space_in_x_2 m_object;
|
||||
unsigned int & m_counter1;
|
||||
unsigned int & m_counter2;
|
||||
unsigned int & m_counter3;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
unsigned int& m_counter3;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Parameter_space_in_x_2(const Base * base,
|
||||
unsigned int & counter1,
|
||||
unsigned int & counter2,
|
||||
unsigned int & counter3) :
|
||||
Parameter_space_in_x_2(const Base* base, unsigned int& counter1,
|
||||
unsigned int& counter2, unsigned int& counter3) :
|
||||
m_object(base->parameter_space_in_x_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2),
|
||||
m_counter3(counter3) {}
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc,
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter1; return m_object(xc, ce); }
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const Point_2 & p) const
|
||||
Arr_parameter_space operator()(const Point_2& p) const
|
||||
{ ++m_counter2; return m_object(p); }
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc) const
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter3; return m_object(xc); }
|
||||
|
||||
};
|
||||
|
||||
/*! A functor that determines whether a point or a curve lies on an identification in x.
|
||||
/*! A functor that determines whether a point or a curve lies on an
|
||||
* identification in x.
|
||||
*/
|
||||
class Is_on_x_identification_2 {
|
||||
private:
|
||||
typename Base::Is_on_x_identificiation_2 m_object;
|
||||
mutable unsigned int & m_counter1;
|
||||
mutable unsigned int & m_counter2;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Is_on_x_identification_2(const Base * base,
|
||||
unsigned int & counter1,
|
||||
unsigned int & counter2) :
|
||||
Is_on_x_identification_2(const Base* base,
|
||||
unsigned int& counter1, unsigned int& counter2) :
|
||||
m_object(base->is_on_x_identificiation_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2) {}
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const Point_2 & p) const
|
||||
Arr_parameter_space operator()(const Point_2& p) const
|
||||
{ ++m_counter1; return m_object(p); }
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc) const
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter2; return m_object(xc); }
|
||||
|
||||
};
|
||||
|
|
@ -601,18 +599,17 @@ public:
|
|||
class Compare_y_on_boundary_2 {
|
||||
private:
|
||||
typename Base::Compare_y_on_boundary_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_y_on_boundary_2(const Base * base, unsigned int & counter) :
|
||||
Compare_y_on_boundary_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_y_on_boundary_2_object()),
|
||||
m_counter(counter)
|
||||
{}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p1,
|
||||
const Point_2 & p2) const
|
||||
Comparison_result operator()(const Point_2& p1, const Point_2& p2) const
|
||||
{ ++m_counter; return m_object(p1, p2); }
|
||||
};
|
||||
|
||||
|
|
@ -622,16 +619,16 @@ public:
|
|||
class Compare_y_near_boundary_2 {
|
||||
private:
|
||||
typename Base::Compare_y_near_boundary_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_y_near_boundary_2(const Base * base, unsigned int & counter) :
|
||||
Compare_y_near_boundary_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_y_near_boundary_2_object()), m_counter(counter) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, ce); }
|
||||
};
|
||||
|
|
@ -644,60 +641,58 @@ public:
|
|||
class Parameter_space_in_y_2 {
|
||||
private:
|
||||
typename Base::Parameter_space_in_y_2 m_object;
|
||||
unsigned int & m_counter1;
|
||||
unsigned int & m_counter2;
|
||||
unsigned int & m_counter3;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
unsigned int& m_counter3;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Parameter_space_in_y_2(const Base * base,
|
||||
unsigned int & counter1,
|
||||
unsigned int & counter2,
|
||||
unsigned int & counter3) :
|
||||
Parameter_space_in_y_2(const Base* base, unsigned int& counter1,
|
||||
unsigned int& counter2, unsigned int& counter3) :
|
||||
m_object(base->parameter_space_in_y_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2),
|
||||
m_counter3(counter3) {}
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc,
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter1; return m_object(xc, ce); }
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const Point_2 & p) const
|
||||
Arr_parameter_space operator()(const Point_2& p) const
|
||||
{ ++m_counter2; return m_object(p); }
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc) const
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter3; return m_object(xc); }
|
||||
|
||||
};
|
||||
|
||||
/*! A functor that determines whether a point or a curve lies on an identification in x.
|
||||
/*! A functor that determines whether a point or a curve lies on an
|
||||
* identification in x.
|
||||
*/
|
||||
class Is_on_y_identification_2 {
|
||||
private:
|
||||
typename Base::Is_on_y_identificiation_2 m_object;
|
||||
mutable unsigned int & m_counter1;
|
||||
mutable unsigned int & m_counter2;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Is_on_y_identification_2(const Base * base,
|
||||
unsigned int & counter1,
|
||||
unsigned int & counter2) :
|
||||
Is_on_y_identification_2(const Base* base,
|
||||
unsigned int& counter1, unsigned int& counter2) :
|
||||
m_object(base->is_on_y_identificiation_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2) {}
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const Point_2 & p) const
|
||||
Arr_parameter_space operator()(const Point_2& p) const
|
||||
{ ++m_counter1; return m_object(p); }
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2 & xc) const
|
||||
Arr_parameter_space operator()(const X_monotone_curve_2& xc) const
|
||||
{ ++m_counter2; return m_object(xc); }
|
||||
|
||||
};
|
||||
|
|
@ -708,28 +703,27 @@ public:
|
|||
class Compare_x_at_limit_2 {
|
||||
private:
|
||||
typename Base::Compare_x_at_limit_2 m_object;
|
||||
unsigned int & m_counter1;
|
||||
unsigned int & m_counter2;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_x_at_limit_2(const Base * base,
|
||||
unsigned int & counter1,
|
||||
unsigned int & counter2) :
|
||||
Compare_x_at_limit_2(const Base* base,
|
||||
unsigned int& counter1, unsigned int& counter2) :
|
||||
m_object(base->compare_x_at_limit_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2) {}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p,
|
||||
const X_monotone_curve_2 & xc,
|
||||
Comparison_result operator()(const Point_2& p,
|
||||
const X_monotone_curve_2& xc,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter1; return m_object(p, xc, ce); }
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
Arr_curve_end ce1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
const X_monotone_curve_2& xc2,
|
||||
Arr_curve_end ce2) const
|
||||
{ ++m_counter2; return m_object(xc1, ce1, xc2, ce2); }
|
||||
};
|
||||
|
|
@ -741,19 +735,18 @@ public:
|
|||
class Compare_x_near_limit_2 {
|
||||
private:
|
||||
typename Base::Compare_x_near_limit_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_x_near_limit_2(const Base * base,
|
||||
unsigned int & counter) :
|
||||
Compare_x_near_limit_2(const Base* base, unsigned int& counter) :
|
||||
m_object(base->compare_x_near_limit_2_object()),
|
||||
m_counter(counter) {}
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, ce); }
|
||||
};
|
||||
|
|
@ -764,14 +757,14 @@ public:
|
|||
class Compare_x_on_boundary_2 {
|
||||
private:
|
||||
typename Base::Compare_x_on_boundary_2 m_object;
|
||||
unsigned int & m_counter1;
|
||||
unsigned int & m_counter2;
|
||||
unsigned int & m_counter3;
|
||||
unsigned int& m_counter1;
|
||||
unsigned int& m_counter2;
|
||||
unsigned int& m_counter3;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_x_on_boundary_2(const Base * base,
|
||||
unsigned int & counter1, unsigned int & counter2, unsigned int & counter3 ) :
|
||||
Compare_x_on_boundary_2(const Base* base, unsigned int& counter1,
|
||||
unsigned int& counter2, unsigned int& counter3 ) :
|
||||
m_object(base->compare_x_on_boundary_2_object()),
|
||||
m_counter1(counter1),
|
||||
m_counter2(counter2),
|
||||
|
|
@ -779,18 +772,20 @@ public:
|
|||
{}
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & p1,
|
||||
const Point_2 & p2) const
|
||||
Comparison_result operator()(const Point_2& p1, const Point_2& p2) const
|
||||
{ ++m_counter1; return m_object(p1, p2); }
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const Point_2 & pt,
|
||||
const X_monotone_curve_2 & xcv, Arr_curve_end ce) const
|
||||
Comparison_result operator()(const Point_2& pt,
|
||||
const X_monotone_curve_2& xcv,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter2; return m_object(pt, xcv, ce); }
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xcv1, Arr_curve_end ce1,
|
||||
const X_monotone_curve_2 & xcv2, Arr_curve_end ce2) const
|
||||
Comparison_result operator()(const X_monotone_curve_2& xcv1,
|
||||
Arr_curve_end ce1,
|
||||
const X_monotone_curve_2& xcv2,
|
||||
Arr_curve_end ce2) const
|
||||
{ ++m_counter3; return m_object(xcv1, ce1, xcv2, ce2); }
|
||||
|
||||
};
|
||||
|
|
@ -801,19 +796,19 @@ public:
|
|||
class Compare_x_near_boundary_2 {
|
||||
private:
|
||||
typename Base::Compare_x_near_boundary_2 m_object;
|
||||
unsigned int & m_counter;
|
||||
unsigned int& m_counter;
|
||||
|
||||
public:
|
||||
/*! Construct */
|
||||
Compare_x_near_boundary_2(const Base * base,
|
||||
unsigned int & counter) :
|
||||
Compare_x_near_boundary_2(const Base* base,
|
||||
unsigned int& counter) :
|
||||
m_object(base->compare_x_near_boundary_2_object()),
|
||||
m_counter(counter) {}
|
||||
|
||||
|
||||
/*! Operate */
|
||||
Comparison_result operator()(const X_monotone_curve_2 & xc1,
|
||||
const X_monotone_curve_2 & xc2,
|
||||
Comparison_result operator()(const X_monotone_curve_2& xc1,
|
||||
const X_monotone_curve_2& xc2,
|
||||
Arr_curve_end ce) const
|
||||
{ ++m_counter; return m_object(xc1, xc2, ce); }
|
||||
};
|
||||
|
|
@ -887,18 +882,20 @@ public:
|
|||
}
|
||||
|
||||
Is_on_x_identification_2 is_on_x_identification_2_object() const
|
||||
{ return Is_on_x_identification_2(
|
||||
this,
|
||||
m_counters[IS_ON_X_IDENTIFICATION_POINT_OP],
|
||||
m_counters[IS_ON_X_IDENTIFICATION_CURVE_OP]
|
||||
);
|
||||
{
|
||||
return Is_on_x_identification_2(this,
|
||||
m_counters[IS_ON_X_IDENTIFICATION_POINT_OP],
|
||||
m_counters[IS_ON_X_IDENTIFICATION_CURVE_OP]);
|
||||
}
|
||||
|
||||
Compare_y_on_boundary_2 compare_on_boundary_2_object() const
|
||||
{ return Compare_y_on_boundary_2(this, m_counters[COMPARE_Y_ON_BOUNDARY_OP]); }
|
||||
|
||||
Compare_y_near_boundary_2 compare_near_boundary_2_object() const
|
||||
{ return Compare_y_near_boundary_2(this, m_counters[COMPARE_Y_NEAR_BOUNDARY_OP]); }
|
||||
{
|
||||
return Compare_y_near_boundary_2(this,
|
||||
m_counters[COMPARE_Y_NEAR_BOUNDARY_OP]);
|
||||
}
|
||||
|
||||
// bottom-top
|
||||
Parameter_space_in_y_2 parameter_space_in_y_2_object() const
|
||||
|
|
@ -919,21 +916,30 @@ public:
|
|||
}
|
||||
|
||||
Compare_x_at_limit_2 compare_x_at_limit_2_object() const
|
||||
{ return Compare_x_at_limit_2(this,
|
||||
m_counters[COMPARE_X_AT_LIMIT_POINT_CURVE_END_OP],
|
||||
m_counters[COMPARE_X_AT_LIMIT_CURVE_ENDS_OP]); }
|
||||
{
|
||||
return
|
||||
Compare_x_at_limit_2(this,
|
||||
m_counters[COMPARE_X_AT_LIMIT_POINT_CURVE_END_OP],
|
||||
m_counters[COMPARE_X_AT_LIMIT_CURVE_ENDS_OP]);
|
||||
}
|
||||
|
||||
Compare_x_near_limit_2 compare_x_near_limit_2_object() const
|
||||
{ return Compare_x_near_limit_2(this, m_counters[COMPARE_X_NEAR_LIMIT_OP]); }
|
||||
|
||||
Compare_x_on_boundary_2 compare_x_on_boundary_2_object() const
|
||||
{ return Compare_x_on_boundary_2(this,
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_POINTS_OP],
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_POINT_CURVE_END_OP],
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_CURVE_ENDS_OP]); }
|
||||
{
|
||||
return
|
||||
Compare_x_on_boundary_2(this,
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_POINTS_OP],
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_POINT_CURVE_END_OP],
|
||||
m_counters[COMPARE_X_ON_BOUNDARY_CURVE_ENDS_OP]);
|
||||
}
|
||||
|
||||
Compare_x_near_boundary_2 compare_x_near_boundary_2_object() const
|
||||
{ return Compare_x_near_boundary_2(this, m_counters[COMPARE_X_NEAR_BOUNDARY_OP]); }
|
||||
{
|
||||
return Compare_x_near_boundary_2(this,
|
||||
m_counters[COMPARE_X_NEAR_BOUNDARY_OP]);
|
||||
}
|
||||
|
||||
//@}
|
||||
|
||||
|
|
@ -959,8 +965,8 @@ private:
|
|||
|
||||
template <class Out_stream, class Base_traits>
|
||||
inline
|
||||
Out_stream & operator<<(Out_stream & os,
|
||||
const Arr_counting_traits_2<Base_traits> & traits)
|
||||
Out_stream& operator<<(Out_stream& os,
|
||||
const Arr_counting_traits_2<Base_traits>& traits)
|
||||
{
|
||||
typedef Arr_counting_traits_2<Base_traits> Traits;
|
||||
unsigned int sum = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue