Commit Graph

457 Commits

Author SHA1 Message Date
Adam Wulkiewicz
3b80d1ae71 [test] Fix unused parameter warnings. 2017-12-26 14:12:16 +01:00
Adam Wulkiewicz
7ebd447aee [test][algorithms] Use new area strategy interface. 2017-12-22 03:40:01 +01: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
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
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
fef1d69d19 [test][difference] Add geo case with antipodal endpoints. 2017-11-20 21:09:41 +01:00
Barend Gehrels
44f61d05bb Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-11-19 16:01:09 +01:00
Adam Wulkiewicz
a2d889ca05 [test][union] Conditionally check union's invalid output exception. 2017-11-15 21:34:37 +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
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
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
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
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
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
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
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
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
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
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
ff918e4776 [test] dont ignore validity for case 65 2017-08-16 16:25:50 +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
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
Adam Wulkiewicz
8e100074e2 [test][union] Update test case according to the recent fix. 2017-07-18 14:39:03 +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
59ea116d8c [test] intersection, check validity of whole output instead of
its separate polygons
2017-07-05 14:40:21 +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
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
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
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
Barend Gehrels
27fdefbd2e [test] enhance svg filename with self info 2017-05-21 14:16:37 +02:00