Commit Graph

9 Commits

Author SHA1 Message Date
Barend Gehrels
447fd7edd2 [buffer] get occupation vectors by rescaled offsetted points
This fixes the last case rt_p20

Check if the occupation vectors are short (length 1). This indicates a rounding issue.
If so, map again but use neighbouring cells.

Alas we have to do this, but still better than the former FP implementation.

Also, we map only points on offsetted borders now, and return if the map is empty,
to improve performance.
2014-06-09 15:07:47 +02:00
Barend Gehrels
432d62809d [buffer] remove old left-turn approach 2014-06-09 11:15:13 +02:00
Barend Gehrels
79cbf6f18c [buffer] Occupation map now makes use of robust points
(this adds one failing testcase, to be investigated,
 but further simplifies/enhances all code)
2014-06-08 12:46:41 +02:00
Barend Gehrels
8a417e6fa9 [buffer] Classify turn-points using rescaled rings
This makes side_on_convex_range and intersection_side redundant
It fixes all but one (p20) remaining cases for polygons
2014-06-07 12:38:02 +02:00
Barend Gehrels
89b2fb4d6a [buffer] use intersection_side for checking side on convex range
This fixes many of the issues (in multi_polygon_buffer). However, some
new cases now fail because of this and should be fixed later
2014-06-04 15:58:53 +02:00
Barend Gehrels
1a2a2f4de1 [buffer] remove RobustPolicy from side_on_convex_range
because side of a point w.r.t. a segment cannot be done with rescaling,
due to rounding the point can be located on the other side of the segment
This adds 4 more failing testcases, but it has to be done first because
the solution is not reliable
2014-06-04 13:26:26 +02:00
Barend Gehrels
ada844e6c0 [buffer][unit test] Adapt defines excluding some test
Remove defines of tests now OK
Add defines of tests now failing
Change intersects with has_self_intersections which excludes tangencies
2014-05-28 15:37:08 +02:00
Barend Gehrels
d988e1ac93 [geometry] Work in progress: rescaling to robust-type
A robust type is integer for float/double. The rescaled points will only
be used for side-information and equality and distance-comparisons, not
to calculate the intersection points themselves.
Currently the code is #ifdefed
2013-12-14 13:25:46 +01:00
Adam Wulkiewicz
8336d7f387 geometry: test_extensions moved to extensions/test
[SVN r84584]
2013-05-31 19:21:40 +00:00