Mercurial > mxe-octave
annotate src/of-geometry-1-cxx17.patch @ 6234:97c5f8da5036 release
* src/librsb.mk: update to 1.2.0.11
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 27 May 2022 12:24:32 +0200 |
parents | d5562a901c09 |
children |
rev | line source |
---|---|
5838
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
1 Make operator() const (no mutable state allowed). |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
2 This was always implied but is required for std::set in C++17. |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
3 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
4 $ diff -Naup ./src/martinez.cpp.orig ./src/martinez.cpp |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
5 --- ./src/martinez.cpp.orig 2020-02-03 04:35:21.000000000 +0100 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
6 +++ ./src/martinez.cpp 2021-08-12 13:22:32.462499966 +0200 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
7 @@ -26,7 +26,7 @@ void Martinez::print (SweepEvent& e) |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
8 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
9 // Compare two sweep events |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
10 // Return true means that e1 is placed at the event queue after e2, i.e,, e1 is processed by the algorithm after e2 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
11 -bool Martinez::SweepEventComp::operator() (SweepEvent* e1, SweepEvent* e2) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
12 +bool Martinez::SweepEventComp::operator() (const SweepEvent* e1, const SweepEvent* e2) const { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
13 if (e1->p.x > e2->p.x) // Different x-coordinate |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
14 return true; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
15 if (e2->p.x > e1->p.x) // Different x-coordinate |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
16 @@ -40,7 +40,7 @@ bool Martinez::SweepEventComp::operator( |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
17 } |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
18 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
19 // e1 and a2 are the left events of line segments (e1->p, e1->other->p) and (e2->p, e2->other->p) |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
20 -bool Martinez::SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
21 +bool Martinez::SegmentComp::operator() (const SweepEvent* e1, const SweepEvent* e2) const { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
22 if (e1 == e2) |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
23 return false; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
24 if (signedArea (e1->p, e1->other->p, e2->p) != 0 || signedArea (e1->p, e1->other->p, e2->other->p) != 0) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
25 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
26 $ diff -Naup ./src/martinez.h.orig ./src/martinez.h |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
27 --- ./src/martinez.h.orig 2020-02-03 04:35:21.000000000 +0100 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
28 +++ ./src/martinez.h 2021-08-12 13:21:16.650607542 +0200 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
29 @@ -38,7 +38,7 @@ private: |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
30 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
31 struct SweepEvent; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
32 struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sorting edges in the sweep line |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
33 - bool operator() (SweepEvent* e1, SweepEvent* e2); |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
34 + bool operator() (const SweepEvent* e1, const SweepEvent* e2) const; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
35 }; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
36 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
37 struct SweepEvent { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
38 @@ -65,7 +65,7 @@ private: |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
39 static void print (SweepEvent& e); // This function is intended for debugging purposes |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
40 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
41 struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sortening events |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
42 - bool operator() (SweepEvent* e1, SweepEvent* e2); |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
43 + bool operator() (const SweepEvent* e1, const SweepEvent* e2) const; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
44 }; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
45 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
46 /** @brief Event Queue */ |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
47 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
48 $ diff -Naup ./src/polygon.cpp.orig ./src/polygon.cpp |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
49 --- ./src/polygon.cpp.orig 2020-02-03 04:35:21.000000000 +0100 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
50 +++ ./src/polygon.cpp 2021-08-12 13:30:01.848702003 +0200 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
51 @@ -94,7 +94,7 @@ void Polygon::move (double x, double y) |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
52 namespace { // start of anonymous namespace |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
53 struct SweepEvent; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
54 struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
55 - bool operator() (SweepEvent* e1, SweepEvent* e2); |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
56 + bool operator() (const SweepEvent* e1, const SweepEvent* e2) const; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
57 }; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
58 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
59 struct SweepEvent { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
60 @@ -117,7 +117,7 @@ namespace { // start of anonymous namesp |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
61 }; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
62 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
63 struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
64 - bool operator() (SweepEvent* e1, SweepEvent* e2) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
65 + bool operator() (const SweepEvent* e1, const SweepEvent* e2) const { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
66 if (e1->p.x < e2->p.x) // Different x coordinate |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
67 return true; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
68 if (e2->p.x < e1->p.x) // Different x coordinate |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
69 @@ -133,7 +133,7 @@ namespace { // start of anonymous namesp |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
70 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
71 } // end of anonymous namespace |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
72 |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
73 -bool SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
74 +bool SegmentComp::operator() (const SweepEvent* e1, const SweepEvent* e2) const { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
75 if (e1 == e2) |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
76 return false; |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
77 if (signedArea (e1->p, e1->other->p, e2->p) != 0 || signedArea (e1->p, e1->other->p, e2->other->p) != 0) { |
d5562a901c09
of-geometry: Fix const-ness of operator() of some classes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
78 |