Barend Gehrels
3232fd0675
[test] enable testcase for all operations
2017-09-06 10:21:39 +02:00
Barend Gehrels
a449c39e6f
[overlay] fix missing ring due to discarded self-intersection turn
2017-08-30 12:56:48 +02:00
Barend Gehrels
16892b1798
[test] add last added testcases for union to unit test of intersection/difference
2017-08-23 15:48:21 +02:00
Barend Gehrels
e69c05da2f
[overlay][test] add testcase for needing to avoid having blocked turns
...
in untraversed rings
2017-08-23 11:23:32 +02:00
Barend Gehrels
ff918e4776
[test] dont ignore validity for case 65
2017-08-16 16:25:50 +02:00
Barend Gehrels
0938983c5e
[test] add testcase 66 for startable self-turns
2017-07-31 12:16:26 +02:00
Barend Gehrels
664c1aa10a
[test] add test cases for last fix
2017-07-26 14:33:26 +02:00
Barend Gehrels
174ef5e38c
[overlay] fix cases where two arcs leave a cluster in same direction,
...
one longer as the other. Remaining distance needs to be considered.
Including testcase case_recursive_boxes_64 which is fixed by this issue.
2017-07-19 18:59:55 +02:00
Barend Gehrels
497e055639
[overlay] don't check startable for determining has_traversed_turn,
...
and also check for turns both going in opposite direction (so uu for int)
This fixes case_recursive_boxes_63 (but not for difference yet)
2017-07-19 14:02:59 +02:00
Barend Gehrels
9acd4dcbba
[overlay] dont excluded colocated self-turns from check within other geometry
2017-07-12 09:56:23 +02:00
Barend Gehrels
1b71880b4f
[intersection] fix intersection pattern where it accidentally took last
...
one instead of penultimate
2017-07-08 12:45:24 +02:00
Barend Gehrels
41a5570251
[test] update test information on validity
2017-06-28 22:35:06 +02:00
Barend Gehrels
ee3f5ea20d
[union] fix generating of false interiors by checking count_left
2017-06-25 13:56:01 +02:00
Barend Gehrels
2f2972959a
[test] Add test cases 57,58,59 for new approach for union-clusters
2017-06-25 12:09:32 +02:00
Barend Gehrels
b667a0a787
[test] Add testcases 55/56 for handling union clusters / not discarding self turns
2017-06-25 11:54:04 +02:00
Barend Gehrels
604be619d9
[overlay] fix aggregations, include blocked as from
2017-06-14 10:28:47 +02:00
Barend Gehrels
412fc452da
[overlay] Relax case 2, allow both continue and intersection
...
Fixes new #case_recursive_boxes_53
2017-06-13 20:29:25 +02:00
Barend Gehrels
47e1efb9e3
[test] Add testcases for variants of zoomed in cases (going OK)
2017-06-08 21:44:46 +02:00
Barend Gehrels
3cd4f325ec
[traverse] fix another similar case #case_137_multi now with two
...
different outgoing arcs
2017-06-07 22:48:18 +02:00
Barend Gehrels
9993d3697f
[traverse] fix cases where touching interior/exterior is approached
...
from two different directions, and leave in one direction
2017-06-07 22:35:44 +02:00
Barend Gehrels
db372517b4
[traverse] fix cases where two polygons both have a touching interior ring,
...
which is equal to itself
2017-06-07 15:06:51 +02:00
Barend Gehrels
95454e4c8e
[traverse] redo, isolated MUST be checked. Checking interior/exterior ring is
...
then redundant again, besides that it does not work for differences.
This breaks case_134 but that must be fixed differently.
After this change, recursive_polygons test is flawless
w.r.t. intersections/unions (validity/with self turns not yet checked)
2017-06-05 17:45:51 +02:00
Barend Gehrels
bd16305a72
[overlay] remove original behaviour to discard turns colocated with blocked turns,
...
because this stops generating interior rings in certain configurations, and
it is, in the meantime, handled differently in cluster traversal.
Fixes cases like new case #case_recursive_boxes_51
2017-06-05 15:59:29 +02:00
Barend Gehrels
ecae306146
[traverse] generalize pattern for colocated interior rings by making
...
cases with multiple rings (#case_134_multi) possible. It also does
not check for isolated anymore but instead checks interior/exterior rings
and region_ids
2017-06-04 14:04:00 +02:00
Barend Gehrels
b0cf8ffb59
[traverse] extend handling specific case of cc/ii with another variant,
...
now also solving #case_recursive_boxes_50
2017-06-04 11:23:42 +02:00
Barend Gehrels
463f778a36
[overlay] fix cases with two parallel interior rings, one touching
...
the exterior ring, by adding a special case for this. This solves
nearly all robustness (recursive_polygon) now.
2017-06-03 20:09:06 +02:00
Barend Gehrels
390f924845
[test] add recently added cases to union/intersection tests
2017-05-31 11:22:05 +02:00
Barend Gehrels
16be4bbdb2
[overlay] fix new case #case_recursive_boxes_48 for self-intersections
...
by discarding self ii turns NOT located within another geometry
2017-05-31 11:12:57 +02:00
Barend Gehrels
2ea9884ddd
[validity] avoid discarded self-turn in isolated region generation,
...
and avoid registering uu-self-turns
This fixes the regressions in cases which were handled correctly before,
for intersection
2017-05-08 14:15:14 +02:00
Barend Gehrels
a96b1da5cc
[overlay] fix case (#recursive_boxes_45) where wrong decision was made based on a ux turn
2017-03-22 22:28:16 +01:00
Barend Gehrels
16f2bcf357
[overlay] fix case where a union is traveled. As it now appears, due
...
to new cluster handling, all uu turns can (and should) be discarded for intersections
2017-03-22 15:10:28 +01:00
barendgehrels
404bd889f5
[traverse] fix case #129/rec boxes_4 by avoiding finalized operations in aggregation
2017-03-13 17:44:28 +01:00
barendgehrels
32c422f745
[traverse] fix case #130 , starting with cc, using remaining_distance
2017-03-13 15:36:13 +01:00
barendgehrels
1b5fb4444e
[traverse] Major commit. Avoid discarding ii turn on interior rings. Detect isolatated
...
regions (usually inner rings) differently: only once instead of on the
fly, and store it. Set visited in clusters for all parts of the cluster.
2017-03-13 10:52:27 +01:00
barendgehrels
caf0b9f7e9
[traverse] fix validity when two holes meet eachother and exlude an
...
area which should become a separate ring (#43 ), by passing the already visited
region_ids (which make them less local). It does not solve #35 yet.
2017-02-18 13:32:46 +01:00
barendgehrels
0d95185060
[traverse] fix cases where isolated regions have more turns in between
...
(cases #41/#128)
2017-02-17 16:24:52 +01:00
barendgehrels
4547875d81
[intersection][test] add/update testcases
2017-02-17 12:39:11 +01:00
barendgehrels
0e95caa36d
[overlay] skip ii outgoing/returning when, after that, a cc continues.
...
Plus extra testcase needing this (if self-turns are considered)
2017-01-11 16:56:15 +01:00
barendgehrels
f0f5045364
[test] remove ignore flag for case 125 which runs OK with and without
...
self-turns
2017-01-04 13:23:34 +01:00
barendgehrels
74f74a466c
[test] mark test cases for conditionally include
2016-12-28 17:48:07 +01:00
barendgehrels
07872acca1
[test] add (still failing) test for validity needing self-turn
2016-12-16 12:30:11 +01:00
barendgehrels
57250a3fdd
[overlay] fix regression (duplicate polygons) due to last enhancements
...
in validity of intersections
2016-12-07 13:12:03 +01:00
barendgehrels
efecc02866
[traverse] fix certain cases to recognize starting point during intersection
...
in a broader context
2016-11-30 12:56:48 +01:00
barendgehrels
3c58f15105
[traversal] handle non clustered ii turns using sort-by-side
2016-11-23 17:35:29 +01:00
barendgehrels
d687a55bbe
[test] correct testcase
2016-11-17 13:37:51 +01:00
Barend Gehrels
70e20ddd27
[overlay] fix some validity cases for intersection/difference
2016-11-02 15:55:30 +01:00
Barend Gehrels
11a249d5eb
[test] add one testcase, used for pending work (make intersections valid)
2016-10-12 17:57:34 +02:00
Barend Gehrels
a057b49ec0
[test] add testcases with one cluster and multiple outputs (one is invalid)
...
Add macros to specify testcases more conveniently
2016-10-05 12:55:39 +02:00
Barend Gehrels
9201064990
[validity] fix zone count for intersection operations
2016-09-28 12:22:52 +02:00
Barend Gehrels
e3b424940c
[traverse] handle ii as uu for switch_source,
...
this makes several intersection testcases valid,
and makes one difference case invalid
2016-08-31 13:43:59 +02:00