53 Commits

Author SHA1 Message Date
Barend Gehrels cda90e5cff refactor: removed unused functionality and minor changes preparing next pr 2025-01-10 18:42:45 +01:00
Adam Wulkiewicz 7286af1ab3 [test][dissolve] Pass umbrella strategy and replace BOOST_FOREACH 2022-01-18 19:02:14 +01:00
Barend Gehrels b3686c98e4 [test] Exclude one currently failing testcase 2019-07-17 16:49:38 +02:00
Barend Gehrels 4d7b8ce686 [DISSOLVE] Add testcase for reported problem 2018-08-30 13:56:18 +02:00
Barend Gehrels d0ca69a058 [dissolve/overlay] when adding intersection point, check on collinearity
to avoid adding three points in a row. If these points were already part
of the input, then they are just added as is.
2018-01-26 12:40:35 +01:00
Barend Gehrels a06da3995a [test] add clockwise option to dissolve test - which is not completely
working yet.
2018-01-12 18:08:37 +01:00
Barend Gehrels 38f586eba9 [test] just always do the reversed version, there is no need anymore
to make this optional
2018-01-12 17:33:59 +01:00
Barend Gehrels 4641bacc87 [dissolve/traversal] examine shortcuts over more turns to fix the last reported
cases
2018-01-12 17:29:18 +01:00
Barend Gehrels 29bb764bfc [dissolve][test] enhance debug information by showing positive/negative rings 2018-01-12 16:29:17 +01:00
Barend Gehrels 9f16a17145 [dissolve] add generated rings to output to be able to judge intermediate
results better
2018-01-12 15:29:54 +01:00
Barend Gehrels 65060df2e5 [dissolve] remove redundant ring_type as planned, and rename out_vector
to ring_container_type, as done in overlay
2018-01-12 14:51:46 +01:00
Barend Gehrels 841641c99e [dissolve] fix case where travel information was not correct. 2018-01-12 14:45:39 +01:00
Barend Gehrels 9e494199c6 [dissolve][test] testcase #dissolve_16 is correct now 2018-01-12 14:04:10 +01:00
Barend Gehrels c828dcf34b [dissolve] handle interior rings as planne. This fixes some of the remaining
issues.
2018-01-12 13:56:50 +01:00
Barend Gehrels 74741357e2 [dissolve] handle rings separately (phase 1) and iterate it in reverse
if the orientation is not correct. Exterior rings only for now, to be
continued.
This fixes all order problems and makes implementation agnostic from
orientation of input. This is reflected in the updated unit test.
2018-01-12 12:27:15 +01:00
Barend Gehrels 2b59d7c867 [dissolve] introduce Reverse to be able to (later) apply dissolve in two directions,
not only to support cw/ccw, but more to only use one version (positive area)
instead of processing cw input which is effectively ccw.
2018-01-12 11:18:25 +01:00
Barend Gehrels 5cf534bd53 [dissolve] fix the reported star cases if they would go in other direction.
In case a turn travels to itself and it is not the start turn, the other
option should be taken (even if one of them is preferred)
2018-01-12 10:11:04 +01:00
Barend Gehrels 377c69d598 [dissolve] update test program to skip the second/third version more conveniently 2018-01-03 18:16:22 +01:00
Barend Gehrels 7a4582a50b [dissolve] update svg creation in unittest 2018-01-03 18:15:10 +01:00
Barend Gehrels 85297586d9 [dissolve] add two derived cases to test program, and update test program 2018-01-03 18:13:56 +01:00
Barend Gehrels ce41dacdd5 [dissolve] add star-test to dissolve unit test, including adding an optional
reverse operation for test cases
2017-12-14 15:27:21 +01:00
Barend Gehrels b25596dcf1 [test] remove switch_source from debug-svgs 2017-12-06 12:20:00 +01:00
Barend Gehrels 8690837e56 [dissolve][test] run suite for float too 2017-11-24 13:58:56 +01:00
Barend Gehrels 93862fa638 [dissolve][test] add testcase which was already fixed by one of the
earlier fixes
2017-11-24 12:54:10 +01:00
Barend Gehrels 9c6040f4de [dissolve][test] add comments to testcases, including a possible todo item 2017-11-24 12:31:17 +01:00
Barend Gehrels 13ee521b2f [dissolve][test] add case #dissolve_mail_2017_10_26_c which is fixed by
making sure count_left/count_right are not used
2017-11-24 12:23:03 +01:00
Barend Gehrels 66112af890 [dissolve][test] add second testcase which is fixed already
(be it that it generates two points which might be removed)
2017-11-24 12:09:55 +01:00
Barend Gehrels 6b474e536a [dissolve][test] add reported testcase which should generate a hole 2017-11-24 12:02:45 +01:00
Barend Gehrels 7ccda4bfc5 [test] add testcases for dissolve, some still failing 2017-10-20 16:34:18 +02:00
Barend Gehrels 36e70aa1ce [dissolve] move/partly enable other testcases 2017-10-20 15:14:57 +02:00
Barend Gehrels 8484bcc923 [test] Move and enable acute/obtuse heptagrams which are fixed now 2017-10-20 15:14:02 +02:00
Barend Gehrels b39b9a319b [dissolve] reject negative child rings of negative parents (the parents
are reversed later), the same way as positive child rings of positive parents
are removed. This fixes the hexagram case and also dissolve_10 (both ccw)
2017-10-20 15:11:19 +02:00
Barend Gehrels 4382d85fb4 [dissolve] add testcase which is derived from (d) but has another spike,
or is horizontal instead of vertical
2017-10-20 12:48:54 +02:00
Barend Gehrels 13a8d13cb6 [dissolve] fix cases where turns were missed because 1) they were on adjacent
segments and 2) vertical segments were not sectionalized properly for this purpose.
2017-10-20 12:48:13 +02:00
Barend Gehrels aa6778e83c [test] dissolve algorithm cannot use bg::correct, because orientation is
unknown and can be wrong. Orientation should not be reversed. Therefore
correct_closure is split of from correct, and can (should) be used to
close the geometries correctly. Only then some cases of dissolve can be
fixed. bg::dissolve can itself not close the rings by design of the library
(it would require drastic changes)
2017-10-19 16:38:49 +02:00
Barend Gehrels a04050a31a [test] for dissolve unit tests now also check validity - and most
cases are already valid
2017-10-06 17:38:04 +02:00
Barend Gehrels 23e9f8628b [test] also move/cleanup multi-polygon tests 2017-10-06 16:38:35 +02:00
Barend Gehrels c77f1c99ab [test] improve test, phase 2, now always check for clips/holes 2017-10-06 16:26:28 +02:00
Barend Gehrels 5f865f79f2 [test] dissolve: start testing #clips and #holes too 2017-10-06 16:01:40 +02:00
Barend Gehrels 1187e1e805 [dissolve] fix case with two triangles which needs to be corrected w.r.t.
next turn if there is only one turn
2017-10-06 15:46:20 +02:00
Barend Gehrels ee02d25a42 [test] add Johan's testcases for dissolve 2017-10-06 13:02:14 +02:00
Barend Gehrels 7783eb6a24 [overlay] distinguish dissolve intersection/union to be able to avoid
self-turn being true for dissolve (otherwise all is true), to avoid having
those turns discarded.
This fixes some (but not all) of the regressions detected earlier
2017-10-06 12:30:48 +02:00
Barend Gehrels f73abdab1b [test] add labels for dissolve-svg 2017-10-06 11:20:37 +02:00
Barend Gehrels 6e02971a66 [test] enhance dissolve SVG with information from visitor 2017-10-06 10:52:42 +02:00
Barend Gehrels 0bb0e7fcae [dissolve][test] enhance test information, check different outputs,
prepare svg-debug-info
2017-10-06 10:23:08 +02:00
Barend Gehrels aaf2a5f4d6 [dissolve] use the map, which is now passed, instead of the old one
which was created explicitly
2017-10-06 10:00:36 +02:00
Barend Gehrels 1d23e0b511 [dissolve][test] fix test environment, exclude now failing cases 2017-10-06 09:18:56 +02:00
Adam Wulkiewicz 095b4f33c9 [extensions][test][dissolve] Add failing cases. 2017-04-14 15:30:17 +02:00
Barend Gehrels 28d46538be [dissolve][test] exclude (new) cases now failing 2016-07-20 16:54:38 +02:00
Barend Gehrels 347eaa580c [extensions][dissolve] use rescaling for dissolve, see ticket 10713 2014-11-05 13:59:08 +01:00