23 Commits

Author SHA1 Message Date
Barend Gehrels
6158064410 [buffer] performance optimization: set the center point for buffers around
(multi)points, calculate min/max radius
and (when checking turn w.r.t. piece) check turn distance to center,
in most cases leave early

Including unit test. For multipoint_b_500k this increases performance with
a factor 6 (340 seconds -> 55 seconds)

Note, this is done for buffers around points but could be done for other
geometry types too (using e.g. centroid)
2015-05-13 13:08:22 +02:00
Barend Gehrels
61d3ae6b78 [buffer] performance improvement for point-pieces:
first check if it is in range

Including adaption of unit tests
Performance goes from 24 seconds (with side_of_intersection)
or 14 seconds (without) to 10 seconds (with side_of_intersection)
2015-05-13 10:58:07 +02:00
Barend Gehrels
c5ef4f912d [buffer][fix] fix errors in multi_point cases
by using side_of_intersection in point_piece
2015-05-05 16:01:08 +02:00
Barend Gehrels
73394e99eb [buffer][test] use round points for multi_points (not relevant besides
creating the rescale policy and svgs)
2015-05-05 15:57:44 +02:00
Barend Gehrels
ca36bc7785 [buffer][test] enable two tests which are now OK for SIDE_OF_INTERSECTION approach 2015-04-12 17:37:00 +02:00
Barend Gehrels
e5bd7daa5f Merge branch 'develop' into feature/buffer 2015-04-12 16:58:09 +02:00
Barend Gehrels
b1168415c7 [buffer] add side_of_intersection (still with conditional) 2015-04-08 17:25:53 +02:00
Menelaos Karavelas
29c460b546 [test][algorithms] remove deprecated includes referring to the
include/boost/geometry/multi/ directory; polish and simplify some includes;
2015-03-12 02:10:14 +02: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
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
fff81f33ed [buffer][test] fix expectation of just added testcase 2014-12-31 13:21:56 +01:00
Barend Gehrels
d1f2878e11 [buffer][test] add failing case 2014-12-31 13:10:01 +01:00
Barend Gehrels
6f09c5fd98 [buffer][test] test counter clockwise output for (multi)linestrings / points 2014-10-24 15:17:05 +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
Adam Wulkiewicz
d16a343c0a [buffer] Fix buffer_inserter() call in multi_point_buffer test
Function was moved to namespace bg::detail::buffer
2014-07-16 22:28:10 +02:00
Adam Wulkiewicz
9cfee81a09 [geometry] Replace tabs with spaces 2014-07-08 02:27:17 +02:00
Adam Wulkiewicz
05891db57a [test][buffer] Remove unused typedefs. 2014-06-20 00:00:55 +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