[buffer][test] use round points for multi_points (not relevant besides

creating the rescale policy and svgs)
This commit is contained in:
Barend Gehrels
2015-05-05 15:57:44 +02:00
parent df329d8c44
commit 73394e99eb

View File

@@ -30,7 +30,7 @@ void test_all()
typedef bg::model::polygon<P, Clockwise> polygon;
typedef bg::model::multi_point<P> multi_point_type;
bg::strategy::buffer::join_miter join_miter;
bg::strategy::buffer::join_round join;
bg::strategy::buffer::end_flat end_flat;
typedef bg::strategy::buffer::distance_symmetric
<
@@ -40,40 +40,39 @@ void test_all()
double const pi = boost::geometry::math::pi<double>();
test_one<multi_point_type, polygon>("simplex1", simplex, join_miter, end_flat, 2.0 * pi, 1.0, 1.0);
test_one<multi_point_type, polygon>("simplex2", simplex, join_miter, end_flat, 22.8372, 2.0, 2.0);
test_one<multi_point_type, polygon>("simplex3", simplex, join_miter, end_flat, 44.5692, 3.0, 3.0);
test_one<multi_point_type, polygon>("simplex1", simplex, join, end_flat, 2.0 * pi, 1.0, 1.0);
test_one<multi_point_type, polygon>("simplex2", simplex, join, end_flat, 22.8372, 2.0, 2.0);
test_one<multi_point_type, polygon>("simplex3", simplex, join, end_flat, 44.5692, 3.0, 3.0);
test_one<multi_point_type, polygon>("three1", three, join_miter, end_flat, 3.0 * pi, 1.0, 1.0);
test_one<multi_point_type, polygon>("three2", three, join_miter, end_flat, 36.7592, 2.0, 2.0);
test_one<multi_point_type, polygon>("three19", three, join_miter, end_flat, 33.6914, 1.9, 1.9);
test_one<multi_point_type, polygon>("three21", three, join_miter, end_flat, 39.6394, 2.1, 2.1);
test_one<multi_point_type, polygon>("three3", three, join_miter, end_flat, 65.533, 3.0, 3.0);
test_one<multi_point_type, polygon>("multipoint_a", multipoint_a, join_miter, end_flat, 2049.98, 14.0, 14.0);
test_one<multi_point_type, polygon>("multipoint_b", multipoint_b, join_miter, end_flat, 7109.88, 15.0, 15.0);
test_one<multi_point_type, polygon>("multipoint_b1", multipoint_b, join_miter, end_flat, 6911.89, 14.7, 14.7);
test_one<multi_point_type, polygon>("multipoint_b2", multipoint_b, join_miter, end_flat, 7174.79, 15.1, 15.1);
test_one<multi_point_type, polygon>("three1", three, join, end_flat, 3.0 * pi, 1.0, 1.0);
test_one<multi_point_type, polygon>("three2", three, join, end_flat, 36.7592, 2.0, 2.0);
test_one<multi_point_type, polygon>("three19", three, join, end_flat, 33.6914, 1.9, 1.9);
test_one<multi_point_type, polygon>("three21", three, join, end_flat, 39.6394, 2.1, 2.1);
test_one<multi_point_type, polygon>("three3", three, join, end_flat, 65.533, 3.0, 3.0);
test_one<multi_point_type, polygon>("multipoint_a", multipoint_a, join, end_flat, 2049.98, 14.0, 14.0);
test_one<multi_point_type, polygon>("multipoint_b", multipoint_b, join, end_flat, 7109.88, 15.0, 15.0);
test_one<multi_point_type, polygon>("multipoint_b1", multipoint_b, join, end_flat, 6911.89, 14.7, 14.7);
test_one<multi_point_type, polygon>("multipoint_b2", multipoint_b, join, end_flat, 7174.79, 15.1, 15.1);
// Grid tests
{
bg::strategy::buffer::point_square point_strategy;
test_with_custom_strategies<multi_point_type, polygon>("grid_a50",
grid_a, join_miter, end_flat,
grid_a, join, end_flat,
distance_strategy(0.5), side_strategy, point_strategy, 7.0);
#if defined(BOOST_GEOMETRY_BUFFER_USE_SIDE_OF_INTERSECTION)
test_with_custom_strategies<multi_point_type, polygon>("grid_a54",
grid_a, join_miter, end_flat,
grid_a, join, end_flat,
distance_strategy(0.54), side_strategy, point_strategy, 7.819);
#endif
}
test_with_custom_strategies<multi_point_type, polygon>("mysql_report_2015_02_25_1_800",
mysql_report_2015_02_25_1, join_miter, end_flat,
mysql_report_2015_02_25_1, join, end_flat,
distance_strategy(6051788), side_strategy,
bg::strategy::buffer::point_circle(800), 115057490003226.125, 1.0);
}
@@ -95,7 +94,7 @@ void test_many_points_per_circle()
typedef bg::model::polygon<P, false> polygon;
typedef bg::model::multi_point<P> multi_point_type;
bg::strategy::buffer::join_miter join_miter;
bg::strategy::buffer::join_round join;
bg::strategy::buffer::end_flat end_flat;
typedef bg::strategy::buffer::distance_symmetric
<
@@ -110,20 +109,20 @@ void test_many_points_per_circle()
// Strategies with many points, which are (very) slow in debug mode
test_with_custom_strategies<multi_point_type, polygon>(
"mysql_report_2015_02_25_1_8000",
mysql_report_2015_02_25_1, join_miter, end_flat,
mysql_report_2015_02_25_1, join, end_flat,
distance_strategy(6051788), side_strategy, point_circle(8000),
115058661065242.812, tolerance);
test_with_custom_strategies<multi_point_type, polygon>(
"mysql_report_2015_02_25_1",
mysql_report_2015_02_25_1, join_miter, end_flat,
mysql_report_2015_02_25_1, join, end_flat,
distance_strategy(6051788), side_strategy, point_circle(83585),
115058672785611.219, tolerance);
// 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,
mysql_report_2015_02_25_1, join, end_flat,
distance_strategy(6051788), side_strategy, point_circle(250000),
115058672880671.531, tolerance);
@@ -131,14 +130,14 @@ void test_many_points_per_circle()
// Takes too long, TODO improve turn_in_piece_visitor
test_with_custom_strategies<multi_point_type, polygon>(
"mysql_report_2015_02_25_1",
mysql_report_2015_02_25_1, join_miter, end_flat,
mysql_report_2015_02_25_1, join, end_flat,
distance_strategy(6051788), side_strategy, point_circle(800000),
115058672799999.999, tolerance); // area to be determined
#endif
test_with_custom_strategies<multi_point_type, polygon>(
"mysql_report_2015_02_25_2",
mysql_report_2015_02_25_2, join_miter, end_flat,
mysql_report_2015_02_25_2, join, end_flat,
distance_strategy(5666962), side_strategy, point_circle(46641),
100891031341757.344, tolerance);