241 Commits

Author SHA1 Message Date
Barend Gehrels
2e9eedd4ea [buffer][test] Add cases for various miter limits 2015-03-04 12:31:59 +01:00
Barend Gehrels
ed2f52a16d [buffer] Fix end caps with odd number of points, they were not closed
Including unit test. Issue was found by Oracle/MySQL testing
2015-03-04 11:40:44 +01:00
Barend Gehrels
f74180b084 [buffer] Enhance turn-in-piece for pieces around points. They now
make use of monotonic sections, and get special treatment because there
are no helper segments, basically the whole procedure is different

This can make buffers around points 3 times faster (if the buffered ring contains many points)
2015-03-01 14:08:16 +01:00
Barend Gehrels
4652e56d40 [buffer][test] test tests with many points only in release mode 2015-02-28 13:06:49 +01:00
Barend Gehrels
32175d483b [buffer][test] increase tolerance of tests added today, to support
slightly varying results on different compilers
2015-02-25 22:56:17 +01:00
Barend Gehrels
3a5e2c20c4 [buffer] improve performance for multi_point with many generated points
by now using monotonic sections and calculate turns over overlapping sections only
2015-02-25 17:50:25 +01:00
Barend Gehrels
845611e251 [buffer][test] add tests for multi-polygons with inner rings and large distances
Also tests are added where the generated deflated ring around an interior ring
is located exactly within another interior ring
2015-02-18 15:12:39 +01:00
Barend Gehrels
b0fdfc5d7a [buffer] fix erroneous rings for deflated interior rings which are untouched 2015-02-18 15:10:06 +01:00
Barend Gehrels
2201ebf86e [buffer] fix the case where a side was skipped because detected as equal, followed
by an end-cap. This caused further problems. Detection of empty sides is now delegated
to the strategy
2015-02-18 12:20:05 +01:00
Barend Gehrels
3c2a450742 [buffer][test] add testcase for crossing multi-linestring
which was fixed already by previous commit (flat-ends)
2015-02-18 10:32:04 +01:00
Barend Gehrels
6c5cb48211 [buffer][fix] avoid false detection of turn in piece: turns cannot be located
in flat end pieces or in concave pieces
2015-02-18 10:20:26 +01:00
Adam Wulkiewicz
bd6e07797f [test][buffer] Add tests for Areal and negative distance (failing for polygon with hole and big distance). 2015-02-18 00:35:29 +01:00
Adam Wulkiewicz
7f9b2f86f8 [test][buffer] Add Linear cases failing for end_flat and big distance. 2015-02-17 21:15:39 +01:00
Adam Wulkiewicz
543acca243 [test][buffer] Add MultiLinestring tests causing an assertion failure. 2015-02-16 18:13:19 +01:00
Barend Gehrels
729c5d2c37 Minor: fix spacing according to conventions 2015-02-13 13:25:59 +01:00
Barend Gehrels
3afb29f41e [buffer][fix] Assure first point of next piece equals last point of previous piece 2015-02-13 12:59:14 +01:00
Barend Gehrels
d21145952f [buffer][fix] make sure that, per ring, closing point is the starting point.
It can be off due to numerical instability
2015-02-13 12:23:58 +01:00
Adam Wulkiewicz
aff82800c4 [test][algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:50 +01:00
Barend Gehrels
2f0b9d05bd [buffer][test] split multi_point_buffer test into normal unit test
and robustness test (growth)
2015-01-28 10:47:01 +01: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
11fbe1e453 [buffer][test] create optionally a zoomed-in view to be able to better inspect error-cases 2014-12-31 14:22:49 +01:00
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