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 |
|
Barend Gehrels
|
5e6ba5ed06
|
[colocations] fix #case_recursive_boxes3 by adding condition
that turn should not be collinear (to be found out why)
|
2015-12-24 18:32:02 +01:00 |
|
Barend Gehrels
|
5c18dd370f
|
[colocations] don't discard ring if it is blocked
(fixes #case_recursive_boxes_4)
|
2015-12-24 18:20:50 +01:00 |
|
Barend Gehrels
|
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
|
2015-12-24 17:05:05 +01:00 |
|
Barend Gehrels
|
e14d7fcd88
|
[traverse] in case of no outgoing arcs, always return false
This fixes all current union_multi testcases
|
2015-12-24 14:55:23 +01:00 |
|
Barend Gehrels
|
00fca1e961
|
[traverse] select right operation from first outgoing arcs, in case there
are multiple
|
2015-12-24 14:08:01 +01:00 |
|
Barend Gehrels
|
7614b1bce6
|
[traverse] add warning for subject
|
2015-12-24 13:42:02 +01:00 |
|
Barend Gehrels
|
65a3eeb804
|
[traverse] don't select starting points from clusters which are build in
|
2015-12-24 13:41:30 +01:00 |
|
Barend Gehrels
|
afd2599bc9
|
[overlay] instead of traversing through cluster, the next turn index
is determined in enrich_intersection_points
|
2015-12-24 13:38:48 +01:00 |
|
Barend Gehrels
|
aa230c7f71
|
[traverse] make visitor/robust policy also member, and call visitor
from other visit
|
2015-12-23 18:43:42 +01:00 |
|
Barend Gehrels
|
f5e8d4d7ec
|
[traverse] rename turn/op to start_...
|
2015-12-23 18:29:53 +01:00 |
|
Barend Gehrels
|
9e8ae09824
|
[traverse] slight changes in looping / returning from traverse
|
2015-12-23 18:18:58 +01:00 |
|
Barend Gehrels
|
4ecd4386fc
|
[traverse] add set_visited instead of set_visited_for_continue,
doing both
|
2015-12-23 18:07:36 +01:00 |
|
Barend Gehrels
|
a5593b1dad
|
[traverse] remove redundant typenames
|
2015-12-23 18:06:35 +01:00 |
|
Barend Gehrels
|
994d497225
|
[traverse] remove duplicate debug information, visitor can be used
for debugging
|
2015-12-23 17:53:35 +01:00 |
|
Barend Gehrels
|
b0684c4e08
|
[traverse] move traversal itself to traversal structure, only doing
one traversal. Currently returns error code for backtracking.
|
2015-12-23 17:48:51 +01:00 |
|
Barend Gehrels
|
7890d29184
|
[traverse] move selection functions to traversal struct
|
2015-12-23 16:47:34 +01:00 |
|
Barend Gehrels
|
cf4f827d07
|
[traverse] make traversal stateful object to simplify calling;
rename assign_next_ip to travel_to_next_turn
|
2015-12-23 16:36:35 +01:00 |
|
Barend Gehrels
|
4b91272809
|
[traverse][backtrack] create a finalize method to keep successfully
traversed rings, also if one of next rings fails
|
2015-12-23 11:54:34 +01:00 |
|
Barend Gehrels
|
6f5677a003
|
[traverse] move registration of visit information
|
2015-12-23 11:27:56 +01:00 |
|
Barend Gehrels
|
5c2e678740
|
[traverse] fix types/names in set_visited_for_continue (the calls were OK)
|
2015-12-23 10:59:11 +01:00 |
|
Barend Gehrels
|
03cb54bd84
|
[traverse] fix warning
|
2015-12-23 10:32:00 +01:00 |
|
Barend Gehrels
|
16b88d5565
|
[traverse] restructure and reverse conditions
(first select next, then finish early)
|
2015-12-23 10:24:58 +01:00 |
|
Barend Gehrels
|
d588a35354
|
[traverse] use the_turn/the_op for now instead of iterators
|
2015-12-22 20:05:31 +01:00 |
|
Barend Gehrels
|
194f3bf67c
|
[overlay] add check on next turn index, if -1 take next one
to avoid dead ends
|
2015-12-20 19:05:30 +01:00 |
|
Barend Gehrels
|
5b1fcf78c2
|
[overlay/clusters] remove clusters with only 1 turn left
|
2015-12-20 13:10:50 +01:00 |
|
Barend Gehrels
|
64943c0911
|
[intersection] fix sort_by_side order for non-colinear points on same side
|
2015-12-20 13:09:39 +01:00 |
|
Barend Gehrels
|
aa14cad2b9
|
[buffer] add clusters to enrich/traverse from buffer
|
2015-12-20 12:07:31 +01:00 |
|
Barend Gehrels
|
f6ad756076
|
[union] make the side-comparison operation dependent on operation type
because for intersection we will need ccw
|
2015-12-20 11:57:33 +01:00 |
|
Barend Gehrels
|
f2319263a0
|
[union] fix known cases using clustering and sort_by_side during traversal
|
2015-12-19 18:10:34 +01:00 |
|
Barend Gehrels
|
6240c540bd
|
[tangencies] clean up sorting per pair of turns, it has to be considered
more globally
|
2015-12-16 17:25:46 +01:00 |
|
Barend Gehrels
|
c15ca98aa1
|
Remove obsolete comment
|
2015-12-11 22:17:16 +01:00 |
|
Barend Gehrels
|
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
|
2015-12-11 22:00:32 +01:00 |
|
Barend Gehrels
|
33ada1d6e8
|
[fix] Fix cases by correct ordering left/right using sorted side information
This fixes #recursive_boxes 6, 10, 11
Debug cases added to overlay.cpp (10, 11)
|
2015-12-10 20:14:10 +01:00 |
|
Barend Gehrels
|
a0fc7307ac
|
[fix] use intersection point for sorting, the "both" is sometimes wrong
This fixes #recursive_boxes_8
|
2015-12-09 18:40:28 +01:00 |
|
Barend Gehrels
|
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)
|
2015-12-08 18:35:38 +01:00 |
|
Barend Gehrels
|
6de8d91942
|
[fix] fix newly added case and get rid of different code for
intersection/difference
|
2015-12-07 22:45:29 +01:00 |
|
Barend Gehrels
|
36ddec97f8
|
sort_by_side: fix comments
|
2015-12-07 20:18:05 +01:00 |
|
Barend Gehrels
|
9302c9f02f
|
[extensions][test] add inverse algorithm to calculate the inverse (in extensions)
and use it in overlay unit test
|
2015-12-07 20:17:31 +01:00 |
|