120 Commits

Author SHA1 Message Date
Barend Gehrels
a19e818042 [buffer][test] add check for is_valid (now optional) 2014-12-31 13:51:09 +01:00
Barend Gehrels
fff81f33ed [buffer][test] fix expectation of just added testcase 2014-12-31 13:21:56 +01:00
Barend Gehrels
a0c1fbaf72 [buffer][test] Simplify code using multi-polygon instead of vector 2014-12-31 13:20:28 +01:00
Barend Gehrels
5d1c9525a3 [buffer][test] option to specify tolerance for custom strategies 2014-12-31 13:13:03 +01:00
Barend Gehrels
d1f2878e11 [buffer][test] add failing case 2014-12-31 13:10:01 +01:00
Barend Gehrels
bbc8c605e6 [buffer] add specific robust bounding box for offsetted part.
This gains in some cases more than 10% performance

This gives two small changes in expected areas for country buffer deflate-5, which are not
visible and not detectable using other tools (spent quite some time to try)
2014-11-23 12:25:48 +01:00
Barend Gehrels
6be98196ed [buffer] Piece visitor, remove unused types and we still need to check on geometry_code 2014-11-22 14:32:20 +01:00
Barend Gehrels
fc2652323b [buffer] refactor analysis of piece into shorter and slightly more efficient (few %) code.
It is now one function. In later commits we will extend this by checking helper
segments separately, which should also be more efficient.

It changes one test-case, probably because ofn ear_offsetted. The change is not visible
and the result is probably more correct. SQL Server reports this polygon as invalid.
2014-11-22 12:50:31 +01:00
Barend Gehrels
0667c87e1d [buffer][test] added unit test using large country multi_polygons
This one is not enabled by default.
Aimes-test is no enabled by default
2014-11-12 14:07:19 +01:00
Barend Gehrels
9a9e16f936 [buffer] major fix: we now create concave helper-pieces differently
In the past there was one with a straight line going from one piece to the next.
Now there are two, going from one piece to the point on the geometry, and the
second going from the point on the geomety to the next piece.
They are now zero-volume.
They fix:
1) crossings of sides with flat-ends (unit-test cases curve, field_sprayer, bend_near_start)
2) joins with limited number of points (unit-test cases concave_b_rough, italy_part, nl_part)
3) joins with large distances
4) many self-intersections on remaining aimes-cases
2014-11-12 13:59:29 +01:00
Barend Gehrels
4ad1abe80f [buffer][test] enhance display of pieces 2014-11-12 13:39:51 +01:00
Barend Gehrels
95583233e7 [buffer] polygon add tests, which are partly failing 2014-11-09 14:29:39 +01:00
Barend Gehrels
a34e408ade [buffer][test] disable failing test for CCW 2014-11-09 12:18:17 +01:00
Barend Gehrels
0be9f2dfca [test][buffer] test symmetric distance strategy too, if right distance
is not specified. This tests the fix in last commit, already merged to master (for 1.57)
2014-10-29 22:54:06 +01:00
Barend Gehrels
26da077654 [test][buffer] enhance SVG display for deflate, with pieces displayed 2014-10-29 17:27:25 +01:00
Barend Gehrels
254999addd [buffer] Fix case for square with buffer-distance = half the size, IP's
are on border of original and should be discarded for both inflate/deflate
This fixes the cases added to unit tests before
2014-10-29 17:26:43 +01:00
Barend Gehrels
c8af337ad7 [test][buffer] remove _neg suffix from test-case-name, it is done automatically 2014-10-29 12:50:48 +01:00
Barend Gehrels
79b944483d [test][buffer] add simplex square for failing deflate case 2014-10-29 12:50:20 +01:00
Barend Gehrels
32d5c78623 [test][buffer] add deflate test for multi, including failing for distance=half of square 2014-10-29 12:35:41 +01:00
Barend Gehrels
b98c653335 [test][buffer] test ccw by default 2014-10-29 12:15:15 +01:00
Barend Gehrels
39c149ed22 [test][buffer] more deflation tests and move order 2014-10-29 12:14:43 +01:00
Barend Gehrels
761fc9f8b1 [test][buffer] uncommented deflated indentation tests, which pass now 2014-10-29 12:00:01 +01:00
Barend Gehrels
8e6268c50e [test][buffer] enhance svg display for test results and deflated polygons.
By default pieces/turns are non visible now
2014-10-29 11:52:25 +01:00
Barend Gehrels
cef05d3bf2 [buffer][test] remove default values for new tests 2014-10-29 11:16:42 +01:00
Barend Gehrels
4a7c63fb17 [buffer][test] add custom-strategy version and test scenario which did round-join buffer fail 2014-10-29 11:16:11 +01:00
Adam Wulkiewicz
c411f2bdb3 [test][buffer] Add test cases for Polygon. 2014-10-28 15:07:36 +01:00
Adam Wulkiewicz
3500cc4355 [test][buffer] Add CCW test polygons (not tested yet). 2014-10-28 13:49:08 +01:00
Barend Gehrels
a5b9cfe0bc [buffer][fix] fix for open input of 3 points 2014-10-24 19:39:01 +02:00
Barend Gehrels
0f72af95f0 [buffer] fix simplify which should work on input ringtype
and added unit test which tests different input/output types w.r.t. point order
(different point types are not yet supported)
2014-10-24 15:52:05 +02:00
Barend Gehrels
ffd3cd1e3d [buffer][test] fix ccw suffix which should use output geometry 2014-10-24 15:33:03 +02:00
Barend Gehrels
6f09c5fd98 [buffer][test] test counter clockwise output for (multi)linestrings / points 2014-10-24 15:17:05 +02:00
Barend Gehrels
bd4de457d8 [buffer][fix] fixes counter clockwise polygons 2014-10-24 15:02:55 +02:00
Barend Gehrels
b40c1096a4 [buffer][test] fix 3 testcase names 2014-10-24 14:20:15 +02:00
Barend Gehrels
d762543676 [buffer][test] add reported testcase which succeeds 2014-10-24 13:33:17 +02:00
Barend Gehrels
6280a2b67e [buffer] support buffer for degenerate polygons (pointlike, not enough points) 2014-10-24 13:12:10 +02:00
Barend Gehrels
fd75d83fd1 [buffer][fix] fix output for generated linestrings with two equal points only
It now simplifies first and removes second point if necessary. Also it is
defensive such that generation is stopped if length is 0.
Including unit tests.
2014-10-24 12:36:22 +02:00
Barend Gehrels
e4cd46ac5d [buffer] support degenerate linestrings containing one point. In that
case point-buffer is applied. Including updated unit tests
2014-10-24 11:21:32 +02:00
Barend Gehrels
98d8c88372 [buffer][test] remove redundant index 2014-10-15 11:59:18 +02:00
Barend Gehrels
94bd840102 [buffer][test] make labels for turns optional, for good turns and for bad turns 2014-09-24 16:47:29 +02:00
Barend Gehrels
a0d7a260dc [buffer][test] add failing test for which there is not yet a solution.
It is related to colocated turns and sorting
2014-09-24 16:46:41 +02:00
Barend Gehrels
2c84bb4d49 [buffer] block turns instead of discarding them
This fixes case rt_u11
New result of recursive_polygons_buffer: 2 errors out of 510372
2014-09-24 10:36:15 +02:00
Barend Gehrels
e02c82623a [buffer] add new failing testcases (now 9 out of 500000 fail for miter) 2014-09-17 16:53:55 +02:00
Barend Gehrels
8de1b4da16 [buffer] fix comment 2014-09-17 16:52:19 +02:00
Barend Gehrels
c55e000eef [buffer] small changes in comments/test svg 2014-09-17 16:32:25 +02:00
Barend Gehrels
9298ac2a2c [buffer] fix intersection points on border, equal points should not be checked
and correct order in call to side strategy
This fixes case rt_u10
2014-09-17 16:30:03 +02:00
Barend Gehrels
e3130b2f39 [buffer][test] added new failing testcase rt_u10 2014-09-10 15:45:32 +02:00
Barend Gehrels
e6043d9a5c [buffer] fix cases where intersection point falls between robust piece
and non-robust original. We now check robust representions of originals
where this cannot happen
This fixes rt_u9
This obsoletes turn_in_input
2014-09-10 15:33:44 +02:00
Barend Gehrels
fcd0c5b768 [buffer] helper_points (formerly called helper_segments) are now optional
and we rescale/finish the piece on the fly and not in a separate call
2014-09-10 13:05:13 +02:00
Barend Gehrels
e0b82cd47f [test] enable rt_u8 case and change comments 2014-09-10 11:01:21 +02:00
Barend Gehrels
6fcdf246e0 [test] comment update 2014-09-10 10:34:43 +02:00