Barend Gehrels
7a4582a50b
[dissolve] update svg creation in unittest
2018-01-03 18:15:10 +01:00
Barend Gehrels
85297586d9
[dissolve] add two derived cases to test program, and update test program
2018-01-03 18:13:56 +01:00
Barend Gehrels
01bbb65883
[dissolve] resolve internal overlaps by calling the code also used for
...
multipolygons.
TODO: this should be done for interior rings separately too
2018-01-03 18:12:31 +01:00
Barend Gehrels
5c1a9fd3c6
[enrich/dissolve] set startable false for operations between two other
...
turns on the same segment, and discard turns which do not have startable
operations
2018-01-03 17:49:11 +01:00
Barend Gehrels
83f3920ab9
[dissolve] using preferred operations, they are now also used to determine
...
the order in which turns are traversed (first preferred).
This introduces a specific traverse umbrella class for dissolve
2018-01-03 17:36:13 +01:00
Barend Gehrels
bb506996f9
[dissolve] add attribute preferred start, and use it to decide which
...
operation should be selected in case both is union (which is now normal
for dissolve)
2018-01-03 17:07:48 +01:00
Barend Gehrels
0dfd86f678
[dissolve] instead of fixing dead-ends only
...
(which was actually a workaround and too limited), all turns are
now adapted and intersection is mapped to union
(note: a next commit will work this out further)
2018-01-03 16:27:58 +01:00
Barend Gehrels
4a107545a1
[dissolve] remove distinction between dissolve_union/dissolve_intersection
...
(note: a next commit will work it out further)
2018-01-03 16:25:39 +01:00
Barend Gehrels
f25710c2e5
Merge branch 'feature/intvalid' into feature/dissolve
2018-01-03 11:08:59 +01:00
Barend Gehrels
26a50a2bbd
[traverse] fix case #case_141_multi which is isolated with multiple
...
connections
2018-01-01 16:28:32 +01:00
Barend Gehrels
1a724ed696
[difference] remove the self-turns-which-loop function which is now not necessary anymore
...
This fixes the remaining error in #ticket_12503 and makes intersection/union more
similar
2017-12-31 23:10:14 +01:00
Barend Gehrels
e9d8d23601
[overlay] add defensive check
2017-12-31 17:20:11 +01:00
Barend Gehrels
6792d76eac
[enrich] remove unused parameter for_operation
2017-12-31 17:19:11 +01:00
Barend Gehrels
bc77fca531
[test] add new case also to intersection/union
2017-12-31 17:17:46 +01:00
Barend Gehrels
9f00c8501b
[union] skip discarding i/e turns for union because this causes some turns
...
to be missed. This fixes the new case #case_recursive_boxes_88
2017-12-31 17:17:21 +01:00
Barend Gehrels
10e79329c1
[test] update a few testcases (comments, defines)
2017-12-31 17:15:45 +01:00
Barend Gehrels
19d0015a81
[test] enable a testcase now fixed
2017-12-29 14:21:04 +01:00
Barend Gehrels
f704579ed0
[overlay] by default use self-turns. This reverses definition
...
of define SELF to NO_SELF. Including all unit tests.
2017-12-29 13:17:42 +01:00
Barend Gehrels
2c4ed662e7
Merge branch 'develop' into feature/intvalid
2017-12-29 12:07:45 +01:00
Barend Gehrels
0f4712bdfb
[test] add recent testcases to the other test scenarios
2017-12-20 16:54:51 +01:00
Barend Gehrels
f6c67daba6
[difference] fix cases where ii turns were not discarded, this
...
was a todo-item, it was not yet done for difference.
Including unit testcase using this.
2017-12-20 16:22:27 +01:00
Barend Gehrels
68bc3ee07a
[dissolve] apply last change for dissolve too
2017-12-20 14:08:13 +01:00
Barend Gehrels
b28b312141
[difference] fix cases where potential inner rings have same area as
...
outer rings (located elsewhere), due to an earlier optimization
2017-12-20 14:07:51 +01:00
Barend Gehrels
11cff883b0
[intersection] Fix newly found case by removing some conditions from
...
handle_self_turns and setting ii-self-turns as non-startable instead of
discarding them.
2017-12-16 18:52:39 +01:00
Barend Gehrels
7552200cfa
[traverse] use new method operation_from_rank in two other places as well
2017-12-15 14:37:55 +01:00
Barend Gehrels
556896c7cc
[traverse] need to select on operations in selecting ranks, it is not
...
done later. Small regression found by recursive_polygons
2017-12-15 14:37:17 +01:00
Barend Gehrels
5d99d1608d
[overlay] fix new #case_recursive_boxes_82 by greatly simplifying the code.
...
patterns/aggregations were added to solve specific intersection problems
and validity in the past. In the meantime self-turns and isolation information
is much better, and those code is not needed anymore.
This also fixes the #mysql_regression_1_65_2017_08_31
This also makes union/intersection code for handling clusters much more similar
2017-12-15 13:20:41 +01:00
Barend Gehrels
f0d74e3386
[union] simplify cluster behaviour by skipping aggregation step
2017-12-15 12:34:25 +01:00
Barend Gehrels
2cd973df85
Merge branch 'develop' into feature/intvalid
2017-12-15 11:05:16 +01:00
Adam Wulkiewicz
c83bc33cb4
[overlay] Add missing includes in add_rings.hpp
2017-12-15 01:16:36 +01:00
Barend Gehrels
b9d0e73310
[dissolve] rename variables to avoid shadowing
2017-12-14 17:22:34 +01:00
Barend Gehrels
bdeed328ff
[dissolve] fix dead ends, necessary to solve case #dissolve_star
2017-12-14 16:23:09 +01:00
Barend Gehrels
4c217dd106
[dissolve] correct orientation for rings without self-turns
2017-12-14 15:30:11 +01:00
Barend Gehrels
9b138e2a98
[traverse] skip switch detector for dissolve
2017-12-14 15:29:28 +01:00
Barend Gehrels
fea0a495f7
[enrich] skip discarding turns based on counts left/right
2017-12-14 15:28:23 +01:00
Barend Gehrels
d564e8f81c
[overlay] fix typo
2017-12-14 15:27:43 +01:00
Barend Gehrels
ce41dacdd5
[dissolve] add star-test to dissolve unit test, including adding an optional
...
reverse operation for test cases
2017-12-14 15:27:21 +01:00
Barend Gehrels
f2613776fd
Merge branch 'feature/intvalid' into feature/dissolve
2017-12-14 10:49:42 +01:00
Barend Gehrels
36498dda6c
Merge branch 'develop' into feature/dissolve
2017-12-14 09:50:01 +01:00
Barend Gehrels
f0619cb19a
[enrich] combine expressions, set cluster, add comments
2017-12-06 15:43:11 +01:00
Barend Gehrels
dc7c17347f
[traverse] dont use blocked turns for region, and simplify
...
expressions by static consts
2017-12-06 15:42:27 +01:00
Barend Gehrels
18eb8c5cd7
[test] add new testcase to union/difference
2017-12-06 15:39:53 +01:00
Barend Gehrels
080f0f22f4
[traverse] fix case where hole of one of the inputs formed a
...
disconnected interior (invalid). In the end it is fixed by only
deleting code. This code is not really old but added to fix some
cases, which are finally fixed in a more generic way.
It fixes a new case and also enhances #case_141_multi
2017-12-06 14:25:42 +01:00
Barend Gehrels
b25596dcf1
[test] remove switch_source from debug-svgs
2017-12-06 12:20:00 +01:00
Barend Gehrels
536f001483
[traverse] update debug info with removed fields
2017-12-06 11:33:56 +01:00
Barend Gehrels
d52139934c
[traverse] also remove now unused loop setting local region ids
2017-12-06 11:27:12 +01:00
Barend Gehrels
fa6d0ce2ee
[traverse] replace switch_source by inspecting region ids locally
2017-12-06 11:23:27 +01:00
Barend Gehrels
d096cc8230
[traverse] use passed turn instead of turn index
2017-12-06 11:06:50 +01:00
Barend Gehrels
8f6cf2681b
[traverse] remove from cluster switch_source which is not used anymore
2017-12-06 10:08:58 +01:00
Barend Gehrels
c5bff00b03
Merge branch 'develop' into feature/intvalid
2017-12-06 09:40:55 +01:00