Commit Graph

169 Commits

Author SHA1 Message Date
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
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
d08f527271 [test] added several existing and two new tests mainly for difference
(work in progress)
2015-12-09 18:05:40 +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
72d8c21258 [test][difference] Enable two other formerly failing cases, now fixed:
#ggl_list_20120915_h2 a/b

Fixed by handling turns colocated with xx
and omitting ux for intersection/difference
2015-12-08 12:20:54 +01:00
Barend Gehrels
a43cb3c171 [test][difference] Enable two formerly failing cases, now fixed:
#recursive_boxes_1 and #recursive_boxes_2

and updated expectations of failing/non failing tests
2015-12-08 12:15:58 +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
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)
2015-12-07 20:12:38 +01:00
Barend Gehrels
4f90bcd4a5 [fix] handle ix/ix as ux/ux
This fixes case #77; case #72 is fixed by earlier changes
2015-12-06 18:21:35 +01:00
Barend Gehrels
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.
2015-12-06 18:01:19 +01:00
Barend Gehrels
2945201838 [overlay] pass inverse flag for difference and use it
to reverse condition on interior/exterior touch
2015-11-22 14:01:05 +01:00
Barend Gehrels
939bf656f9 [intersection/enrich] don' t skip after ii if it is about interior rings,
they should be traversed. This fixes case mysql_21965285_b_inv
and helps for cases #58 (no backtracking)
2015-11-21 19:01:51 +01:00
Barend Gehrels
6fb034581a [traverse] fix situations for ii by checking if in a cc case (where either
one can be selected normally) one of the options leads to the starting turn.

This, together with previous commit (finish early), fixes the many
variants of case #58
2015-11-21 18:56:40 +01:00
Barend Gehrels
324bfac801 Merge branch 'develop' into feature/fix_tangencies 2015-11-21 11:54:39 +01:00
Adam Wulkiewicz
48f64f6fbe [test][intersection][difference] Add/move failing test case.
Add a case of intersection corresponding to the failing difference case.
Move the case related with MultiPolygons to a different file.
2015-11-19 19:29:04 +01:00
Barend Gehrels
ba4a832bb7 Merge branch 'develop' into feature/fix_tangencies 2015-11-18 20:56:15 +01:00
Adam Wulkiewicz
ec86b24401 [test][difference] Add failing case. 2015-11-18 19:49:30 +01:00
Barend Gehrels
515d75ffe0 [test] update testcases, one more failing (but that fails for multi too)
and one fixed in the meantime
2015-11-18 17:41:37 +01:00
Barend Gehrels
a9903f8c7f [overlay] fix ordering ii-turns and skip turns afterwards 2015-11-18 17:33:23 +01:00
Barend Gehrels
67ac81e5b2 [overlay] fix cases where intersection point is in the middle of the
first segment, and not at the endpoint
2015-11-18 14:53:00 +01:00
Barend Gehrels
026abb015d [test] temporarily exclude case #81 recently added 2015-11-18 11:15:01 +01:00
Barend Gehrels
a48a935064 [overlay] self-tangencies, similarly as handling side left/right,
handle cases where one leg continues collinearly
2015-11-18 11:14:35 +01:00
Barend Gehrels
e2764a795b [overlay] sort on cc too. Also, sort/fix cases where ux is considered for intersection too.
They are discarded now, besides the sorting order is fixed (but that
alone does not help)
2015-11-15 11:55:13 +01:00
Barend Gehrels
c7d419785e [overlay] in less_by_segment_ratio, sort turns where operation occurs
(and not in the other turn) first
2015-11-14 11:23:37 +01:00
Barend Gehrels
d038e58f16 [overlay] check for sides w.r.t. both, this fixes two cases for
intersection
2015-11-13 20:08:14 +01:00
Barend Gehrels
b891bbe741 [overlay] use same functionality also for intersection 2015-11-13 19:29:55 +01:00
Barend Gehrels
e97bbb4da1 [overlay] fix cases where IP is not at endpoint. This fixes the last
union/buffer cases with less_by_segment_ratio instead of handle_tangencies
2015-11-12 19:46:29 +01:00
Barend Gehrels
242c619b35 [overlay] handle ux/ui and ui/ui in a more generic way, for union,
checking the relative sides of the outgoing segments (in the sorting)
2015-11-11 21:50:34 +01:00
Barend Gehrels
529b8e804c [overlay] fix ux/ux cases by sort order
(instead of handle tangencies)
2015-11-11 16:18:19 +01:00
Barend Gehrels
4a05869d2f [overlay] turn off handle_tangencies 2015-11-11 15:43:29 +01:00
Barend Gehrels
4270ccce20 [test] add recent regression for intersection. Found using recursive_polygon
Date of regression yet unknown. In 1.55 the recursive_polygons tool
never detected errors.
2015-11-11 13:34:49 +01:00
Barend Gehrels
a0ac004a84 [test] investigating case #58 failing for intersection,
adding simplified versions of #58, some failing, some correct
2015-11-11 11:46:38 +01:00
Barend Gehrels
9ec7e5f3d3 Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2015-11-11 10:27:42 +01:00
Menelaos Karavelas
dd5773a40d [test][algorithms][sym_difference] fix call to test_difference (due to new
function prototype that takes as argument a ut_settings object)
2015-11-04 16:23:57 +02:00
Barend Gehrels
2cf781aa68 [test] add testcase for which is failing for intersection. This is the
inverse testcase for difference (which is also failing and which is why it
is added). To be fixed.
2015-11-04 12:36:16 +01:00
Barend Gehrels
312cbd92d4 [test] added correct expectation values in failing tests 2015-11-03 20:47:30 +01:00
Barend Gehrels
c7f8de6632 [test] add testcase for #10661, still failing w.r.t. validity in second stage.
To enable scenarios like this, let unit test return WKT
2015-11-01 17:33:21 +01:00
Barend Gehrels
99eeec0d1c [test] enable #11676 (still showing validity should be tested too)
and don't remove spikes by default
2015-11-01 17:03:49 +01:00
Barend Gehrels
9fd8d1643f [test] remove testcode 2015-11-01 16:59:09 +01:00
Barend Gehrels
dc941d27b0 [test] enable test #11674, still showing that validity should be checked
too. sym difference is still failing
2015-11-01 16:55:38 +01:00
Barend Gehrels
adb2cccdd7 [test] move bug 21155501 to difference_multi and test it the normal way,
still showing that validity should be checked too
2015-11-01 16:54:25 +01:00
Barend Gehrels
a98772cba0 [test] remove duplicate test cases #10658 and #11121 now that
validity is tested for them in the normal flow
2015-11-01 16:30:32 +01:00
Barend Gehrels
e939bf8e83 [test] add settings to difference to test for validity and
conditionally remove spikes
2015-11-01 16:24:39 +01:00
Barend Gehrels
44372ca32e [test] harmonize names for define 2015-11-01 13:44:42 +01:00
Barend Gehrels
29e1595e3f [test] added failing test cases for tickets #11674, #11676 2015-11-01 13:39:41 +01:00
Barend Gehrels
50c7e922d4 [test] extract areal_linear from difference_multi into separate ut 2015-11-01 13:19:52 +01:00
Barend Gehrels
c3b23647eb [test] extract areal_linear from difference.cpp into separate ut 2015-11-01 12:56:21 +01:00
Barend Gehrels
a2d2d4f58d [test] remove overload with percentage, only used once and now
supported by ut_settings
2015-11-01 12:27:08 +01:00