31 Commits

Author SHA1 Message Date
Barend Gehrels
6280a2b67e [buffer] support buffer for degenerate polygons (pointlike, not enough points) 2014-10-24 13:12:10 +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
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
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
Barend Gehrels
9b5a8dfb2f [buffer][test] add testcase rt_u8, currently still failing 2014-09-03 17:54:17 +02:00
Barend Gehrels
95d794e218 [buffer] fix order when multiple turns are colocated on the same point.
This replaces get_relative_order which was not effectively used anymore and
(most probably) get_left_turns.
This fixes case rt_u7
2014-09-03 17:53:21 +02:00
Barend Gehrels
1830208b74 [buffer][test] Add rt_u7 which is currently failing because of tripled IP,
needing get_left_turn info again. Added debug info
2014-08-10 19:21:21 +02:00
Barend Gehrels
f98549f82d [buffer][test] Minor change in comments/whitespace 2014-08-10 15:34:33 +02:00
Barend Gehrels
a7764c1b9e [buffer][fix] use taxicab distance instead of comparable distance
This is faster and avoids overflows. This fixes rt_u6
2014-08-10 15:32:07 +02:00
Barend Gehrels
31abd20829 [buffer][fix] Distinguish between "within" and "within_near_offsetted"
The last one might be offsetted by 1 due to integer rounding. It is not
selectable as a starting point but may be used for traversal
2014-08-10 14:15:04 +02:00
Barend Gehrels
6df7738d3a [buffer][fix] Fix turns which were only on helper-segments, they can be discarded.
This fixes rt_u3 and rt_u4 where a false interior ring was generated
2014-08-10 12:49:37 +02:00
Barend Gehrels
468c3dd36a [buffer][test] clean up old comments/cases 2014-08-10 00:03:15 +02:00
Barend Gehrels
a46e2603d8 [buffer][fix] In rare cases an extra ring was traversed and created. Fixed, that ring is
discarded now. This fixes behaviour of assign_parents with positive-rings in positive-rings (when
check_for_orientation is true; normally (for overlay) it is false)

It also reverses a negative-only ring so fixes a linestring_buffer testcase.

For multi-polygon it fixes new testcase rt_u2 found by recursive-polygon-buffer test
2014-08-09 23:51:42 +02:00
Barend Gehrels
6cf72447d1 [buffer][test] remove unused variable 2014-08-09 23:33:15 +02:00
Barend Gehrels
e1fc427e30 [buffer][fix] Mark points in buffered areas as not startable instead of discarding them
Within can have in rare cases a rounding issue. We don't discard this
point, so it can be used to continue started rings in traversal. But
will never start a new ring from this type of points.

This fixes p17
2014-08-06 13:27:52 +02:00
Barend Gehrels
a999baa01e [buffer][test] Exclude failing tests (Aimes),
include succeeding test (O1)
avoid reporting (false) self-intersection (aimes120)
2014-07-27 20:39:46 +02:00
Barend Gehrels
f3c000aadd [buffer][test] comment one test case now failing because of other rescaling factor 2014-07-23 16:05:36 +02:00
Barend Gehrels
03b6571555 [buffer][test] join/end strategies are now arguments, such that we can change
the default without changing the tests.
This only changes the parameter / involves many lines but nothing else is changed.
2014-07-20 15:27:24 +02:00
Barend Gehrels
038253e8f5 [buffer] remove end_skip strategy 2014-07-16 15:21:11 +02:00
Adam Wulkiewicz
9cfee81a09 [geometry] Replace tabs with spaces 2014-07-08 02:27:17 +02:00
Barend Gehrels
c5de26945b [overlay] use uniform robust policy, this obsoletes zoom_to_robust 2014-06-19 19:10:28 +02:00
Barend Gehrels
76a56c787c [buffer] exclude failing testcase for MSVC 2014-06-18 16:51:13 +02:00
Barend Gehrels
1e7a631379 [buffer] rename check_original to turn_in_input
comparable to point_in_geometry.
This removes multi_buffer_inserter
2014-06-14 11:39:49 +02:00
Barend Gehrels
c96d6394a9 [buffer] update include guards/copyright info 2014-06-13 20:45:34 +02:00
Barend Gehrels
31af14453a [buffer] Move from extensions to algorithms/detail 2014-06-13 20:26:33 +02:00