mirror of
https://github.com/boostorg/geometry.git
synced 2026-01-27 06:52:11 +00:00
[buffer][test] use round points for multi_points (not relevant besides
creating the rescale policy and svgs)
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user