Barend Gehrels
c268bb2fd4
Minor change, check on cluster ids
2016-01-10 19:14:31 +01:00
Barend Gehrels
c74ff4c0df
[overlay] remove functionality for colocated cc turns, recently added,
...
but now redundant again.
(In hindsight I should have added the "startable" functionality first)
2016-01-10 19:12:55 +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
3a9713b267
[sort by side] fix index
2016-01-09 19:15:44 +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
df2c1f35bc
[sort by side] remove rank, not used anymore
2016-01-09 10:16:48 +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
71fbcd8aaf
[traverse] remove now redundant condition, clusters never have discarded turns
2016-01-06 18:19:40 +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
b272e9f615
[intersection] also for intersection, uu turns have to be included to
...
make proper decisions on clusters.
This also removes switch_source initialization (which is false anyway)
This fixes all known cases for multi union/intersection again,
except for the number of clips. Difference still has one area error
2016-01-06 13:54:07 +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
e7606cc0cd
[handle_touch] stop recursion at completion
2016-01-06 12:53:17 +01:00
Barend Gehrels
429a6af590
[handle_touch] add temporary conditions to stop recursion
2016-01-06 12:23:30 +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
1ced3357d9
[overlay] changes in names of types/parameters to make them more
...
concise and consistent (mainly TurnPoints -> Turns)
2016-01-06 11:32:12 +01:00
Barend Gehrels
c2f4347a7f
minor changes in layout/constness
2016-01-06 11:09:05 +01:00
Barend Gehrels
72356703fe
[colocations] fix cases where uu turns are colocated with cc turns,
...
and are the only ones left, they should be removed in some cases
2016-01-06 11:08:09 +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 1744a27288 .
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
f803a5ad8e
[traverse] small changes on next_turn_index and remove redundant condition
...
(! result was already checked a few lines before)
2016-01-01 10:51:07 +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
5dda03ac46
[enrich] remove debug info
2015-12-31 14:56:31 +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
44917ea227
[traverse] remove commented output
2015-12-31 12:50:29 +01:00
Barend Gehrels
ca2123646c
[overlay] remove unused typedef
2015-12-31 12:49:53 +01:00
Barend Gehrels
3633402bf8
[colocations] handle todo item, discard colocated uu turns conditionally
...
based on ordering turns
2015-12-31 12:49:24 +01:00
Barend Gehrels
92dd2295ed
[cololocations] simplified clustering, less merging necessary
2015-12-30 20:27:10 +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
dbb92e7088
[traverse] move logic of select_operation to inside traverse_to_next_turn,
...
to prepare using selected cluster operation later
2015-12-29 19:33:33 +01:00
Barend Gehrels
d104e7175f
[traverse] small improvements w.r.t. using objects instead of iterators
2015-12-29 19:03:29 +01:00
Barend Gehrels
1436dc0afd
[traverse] simplify loop because backtrack now just rejects, finalized
...
rings are preserved
2015-12-29 18:33:32 +01:00
Barend Gehrels
07a3cc3506
[traverse] minor changes in names and simplified main loop
2015-12-28 19:44:44 +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
Barend Gehrels
2777d57961
[enrich] remove old block now that discarding uu is moved after
...
handling colocations
2015-12-24 18:35:42 +01:00
Barend Gehrels
aaae44d041
[overlay] change debug info
2015-12-24 18:34:38 +01:00