98f26765e7[union] change solution for reversed clusters (uu/ux only), this fixes the new case #case_recursive_boxes21
Barend Gehrels
2016-01-06 22:29:52 +0100
71fbcd8aaf[traverse] remove now redundant condition, clusters never have discarded turns
Barend Gehrels
2016-01-06 18:19:40 +0100
32ddae6c0d[union] handle clusters with uu-only and halfway incoming arcs
Barend Gehrels
2016-01-06 18:18:18 +0100
2c1a7b7f40[union] fix simple cases having two colocated uu turns (appearing now that uu turns are included)
Barend Gehrels
2016-01-06 16:52:19 +0100
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)
Barend Gehrels
2016-01-06 13:54:07 +0100
e52f55bd78[test] case_36 is fixed now (handle_touch), correct expected #holes
Barend Gehrels
2016-01-06 13:01:00 +0100
e7606cc0cd[handle_touch] stop recursion at completion
Barend Gehrels
2016-01-06 12:53:17 +0100
655b4f887a[debug] add visitor to handle_touch and some parameter renamings
Barend Gehrels
2016-01-06 12:23:07 +0100
1ced3357d9[overlay] changes in names of types/parameters to make them more concise and consistent (mainly TurnPoints -> Turns)
Barend Gehrels
2016-01-06 11:32:12 +0100
c2f4347a7fminor changes in layout/constness
Barend Gehrels
2016-01-06 11:09:05 +0100
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
Barend Gehrels
2016-01-06 11:08:09 +0100
6125d24f95[ci] Use newer versions of gcc, gcov and lcov.
Adam Wulkiewicz
2016-01-06 02:51:00 +0100
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
Barend Gehrels
2016-01-03 14:44:12 +0100
f6411ddfcf[overlay] changes in test program (svg output)
Barend Gehrels
2016-01-03 13:23:46 +0100
160d8dff0aRevert "[overlay] remove duplicate line from unit test"
Barend Gehrels
2016-01-03 13:21:55 +0100
1744a27288[overlay] remove duplicate line from unit test
Barend Gehrels
2016-01-03 13:17:34 +0100
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
Barend Gehrels
2016-01-03 13:17:17 +0100
d9ccb0563f[overlay] unit test remove duplicate line which was caused by selecting lines on committing
Barend Gehrels
2016-01-03 11:47:53 +0100
63b667aa82Merge branch 'feature/handle_touch' into feature/cluster
Barend Gehrels
2016-01-03 11:47:19 +0100
fe5264ef00[traverse] fix selection of operation in case of continue: do not select a continue operation if next turn is a dead end
Barend Gehrels
2016-01-01 11:09:21 +0100
f803a5ad8e[traverse] small changes on next_turn_index and remove redundant condition (! result was already checked a few lines before)
Barend Gehrels
2016-01-01 10:51:07 +0100
eee10489ad[traverse] fix, take the right operation in a cluster instead of using select_operation
Barend Gehrels
2015-12-30 15:18:54 +0100
dbb92e7088[traverse] move logic of select_operation to inside traverse_to_next_turn, to prepare using selected cluster operation later
Barend Gehrels
2015-12-29 19:33:33 +0100
d104e7175f[traverse] small improvements w.r.t. using objects instead of iterators
Barend Gehrels
2015-12-29 19:03:29 +0100
1436dc0afd[traverse] simplify loop because backtrack now just rejects, finalized rings are preserved
Barend Gehrels
2015-12-29 18:33:32 +0100
07a3cc3506[traverse] minor changes in names and simplified main loop
Barend Gehrels
2015-12-28 19:44:44 +0100
e882f5e224[traverse] fix registration of start which should be done immediately, to get correct early finish for ii turns
Barend Gehrels
2015-12-27 18:42:39 +0100
2777d57961[enrich] remove old block now that discarding uu is moved after handling colocations
Barend Gehrels
2015-12-24 18:35:42 +0100
aaae44d041[overlay] change debug info
Barend Gehrels
2015-12-24 18:34:38 +0100
5e6ba5ed06[colocations] fix #case_recursive_boxes3 by adding condition that turn should not be collinear (to be found out why)
Barend Gehrels
2015-12-24 18:32:02 +0100
5c18dd370f[colocations] don't discard ring if it is blocked (fixes #case_recursive_boxes_4)
Barend Gehrels
2015-12-24 18:20:50 +0100
4878e7c34c[enrich] move discarding uu until after clustering, and within clustering discarding turns colocated with uu on the same ring. This breaks 2 cases, to be solved later, and fixes case_recursive_boxes_12
Barend Gehrels
2015-12-24 17:05:05 +0100
e14d7fcd88[traverse] in case of no outgoing arcs, always return false This fixes all current union_multi testcases
Barend Gehrels
2015-12-24 14:55:23 +0100
00fca1e961[traverse] select right operation from first outgoing arcs, in case there are multiple
Barend Gehrels
2015-12-24 14:08:01 +0100
7614b1bce6[traverse] add warning for subject
Barend Gehrels
2015-12-24 13:42:02 +0100
65a3eeb804[traverse] don't select starting points from clusters which are build in
Barend Gehrels
2015-12-24 13:41:30 +0100
afd2599bc9[overlay] instead of traversing through cluster, the next turn index is determined in enrich_intersection_points
Barend Gehrels
2015-12-24 13:38:48 +0100
90d0fdb2a3[test] fix debug info
Barend Gehrels
2015-12-23 18:45:54 +0100
aa230c7f71[traverse] make visitor/robust policy also member, and call visitor from other visit
Barend Gehrels
2015-12-23 18:43:42 +0100
f5e8d4d7ec[traverse] rename turn/op to start_...
Barend Gehrels
2015-12-23 18:29:53 +0100
9e8ae09824[traverse] slight changes in looping / returning from traverse
Barend Gehrels
2015-12-23 18:18:58 +0100
4ecd4386fc[traverse] add set_visited instead of set_visited_for_continue, doing both
Barend Gehrels
2015-12-23 18:07:36 +0100
994d497225[traverse] remove duplicate debug information, visitor can be used for debugging
Barend Gehrels
2015-12-23 17:53:35 +0100
b0684c4e08[traverse] move traversal itself to traversal structure, only doing one traversal. Currently returns error code for backtracking.
Barend Gehrels
2015-12-23 17:48:51 +0100
cf4f827d07[traverse] make traversal stateful object to simplify calling; rename assign_next_ip to travel_to_next_turn
Barend Gehrels
2015-12-23 16:36:35 +0100
7b9f39346b[overlay] debug make text for visited gray such that the rest more stands out
Barend Gehrels
2015-12-23 16:34:47 +0100
4b91272809[traverse][backtrack] create a finalize method to keep successfully traversed rings, also if one of next rings fails
Barend Gehrels
2015-12-23 11:54:34 +0100
6f5677a003[traverse] move registration of visit information
Barend Gehrels
2015-12-23 11:27:56 +0100
5c2e678740[traverse] fix types/names in set_visited_for_continue (the calls were OK)
Barend Gehrels
2015-12-23 10:59:11 +0100
16b88d5565[traverse] restructure and reverse conditions (first select next, then finish early)
Barend Gehrels
2015-12-23 10:24:58 +0100
d588a35354[traverse] use the_turn/the_op for now instead of iterators
Barend Gehrels
2015-12-22 20:05:31 +0100
f13b300eb4Support avoiding running b2 in new release doc builds.
Rene Rivera
2015-12-21 21:17:32 -0600
194f3bf67c[overlay] add check on next turn index, if -1 take next one to avoid dead ends
Barend Gehrels
2015-12-20 19:05:30 +0100
5b1fcf78c2[overlay/clusters] remove clusters with only 1 turn left
Barend Gehrels
2015-12-20 13:10:50 +0100
64943c0911[intersection] fix sort_by_side order for non-colinear points on same side
Barend Gehrels
2015-12-20 13:09:39 +0100
aa14cad2b9[buffer] add clusters to enrich/traverse from buffer
Barend Gehrels
2015-12-20 12:07:31 +0100
f6ad756076[union] make the side-comparison operation dependent on operation type because for intersection we will need ccw
Barend Gehrels
2015-12-20 11:57:33 +0100
f2319263a0[union] fix known cases using clustering and sort_by_side during traversal
Barend Gehrels
2015-12-19 18:10:34 +0100
6240c540bd[tangencies] clean up sorting per pair of turns, it has to be considered more globally
Barend Gehrels
2015-12-16 17:25:46 +0100
1cb6549a1fMerge branch 'develop' into feature/cluster
Barend Gehrels
2015-12-16 15:45:45 +0100
6929cab9a3Adjust building so that we can override build/install locations for CI building.
Rene Rivera
2015-12-14 14:43:12 -0600
e7e425f8de[overlay] fix #recursive_boxes by enabling 0,4 as tight corner too. This introduces a ccw method, called by tight functions. Note that it does NOT work for the two other similar methods using ranks
Barend Gehrels
2015-12-11 22:00:32 +0100
33ada1d6e8[fix] Fix cases by correct ordering left/right using sorted side information
Barend Gehrels
2015-12-10 20:14:10 +0100
a0fc7307ac[fix] use intersection point for sorting, the "both" is sometimes wrong This fixes #recursive_boxes_8
Barend Gehrels
2015-12-09 18:40:28 +0100
d08f527271[test] added several existing and two new tests mainly for difference (work in progress)
Barend Gehrels
2015-12-09 18:05:40 +0100
378bee678a[fix] use sort_by_side now also for ordering of ii/non_ii turns This fixes cases #101, #102 and #107 for difference (and corresponding inverse versions for intersection)
Barend Gehrels
2015-12-08 18:35:38 +0100
72d8c21258[test][difference] Enable two other formerly failing cases, now fixed: #ggl_list_20120915_h2 a/b
Barend Gehrels
2015-12-08 12:20:54 +0100
a43cb3c171[test][difference] Enable two formerly failing cases, now fixed: #recursive_boxes_1 and #recursive_boxes_2
Barend Gehrels
2015-12-08 12:15:58 +0100
6de8d91942[fix] fix newly added case and get rid of different code for intersection/difference
Barend Gehrels
2015-12-07 22:45:29 +0100
9302c9f02f[extensions][test] add inverse algorithm to calculate the inverse (in extensions) and use it in overlay unit test
Barend Gehrels
2015-12-07 20:17:31 +0100
9b299e8ab4[test] add intersections of inverse versions of multi #65, showing the current approach of discarding xx/ux is wrong (as neither not done for union/difference)
Barend Gehrels
2015-12-07 20:12:38 +0100
70db900f16replace interior/exterior condition with generic code using geometry of segments, and looking if the non-ii turn is independent from the ii turn.
Barend Gehrels
2015-12-07 15:17:02 +0100
5b8be328b3Create new helper function direction_code, using code from point_is_spike_or_equal
Barend Gehrels
2015-12-07 15:11:48 +0100
51e41c5238[fix] fix buffer backtrack policy and traverse call for new visitor
Barend Gehrels
2015-12-06 19:57:02 +0100
dd8911c1ebRemove now deprecated handle_tangencies
Barend Gehrels
2015-12-06 19:30:40 +0100
555061dd9c[fix] fix includes of the recently changed copy_segment_point algorithm
Barend Gehrels
2015-12-06 19:27:48 +0100
11844b6b74[test] extend visitor with traversal information
Barend Gehrels
2015-12-06 19:21:50 +0100
4a491fd77d[overlay][test] add test visitor for overlay operation including turn and turn-order
Barend Gehrels
2015-12-06 18:45:21 +0100
4f90bcd4a5[fix] handle ix/ix as ux/ux This fixes case #77; case #72 is fixed by earlier changes
Barend Gehrels
2015-12-06 18:21:35 +0100
99045b5c47[fix] handle_colocations, discard_colocated was not refreshed
Barend Gehrels
2015-12-06 18:07:48 +0100
0c9d365d4b[fix] copy_segment_points did not use reverse, fixed. It is now similar to copy_segments This somehow influences one unit test case but that will be handled later.
Barend Gehrels
2015-12-06 18:01:19 +0100
90485acf79Merge branch 'develop' into feature/fix_tangencies
Barend Gehrels
2015-12-06 17:45:12 +0100
4ad4e29796[doc][reference][algorithms][is_empty] is_empty actually implements an OGC function; change the doc to reflect this;
Menelaos Karavelas
2015-12-03 16:58:10 +0200
b1f31d12dd[test][traverse] Add failing case.
Adam Wulkiewicz
2015-12-03 10:39:28 +0100
5d02ff6aed[index] Add workarounds for uninitialized variable warnings reported by GCC-4.4 -O2.
Adam Wulkiewicz
2015-12-01 23:46:11 +0100