Commit Graph

2201 Commits

Author SHA1 Message Date
Adam Wulkiewicz
7ebd447aee [test][algorithms] Use new area strategy interface. 2017-12-22 03:40:01 +01:00
Vissarion Fysikopoulos
27d8955188 [algorithms] Some solution for correcting distance seg-box for spherical anf geo CS 2017-12-21 15:16:02 +02:00
Barend Gehrels
0f4712bdfb [test] add recent testcases to the other test scenarios 2017-12-20 16:54:51 +01:00
Barend Gehrels
f6c67daba6 [difference] fix cases where ii turns were not discarded, this
was a todo-item, it was not yet done for difference.

Including unit testcase using this.
2017-12-20 16:22:27 +01:00
Barend Gehrels
b28b312141 [difference] fix cases where potential inner rings have same area as
outer rings (located elsewhere), due to an earlier optimization
2017-12-20 14:07:51 +01:00
Barend Gehrels
11cff883b0 [intersection] Fix newly found case by removing some conditions from
handle_self_turns and setting ii-self-turns as non-startable instead of
discarding them.
2017-12-16 18:52:39 +01:00
Barend Gehrels
556896c7cc [traverse] need to select on operations in selecting ranks, it is not
done later. Small regression found by recursive_polygons
2017-12-15 14:37:17 +01:00
Barend Gehrels
5d99d1608d [overlay] fix new #case_recursive_boxes_82 by greatly simplifying the code.
patterns/aggregations were added to solve specific intersection problems
and validity in the past. In the meantime self-turns and isolation information
is much better, and those code is not needed anymore.
This also fixes the #mysql_regression_1_65_2017_08_31
This also makes union/intersection code for handling clusters much more similar
2017-12-15 13:20:41 +01:00
Vissarion Fysikopoulos
ea181b43f1 [algorithms] [strategies] [tests] Fix meridian distance point to meridian segment 2017-12-13 19:37:13 +02:00
Adam Wulkiewicz
7fa4d05735 [test][densify] Rename complexify in tests to densify. 2017-12-06 16:15:51 +01:00
Barend Gehrels
18eb8c5cd7 [test] add new testcase to union/difference 2017-12-06 15:39:53 +01:00
Barend Gehrels
080f0f22f4 [traverse] fix case where hole of one of the inputs formed a
disconnected interior (invalid). In the end it is fixed by only
deleting code. This code is not really old but added to fix some
cases, which are finally fixed in a more generic way.

It fixes a new case and also enhances #case_141_multi
2017-12-06 14:25:42 +01:00
Barend Gehrels
b25596dcf1 [test] remove switch_source from debug-svgs 2017-12-06 12:20:00 +01:00
Vissarion Fysikopoulos
a0b78391e0 [strategies] [tests] Multipoint box distance support and tests. 2017-12-05 15:43:54 +02:00
Adam Wulkiewicz
80003b79c1 Merge branch 'develop' into feature/complexify 2017-12-04 22:35:47 +01:00
Adam Wulkiewicz
d3df14abf7 [test][complexify] Add tests of complexify() algorithm. 2017-12-04 22:12:11 +01:00
Vissarion Fysikopoulos
4b9cf1288d [stategies] Clean-up code for pt/box box/box strategies 2017-12-04 17:32:17 +02:00
Vissarion Fysikopoulos
e4a587c0f4 [strategies] [tests] Test degenerate pt/box and box/box cases; fix a bug in pt-sgmt distance strategy 2017-12-01 14:58:16 +02:00
Vissarion Fysikopoulos
0a3204a494 Merge remote-tracking branch 'origin/develop' into feature/distance_box 2017-11-30 16:03:56 +02:00
Barend Gehrels
d1e0296171 [buffer][test] remove ignore_validity for two cases which are now always fine 2017-11-29 17:07:29 +01:00
Barend Gehrels
00a8dac019 [buffer][test] add test cases for fixed behaviour of deflated holes should
have minimal 3 points
2017-11-29 17:06:56 +01:00
Barend Gehrels
99da88ac26 [test][buffer] remove checks for self-intersections which is replaced
by validity
2017-11-29 10:24:00 +01:00
Barend Gehrels
900219f408 [buffer][test] add test_area to ut_settings, and avoid checking the tests
with huge coordinate differences on area, because they are meant for
assertion-checks and they might be invalid,
self-intersecting or empty depending on machine and numerical properties.
2017-11-25 13:19:26 +01:00
Barend Gehrels
7ab31cd832 [buffer][test] remove default argument - change order 2017-11-24 22:32:33 +01:00
Adam Wulkiewicz
cdf766d175 [test] Fix Boost inspect issues (license, tabs, non-asci character, no-newline). 2017-11-24 01:18:26 +01:00
Barend Gehrels
48c58beb3e Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-11-23 23:36:38 +01:00
Barend Gehrels
a4f917628d [test] mark certain cases as invalid. These cases fail on either MinGW
or on PowerPC platforms.
2017-11-23 23:36:16 +01:00
Adam Wulkiewicz
5e807b9028 [test][is_simple] Fix the order of coordinates in WKT in one geographic case. 2017-11-23 20:51:00 +01:00
Barend Gehrels
8bfd285086 [test] exclude one extra case still failing 2017-11-23 17:22:05 +01:00
Barend Gehrels
751b05ddc1 [buffer] revert one change (should keep multi_index) and
update tests now that validity is improved (but not yet solved).

Also 2 testcases are added generating uu points
2017-11-23 17:03:41 +01:00
Adam Wulkiewicz
0e7614f27d
Merge pull request #433 from vissarion/feature_fix_pt_sgmt_pole
Fix pt-sgmt strategy for special meridian segments passing through poles
2017-11-23 02:37:11 +01:00
Adam Wulkiewicz
88cb906b53 [test][union] Modify geographic union test wrt recent changes (by default invalid polygons are not returned). 2017-11-23 00:09:05 +01:00
Adam Wulkiewicz
d6fd87f37d [test][is_simple] Add geographic cases. 2017-11-22 18:54:49 +01:00
Adam Wulkiewicz
8de0dae9bb
Merge pull request #435 from awulkiew/fix/geographic_antipodal
Fix several algorithms for segments with antipodal endpoints.
2017-11-22 18:43:19 +01:00
Adam Wulkiewicz
e93cd66b51 [test][is_valid] Add geographic cases. 2017-11-21 21:16:16 +01:00
Adam Wulkiewicz
fef1d69d19 [test][difference] Add geo case with antipodal endpoints. 2017-11-20 21:09:41 +01:00
Adam Wulkiewicz
e2489462f6 [test][envelope] Add geo case with antipodal endpoints. 2017-11-20 21:09:09 +01:00
Adam Wulkiewicz
4598fc01de [test][get_turns] Add geo case with antipodal endpoints. 2017-11-20 21:08:46 +01:00
Barend Gehrels
283abc3adc Merge branch 'feature/intvalid' into develop 2017-11-19 16:02:11 +01:00
Barend Gehrels
44f61d05bb Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-11-19 16:01:09 +01:00
Barend Gehrels
5b3ac5847b [test][buffer] update countries test where Norway (distance 2) reports invalid 2017-11-19 16:00:17 +01:00
Barend Gehrels
55753fc017 [test][buffer] test, by default, for is_valid 2017-11-19 15:53:07 +01:00
Barend Gehrels
56023ee015 [test][buffer] handle the optional right distance differently,
such that it does not have to be specified in case of same as left
2017-11-19 14:06:55 +01:00
Barend Gehrels
5962b10743 [test][buffer] add ut_settings like done in overlay tests, to be able
to add test on validity
2017-11-19 13:59:21 +01:00
Adam Wulkiewicz
a2d889ca05 [test][union] Conditionally check union's invalid output exception. 2017-11-15 21:34:37 +01:00
Barend Gehrels
1d1ee684ab [test] examine reported buffer case and fix expectations 2017-11-15 17:19:58 +01:00
Barend Gehrels
9577300b85 [difference] add testcase for ticket 9942, and a simplified version of it 2017-11-15 12:02:08 +01:00
Barend Gehrels
1d7d9a9a00 [buffer] fix generation of buffer's interior ring when there is a touching point,
by selecting the right operation
2017-11-15 11:58:27 +01:00
Adam Wulkiewicz
a4ba4dc276
Merge pull request #434 from awulkiew/fix/geographic_union
Fix for union in geographic CS not generating result if it's too big
2017-11-15 00:25:03 +01:00
Vissarion Fysikopoulos
5b56157fcf [tests] Activate pt-box box-box tests 2017-11-13 14:23:29 +02:00
Vissarion Fysikopoulos
fcc114ee85 [strategies] Meridian distance without creating points 2017-11-13 13:28:40 +02:00
Adam Wulkiewicz
4eaf6a39d6 [test][is_valid] Add case in EPSG4053. 2017-11-12 16:13:06 +01:00
Adam Wulkiewicz
0413013fbc [test][union] Add geographic union tests (big result, negative area). 2017-11-11 02:07:36 +01:00
Adam Wulkiewicz
9eefd8284e [test][intersection] Fix compilation error when failing tests are enabled. 2017-11-10 22:09:19 +01:00
Vissarion Fysikopoulos
236ee9aba5 [strategies] Fix bugs in pt-segmt distance; parametric latitude use and sign of derivative 2017-11-09 17:16:47 +02:00
Barend Gehrels
07b96ae068 [test] add still failing testcase 2017-11-08 17:57:13 +01:00
Barend Gehrels
694299b7c7 [buffer] change last fix by adding is_flat_start/end properties to pieces.
These marks are used to check if a turn is really inside the generated buffer,
or on the flat end (then it should be kept).
This will NOT YET work for one-sided buffers.
2017-11-08 17:47:46 +01:00
Barend Gehrels
f6808f8277 [buffer] fix MYSQL testcase 25662426 2017-11-08 15:37:27 +01:00
Vissarion Fysikopoulos
10e88b6bda Merging with develop; use new pt-sgmt distance interface 2017-11-08 13:09:07 +02:00
Vissarion Fysikopoulos
c2ac26eab9 [strategies] [tests] Fix pt-sgmt strategy for special meridian segments passing through poles 2017-11-07 17:35:05 +02:00
Adam Wulkiewicz
0e4f4bc9a1 [test][buffer] Add failing case, self-intersecting result of buffer(Ls). 2017-11-06 17:12:48 +01:00
Vissarion Fysikopoulos
8d29c629d0 [test] Special case handling for Pt-Sgmt distance when segment contains the pole 2017-11-01 21:01:35 +02:00
Vissarion Fysikopoulos
1c5d10fb77 [formulas] Thomas formula return zero for distance between poles. Fixed by calling meridian formula for this case. 2017-11-01 19:44:28 +02:00
Vissarion Fysikopoulos
5a7ccaff35 [tests] Fix expected results in perimeter tests and add few cases 2017-11-01 19:03:52 +02:00
Vissarion Fysikopoulos
f458d8d28e [formulas] [strategies] Distance point-segment use the meridian formula. Use new static version of distance strategy. 2017-11-01 17:42:48 +02:00
Adam Wulkiewicz
639f70a44a [formula][test] Remove/update includes (srs). 2017-10-31 19:38:28 +01:00
Adam Wulkiewicz
88e8e268e0
Merge pull request #410 from vissarion/feature/distance_point_segment
Geographic distance between a point and a segment
2017-10-31 15:46:19 +01:00
Adam Wulkiewicz
968035415f Merge pull request #424 from awulkiew/fix/geographic_preceding
Fix preceding/exceeding in geographic CS
2017-10-25 23:28:14 +02:00
Adam Wulkiewicz
6665497ecc Merge pull request #423 from awulkiew/fix/setops_la
Fix L/A set operations
2017-10-25 23:28:02 +02:00
Barend Gehrels
36d1fe7657 Merge branch 'feature/intvalid' into develop 2017-10-23 18:39:46 +02:00
Barend Gehrels
48843415b0 [test] add condition for robustness in some cases 2017-10-23 15:24:39 +02:00
Barend Gehrels
1e0ecf37c7 [test] remove line which was still there unintended 2017-10-23 15:24:10 +02:00
Barend Gehrels
dd6958b903 [test] add last testcase also to intersection/difference 2017-10-23 15:19:13 +02:00
Barend Gehrels
9024c5f095 [test] Add testcase for incorrectly generated interior ring 2017-10-23 14:57:11 +02:00
Barend Gehrels
433b5fae58 [test] add ticket_12503 to intersection (OK)/difference (failing) 2017-10-23 13:46:39 +02:00
Barend Gehrels
8dee4ab1c8 [is_valid] check reported testcase, it is valid now. Also add it to
union to check the self-intersection-points (which are many)
2017-10-23 13:12:39 +02:00
Barend Gehrels
15b8bcbd79 [test] modify cases for tickets 12751 and 12752 which are (a/b) now
both valid if self-turns are used
2017-10-23 12:19:27 +02:00
Barend Gehrels
704488a731 [test] add last testcase to union/difference too 2017-10-23 12:17:52 +02:00
Barend Gehrels
94ce58de02 [overlay] fix bug in new code, it should check for the operation because
it can happen that union travels to itself and that is irrelevant
2017-10-23 11:26:21 +02:00
Barend Gehrels
38aa0c24a9 [correct] Split off correct_closure from correct
Including unit test
2017-10-19 15:51:43 +02:00
Barend Gehrels
1a7b13dadc [test] add last testcases to union/difference 2017-10-11 14:38:28 +02:00
Barend Gehrels
b20aeba724 [overlay] fix cases where non-traversed rings were incorrectly added.
This also changes the order of checks
2017-10-11 13:54:48 +02:00
Barend Gehrels
3010148541 [test] add last testcases to union/difference 2017-10-11 13:52:31 +02:00
Barend Gehrels
4d1b094e6a [overlay] discard self-turns i/u for intersection traveling to themselves 2017-10-11 12:58:29 +02:00
Barend Gehrels
a5507f2e68 [test] add testcases to union/difference 2017-10-04 18:22:18 +02:00
Barend Gehrels
65a5c2ba53 [overlay] fix bug (it always returned false), and it should not consider
all turns in a cluster here. This fixes #case_recursive_boxes_76
Including unit test
2017-10-04 18:12:37 +02:00
Barend Gehrels
0c5038233f [test] add last testcases also to union/difference tests 2017-10-04 15:29:34 +02:00
Barend Gehrels
c5710b2ab9 [overlay] skip ranks of isolated regions 2017-10-04 14:00:40 +02:00
Barend Gehrels
5369afe1c5 [test] add last testcase, plus 3 missing ones, also to union/difference tests 2017-09-27 13:23:26 +02:00
Barend Gehrels
210b662597 [overlay] correct (partly) the behaviour of isolation detection for
an isolated ring, connected to another isolated ring which is
connected multiple times to it
2017-09-27 13:05:25 +02:00
Vissarion Fysikopoulos
866b297482 [formulas] [tests] Distance point-segment; normalization and some changes in the method and tests 2017-09-21 13:22:51 +01:00
Barend Gehrels
3160ee6804 [overlay] fix additional case where isolation information was incorrect.
Including unit test. This also influences two other testcases but they
are not completely fixed by this fix
2017-09-20 17:00:52 +02:00
Barend Gehrels
0c7199c230 [test] add last testcase also to union/diff 2017-09-20 13:05:05 +02:00
Barend Gehrels
f572abf5c1 [overlay] fix case which was not detected as isolated because it was
not clustered. Isolation is now independent on clustering.
Including unit test
2017-09-20 12:52:18 +02:00
Barend Gehrels
af0ca5525b [buffer] fix debug SVG 2017-09-20 10:22:10 +02:00
Barend Gehrels
31f1872e46 [overlay] fix debug information 2017-09-20 10:21:50 +02:00
Vissarion Fysikopoulos
d9f3641795 [formulas] [strategies] [tests] Code simplification for special cases and some unit test cases 2017-09-19 18:01:43 +03:00
Vissarion Fysikopoulos
02de7cc212 [formulas] [strategies] Fix cross track distance for both spherical and geographic 2017-09-19 15:13:33 +03:00
Adam Wulkiewicz
f93e3ad806 [test][union][overlay] Add geographic A/A test case (big polygons, one covering pole). 2017-09-17 21:14:18 +02:00
Vissarion Fysikopoulos
098e43e732 Merge branch 'develop' into feature/distance_point_segment 2017-09-13 18:00:46 +03:00
Barend Gehrels
33f97b8f21 [test] add new testcase also to difference/intersection 2017-09-13 13:35:58 +02:00
Barend Gehrels
ce9928a1aa [overlay] fix case which needed a specific selection of a matching ranked point 2017-09-13 13:07:10 +02:00
Vissarion Fysikopoulos
47e2f0b4e9 [test] Tests for small and large distances from point to segment 2017-09-12 16:45:31 +03:00
Vissarion Fysikopoulos
3e97db55ab [test] Tests for geographic distance of pointlike-linear geometries 2017-09-12 14:08:50 +03:00
Adam Wulkiewicz
522f71b81f [test][intersection] Add L/A->P case of Linestring on boundary of Polygon. 2017-09-11 22:59:56 +02:00
Adam Wulkiewicz
d28766cf57 [test][intersection] Add L/A test cases - entire linestring on boundary of polygon. 2017-09-11 13:38:33 +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
6e4c61d202 [overlay] add check for self-cluster, which should be located within
the other geometry to avoid creating false rings
2017-09-06 14:40:44 +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
2f0705147c [test][union] Add failing A/A case (1.65 regression). 2017-08-30 18:20:17 +02:00
Adam Wulkiewicz
7de13d2707 [test][difference] Add failing L/A test cases. 2017-08-30 18:04:23 +02:00
Vissarion Fysikopoulos
dbe6df7ad3 [formulas] [strategies] [distance] Change interface and earth radius in distance point segment geographic formula 2017-08-30 15:04:01 +03:00
Adam Wulkiewicz
1bc57cc645 Merge branch 'develop' into fix/strategy_winding
Conflicts:
	include/boost/geometry/strategies/strategies.hpp
2017-08-30 13:42:39 +02:00
Adam Wulkiewicz
c5e12820e1 Merge pull request #413 from awulkiew/fix/non_cartesian_compare
Fix non-cartesian compare function objects (bg::less, bg::equal_to, bg::greater).
2017-08-30 13:39:57 +02:00
Barend Gehrels
0591aa63ea Merge branch 'develop' into feature/intvalid 2017-08-30 13:30:46 +02:00
Barend Gehrels
670ee5074f [test] add last testcase also to union/difference 2017-08-30 13:19:38 +02:00
Barend Gehrels
a449c39e6f [overlay] fix missing ring due to discarded self-intersection turn 2017-08-30 12:56:48 +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
c7c4c23f4f [test] include testcase for checking left_count 2017-08-23 15:38:18 +02:00
Barend Gehrels
2088e708cd [test] add testcase for union for last fix 2017-08-23 13:52:25 +02:00
Barend Gehrels
6db9266768 [overlay] replace colocated_ii / uu with has_colocated_both
because only one of them is used.
2017-08-23 13:49:02 +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
Adam Wulkiewicz
3011d4aa7e [test][covered_by][within] Add spherical and geographic cases. 2017-08-22 00:35:14 +02:00
Barend Gehrels
ff918e4776 [test] dont ignore validity for case 65 2017-08-16 16:25:50 +02:00
Adam Wulkiewicz
6f17140ecc [test][is_valid] Add test of geographic polygon. 2017-08-11 20:08:57 +02:00
Adam Wulkiewicz
84b41b5a9c [test][envelope][expand] Add test cases for spherical polar Boxes and Segments. 2017-08-06 19:36:34 +02:00
Adam Wulkiewicz
8e53f02acb [test] Add/update test cases after improvements in compare. 2017-08-05 01:56:28 +02:00
Adam Wulkiewicz
35897a6a81 Merge pull request #412 from awulkiew/fix/algorithms_side_strategy
Geographic coordinate system related fixes.
2017-07-31 18:30:25 +02:00
Barend Gehrels
0938983c5e [test] add testcase 66 for startable self-turns 2017-07-31 12:16:26 +02:00
Adam Wulkiewicz
a35d0f756d [test][buffer] Add MultiPoint test case (5 equal Points). 2017-07-30 04:45:56 +02:00
Adam Wulkiewicz
ea8c93478f [test][is_simple] Add test for geographic CS. 2017-07-27 03:40:21 +02:00
Barend Gehrels
664c1aa10a [test] add test cases for last fix 2017-07-26 14:33:26 +02:00
Barend Gehrels
d25fe47a93 [overlay] fix case which was not taking correct rank 2017-07-26 14:26:44 +02:00
Vissarion Fysikopoulos
0c8e12d1bb [distance] [test] Geo box-box distance tests 2017-07-25 13:51:37 +03:00
Vissarion Fysikopoulos
1728b7a706 [distance] [test] Geo point-box tests 2017-07-25 12:25:04 +03:00
Vissarion Fysikopoulos
f015a04d80 [distance] Distance box-box strategy and tests 2017-07-24 12:12:30 +03:00
Adam Wulkiewicz
4f7e479d06 [test][area] Add test case passing sphere into geographic area strategy. 2017-07-20 18:28:54 +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
Adam Wulkiewicz
8e100074e2 [test][union] Update test case according to the recent fix. 2017-07-18 14:39:03 +02:00
Vissarion Fysikopoulos
b8453a3caf [distance] [test] Clean code in distance test and point segment formula 2017-07-18 13:05:15 +03:00
Adam Wulkiewicz
1dad2eb97c [test][overlay] Update cases wrt recent changes (user-defined strategy). 2017-07-14 16:19:07 +02:00
Vissarion Fysikopoulos
36232a3cdb [distance] Spheroid passed as parameter, more general strategy getter for distance strategy 2017-07-13 12:52:52 +03:00
Vissarion Fysikopoulos
8b33899ec7 [distance] Point-segment distance formula, strategy and tests 2017-07-13 09:59:10 +03: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
91f0d84d9a [test] is_valid_failure: fix failure type of mpg09 2017-07-05 18:16:00 +02:00
Barend Gehrels
8012d17ca6 Merge branch 'feature/intvalid' into develop 2017-07-05 17:08:52 +02:00
Barend Gehrels
bcbcbf8a74 [test] with corrected validity, update testcases 2017-07-05 16:44:25 +02:00
Barend Gehrels
114bca9f55 [test] remove redundant booleans 2017-07-05 14:47:04 +02:00
Barend Gehrels
32cc0c1d74 [test] Add new testcase for is_valid 2017-07-05 14:45:05 +02:00
Barend Gehrels
59ea116d8c [test] intersection, check validity of whole output instead of
its separate polygons
2017-07-05 14:40:21 +02:00
Adam Wulkiewicz
a51a331df9 Merge pull request #405 from awulkiew/feature/area_strategy
Add missing propagation of area strategy in buffer, is_valid and overlay.
2017-07-05 13:51:43 +02:00
Barend Gehrels
4ccd4e43ce [is_valid] add extra info to turn to determine validity
Including unit test adaptions. Results are verified visually with SVG
2017-07-05 13:06:15 +02:00
Vissarion Fysikopoulos
fcc3c4e39d [test] Add failing test case that now passing with box_box fix 2017-07-04 10:24:13 +03:00
Adam Wulkiewicz
77d0195d21 [test][overlay] Update select_rings test wrt recent changes in overlay. 2017-07-04 04:48:59 +02:00
Barend Gehrels
41a5570251 [test] update test information on validity 2017-06-28 22:35:06 +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
a1f92e9464 [test] remove #case_recursive_boxes1 from sort_by_side test because
it does not have one cluster (actually it has many)
2017-06-28 21:18:15 +02:00
Barend Gehrels
0a65db7b9b [test] Remove several testcases, because (after changes in discarding turns
from clusters) there were no clusters left in these cases
2017-06-28 21:17:41 +02:00
Barend Gehrels
60c9b096b1 Merge branch 'feature/intvalid' into develop
# Conflicts:
#	include/boost/geometry/algorithms/intersects.hpp
#	include/boost/geometry/algorithms/touches.hpp
2017-06-27 20:33:46 +02:00
Barend Gehrels
e32269b208 [test] move ignore_validity to macro 2017-06-25 17:22:10 +02:00
Barend Gehrels
0cabf049cd [test] Test validity for the whole outut, instead of per polygon 2017-06-25 17:21:50 +02:00
Barend Gehrels
58e1c0bc51 [is_valid] remove false negatives from two touching interior rings 2017-06-25 17:18:26 +02:00
Barend Gehrels
c7c4800ca6 [is_valid] remove false negatives from two touching exterior rings, touching
each other at the touching point of an interior ring
2017-06-25 16:59:34 +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
8e33d65ed7 [test] fix last added testcase for union which needs self-intersections
for validity
2017-06-14 12:08:58 +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
47e1efb9e3 [test] Add testcases for variants of zoomed in cases (going OK) 2017-06-08 21:44:46 +02:00
Barend Gehrels
6b08e0b584 [test] Fix WKT (close interiors) 2017-06-08 21:43: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
0853342320 [traverse] fix #case_58_multi and #case_134_multi by verifying connected
regions in switch detector
2017-06-05 11:51:53 +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
390f924845 [test] add recently added cases to union/intersection tests 2017-05-31 11:22:05 +02:00
Barend Gehrels
16be4bbdb2 [overlay] fix new case #case_recursive_boxes_48 for self-intersections
by discarding self ii turns NOT located within another geometry
2017-05-31 11:12:57 +02:00
Barend Gehrels
f54f85a6de [test] update union.cpp, there is only one invalid input - but with
no robustness there are several failures
2017-05-26 22:40:15 +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
Adam Wulkiewicz
1a605740cc Merge pull request #397 from awulkiew/feature/relops_multi_point
Add missing relational operations for MultiPoint/Geometry
2017-05-23 13:24:19 +02:00
Adam Wulkiewicz
f6c28cebb7 Merge pull request #398 from vissarion/feature/disjoint_fix
Feature/disjoint fix
2017-05-23 13:23:58 +02:00
Barend Gehrels
d6c8619cdc [test] fix reverse information for ccw geometries in overlay test 2017-05-21 14:45:47 +02:00
Barend Gehrels
25f55bfac4 [test] overlay, add ccw/open/self/rob info to svg filename 2017-05-21 14:43:38 +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
d4ce96df48 [test] Add testcase 131 (fixed) and 132 (still unclear) 2017-05-20 17:30:25 +02:00
Barend Gehrels
0de898a004 [union] Fix select_source for self_turn, it should use multi_index 2017-05-20 15:54:57 +02:00
Barend Gehrels
2ebf8b7fe1 [test] add test for union needing self-turns. It is still failing. 2017-05-17 20:32:17 +02:00
Barend Gehrels
9705fce852 [test] adapt testcase #case_recursive_boxes_14_invalid 2017-05-13 17:55:18 +02:00
Adam Wulkiewicz
bef6c5bb96 Merge branch 'develop' into feature/relops_multi_point
Conflicts:
	include/boost/geometry/algorithms/intersects.hpp
	include/boost/geometry/algorithms/touches.hpp
2017-05-10 15:30:27 +02:00
Barend Gehrels
81578d48e2 [test] add two testcases necessary for new approach discarding ii 2017-05-10 09:51:33 +02:00
Barend Gehrels
2ea9884ddd [validity] avoid discarded self-turn in isolated region generation,
and avoid registering uu-self-turns
This fixes the regressions in cases which were handled correctly before,
for intersection
2017-05-08 14:15:14 +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
Vissarion Fysikopoulos
4f7956d5ae [disjoint] more cleaning code 2017-05-05 15:57:36 +03:00
Vissarion Fysikopoulos
b7d5f4b849 [disjoint] cleaning code 2017-05-05 14:17:52 +03:00
Adam Wulkiewicz
3f15be3a68 [test][touches] Add cases for multiPoint/Geometry. 2017-05-04 15:45:45 +02:00
Adam Wulkiewicz
baf867e7ed [test][crosses][relate] Add test cases for MultiPoint/LinearOrAreal combinations. 2017-05-04 13:38:41 +02:00
Vissarion Fysikopoulos
5cdae7c693 [disjoint] [vertex_longitude] Reviewing cases of disjoint, create new tests, fix corner cases 2017-05-02 18:44:26 +03:00
Adam Wulkiewicz
ff8a1a807b [test][relate] Add cases for MultiPoint/SingleLorA. 2017-04-27 18:39:11 +02:00
Barend Gehrels
97151eb985 Merge branch 'develop' into feature/intvalid 2017-04-27 10:41:12 +02:00
Adam Wulkiewicz
738c76795c [test][disjoint] Enable tests for MultiPoint/Areal. 2017-04-26 19:11:08 +02:00
Adam Wulkiewicz
4172ffed05 [test][within][covered_by] Add tests for MultiPoint/LorA. 2017-04-26 14:03:00 +02:00
Adam Wulkiewicz
623f3f5fd0 [test][distance][overlay] Add missing includes. 2017-04-26 06:22:47 +02:00
Adam Wulkiewicz
1a6446ba66 Merge branch 'develop' into feature/geographic 2017-04-25 03:48:06 +02:00
Adam Wulkiewicz
f050319859 [test][relops] Add tests for PointLike/PointLike combinations (covered_by, disjoint, equals, overlaps, within). 2017-04-24 19:47:55 +02:00
Adam Wulkiewicz
e59931473a [test][correct] Add missing copyright notes. 2017-04-20 19:02:45 +02:00
Adam Wulkiewicz
dce086ae72 [test][correct] Add test for spherical and geographic polygons and rings. 2017-04-20 18:59:52 +02:00
Barend Gehrels
7d17bd1e8a Merge branch 'develop' into feature/intvalid 2017-04-20 15:35:34 +02:00
Barend Gehrels
dfbb2604bd [sort_by_side] pass OverlayType (TODO item necessary to correctly
handle self-turns)
2017-04-20 12:50:16 +02:00
Barend Gehrels
a3b66db830 [test] Commit pending work, add optional SVG for sort by side tests 2017-04-20 12:30:53 +02:00
Barend Gehrels
f40793ab03 [test] Fix include/copyright 2017-04-20 12:00:32 +02:00
Barend Gehrels
081860e8dd [sort_by_side] fix (rare) cases where two froms arrive at a turn,
but only one leaves the next turn. This simplifies state to just a boolean.
This fixes cases like case_recursive_boxes_46 for union
2017-04-19 16:32:40 +02:00
Barend Gehrels
d1fafacb10 [test] minor, remove spurious comma 2017-04-19 16:15:19 +02:00
Barend Gehrels
2e22bb16e0 [test] Add a basic unit test for sort_by_side (the other version
applies more or less a trick
2017-04-19 16:14:39 +02:00
Adam Wulkiewicz
2a3cb7b951 [test][intersection][union] Add cases where all points of g1 are the same as some points of g2. 2017-04-14 14:40:52 +02:00
Adam Wulkiewicz
87a1a941f2 Merge branch 'develop' into feature/geographic 2017-04-14 01:39:05 +02:00
Adam Wulkiewicz
6586f6e7b7 [overlay][buffer][test] Use within/covered_by and envelope strategies.
- Pass intersection strategy into range_in_geometry and internally get
  point_in_geometry strategy.
- Add required intersection strategy passing into overlay and buffer
  internals.
- Use envelope strategy in assign_parents.
2017-04-11 00:24:21 +02:00
Adam Wulkiewicz
e3ac044400 [equals][test] Make collect_vectors Ring-order-invariant with normalized_view. 2017-04-09 11:33:00 +02:00
Adam Wulkiewicz
657a5c8090 [equals][test] Fix collect_vectors for open Rings with closeable_view. 2017-04-09 01:46:46 +02:00
Barend Gehrels
283eaac357 [test] Change sort_by_side unit test to allow for multiple clusters,
and add one (still failing) case to it
2017-04-05 16:52:59 +02:00
Barend Gehrels
76ec0f1b99 [test] Add tickets 2017-03-26 14:25:45 +02:00
Barend Gehrels
7f8cb5a1aa Merge branch 'develop' into feature/intvalid 2017-03-26 12:57:28 +02:00
Barend Gehrels
b320ddf8e6 [buffer] Fix segmentation fault for rings (start/finish ring was not called),
including new unit test
2017-03-26 12:49:48 +02:00
Barend Gehrels
20005d6e47 Merge branch 'develop' into feature/intvalid 2017-03-26 11:33:13 +02:00
Barend Gehrels
a96b1da5cc [overlay] fix case (#recursive_boxes_45) where wrong decision was made based on a ux turn 2017-03-22 22:28:16 +01:00
Adam Wulkiewicz
cba7b9b016 [test][disjoint] Move disjoint_box_seg test and use CHECK_MESSAGE for better output. 2017-03-22 20:51:32 +01:00
Barend Gehrels
16f2bcf357 [overlay] fix case where a union is traveled. As it now appears, due
to new cluster handling, all uu turns can (and should) be discarded for intersections
2017-03-22 15:10:28 +01:00
barendgehrels
b4d1c8f8a9 [test] fix pointtype which is also used for SVG 2017-03-22 12:08:51 +01:00
barendgehrels
51435fdc9d [test] enhance debug info using the new get_next_turn_index method 2017-03-22 11:52:41 +01:00
barendgehrels
453b6b4a34 [TEST] Fix strategy for buffer SVG 2017-03-22 11:45:51 +01:00
barendgehrels
75d65e9bb7 [TEST] Move unused typedef 2017-03-22 11:45:02 +01:00
barendgehrels
ae90f8567e [TESTE] fix reversed expectations 2017-03-22 11:44:44 +01: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
Adam Wulkiewicz
7bba50172e Merge pull request #380 from vissarion/feature/disjoint_geo_new
Feature/disjoint geo new
2017-03-14 19:15:34 +01:00
barendgehrels
404bd889f5 [traverse] fix case #129/rec boxes_4 by avoiding finalized operations in aggregation 2017-03-13 17:44:28 +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
barendgehrels
9438642121 [test] avoid testing too much with ONLY_ONE_TYPE is specified 2017-03-13 16:12:36 +01:00
barendgehrels
32c422f745 [traverse] fix case #130, starting with cc, using remaining_distance 2017-03-13 15:36:13 +01:00
barendgehrels
1b5fb4444e [traverse] Major commit. Avoid discarding ii turn on interior rings. Detect isolatated
regions (usually inner rings) differently: only once instead of on the
fly, and store it. Set visited in clusters for all parts of the cluster.
2017-03-13 10:52:27 +01:00
Adam Wulkiewicz
dd439ce1c1 [test][partition] Return bool from visitors, it is now required by partition(). 2017-03-09 05:44:41 +01:00
Vissarion Fysikopoulos
207098b2ff Merging with develop 2017-03-08 18:37:11 +02:00
Adam Wulkiewicz
273ac37df4 [test][algorithms] Update tests according to the recent consistency changes in strategies. 2017-03-07 20:15:07 +01:00
Adam Wulkiewicz
95bb1eacc0 Merge branch 'develop' into feature/disjoint_geo_new 2017-03-05 23:43:45 +01:00
Adam Wulkiewicz
c00178f39a [test][algorithms] Use ranges of coordinates in expected boxes in some cases.
In cases of long segments the envelopes may differ more than several
epsilons with different compilers.
2017-03-03 03:56:40 +01:00
Adam Wulkiewicz
b7d62db598 [test][formulas][algorithms] Add/alter tests related to fixes in inverse formulas (length, perimeter). 2017-03-02 17:01:47 +01:00
barendgehrels
e2781e147a Merge branch 'develop' into feature/intvalid
# Conflicts:
#	include/boost/geometry/algorithms/detail/overlay/overlay.hpp
#	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
#	include/boost/geometry/algorithms/intersects.hpp
#	include/boost/geometry/algorithms/touches.hpp
2017-02-25 20:01:08 +01:00
barendgehrels
caf0b9f7e9 [traverse] fix validity when two holes meet eachother and exlude an
area which should become a separate ring (#43), by passing the already visited
region_ids (which make them less local). It does not solve #35 yet.
2017-02-18 13:32:46 +01:00
barendgehrels
0d95185060 [traverse] fix cases where isolated regions have more turns in between
(cases #41/#128)
2017-02-17 16:24:52 +01:00
barendgehrels
4547875d81 [intersection][test] add/update testcases 2017-02-17 12:39:11 +01:00
Adam Wulkiewicz
b1c78f6622 [test] Test setops, is_simple and is_valid with strategies. 2017-02-17 05:45:34 +01:00
Vissarion Fysikopoulos
6a2b202eb6 [disjoint] [test] Code cleaning 2017-02-16 16:43:52 +02:00
Vissarion Fysikopoulos
2ef3f99fc3 [disjoint] [test] Strategy inteface, more unit tests, code cleaning 2017-02-16 13:54:14 +02:00
Vissarion Fysikopoulos
1f952671e9 [disjoint] [test] Disjoint algorithm and tests for spherical and geographic systems 2017-02-14 23:48:08 +02:00
Adam Wulkiewicz
ea1b6c0ce0 [test][envelope][cross_product] Fix/suppress warnings. 2017-02-10 23:57:00 +01:00
Adam Wulkiewicz
18a2ed317d Merge pull request #379 from vissarion/feature/fix_envelope
[envelope] [test] Fix the envelope algorithm and add corrected values to tests
2017-02-08 14:32:45 +01:00
Vissarion Fysikopoulos
410536e331 [envelope] [test] Fix the envelope algorithm and add corrected values to tests 2017-02-08 15:18:49 +02:00
Adam Wulkiewicz
98a655bf42 Merge pull request #378 from awulkiew/feature/relops_strategies
Support for strategies in relational operations.
2017-02-07 20:13:58 +01:00
Adam Wulkiewicz
56168601d2 [test] Move algorithms/vertex_latitude to strategies/segment_envelope. 2017-02-07 14:24:01 +01:00
Adam Wulkiewicz
448d0daa88 [test][relops] Add tests for relops taking strategies (explicitly pass default strategy). 2017-02-06 17:58:01 +01:00
Vissarion Fisikopoulos
436c589f41 Merge branch 'develop' into feature/envelope_expand_geo 2017-02-02 13:41:34 +02:00
Adam Wulkiewicz
c277a6c99a Merge pull request #359 from vissarion/feature/area
Feature/area
2017-02-02 00:49:33 +01:00
Vissarion Fysikopoulos
fd12b69ee6 [area] Addressing comments 2017-01-31 17:55:00 +02:00
Vissarion Fysikopoulos
99c001873d [envelope] Move envelope computation back to algorithm level 2017-01-31 17:35:48 +02:00
Adam Wulkiewicz
bc77e1255e [test] Adapt tests to new interfaces of various utilities in the library.
default_strategy services, partition, get_turns, strategies.
2017-01-28 04:09:49 +01:00
Vissarion Fysikopoulos
930719bad3 [area] Rename area strategy namespace 2017-01-27 19:41:27 +02:00
Vissarion Fysikopoulos
021be6636d [envelope] [expand] MBR strategy for envelope and expand 2017-01-19 17:27:05 +02:00
barendgehrels
0e95caa36d [overlay] skip ii outgoing/returning when, after that, a cc continues.
Plus extra testcase needing this (if self-turns are considered)
2017-01-11 16:56:15 +01:00
barendgehrels
a537112403 Merge branch 'develop' into feature/intvalid 2017-01-11 10:07:41 +01:00
Adam Wulkiewicz
409e97304e [test][distance] Suppress unused parameter warning. 2017-01-06 20:05:32 +01:00
Adam Wulkiewicz
b67ada92a0 [test][overlay] Comment out unused typedef in sort_by_side test. 2017-01-06 03:22:09 +01:00
Adam Wulkiewicz
edc0adc95a [test] Add missing TypeOf includes (after dropping Serialization dependency). 2017-01-04 16:44:44 +01:00
barendgehrels
f0f5045364 [test] remove ignore flag for case 125 which runs OK with and without
self-turns
2017-01-04 13:23:34 +01:00
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
4e77abbe0e [test] display self-turns visually 2016-12-16 15:27:53 +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
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
809e48ae63 Merge branch 'feature/intvalid' into develop 2016-11-30 13:32:37 +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
c4ab3653eb [test] minor order in testcase indexes 2016-11-23 18:01:45 +01:00
barendgehrels
3c58f15105 [traversal] handle non clustered ii turns using sort-by-side 2016-11-23 17:35:29 +01:00
barendgehrels
a801bf621e [test] overlay: test number of clips, and add (still failing) testcase 2016-11-17 13:56:42 +01:00