Commit Graph

200 Commits

Author SHA1 Message Date
Barend Gehrels
0c7199c230 [test] add last testcase also to union/diff 2017-09-20 13:05:05 +02:00
Barend Gehrels
33f97b8f21 [test] add new testcase also to difference/intersection 2017-09-13 13:35:58 +02:00
Adam Wulkiewicz
20a858c0ed [test][difference] Add L/A test cases. 2017-09-07 22:49:39 +02:00
Barend Gehrels
ce3118c4c9 [test] add testcase from last commit also to union/difference 2017-09-06 14:52:07 +02:00
Barend Gehrels
3232fd0675 [test] enable testcase for all operations 2017-09-06 10:21:39 +02:00
Barend Gehrels
e9c1ed497f Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-09-06 09:40:11 +02:00
Adam Wulkiewicz
7de13d2707 [test][difference] Add failing L/A test cases. 2017-08-30 18:04:23 +02:00
Barend Gehrels
670ee5074f [test] add last testcase also to union/difference 2017-08-30 13:19:38 +02:00
Barend Gehrels
16892b1798 [test] add last added testcases for union to unit test of intersection/difference 2017-08-23 15:48:21 +02:00
Barend Gehrels
d2232552d1 [test] remove the IGNORE flag for three cases which are already fixed 2017-08-23 11:24:10 +02:00
Barend Gehrels
e69c05da2f [overlay][test] add testcase for needing to avoid having blocked turns
in untraversed rings
2017-08-23 11:23:32 +02:00
Barend Gehrels
0938983c5e [test] add testcase 66 for startable self-turns 2017-07-31 12:16:26 +02:00
Barend Gehrels
664c1aa10a [test] add test cases for last fix 2017-07-26 14:33:26 +02:00
Barend Gehrels
174ef5e38c [overlay] fix cases where two arcs leave a cluster in same direction,
one longer as the other. Remaining distance needs to be considered.
Including testcase case_recursive_boxes_64 which is fixed by this issue.
2017-07-19 18:59:55 +02:00
Barend Gehrels
497e055639 [overlay] don't check startable for determining has_traversed_turn,
and also check for turns both going in opposite direction (so uu for int)
This fixes case_recursive_boxes_63 (but not for difference yet)
2017-07-19 14:02:59 +02:00
Barend Gehrels
9acd4dcbba [overlay] dont excluded colocated self-turns from check within other geometry 2017-07-12 09:56:23 +02:00
Barend Gehrels
07389472a1 [test] small changes in test, moving settings 2017-07-08 12:48:05 +02:00
Barend Gehrels
1b71880b4f [intersection] fix intersection pattern where it accidentally took last
one instead of penultimate
2017-07-08 12:45:24 +02:00
Barend Gehrels
bcbcbf8a74 [test] with corrected validity, update testcases 2017-07-05 16:44:25 +02:00
Barend Gehrels
ae09052e7d [test] update administration after fix in is_valid. Most
difference cases are valid now.
2017-06-28 22:27:03 +02:00
Barend Gehrels
ee3f5ea20d [union] fix generating of false interiors by checking count_left 2017-06-25 13:56:01 +02:00
Barend Gehrels
2f2972959a [test] Add test cases 57,58,59 for new approach for union-clusters 2017-06-25 12:09:32 +02:00
Barend Gehrels
b667a0a787 [test] Add testcases 55/56 for handling union clusters / not discarding self turns 2017-06-25 11:54:04 +02:00
Barend Gehrels
604be619d9 [overlay] fix aggregations, include blocked as from 2017-06-14 10:28:47 +02:00
Barend Gehrels
412fc452da [overlay] Relax case 2, allow both continue and intersection
Fixes new #case_recursive_boxes_53
2017-06-13 20:29:25 +02:00
Barend Gehrels
3cd4f325ec [traverse] fix another similar case #case_137_multi now with two
different outgoing arcs
2017-06-07 22:48:18 +02:00
Barend Gehrels
9993d3697f [traverse] fix cases where touching interior/exterior is approached
from two different directions, and leave in one direction
2017-06-07 22:35:44 +02:00
Barend Gehrels
db372517b4 [traverse] fix cases where two polygons both have a touching interior ring,
which is equal to itself
2017-06-07 15:06:51 +02:00
Barend Gehrels
95454e4c8e [traverse] redo, isolated MUST be checked. Checking interior/exterior ring is
then redundant again, besides that it does not work for differences.
This breaks case_134 but that must be fixed differently.

After this change, recursive_polygons test is flawless
w.r.t. intersections/unions (validity/with self turns not yet checked)
2017-06-05 17:45:51 +02:00
Barend Gehrels
bd16305a72 [overlay] remove original behaviour to discard turns colocated with blocked turns,
because this stops generating interior rings in certain configurations, and
it is, in the meantime, handled differently in cluster traversal.
Fixes cases like new case #case_recursive_boxes_51
2017-06-05 15:59:29 +02:00
Barend Gehrels
ecae306146 [traverse] generalize pattern for colocated interior rings by making
cases with multiple rings (#case_134_multi) possible. It also does
not check for isolated anymore but instead checks interior/exterior rings
and region_ids
2017-06-04 14:04:00 +02:00
Barend Gehrels
b0cf8ffb59 [traverse] extend handling specific case of cc/ii with another variant,
now also solving #case_recursive_boxes_50
2017-06-04 11:23:42 +02:00
Barend Gehrels
463f778a36 [overlay] fix cases with two parallel interior rings, one touching
the exterior ring, by adding a special case for this. This solves
nearly all robustness (recursive_polygon) now.
2017-06-03 20:09:06 +02:00
Barend Gehrels
3555591411 [test] add missing recursive box cases to difference_multi
(all checked visually)
2017-05-31 12:51:55 +02:00
Barend Gehrels
5a94c45644 [test] Check remaining problems for difference, restructure macros like in multi version 2017-05-25 16:20:35 +02:00
Barend Gehrels
36d81e18bf [test] update difference_multi, many invalid results are fixed using self-turns 2017-05-25 14:45:27 +02:00
Barend Gehrels
27fdefbd2e [test] enhance svg filename with self info 2017-05-21 14:16:37 +02:00
Barend Gehrels
ae745f5b5c [test] enhance validity messages with ccw/open info 2017-05-21 14:15:47 +02:00
Barend Gehrels
92a4326c6a [test] rename cases which clashed in last merge (they were suffixed by m)
103m -> 106
104m -> 107
105m -> 105 (actually was not a clash)
2017-05-06 18:53:30 +02:00
Barend Gehrels
e52e2a8665 Merge branch 'develop' into feature/intvalid
# Conflicts:
#	test/algorithms/overlay/overlay_cases.hpp
#	test/algorithms/set_operations/intersection/intersection.cpp
#	test/algorithms/set_operations/union/union.cpp
2017-05-06 18:26:49 +02:00
Barend Gehrels
76ec0f1b99 [test] Add tickets 2017-03-26 14:25:45 +02:00
barendgehrels
ace8bdb7f0 [overlay] discard ii turns where two interior rings touch, for union operations.
This fixes case #80. Also, added case #105, testing that in a different way
(limiting solutions)
2017-03-18 20:17:22 +01:00
barendgehrels
12b1ad9e79 [test] avoid testing too much when one type is tested (compilation time) 2017-03-18 20:14:19 +01:00
barendgehrels
f9e2119d32 Merge branch 'develop' into feature/intvalid
# Conflicts:
#	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
#	test/algorithms/set_operations/intersection/test_intersection.hpp
2017-03-13 16:22:58 +01:00
Adam Wulkiewicz
b1c78f6622 [test] Test setops, is_simple and is_valid with strategies. 2017-02-17 05:45:34 +01:00
barendgehrels
07872acca1 [test] add (still failing) test for validity needing self-turn 2016-12-16 12:30:11 +01:00
barendgehrels
57250a3fdd [overlay] fix regression (duplicate polygons) due to last enhancements
in validity of intersections
2016-12-07 13:12:03 +01:00
barendgehrels
e7006237f7 [test] Uncomment one (of two) regressions because it is fixed, and changed
comments of the other one
2016-11-30 15:55:30 +01:00
barendgehrels
3c58f15105 [traversal] handle non clustered ii turns using sort-by-side 2016-11-23 17:35:29 +01:00
Barend Gehrels
70e20ddd27 [overlay] fix some validity cases for intersection/difference 2016-11-02 15:55:30 +01:00
Barend Gehrels
a057b49ec0 [test] add testcases with one cluster and multiple outputs (one is invalid)
Add macros to specify testcases more conveniently
2016-10-05 12:55:39 +02:00
Barend Gehrels
30ad9da654 [validity] add cases with single cluster 2016-09-28 12:43:22 +02:00
Barend Gehrels
e3b424940c [traverse] handle ii as uu for switch_source,
this makes several intersection testcases valid,
and makes one difference case invalid
2016-08-31 13:43:59 +02:00
Barend Gehrels
270a86cee7 [test] add comments about removed duplicate case 2016-08-31 11:44:57 +02:00
Barend Gehrels
d4d24524a9 [test] various test updates w.r.t. robustness and validity 2016-07-20 13:46:23 +02:00
Barend Gehrels
0270865e2b [test] case 77 is now valid with the recent changes in colocations 2016-07-20 10:36:54 +02:00
Barend Gehrels
94ec0619b9 [test] run tests but ignore validity, they are still not yet valid 2016-07-20 10:36:26 +02:00
Barend Gehrels
08f87517b7 [colocations] also discard interior-ring turns with a ux 2016-07-06 13:31:11 +02:00
Barend Gehrels
fcd48748ce [test] ignore validity in difference/spike tests 2016-06-29 14:29:55 +02:00
Barend Gehrels
b46805107b Merge branch 'develop' into feature/cluster_touch
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/handle_touch.hpp
	test/algorithms/overlay/Jamfile.v2
	test/algorithms/set_operations/difference/difference.cpp
	test/algorithms/set_operations/union/union.cpp
2016-06-29 13:18:51 +02:00
Adam Wulkiewicz
699df472e7 [test][setops] Use multi-geometries as output types (to simplify debugging). 2016-06-21 23:55:57 +02:00
Adam Wulkiewicz
ff77e78562 [test][setops] Add failing test cases. 2016-06-21 16:45:46 +02:00
Adam Wulkiewicz
94b2ff8f10 [test][difference][union] Add failing cases. 2016-06-20 15:28:51 +02:00
Barend Gehrels
f5cbd59664 [test] update difference test, where not all is valid yet 2016-06-08 15:05:32 +02:00
Barend Gehrels
9ed3809b58 [test] investigated failing new case, it is caused by rescaling/missing
intersection point
2016-04-27 14:10:10 +02:00
Barend Gehrels
5e0cac49fd [test] fix expectations of todays added test, they were reversed 2016-04-27 13:56:38 +02:00
Barend Gehrels
dbea29f121 [test] make #case_108_multi and add to intersection/difference, which
are both not yet correct (unexpectedly).
Union is correct but still not valid
2016-04-27 12:50:12 +02:00
Barend Gehrels
4d6afb1466 [test] enable validity testing by default for difference tests 2016-04-27 12:06:07 +02:00
Barend Gehrels
df9a97dea8 [traverse] enhance validity by checking touching (uu or combined turns creating a touch)
in clusters.
2016-04-27 11:39:40 +02:00
Barend Gehrels
950c2644e5 [traverse] reimplement touch the same way as traversal, but don't create rings
there but detect source-switching

This fixes several touching-cases (clusters with uu not yet handled)
2016-04-20 14:13:09 +02:00
Barend Gehrels
2f785c09e5 [test] add testcase for ticket_11725 which is solved now by sometimes
switching source in u/u (the yet simple approach)
2016-03-23 16:27:15 +01:00
Barend Gehrels
85e0755ccd [traverse][fix] use two passes, in first pass avoid uu turns to get
the interior rings right at starting points. Second pass use uu, but
only switch source if there are only uu turns found. This fixes most
of the simple cases (complex cases can still go wrong)
2016-03-23 13:25:30 +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
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
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
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
4a05869d2f [overlay] turn off handle_tangencies 2015-11-11 15:43:29 +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