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
Barend Gehrels
c9738ff7c0
[test] increase two tolerances for qcc-arm platforms
2016-07-27 17:38:57 +02:00
Barend Gehrels
d4d24524a9
[test] various test updates w.r.t. robustness and validity
2016-07-20 13:46:23 +02:00
Barend Gehrels
26ed657f93
[test] add validity flag for intersection and adapt input #outputs/#points
2016-06-29 15:02:23 +02:00
Barend Gehrels
b46805107b
Merge branch 'develop' into feature/cluster_touch
...
Conflicts:
include/boost/geometry/algorithms/detail/overlay/handle_touch.hpp
test/algorithms/overlay/Jamfile.v2
test/algorithms/set_operations/difference/difference.cpp
test/algorithms/set_operations/union/union.cpp
2016-06-29 13:18:51 +02:00
Adam Wulkiewicz
ff77e78562
[test][setops] Add failing test cases.
2016-06-21 16:45:46 +02:00
Barend Gehrels
9ed3809b58
[test] investigated failing new case, it is caused by rescaling/missing
...
intersection point
2016-04-27 14:10:10 +02:00
Barend Gehrels
dbea29f121
[test] make #case_108_multi and add to intersection/difference, which
...
are both not yet correct (unexpectedly).
Union is correct but still not valid
2016-04-27 12:50:12 +02:00
Adam Wulkiewicz
f46ed34965
[test][union][intersection] Add test case (failing union).
2016-04-05 20:23:30 +02:00
Barend Gehrels
a1a16084ec
[test] add testcase for ticket 11018 (fixed)
2016-03-26 16:16:50 +01:00
Barend Gehrels
588d102b19
[union] same solution as for intersection should be applied for union,
...
but not in case of uu or similar
2016-03-16 17:54:03 +01:00
Barend Gehrels
7d3d0dd69f
[traverse] revise last weeks fix, make it more general. It should just
...
skip finalized arcs. This fixes the robustness test almost completely
2016-03-16 14:46:05 +01:00
Barend Gehrels
5383c24b34
[traverse][cluster] fix cases where it selected wrong arc at cluster,
...
a pseudo interior ring
2016-03-09 11:51:12 +01:00
Barend Gehrels
a236ba3391
[overlay] add counts to enrichtment info, this avoids it to be redone,
...
and use it in traverse omitting the operation condition
2016-01-13 15:58:51 +01:00
Barend Gehrels
8364aed91b
[intersection] fix cases where intersection has to travel through uu/ux
2016-01-13 12:49:47 +01:00
Barend Gehrels
d256e57487
[overlay] now we can/need to remove functionality to discard turns
...
colocated with uu and the same ring.
This breaks one case (# case_recursive_boxes_23) but repairs many (about 50%
of the wrong cases in robustness test)
2016-01-13 10:52:04 +01:00
Barend Gehrels
5f028b0b04
[overlay] split polygon_count in left_count/right_count, this is necessary
...
for some cases (ex. #case_recursive_boxes_29). Also, necessary, now that
startable is defined, don't discard colocated cc in clusters, they are
sometimes necessary.
2016-01-10 19:06:34 +01:00
Barend Gehrels
01df9eacbb
[overlay] fix implementation of startable flag, it should start if there
...
are 1 (union) or 2 (intersection) polygons on right hand
2016-01-10 13:32:08 +01:00
Barend Gehrels
e4624dad28
[union] remove discarded lonely uu turns from cluster
2016-01-09 20:09:35 +01:00
Barend Gehrels
7931e0445b
[intersection] now discarded uu turns outside clusters, they block traversal
2016-01-09 19:31:19 +01:00
Barend Gehrels
b7a16976c9
[overlay] handle startable functionality for traverse w.r.t. clusters
...
This has a small regression on 5 cases in multi_difference, to be inspected,
and can change the number of holes due to commenting handle_touch
2016-01-09 13:39:28 +01:00
Barend Gehrels
f377eebf8c
[traverse] instead of combination uu/ux for specific behaviour,
...
now check on uu/* (any turn in combination with uu) for unionts
2016-01-08 18:28:38 +01:00
Barend Gehrels
0d3ef5e3e9
[intersection] discard turns colocated with uu too (these turns are based on
...
invalid input)
2016-01-07 19:34:08 +01:00
Barend Gehrels
59125adb8d
[intersection] don't exclude ux for intersection because it is necessary
...
to block certain paths
2016-01-07 18:59:05 +01:00
Barend Gehrels
98f26765e7
[union] change solution for reversed clusters (uu/ux only),
...
this fixes the new case #case_recursive_boxes21
This fixes again all current multi union/intersection/difference and all union
2016-01-06 22:29:52 +01:00
Barend Gehrels
32ddae6c0d
[union] handle clusters with uu-only and halfway incoming arcs
2016-01-06 18:18:18 +01:00
Barend Gehrels
c9836ca17f
[union] handle clusters with uu/ux combined
2016-01-06 17:18:05 +01:00
Barend Gehrels
2c1a7b7f40
[union] fix simple cases having two colocated uu turns
...
(appearing now that uu turns are included)
2016-01-06 16:52:19 +01:00
Barend Gehrels
f803c0cae2
[overlay] stop discarding uu turns. Discard cc turns colocated with uu turns.
...
Including uu turns is necessary to handle cases as in #recursive_boxes_17 and also for
validity of output polygons.
This also makes code simpler for now, removing the separate uu handling from
for example select_rings
2016-01-03 13:17:17 +01:00
Barend Gehrels
fe5264ef00
[traverse] fix selection of operation in case of continue: do not
...
select a continue operation if next turn is a dead end
2016-01-01 11:09:21 +01:00