[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)
This commit is contained in:
Barend Gehrels
2015-03-01 14:08:16 +01:00
parent cf167f9a36
commit f74180b084
3 changed files with 146 additions and 56 deletions

View File

@@ -119,14 +119,12 @@ void test_many_points_per_circle()
distance_strategy(6051788), side_strategy, point_circle(83585),
115058672785611.219, tolerance);
#if defined(BOOST_GEOMETRY_BUFFER_INCLUDE_SLOW_TESTS)
// Takes about 60 seconds in release mode
// Takes about 20 seconds in release mode
test_with_custom_strategies<multi_point_type, polygon>(
"mysql_report_2015_02_25_1_250k",
mysql_report_2015_02_25_1, join_miter, end_flat,
distance_strategy(6051788), side_strategy, point_circle(250000),
115058672880671.531, tolerance);
#endif
#if defined(BOOST_GEOMETRY_BUFFER_INCLUDE_FAILING_TESTS)
// Takes too long, TODO improve turn_in_piece_visitor