1503 Commits

Author SHA1 Message Date
Barend Gehrels
dfda1ccbc3 [buffer] fix last cases, in cases where the same offsetted ring is self-intersecting,
the approach using multi_index does not work. We need an extra idenfication
to check the 'sources' of the turns in clusters. Added piece_index for
this purpose.
This can be templated later (so only used for buffer)
2016-03-02 13:09:25 +01:00
Barend Gehrels
438ee64956 [buffer][traverse] fix condition and added image to explain 2016-03-02 10:36:19 +01:00
Barend Gehrels
ba583b67cd [test] comment handle_touch unit test, postponed for this phase 2016-03-02 09:10:08 +01:00
Barend Gehrels
91223c5c98 Merge branch 'feature/cluster' into develop 2016-03-01 21:40:45 +01:00
Barend Gehrels
5677a2a764 [test] remove defines for failing tangencies test for (multi)difference and intersection 2016-03-01 18:23:50 +01:00
Barend Gehrels
f46987b804 [test] disable aimes167 currently failing 2016-02-28 13:15:53 +01:00
Barend Gehrels
80f018437b [test] buffer, disable one case which fails to generate hole 2016-02-28 12:50:45 +01:00
Barend Gehrels
17ab7862c2 [test] buffer: enable previously failing testcase, and for two others
for ccw, which are all OK now (using cluster approach)
2016-02-28 12:48:23 +01:00
Barend Gehrels
8043f37f72 [test] buffer: disable one failing testcase 2016-02-28 12:45:17 +01:00
Barend Gehrels
d9ac176f27 [test] adapt expected values 2016-02-28 12:44:59 +01:00
Adam Wulkiewicz
daf32ffbfe [test][within] Add test cases for spherical equatorial CS (failing). 2016-02-13 00:10:09 +01:00
Adam Wulkiewicz
e47ea29910 [test][distance] Add test cases for spherical equatorial CS mentioned in ticket 11982. 2016-02-12 23:46:17 +01:00
Barend Gehrels
c4c180bb7d [union] instead of checking uu, count open spaces to support also
conbined touching turns without a uu
2016-02-10 20:34:37 +01:00
Barend Gehrels
5eea0f2f61 [test] updated expected clips/holes 2016-02-03 11:18:45 +01:00
Barend Gehrels
34db67d51d Merge branch 'develop' into feature/cluster 2016-02-03 11:12:33 +01:00
Adam Wulkiewicz
eaf9989929 [test][area] Add test case with big coordinates. 2016-01-28 14:48:28 +01:00
Barend Gehrels
18a893d2c0 [buffer][test] adaptions to make clusters visible in buffer SVG maps 2016-01-27 11:44:48 +01:00
Adam Wulkiewicz
cc5d0efc55 Merge pull request #332 from awulkiew/fix/intersects_bs
Fix special case of intersects(Segment, Box)
2016-01-20 16:53:05 +01:00
Barend Gehrels
ed6db710ce [buffer] repair compiling: adapt buffer backtrack policy to recent change,
and fix SVG
2016-01-20 10:37:20 +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
31e7dd8f2f Minor fix in duplicate debug info 2016-01-10 19:18:17 +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
e52f55bd78 [test] case_36 is fixed now (handle_touch),
correct expected #holes
2016-01-06 13:01:00 +01:00
Barend Gehrels
655b4f887a [debug] add visitor to handle_touch
and some parameter renamings
2016-01-06 12:23:07 +01:00
Barend Gehrels
0d6f2e5285 [overlay] use colocated for colocated cc turns, and if it is like that,
include it in turn_info_map to mark it as traversed
2016-01-03 14:44:12 +01:00
Barend Gehrels
f6411ddfcf [overlay] changes in test program (svg output) 2016-01-03 13:23:46 +01:00
Barend Gehrels
160d8dff0a Revert "[overlay] remove duplicate line from unit test"
This reverts commit 1744a27288604ae5cd66f9ebaa284652cc023c7f.
2016-01-03 13:21:55 +01:00
Barend Gehrels
1744a27288 [overlay] remove duplicate line from unit test 2016-01-03 13:17:34 +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
d9ccb0563f [overlay] unit test remove duplicate line which was caused
by selecting lines on committing
2016-01-03 11:47:53 +01:00
Barend Gehrels
63b667aa82 Merge branch 'feature/handle_touch' into feature/cluster
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
	include/boost/geometry/algorithms/detail/overlay/overlay.hpp
	include/boost/geometry/algorithms/detail/overlay/traverse.hpp
	include/boost/geometry/algorithms/detail/overlay/turn_info.hpp
	test/algorithms/overlay/Jamfile.v2

Skipped some files in merging:
unit tests, test cases, less_by_segment_index

Turned off the handling of touch (so this is merge only)
2016-01-03 11:47:19 +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
Barend Gehrels
e059715a2a [traverse] fix selecting invalid arc in cluster 2015-12-31 18:09:10 +01:00
Barend Gehrels
f63573d58b [colocations] fix assigning discarded turns for clusters 2015-12-31 15:55:00 +01:00
Barend Gehrels
716fe421e0 [enrich] fix cluster behaviour, only point to next turn if clusters
are also on
2015-12-31 14:55:31 +01:00
Barend Gehrels
eee10489ad [traverse] fix, take the right operation in a cluster instead of using
select_operation
2015-12-30 15:18:54 +01:00
Barend Gehrels
e882f5e224 [traverse] fix registration of start which should be done immediately,
to get correct early finish for ii turns
2015-12-27 18:42:39 +01:00