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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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