Commit Graph

230 Commits

Author SHA1 Message Date
barendgehrels
093f3151bb [test] update settings for validity in intersection, all tests (excluded non-rescaling)
are fine now for this file
2017-01-04 12:48:30 +01:00
barendgehrels
74f74a466c [test] mark test cases for conditionally include 2016-12-28 17:48:07 +01:00
barendgehrels
5671c065e4 [test] Add similar simpler cases to single polygons 2016-12-16 13:54:08 +01:00
barendgehrels
07872acca1 [test] add (still failing) test for validity needing self-turn 2016-12-16 12:30:11 +01:00
barendgehrels
5a9acd4348 [test] fix error (integer too large) for some platforms, these are double values 2016-12-07 13:30:14 +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
efecc02866 [traverse] fix certain cases to recognize starting point during intersection
in a broader context
2016-11-30 12:56:48 +01:00
barendgehrels
3c58f15105 [traversal] handle non clustered ii turns using sort-by-side 2016-11-23 17:35:29 +01:00
barendgehrels
d687a55bbe [test] correct testcase 2016-11-17 13:37:51 +01:00
Barend Gehrels
70e20ddd27 [overlay] fix some validity cases for intersection/difference 2016-11-02 15:55:30 +01:00
Barend Gehrels
11a249d5eb [test] add one testcase, used for pending work (make intersections valid) 2016-10-12 17:57:34 +02: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
9201064990 [validity] fix zone count for intersection operations 2016-09-28 12:22:52 +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
c9738ff7c0 [test] increase two tolerances for qcc-arm platforms 2016-07-27 17:38: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
26ed657f93 [test] add validity flag for intersection and adapt input #outputs/#points 2016-06-29 15:02:23 +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
8147014095 Merge branch 'develop' into feature/sph_seg_inters
Conflicts:
	test/algorithms/overlay/overlay_cases.hpp
2016-06-21 16:53:33 +02:00
Adam Wulkiewicz
ff77e78562 [test][setops] Add failing test cases. 2016-06-21 16:45:46 +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
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
Adam Wulkiewicz
33ece2c567 [test][algorithms] Use new intersection_strategies name. 2016-04-12 03:32:44 +02:00
Adam Wulkiewicz
f46ed34965 [test][union][intersection] Add test case (failing union). 2016-04-05 20:23:30 +02:00
Barend Gehrels
a1a16084ec [test] add testcase for ticket 11018 (fixed) 2016-03-26 16:16:50 +01:00
Barend Gehrels
4a9b2ba167 [test] add possibility to check validity to intersection tests 2016-03-26 16:14:22 +01:00
Barend Gehrels
0d10b75966 [test] add testcase for ticket 11576, which is fixed 2016-03-23 16:44:52 +01:00
Barend Gehrels
588d102b19 [union] same solution as for intersection should be applied for union,
but not in case of uu or similar
2016-03-16 17:54:03 +01:00
Barend Gehrels
7d3d0dd69f [traverse] revise last weeks fix, make it more general. It should just
skip finalized arcs. This fixes the robustness test almost completely
2016-03-16 14:46:05 +01:00
Barend Gehrels
5383c24b34 [traverse][cluster] fix cases where it selected wrong arc at cluster,
a pseudo interior ring
2016-03-09 11:51:12 +01:00
Adam Wulkiewicz
463a085698 Merge pull request #341 from awulkiew/fix/rescale_policy
Enable rescale policy only in cartesian coordinate system.
2016-03-06 22:41:39 +01:00
Barend Gehrels
de63ab3472 [test] disable exception test 2016-03-02 20:23:02 +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
Adam Wulkiewicz
6162da7411 [test][intersection] Add spherical equatorial test case (ticket 11789). 2016-02-04 16:33:44 +01:00
Barend Gehrels
a236ba3391 [overlay] add counts to enrichtment info, this avoids it to be redone,
and use it in traverse omitting the operation condition
2016-01-13 15:58:51 +01:00
Barend Gehrels
8364aed91b [intersection] fix cases where intersection has to travel through uu/ux 2016-01-13 12:49:47 +01:00
Barend Gehrels
d256e57487 [overlay] now we can/need to remove functionality to discard turns
colocated with uu and the same ring.
This breaks one case (# case_recursive_boxes_23) but repairs many (about 50%
of the wrong cases in robustness test)
2016-01-13 10:52:04 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
8f8b7bdfb1 [test] add testcase for similar situation (interior ring touches exterior
ring)
2015-11-01 11:14:58 +01:00
Barend Gehrels
cbd431a65a typo 2015-10-31 12:29:57 +01:00
Barend Gehrels
4cc8112544 [colocations] fix: the condition to select on uu or ux should be there 2015-10-31 12:26:09 +01:00
Barend Gehrels
77299c8c22 [intersection] testcase was already fixed by colocations solution,
remove #ifdef and add testcase
2015-10-31 11:35:22 +01:00
Adam Wulkiewicz
7ddeab4f05 [test][intersection] Add failing test case. 2015-10-22 22:05:22 +02:00
Menelaos Karavelas
6fb6863711 [test][algorithms][intersection] add one more test case 2015-09-03 20:01:12 +03:00
Menelaos Karavelas
979b6cda7c [test][algorithms][intersection] add messages in debug mode 2015-09-03 20:00:43 +03:00
Menelaos Karavelas
267b54a2ca [test][algorithms][intersection] add more test cases for intersection(L,A) 2015-09-03 15:06:25 +03:00
Adam Wulkiewicz
51591ea883 [test][intersection] Remove tests checking the handling of epsilon for Boxes. 2015-08-21 19:57:32 +02:00
Adam Wulkiewicz
81305a79a1 [test][intersection] Add Box/Box case testing machine epsilon handling. 2015-08-05 01:08:21 +02:00
Adam Wulkiewicz
a7c539c075 [test][overlay][setops] Fix msvc size_t to int conversion warnings. 2015-07-23 01:18:48 +02:00
Barend Gehrels
9ee98695d4 [intersection][test] Exclude one test for no-robustness 2015-07-15 13:00:06 +02:00
Barend Gehrels
47c5c726ad [intersection] comment some cases not supported for no-robustness 2015-07-08 20:34:29 +02:00
Barend Gehrels
bc4db40121 [test] fix expectactions for intersection geos_2 where in rare cases
a tiny rectangle is generated (due to rescaling)
2015-07-08 11:12:45 +02:00
Adam Wulkiewicz
3db50a42ec [intersection][test] Alter the expected result one case.
With MSVC and MinGW the results are quite different so pick a value
between the ones calculated with those two compilers.
2015-06-25 20:18:25 +02:00
Adam Wulkiewicz
f1d39a4385 [intersection] Update expected test results, syncronize with the change in rescale policy (rounding). 2015-06-25 17:29:40 +02:00
barendgehrels
6926c270b3 Adapt difference/intersection unit tests to change in IP calculation 2015-06-21 22:53:25 +02:00
Adam Wulkiewicz
a5c79c9e22 [test][set_operations] Rename the tests. 2015-06-12 13:26:57 +02:00
Menelaos Karavelas
8285b45298 [test][algorithms][intersection] add more test cases for A/A -> L 2015-06-09 00:49:52 +03:00
Menelaos Karavelas
a331405d55 [test][algorithms][intersection] add one more test case 2015-06-07 17:35:07 +03:00
Menelaos Karavelas
3a658549d7 [test][algorithms][intersection] simplify unit test by replacing the meta-programming approach by a simpler one 2015-06-05 23:35:00 +03:00
Menelaos Karavelas
2080f49d07 [test][algorithms][intersection] add unit test for intersection(areal, areal, linear) 2015-05-28 11:56:21 +03:00
Menelaos Karavelas
a5f0a565bc [test][algorithms][intersection] enable get_turns invariance checking only for
linear/linear geometry combinations
2015-05-28 11:53:26 +03:00
Menelaos Karavelas
31391fe166 [test][algorithms][intersection] add test cases for intersection(linestring, box)
and intersection(multi_linestring, box)
2015-05-11 13:38:26 +03:00
Menelaos Karavelas
ee8d0ea335 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/set_ops_pointlike_linear 2015-04-23 10:13:54 +03:00
Adam Wulkiewicz
0851688794 [test][intersection] Fix uninitialized variable usage. 2015-04-22 03:04:05 +02:00
Adam Wulkiewicz
2b11233f00 Merge pull request #264 from mkaravel/fix/remove_deprecated_include_paths
Fix: remove deprecated include paths
2015-04-06 01:32:39 +02:00
Adam Wulkiewicz
5feb4afe70 Merge pull request #256 from mkaravel/fix/polish_set_ops_pl_pl_tests
Unit tests for set operations of pointlike/pointlike geometries
2015-04-05 02:31:35 +02:00
Menelaos Karavelas
7658231aa4 Merge branch 'develop' of https://github.com/boostorg/geometry into fix/remove_deprecated_include_paths
Conflicts:
	test/algorithms/set_operations/difference/difference.cpp
2015-03-31 14:30:04 +03:00
Adam Wulkiewicz
c0f4b05806 [test][intersection] Disable the test for ticket 10868. 2015-03-28 15:07:02 +01:00
Menelaos Karavelas
3e5f6db4a7 [test][algorithms][intersection] add missing include boost/config.hpp;
add better testing for the existence of int64_t;
2015-03-26 14:25:47 +02:00
Menelaos Karavelas
0c891c7b8a [test][algorithms][intersection] add missing include for BOOST_GEOMETRY_CONDITION;
add testing for ticket #10868 with long and boost::long_long_type as coordinate type;
2015-03-26 14:04:30 +02:00
Menelaos Karavelas
e3f30bbc15 [test][algorithms][intersection] add testing for the test case in Boost Trac ticket #10868 2015-03-26 13:50:39 +02:00
Barend Gehrels
90fcd83f30 [test] Remove bigobj flag from Jamfiles
now that it is defined in the upper level
2015-03-22 22:58:24 +01:00
Menelaos Karavelas
4d544287a3 [test][algorithms][set operations] update deprecated includes referring to
the include/boost/geometry/multi/ directory
2015-03-12 10:47:28 +02:00
Menelaos Karavelas
29c460b546 [test][algorithms] remove deprecated includes referring to the
include/boost/geometry/multi/ directory; polish and simplify some includes;
2015-03-12 02:10:14 +02:00
Menelaos Karavelas
9c860772ff [test][algorithms][set operations] update Jamfiles with the new unit tests 2015-03-10 16:52:14 +02:00
Menelaos Karavelas
a4b062583c [test][algorithms][set operations] add unit tests for intersection and difference
for pointlike/linear geometries
2015-03-10 16:50:38 +02:00
Menelaos Karavelas
ec5efe3799 [test][algorithms][set operations][pointlike] polish tests of set operations
for pointlike/pointlike geometries (make the case ID the first argument of the tester);
modify the common set operations test code so that it can be applied to set operations
of pointlike/linear geometries as well;
2015-03-10 16:04:31 +02:00
Adam Wulkiewicz
4f2fc67bd6 Merge branch 'develop' into fix/warnings 2015-02-11 15:55:31 +01:00
Adam Wulkiewicz
aff82800c4 [test][algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:50 +01:00
Menelaos Karavelas
b7ccd1f03e [test][algorithms][set operations L/L] replace absoute tolerance by relative tolerance 2015-02-11 00:22:07 +02:00
Menelaos Karavelas
b4c34417b0 [test][algorithms][intersection L/L] add result when omitting isolated intersection points 2015-02-10 23:49:17 +02:00
Menelaos Karavelas
fe44edfce3 [test][algorithms][intersection L/L] add one more test case 2015-02-10 23:37:34 +02:00
Menelaos Karavelas
e4ea5defa3 [test][algorithms][intersection L/L] add support for checking equality within a specified tolerance 2015-02-10 23:36:12 +02:00
Barend Gehrels
5c9c899974 [test] Increase tolerance slightly for parcel3 (buffer) and geos_1 (intersection)
to let it pass in MSVC 14
2015-01-21 23:19:38 +01:00
Barend Gehrels
c5417f6f43 [overlay] fix ticket #10108: rings only touching should check for u/u turns
and don't call point_on_border because that might be located on the border of the
other geometry. This also avoids passing the mid_point boolean, and including
within_code in ring_properties
2014-11-06 14:29:35 +01:00
Barend Gehrels
5563d2f8e2 [test] small change, move types/constants upwards to conveniently exclude/comment
testcases if necessary
2014-11-05 13:39:28 +01:00
Barend Gehrels
448040613d [overlay][fix] fix rescaling when coordinate-differences are larger than recaling range,
which is unfortunately slipped through. This fixes ticket #10747
2014-11-05 13:38:12 +01:00
Adam Wulkiewicz
61c9fa6bd2 [test] Move overlay tests from multi directory. 2014-10-30 13:41:41 +01:00
Adam Wulkiewicz
2bef2facc1 [test] Move set operations tests from multi directory. 2014-10-30 13:24:10 +01:00
Adam Wulkiewicz
26b338a20f [test] Move set and relational operations tests to separate directories. 2014-10-30 13:09:12 +01:00