diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp index f4e9c52b1..c180b5322 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp @@ -21,8 +21,7 @@ OBSOLETE #include #include -#include - +#include // All functions below are referred to in the documentation of Boost.Geometry // Don't rename them. @@ -428,8 +427,6 @@ void example_point_ll_construct() */ } - - int main(void) { example_area_polygon(); diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp index b837b1dce..fe86438ec 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp @@ -17,7 +17,7 @@ OBSOLETE #include -#include +#include #include #include diff --git a/doc/src/docutils/tools/implementation_status/implementation_status.hpp b/doc/src/docutils/tools/implementation_status/implementation_status.hpp index 6e2718ba1..4f50c399e 100644 --- a/doc/src/docutils/tools/implementation_status/implementation_status.hpp +++ b/doc/src/docutils/tools/implementation_status/implementation_status.hpp @@ -10,5 +10,5 @@ #include #include #include -#include +#include diff --git a/doc/src/examples/algorithms/area.cpp b/doc/src/examples/algorithms/area.cpp index e9dfbbf33..0f05185cb 100644 --- a/doc/src/examples/algorithms/area.cpp +++ b/doc/src/examples/algorithms/area.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include namespace bg = boost::geometry; /*< Convenient namespace alias >*/ diff --git a/doc/src/examples/algorithms/area_with_strategy.cpp b/doc/src/examples/algorithms/area_with_strategy.cpp index 027889a15..8ba701e0c 100644 --- a/doc/src/examples/algorithms/area_with_strategy.cpp +++ b/doc/src/examples/algorithms/area_with_strategy.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include namespace bg = boost::geometry; /*< Convenient namespace alias >*/ diff --git a/doc/src/examples/algorithms/centroid.cpp b/doc/src/examples/algorithms/centroid.cpp index ce4380072..48b791955 100644 --- a/doc/src/examples/algorithms/centroid.cpp +++ b/doc/src/examples/algorithms/centroid.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include /*<-*/ #include "create_svg_two.hpp" /*->*/ int main() diff --git a/doc/src/examples/algorithms/difference.cpp b/doc/src/examples/algorithms/difference.cpp index 2ec6ce5d4..dd8503fb2 100644 --- a/doc/src/examples/algorithms/difference.cpp +++ b/doc/src/examples/algorithms/difference.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include /*<-*/ #include "create_svg_overlay.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/difference_inserter.cpp b/doc/src/examples/algorithms/difference_inserter.cpp index 17d4f339b..2718536e7 100644 --- a/doc/src/examples/algorithms/difference_inserter.cpp +++ b/doc/src/examples/algorithms/difference_inserter.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include /*<-*/ #include "create_svg_overlay.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/distance.cpp b/doc/src/examples/algorithms/distance.cpp index e2067772d..0b680a411 100644 --- a/doc/src/examples/algorithms/distance.cpp +++ b/doc/src/examples/algorithms/distance.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include diff --git a/doc/src/examples/algorithms/envelope.cpp b/doc/src/examples/algorithms/envelope.cpp index 89f72a612..9703a7705 100644 --- a/doc/src/examples/algorithms/envelope.cpp +++ b/doc/src/examples/algorithms/envelope.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include /*<-*/ #include "create_svg_two.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/for_each_point.cpp b/doc/src/examples/algorithms/for_each_point.cpp index 138086413..9007df486 100644 --- a/doc/src/examples/algorithms/for_each_point.cpp +++ b/doc/src/examples/algorithms/for_each_point.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include diff --git a/doc/src/examples/algorithms/for_each_point_const.cpp b/doc/src/examples/algorithms/for_each_point_const.cpp index 2654e519e..504f4cd2f 100644 --- a/doc/src/examples/algorithms/for_each_point_const.cpp +++ b/doc/src/examples/algorithms/for_each_point_const.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include template diff --git a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp index 336dde1aa..8616c4e79 100644 --- a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp +++ b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include diff --git a/doc/src/examples/algorithms/intersection_poly_poly.cpp b/doc/src/examples/algorithms/intersection_poly_poly.cpp index 2274205fe..f565787df 100644 --- a/doc/src/examples/algorithms/intersection_poly_poly.cpp +++ b/doc/src/examples/algorithms/intersection_poly_poly.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include /*<-*/ #include "create_svg_overlay.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/intersection_segment.cpp b/doc/src/examples/algorithms/intersection_segment.cpp index c54834c9d..b177ebec8 100644 --- a/doc/src/examples/algorithms/intersection_segment.cpp +++ b/doc/src/examples/algorithms/intersection_segment.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include diff --git a/doc/src/examples/algorithms/intersects_linestring.cpp b/doc/src/examples/algorithms/intersects_linestring.cpp index 4c72fcda5..19f1c94e2 100644 --- a/doc/src/examples/algorithms/intersects_linestring.cpp +++ b/doc/src/examples/algorithms/intersects_linestring.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include int main() { diff --git a/doc/src/examples/algorithms/intersects_segment.cpp b/doc/src/examples/algorithms/intersects_segment.cpp index 428b34c3f..2fcd51fcd 100644 --- a/doc/src/examples/algorithms/intersects_segment.cpp +++ b/doc/src/examples/algorithms/intersects_segment.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include int main() { diff --git a/doc/src/examples/algorithms/length.cpp b/doc/src/examples/algorithms/length.cpp index 0c6ec9140..438bba386 100644 --- a/doc/src/examples/algorithms/length.cpp +++ b/doc/src/examples/algorithms/length.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include int main() diff --git a/doc/src/examples/algorithms/num_geometries.cpp b/doc/src/examples/algorithms/num_geometries.cpp index 43aa29c8e..92f9ac0a4 100644 --- a/doc/src/examples/algorithms/num_geometries.cpp +++ b/doc/src/examples/algorithms/num_geometries.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include int main() diff --git a/doc/src/examples/algorithms/num_interior_rings.cpp b/doc/src/examples/algorithms/num_interior_rings.cpp index 9d8a54108..605ff2a62 100644 --- a/doc/src/examples/algorithms/num_interior_rings.cpp +++ b/doc/src/examples/algorithms/num_interior_rings.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include int main() diff --git a/doc/src/examples/algorithms/num_points.cpp b/doc/src/examples/algorithms/num_points.cpp index 20a0df0e5..1ee857b0d 100644 --- a/doc/src/examples/algorithms/num_points.cpp +++ b/doc/src/examples/algorithms/num_points.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include int main() diff --git a/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp b/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp index a662e27ff..965ff2747 100644 --- a/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp +++ b/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp @@ -15,10 +15,7 @@ #include #include #include -#include -#include - - +#include int main() { diff --git a/doc/src/examples/algorithms/sym_difference.cpp b/doc/src/examples/algorithms/sym_difference.cpp index 7d122c42f..5122d8fbd 100644 --- a/doc/src/examples/algorithms/sym_difference.cpp +++ b/doc/src/examples/algorithms/sym_difference.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include /*<-*/ #include "create_svg_overlay.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/union.cpp b/doc/src/examples/algorithms/union.cpp index 84ab620c6..5a334b6c6 100644 --- a/doc/src/examples/algorithms/union.cpp +++ b/doc/src/examples/algorithms/union.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include /*<-*/ #include "create_svg_overlay.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/within.cpp b/doc/src/examples/algorithms/within.cpp index 27217f748..4464a3ac6 100644 --- a/doc/src/examples/algorithms/within.cpp +++ b/doc/src/examples/algorithms/within.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include /*<-*/ #include "create_svg_two.hpp" /*->*/ int main() diff --git a/example/06_b_transformation_example.cpp b/example/06_b_transformation_example.cpp index f194a40ee..8d3b88125 100644 --- a/example/06_b_transformation_example.cpp +++ b/example/06_b_transformation_example.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #if defined(HAVE_SVG) # include diff --git a/example/07_a_graph_route_example.cpp b/example/07_a_graph_route_example.cpp index 17f36fd25..9c03cdeb3 100644 --- a/example/07_a_graph_route_example.cpp +++ b/example/07_a_graph_route_example.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include // Yes, this example currently uses some extensions: diff --git a/example/07_b_graph_route_example.cpp b/example/07_b_graph_route_example.cpp index dad8afc58..5b2de235f 100644 --- a/example/07_b_graph_route_example.cpp +++ b/example/07_b_graph_route_example.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include // Yes, this example currently uses some extensions: diff --git a/example/with_external_libs/x02_gd_example.cpp b/example/with_external_libs/x02_gd_example.cpp index e51e6d09f..d740829f5 100644 --- a/example/with_external_libs/x02_gd_example.cpp +++ b/example/with_external_libs/x02_gd_example.cpp @@ -33,7 +33,7 @@ #include #include -#include +#include #include diff --git a/example/with_external_libs/x03_a_soci_example.cpp b/example/with_external_libs/x03_a_soci_example.cpp index de75b1831..4e50b07ba 100644 --- a/example/with_external_libs/x03_a_soci_example.cpp +++ b/example/with_external_libs/x03_a_soci_example.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian); diff --git a/example/with_external_libs/x03_b_soci_example.cpp b/example/with_external_libs/x03_b_soci_example.cpp index 238e694b0..d8c1455a5 100644 --- a/example/with_external_libs/x03_b_soci_example.cpp +++ b/example/with_external_libs/x03_b_soci_example.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include struct city diff --git a/example/with_external_libs/x03_c_soci_example.cpp b/example/with_external_libs/x03_c_soci_example.cpp index d2310ba75..0f8a0d69b 100644 --- a/example/with_external_libs/x03_c_soci_example.cpp +++ b/example/with_external_libs/x03_c_soci_example.cpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include // user-defined type with GGL geometry struct tree diff --git a/example/with_external_libs/x03_d_soci_example.cpp b/example/with_external_libs/x03_d_soci_example.cpp index 448bc3658..b3dbd69d1 100644 --- a/example/with_external_libs/x03_d_soci_example.cpp +++ b/example/with_external_libs/x03_d_soci_example.cpp @@ -33,7 +33,7 @@ #include #include #include -#include +#include int main() { diff --git a/example/with_external_libs/x04_wxwidgets_world_mapper.cpp b/example/with_external_libs/x04_wxwidgets_world_mapper.cpp index 754f88c32..0e0408b64 100644 --- a/example/with_external_libs/x04_wxwidgets_world_mapper.cpp +++ b/example/with_external_libs/x04_wxwidgets_world_mapper.cpp @@ -23,8 +23,8 @@ #include #include #include -#include -#include +#include +#include // wxWidgets, if these headers are NOT found, adapt include path (and lib path) diff --git a/example/with_external_libs/x05_shapelib_example.cpp b/example/with_external_libs/x05_shapelib_example.cpp index 8fbfe5e0d..cd521f399 100644 --- a/example/with_external_libs/x05_shapelib_example.cpp +++ b/example/with_external_libs/x05_shapelib_example.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include using namespace boost::geometry; diff --git a/example/with_external_libs/x06_qt_world_mapper.cpp b/example/with_external_libs/x06_qt_world_mapper.cpp index 0f8e45281..f8a582dbe 100644 --- a/example/with_external_libs/x06_qt_world_mapper.cpp +++ b/example/with_external_libs/x06_qt_world_mapper.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include diff --git a/example_extensions/experimental/geometry_of.cpp b/example_extensions/experimental/geometry_of.cpp index 4c14caa73..bde3b3d3d 100644 --- a/example_extensions/experimental/geometry_of.cpp +++ b/example_extensions/experimental/geometry_of.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include namespace bg = boost::geometry; namespace proto = boost::proto; diff --git a/example_extensions/gis/io/shapelib/shapelib.cpp b/example_extensions/gis/io/shapelib/shapelib.cpp index c7fc4931b..5c33c487c 100644 --- a/example_extensions/gis/io/shapelib/shapelib.cpp +++ b/example_extensions/gis/io/shapelib/shapelib.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include // Writing shapefiles has never been easier. diff --git a/example_extensions/gis/projections/p01_projection_example.cpp b/example_extensions/gis/projections/p01_projection_example.cpp index cec7aef11..aa2a70b50 100644 --- a/example_extensions/gis/projections/p01_projection_example.cpp +++ b/example_extensions/gis/projections/p01_projection_example.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/example_extensions/gis/projections/p02_projfactory_example.cpp b/example_extensions/gis/projections/p02_projfactory_example.cpp index 627eb3cd6..2ed229cfa 100644 --- a/example_extensions/gis/projections/p02_projfactory_example.cpp +++ b/example_extensions/gis/projections/p02_projfactory_example.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include #include diff --git a/example_extensions/gis/projections/p03_projmap_example.cpp b/example_extensions/gis/projections/p03_projmap_example.cpp index 18d08cb41..19a71f9d5 100644 --- a/example_extensions/gis/projections/p03_projmap_example.cpp +++ b/example_extensions/gis/projections/p03_projmap_example.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3ea87d102..ccf66af4b 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -17,7 +17,6 @@ project boost-geometry-test ../../../boost/geometry/extensions/contrib/ttmath msvc:on ; - build-project core ; build-project point_concept ; @@ -27,7 +26,8 @@ build-project algorithms ; build-project iterators ; build-project strategies ; build-project policies ; +build-project io ; build-project util ; build-project views ; build-project multi ; -build-project domains ; +build-project domains ; \ No newline at end of file diff --git a/test/algorithms/correct.cpp b/test/algorithms/correct.cpp index 149f89fba..a1346746f 100644 --- a/test/algorithms/correct.cpp +++ b/test/algorithms/correct.cpp @@ -21,8 +21,8 @@ #include -#include -#include +#include +#include #include #include diff --git a/test/algorithms/detail/partition.cpp b/test/algorithms/detail/partition.cpp index 339e93605..6fa1079ce 100644 --- a/test/algorithms/detail/partition.cpp +++ b/test/algorithms/detail/partition.cpp @@ -17,7 +17,7 @@ #include -#include +#include #if defined(TEST_WITH_SVG) # include diff --git a/test/algorithms/detail/sections/range_by_section.cpp b/test/algorithms/detail/sections/range_by_section.cpp index f0643f929..b8755d5c5 100644 --- a/test/algorithms/detail/sections/range_by_section.cpp +++ b/test/algorithms/detail/sections/range_by_section.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include diff --git a/test/algorithms/detail/sections/sectionalize.cpp b/test/algorithms/detail/sections/sectionalize.cpp index 4db0cc08c..5e46e5933 100644 --- a/test/algorithms/detail/sections/sectionalize.cpp +++ b/test/algorithms/detail/sections/sectionalize.cpp @@ -23,8 +23,8 @@ #include #include #include -#include -#include +#include +#include #include diff --git a/test/algorithms/disjoint.cpp b/test/algorithms/disjoint.cpp index 123beb762..a574c04f4 100644 --- a/test/algorithms/disjoint.cpp +++ b/test/algorithms/disjoint.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/algorithms/make.cpp b/test/algorithms/make.cpp index 4e29af273..4cd4ca9b8 100644 --- a/test/algorithms/make.cpp +++ b/test/algorithms/make.cpp @@ -17,7 +17,7 @@ #include -#include +#include #include #include diff --git a/test/algorithms/overlay/assemble.cpp b/test/algorithms/overlay/assemble.cpp index 3be3746b6..00e557e38 100644 --- a/test/algorithms/overlay/assemble.cpp +++ b/test/algorithms/overlay/assemble.cpp @@ -28,8 +28,8 @@ #include -#include -#include +#include +#include diff --git a/test/algorithms/overlay/ccw_traverse.cpp b/test/algorithms/overlay/ccw_traverse.cpp index edf9dcb5a..bdb57b327 100644 --- a/test/algorithms/overlay/ccw_traverse.cpp +++ b/test/algorithms/overlay/ccw_traverse.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include #if defined(TEST_WITH_SVG) # include diff --git a/test/algorithms/overlay/dissolver.cpp b/test/algorithms/overlay/dissolver.cpp index 6c2d3cf34..e0740687d 100644 --- a/test/algorithms/overlay/dissolver.cpp +++ b/test/algorithms/overlay/dissolver.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include diff --git a/test/algorithms/overlay/get_turns.cpp b/test/algorithms/overlay/get_turns.cpp index 587754b0a..1909109e3 100644 --- a/test/algorithms/overlay/get_turns.cpp +++ b/test/algorithms/overlay/get_turns.cpp @@ -29,8 +29,8 @@ #include -#include -#include +#include +#include #if defined(TEST_WITH_SVG) # include diff --git a/test/algorithms/overlay/overlay_common.hpp b/test/algorithms/overlay/overlay_common.hpp index bca37738e..742c631e6 100644 --- a/test/algorithms/overlay/overlay_common.hpp +++ b/test/algorithms/overlay/overlay_common.hpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/overlay/robustness/interior_triangles.cpp b/test/algorithms/overlay/robustness/interior_triangles.cpp index d96121778..a3d5c0b8a 100644 --- a/test/algorithms/overlay/robustness/interior_triangles.cpp +++ b/test/algorithms/overlay/robustness/interior_triangles.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include diff --git a/test/algorithms/overlay/robustness/intersects.cpp b/test/algorithms/overlay/robustness/intersects.cpp index 8d60f1321..5c728f0a4 100644 --- a/test/algorithms/overlay/robustness/intersects.cpp +++ b/test/algorithms/overlay/robustness/intersects.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include diff --git a/test/algorithms/overlay/robustness/recursive_polygons.cpp b/test/algorithms/overlay/robustness/recursive_polygons.cpp index e861ceb7f..a4285f785 100644 --- a/test/algorithms/overlay/robustness/recursive_polygons.cpp +++ b/test/algorithms/overlay/robustness/recursive_polygons.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include diff --git a/test/algorithms/overlay/robustness/star_comb.cpp b/test/algorithms/overlay/robustness/star_comb.cpp index bef2284fb..5bca57345 100644 --- a/test/algorithms/overlay/robustness/star_comb.cpp +++ b/test/algorithms/overlay/robustness/star_comb.cpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include diff --git a/test/algorithms/overlay/robustness/test_overlay_p_q.hpp b/test/algorithms/overlay/robustness/test_overlay_p_q.hpp index 5252506c0..54637b731 100644 --- a/test/algorithms/overlay/robustness/test_overlay_p_q.hpp +++ b/test/algorithms/overlay/robustness/test_overlay_p_q.hpp @@ -29,7 +29,7 @@ #include -#include +#include #include #include diff --git a/test/algorithms/overlay/select_rings.cpp b/test/algorithms/overlay/select_rings.cpp index c1f3f7a23..e9383db82 100644 --- a/test/algorithms/overlay/select_rings.cpp +++ b/test/algorithms/overlay/select_rings.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/test/algorithms/overlay/self_intersection_points.cpp b/test/algorithms/overlay/self_intersection_points.cpp index 3296b5334..1cf683934 100644 --- a/test/algorithms/overlay/self_intersection_points.cpp +++ b/test/algorithms/overlay/self_intersection_points.cpp @@ -28,8 +28,8 @@ #include -#include -#include +#include +#include diff --git a/test/algorithms/overlay/split_rings.cpp b/test/algorithms/overlay/split_rings.cpp index 615c89815..7a31597f6 100644 --- a/test/algorithms/overlay/split_rings.cpp +++ b/test/algorithms/overlay/split_rings.cpp @@ -25,8 +25,8 @@ #include -#include -#include +#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/overlay/traverse.cpp b/test/algorithms/overlay/traverse.cpp index 8a626229b..1cda19533 100644 --- a/test/algorithms/overlay/traverse.cpp +++ b/test/algorithms/overlay/traverse.cpp @@ -51,8 +51,8 @@ #include -#include -#include +#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/overlay/traverse_gmp.cpp b/test/algorithms/overlay/traverse_gmp.cpp index 24a4b2116..7d880ee84 100644 --- a/test/algorithms/overlay/traverse_gmp.cpp +++ b/test/algorithms/overlay/traverse_gmp.cpp @@ -42,7 +42,7 @@ -#include +#include #define TEST_WITH_SVG diff --git a/test/algorithms/test_area.hpp b/test/algorithms/test_area.hpp index 7f1bc0545..479d7e6bb 100644 --- a/test/algorithms/test_area.hpp +++ b/test/algorithms/test_area.hpp @@ -17,7 +17,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_centroid.hpp b/test/algorithms/test_centroid.hpp index b5b63eb10..a97a0f293 100644 --- a/test/algorithms/test_centroid.hpp +++ b/test/algorithms/test_centroid.hpp @@ -18,7 +18,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_convert.hpp b/test/algorithms/test_convert.hpp index 65e5a73eb..442aa63e0 100644 --- a/test/algorithms/test_convert.hpp +++ b/test/algorithms/test_convert.hpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include diff --git a/test/algorithms/test_convex_hull.hpp b/test/algorithms/test_convex_hull.hpp index 39593f4e6..dcb08e254 100644 --- a/test/algorithms/test_convex_hull.hpp +++ b/test/algorithms/test_convex_hull.hpp @@ -17,8 +17,8 @@ #include -#include -#include +#include +#include #include diff --git a/test/algorithms/test_covered_by.hpp b/test/algorithms/test_covered_by.hpp index 0fb8ce6f8..99278bf2e 100644 --- a/test/algorithms/test_covered_by.hpp +++ b/test/algorithms/test_covered_by.hpp @@ -19,7 +19,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_difference.hpp b/test/algorithms/test_difference.hpp index 180e24847..4fe9be1ec 100644 --- a/test/algorithms/test_difference.hpp +++ b/test/algorithms/test_difference.hpp @@ -34,7 +34,7 @@ #include -#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/test_distance.hpp b/test/algorithms/test_distance.hpp index e00508aea..bb8d05695 100644 --- a/test/algorithms/test_distance.hpp +++ b/test/algorithms/test_distance.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include diff --git a/test/algorithms/test_envelope.hpp b/test/algorithms/test_envelope.hpp index 742946f74..2b1200df2 100644 --- a/test/algorithms/test_envelope.hpp +++ b/test/algorithms/test_envelope.hpp @@ -16,7 +16,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_equals.hpp b/test/algorithms/test_equals.hpp index d96d761ce..fdb80bd11 100644 --- a/test/algorithms/test_equals.hpp +++ b/test/algorithms/test_equals.hpp @@ -16,7 +16,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_expand.hpp b/test/algorithms/test_expand.hpp index 0e0e9706b..b8666c310 100644 --- a/test/algorithms/test_expand.hpp +++ b/test/algorithms/test_expand.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include diff --git a/test/algorithms/test_for_each.hpp b/test/algorithms/test_for_each.hpp index f86396008..a9d2e55f5 100644 --- a/test/algorithms/test_for_each.hpp +++ b/test/algorithms/test_for_each.hpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include diff --git a/test/algorithms/test_intersection.hpp b/test/algorithms/test_intersection.hpp index df507f868..1dfe1ff7b 100644 --- a/test/algorithms/test_intersection.hpp +++ b/test/algorithms/test_intersection.hpp @@ -24,7 +24,7 @@ #include -#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/test_intersects.hpp b/test/algorithms/test_intersects.hpp index 9bffb3a37..787b4ab7c 100644 --- a/test/algorithms/test_intersects.hpp +++ b/test/algorithms/test_intersects.hpp @@ -18,7 +18,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_length.hpp b/test/algorithms/test_length.hpp index 794680c9e..b43b14307 100644 --- a/test/algorithms/test_length.hpp +++ b/test/algorithms/test_length.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include diff --git a/test/algorithms/test_overlaps.hpp b/test/algorithms/test_overlaps.hpp index 090380f3f..3693f437f 100644 --- a/test/algorithms/test_overlaps.hpp +++ b/test/algorithms/test_overlaps.hpp @@ -18,7 +18,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_perimeter.hpp b/test/algorithms/test_perimeter.hpp index 5b2840c62..50252868b 100644 --- a/test/algorithms/test_perimeter.hpp +++ b/test/algorithms/test_perimeter.hpp @@ -16,7 +16,7 @@ #include -#include +#include template diff --git a/test/algorithms/test_reverse.hpp b/test/algorithms/test_reverse.hpp index 4e69c47d1..80b4344f0 100644 --- a/test/algorithms/test_reverse.hpp +++ b/test/algorithms/test_reverse.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_simplify.hpp b/test/algorithms/test_simplify.hpp index df7fda6ab..213e4d670 100644 --- a/test/algorithms/test_simplify.hpp +++ b/test/algorithms/test_simplify.hpp @@ -16,7 +16,7 @@ #include #include -#include +#include template struct test_inserter diff --git a/test/algorithms/test_union.hpp b/test/algorithms/test_union.hpp index 47a567eb8..00bcce332 100644 --- a/test/algorithms/test_union.hpp +++ b/test/algorithms/test_union.hpp @@ -26,7 +26,7 @@ #include -#include +#include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/test_unique.hpp b/test/algorithms/test_unique.hpp index 47474147e..63b714c6e 100644 --- a/test/algorithms/test_unique.hpp +++ b/test/algorithms/test_unique.hpp @@ -15,7 +15,7 @@ #include #include -#include +#include template diff --git a/test/algorithms/test_within.hpp b/test/algorithms/test_within.hpp index 365b96990..3b3e93ed5 100644 --- a/test/algorithms/test_within.hpp +++ b/test/algorithms/test_within.hpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include diff --git a/test/algorithms/transform.cpp b/test/algorithms/transform.cpp index 89d82e0eb..d6e69a04e 100644 --- a/test/algorithms/transform.cpp +++ b/test/algorithms/transform.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include #include diff --git a/test/core/ring.cpp b/test/core/ring.cpp index 0bfa9847b..adfe71459 100644 --- a/test/core/ring.cpp +++ b/test/core/ring.cpp @@ -27,7 +27,7 @@ #include -#include +#include diff --git a/test/geometries/boost_polygon.cpp b/test/geometries/boost_polygon.cpp index 7be6452aa..6cd41c72c 100644 --- a/test/geometries/boost_polygon.cpp +++ b/test/geometries/boost_polygon.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include diff --git a/test/geometries/boost_polygon_overlay.cpp b/test/geometries/boost_polygon_overlay.cpp index 1d15a0a9b..9dd92dcb8 100644 --- a/test/geometries/boost_polygon_overlay.cpp +++ b/test/geometries/boost_polygon_overlay.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include diff --git a/test/geometries/boost_range.cpp b/test/geometries/boost_range.cpp index 541b81ef4..1ffedea5d 100644 --- a/test/geometries/boost_range.cpp +++ b/test/geometries/boost_range.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include diff --git a/test/io/Jamfile.v2 b/test/io/Jamfile.v2 new file mode 100644 index 000000000..1e0fa6ed6 --- /dev/null +++ b/test/io/Jamfile.v2 @@ -0,0 +1,11 @@ +# Boost.Geometry (aka GGL, Generic Geometry Library) +# +# Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +# Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +# Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +# +# Use, modification and distribution is subject to the Boost Software License, +# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +build-project wkt ; \ No newline at end of file diff --git a/test/io/wkt/Jamfile.v2 b/test/io/wkt/Jamfile.v2 new file mode 100644 index 000000000..815d6df47 --- /dev/null +++ b/test/io/wkt/Jamfile.v2 @@ -0,0 +1,15 @@ +# Boost.Geometry (aka GGL, Generic Geometry Library) +# +# Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +# Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +# Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +# +# Use, modification and distribution is subject to the Boost Software License, +# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +test-suite boost-geometry-io-wkt + : + [ run wkt.cpp ] + ; + diff --git a/test/io/wkt/io_wkt_tests.sln b/test/io/wkt/io_wkt_tests.sln new file mode 100644 index 000000000..79c6e993e --- /dev/null +++ b/test/io/wkt/io_wkt_tests.sln @@ -0,0 +1,29 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wkt", "wkt.vcproj", "{1FA2ADE2-F649-4245-951E-A8F5935E7127}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_wkt", "multi_wkt.vcproj", "{CA8D5E44-7D8F-44A1-900C-35C28890299B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Debug|Win32.ActiveCfg = Debug|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Debug|Win32.Build.0 = Debug|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Release|Win32.ActiveCfg = Release|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Release|Win32.Build.0 = Release|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Debug|Win32.ActiveCfg = Debug|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Debug|Win32.Build.0 = Debug|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Release|Win32.ActiveCfg = Release|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Release|Win32.Build.0 = Release|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Debug|Win32.ActiveCfg = Debug|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Debug|Win32.Build.0 = Debug|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Release|Win32.ActiveCfg = Release|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/test/io/wkt/wkt.cpp b/test/io/wkt/wkt.cpp new file mode 100644 index 000000000..bf320c6d7 --- /dev/null +++ b/test/io/wkt/wkt.cpp @@ -0,0 +1,230 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// Unit Test + +// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//#include +#include +#include + +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +template +void test_wkt(std::string const& wkt, std::size_t n, double len = 0, + double ar = 0, double peri = 0) +{ + G geometry; + + bg::read_wkt(wkt, geometry); + + /* + std::cout << "n=" << bg::num_points(geometry) + << " dim=" << bg::topological_dimension::value + << " length=" << bg::length(geometry) + << " area=" << bg::area(geometry) + << " perimeter=" << bg::perimeter(geometry) + << std::endl << "\t\tgeometry=" << dsv(geometry) + << std::endl; + */ + + BOOST_CHECK_EQUAL(bg::num_points(geometry), n); + BOOST_CHECK_CLOSE(double(bg::length(geometry)), len, 0.0001); + BOOST_CHECK_CLOSE(double(bg::area(geometry)), ar, 0.0001); + BOOST_CHECK_CLOSE(double(bg::perimeter(geometry)), peri, 0.0001); + + // String comparison: only for int/double/float etc + // GMP/CLN add +e01, L0, etc + if (boost::is_fundamental + < + typename bg::coordinate_type::type + >::type::value) + { + std::ostringstream out; + out << bg::wkt(geometry); + BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()), + boost::to_upper_copy(wkt)); + } +} + +template +void test_relaxed_wkt(std::string const& wkt, std::string const& expected) +{ + if (boost::is_fundamental + < + typename bg::coordinate_type::type + >::type::value) + { + std::string e; + G geometry; + bg::read_wkt(wkt, geometry); + std::ostringstream out; + out << bg::wkt(geometry); + + BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()), boost::to_upper_copy(expected)); + } +} + + + +template +void test_wrong_wkt(std::string const& wkt, std::string const& start) +{ + std::string e("no exception"); + G geometry; + try + { + bg::read_wkt(wkt, geometry); + } + catch(bg::read_wkt_exception const& ex) + { + e = ex.what(); + boost::to_lower(e); + } + BOOST_CHECK_MESSAGE(boost::starts_with(e, start), " Expected:" + << start << " Got:" << e << " with WKT: " << wkt); +} + +template +void test_wkt_output_iterator(std::string const& wkt) +{ + G geometry; + bg::read_wkt(wkt, std::back_inserter(geometry)); +} + + + +#ifndef GEOMETRY_TEST_MULTI +template +void test_all() +{ + using namespace boost::geometry; + typedef bg::model::point P; + + test_wkt

("POINT(1 2)", 1); + test_wkt >("LINESTRING(1 1,2 2,3 3)", 3, 2 * sqrt(2.0)); + test_wkt >("POLYGON((0 0,0 4,4 4,4 0,0 0)" + ",(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))", 15, 0, 18, 24); + + // Non OGC: a box defined by a polygon + //test_wkt >("POLYGON((0 0,0 1,1 1,1 0,0 0))", 4, 0, 1, 4); + test_wkt >("POLYGON((0 0,0 1,1 1,1 0,0 0))", 5, 0, 1, 4); + + // We accept empty sequences as well (much better than EMPTY)... + // ...or even POINT() (see below) + test_wkt >("LINESTRING()", 0, 0); + test_wkt >("POLYGON(())", 0); + // ... or even with empty holes + test_wkt >("POLYGON((),(),())", 0); + // which all make no valid geometries, but they can exist. + + // These WKT's are incomplete or abnormal but they are considered OK + test_relaxed_wkt

("POINT(1)", "POINT(1 0)"); + test_relaxed_wkt

("POINT()", "POINT(0 0)"); + test_relaxed_wkt >("LINESTRING(1,2,3)", + "LINESTRING(1 0,2 0,3 0)"); + test_relaxed_wkt

("POINT ( 1 2) ", "POINT(1 2)"); + test_relaxed_wkt

("POINT M ( 1 2)", "POINT(1 2)"); + test_relaxed_wkt >("BOX(1 1,2 2)", "POLYGON((1 1,1 2,2 2,2 1,1 1))"); + + test_relaxed_wkt >("LINESTRING EMPTY", "LINESTRING()"); + + test_relaxed_wkt >("POLYGON( ( ) , ( ) , ( ) )", + "POLYGON((),(),())"); + + // Wrong WKT's + test_wrong_wkt

("POINT(1 2", "expected ')'"); + test_wrong_wkt

("POINT 1 2)", "expected '('"); + test_wrong_wkt

("POINT(1 2,)", "expected ')'"); + test_wrong_wkt

("POINT(1 2)foo", "too much tokens at 'foo'"); + test_wrong_wkt

("POINT(1 2 3)", "expected ')'"); + test_wrong_wkt

("POINT(a 2 3)", "bad lexical cast"); + test_wrong_wkt

("POINT 2 3", "expected '('"); + test_wrong_wkt

("POINT Z (1 2 3)", "z only allowed"); + + test_wrong_wkt

("PIONT (1 2)", "should start with 'point'"); + + test_wrong_wkt >("LINESTRING())", "too much tokens"); + + test_wrong_wkt >("POLYGON((1 1,1 4,4 4,4 1,1 1)" + ",((2 2,2 3,3 3,3 2,2 2))", "bad lexical cast"); + + test_wrong_wkt >("BOX(1 1,2 2,3 3)", "box should have 2"); + test_wrong_wkt >("BOX(1 1,2 2) )", "too much tokens"); + + if (boost::is_floating_point::type::value + || ! boost::is_fundamental::type::value) + { + test_wkt

("POINT(1.1 2.1)", 1); + } + + // Deprecated: + // test_wkt_output_iterator >("LINESTRING(1 1,2 2,3 3)"); + // test_wkt_output_iterator >("POLYGON((1 1,2 2,3 3))"); +} +#endif + + +int test_main(int, char* []) +{ + test_all(); + test_all(); + +#if defined(HAVE_TTMATH) + test_all(); +#endif + + return 0; +} + +/* + +Results can be checked in PostGIS by query below, +or by MySQL (but replace length by glength and remove the perimeter) + +Note: +- PostGIS gives "3" for a numpoints of a multi-linestring of 6 points in total (!) + --> "npoints" should be taken for all geometries +- SQL Server 2008 gives "6" + select geometry::STGeomFromText('MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5,6 6))',0).STNumPoints() +- MySQL gives "NULL" + +select 1 as code,'np p' as header,npoints(geomfromtext('POINT(1 2)')) as contents +union select 2,'length point', length(geomfromtext('POINT(1 2)')) +union select 3,'peri point', perimeter(geomfromtext('POINT(1 2)')) +union select 4,'area point',area(geomfromtext('POINT(1 2)')) + + +union select 5,'# ls',npoints(geomfromtext('LINESTRING(1 1,2 2,3 3)')) +union select 6,'length ls',length(geomfromtext('LINESTRING(1 1,2 2,3 3)')) +union select 7,'peri ls',perimeter(geomfromtext('LINESTRING(1 1,2 2,3 3)')) +union select 8,'aera ls',area(geomfromtext('LINESTRING(1 1,2 2,3 3)')) + +union select 9,'# poly',npoints(geomfromtext('POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))')) +union select 10,'length poly',length(geomfromtext('POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))')) +union select 11,'peri poly',perimeter(geomfromtext('POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))')) +union select 12,'area poly',area(geomfromtext('POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))')) + +*/ diff --git a/test/io/wkt/wkt.vcproj b/test/io/wkt/wkt.vcproj new file mode 100644 index 000000000..ebee61d15 --- /dev/null +++ b/test/io/wkt/wkt.vcproj @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/iterators/closing_iterator.cpp b/test/iterators/closing_iterator.cpp index c3c335bbd..d403833a0 100644 --- a/test/iterators/closing_iterator.cpp +++ b/test/iterators/closing_iterator.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include diff --git a/test/iterators/ever_circling_iterator.cpp b/test/iterators/ever_circling_iterator.cpp index 37fbc1bca..8a4e57253 100644 --- a/test/iterators/ever_circling_iterator.cpp +++ b/test/iterators/ever_circling_iterator.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/Jamfile.v2 b/test/multi/Jamfile.v2 index 941933e6e..35d68a760 100644 --- a/test/multi/Jamfile.v2 +++ b/test/multi/Jamfile.v2 @@ -8,4 +8,5 @@ # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -build-project algorithms ; \ No newline at end of file +build-project algorithms ; +build-project io ; \ No newline at end of file diff --git a/test/multi/algorithms/multi_area.cpp b/test/multi/algorithms/multi_area.cpp index 1dd13b283..48f559435 100644 --- a/test/multi/algorithms/multi_area.cpp +++ b/test/multi/algorithms/multi_area.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include diff --git a/test/multi/algorithms/multi_centroid.cpp b/test/multi/algorithms/multi_centroid.cpp index af736234e..05022d7bb 100644 --- a/test/multi/algorithms/multi_centroid.cpp +++ b/test/multi/algorithms/multi_centroid.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include // #define REPORT_RESULTS diff --git a/test/multi/algorithms/multi_convex_hull.cpp b/test/multi/algorithms/multi_convex_hull.cpp index 5e9660c59..29384dac1 100644 --- a/test/multi/algorithms/multi_convex_hull.cpp +++ b/test/multi/algorithms/multi_convex_hull.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -31,7 +31,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_correct.cpp b/test/multi/algorithms/multi_correct.cpp index ee9ffe76b..9c40e7737 100644 --- a/test/multi/algorithms/multi_correct.cpp +++ b/test/multi/algorithms/multi_correct.cpp @@ -13,7 +13,7 @@ #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_covered_by.cpp b/test/multi/algorithms/multi_covered_by.cpp index 5d937f4eb..5f77b7fdc 100644 --- a/test/multi/algorithms/multi_covered_by.cpp +++ b/test/multi/algorithms/multi_covered_by.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_difference.cpp b/test/multi/algorithms/multi_difference.cpp index 64c28b1a4..d4f6dc641 100644 --- a/test/multi/algorithms/multi_difference.cpp +++ b/test/multi/algorithms/multi_difference.cpp @@ -26,7 +26,7 @@ #include #include -#include +#include template void test_areal() diff --git a/test/multi/algorithms/multi_distance.cpp b/test/multi/algorithms/multi_distance.cpp index ddcba4d1d..40422d710 100644 --- a/test/multi/algorithms/multi_distance.cpp +++ b/test/multi/algorithms/multi_distance.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_envelope.cpp b/test/multi/algorithms/multi_envelope.cpp index a914e3758..168c61d24 100644 --- a/test/multi/algorithms/multi_envelope.cpp +++ b/test/multi/algorithms/multi_envelope.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_equals.cpp b/test/multi/algorithms/multi_equals.cpp index 8a3f5af3d..15080fa7d 100644 --- a/test/multi/algorithms/multi_equals.cpp +++ b/test/multi/algorithms/multi_equals.cpp @@ -15,7 +15,7 @@ #include #include -#include +#include diff --git a/test/multi/algorithms/multi_for_each.cpp b/test/multi/algorithms/multi_for_each.cpp index c47f6d23b..0e7ef64ff 100644 --- a/test/multi/algorithms/multi_for_each.cpp +++ b/test/multi/algorithms/multi_for_each.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_intersection.cpp b/test/multi/algorithms/multi_intersection.cpp index 844e0fc67..06687afbf 100644 --- a/test/multi/algorithms/multi_intersection.cpp +++ b/test/multi/algorithms/multi_intersection.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include template void test_areal() diff --git a/test/multi/algorithms/multi_length.cpp b/test/multi/algorithms/multi_length.cpp index 5618cfff2..75655cd67 100644 --- a/test/multi/algorithms/multi_length.cpp +++ b/test/multi/algorithms/multi_length.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include diff --git a/test/multi/algorithms/multi_num_geometries.cpp b/test/multi/algorithms/multi_num_geometries.cpp index 54dacb648..3156bb860 100644 --- a/test/multi/algorithms/multi_num_geometries.cpp +++ b/test/multi/algorithms/multi_num_geometries.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_num_interior_rings.cpp b/test/multi/algorithms/multi_num_interior_rings.cpp index 4350fafbf..99b9f4d6f 100644 --- a/test/multi/algorithms/multi_num_interior_rings.cpp +++ b/test/multi/algorithms/multi_num_interior_rings.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_num_points.cpp b/test/multi/algorithms/multi_num_points.cpp index 6109cd80e..08f406024 100644 --- a/test/multi/algorithms/multi_num_points.cpp +++ b/test/multi/algorithms/multi_num_points.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_perimeter.cpp b/test/multi/algorithms/multi_perimeter.cpp index a075a90ba..35bad7236 100644 --- a/test/multi/algorithms/multi_perimeter.cpp +++ b/test/multi/algorithms/multi_perimeter.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_reverse.cpp b/test/multi/algorithms/multi_reverse.cpp index 82ec7d55e..1231fc39f 100644 --- a/test/multi/algorithms/multi_reverse.cpp +++ b/test/multi/algorithms/multi_reverse.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_simplify.cpp b/test/multi/algorithms/multi_simplify.cpp index 68424985d..57e7cb91c 100644 --- a/test/multi/algorithms/multi_simplify.cpp +++ b/test/multi/algorithms/multi_simplify.cpp @@ -9,7 +9,7 @@ #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_transform.cpp b/test/multi/algorithms/multi_transform.cpp index ebede0fff..279e9bc0d 100644 --- a/test/multi/algorithms/multi_transform.cpp +++ b/test/multi/algorithms/multi_transform.cpp @@ -28,8 +28,8 @@ #include #include -#include -#include +#include +#include // This test is a little different from transform.cpp test. diff --git a/test/multi/algorithms/multi_union.cpp b/test/multi/algorithms/multi_union.cpp index 075cc11ed..cef5b199b 100644 --- a/test/multi/algorithms/multi_union.cpp +++ b/test/multi/algorithms/multi_union.cpp @@ -23,7 +23,7 @@ #include #include -#include +#include template diff --git a/test/multi/algorithms/multi_unique.cpp b/test/multi/algorithms/multi_unique.cpp index a0aee93d2..c3d8e16b5 100644 --- a/test/multi/algorithms/multi_unique.cpp +++ b/test/multi/algorithms/multi_unique.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/test/multi/algorithms/multi_within.cpp b/test/multi/algorithms/multi_within.cpp index 9c4f64ef6..768a4326f 100644 --- a/test/multi/algorithms/multi_within.cpp +++ b/test/multi/algorithms/multi_within.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include #include diff --git a/test/multi/algorithms/overlay/multi_overlay_common.hpp b/test/multi/algorithms/overlay/multi_overlay_common.hpp index 7df34a1f6..2aae87103 100644 --- a/test/multi/algorithms/overlay/multi_overlay_common.hpp +++ b/test/multi/algorithms/overlay/multi_overlay_common.hpp @@ -15,7 +15,7 @@ #include #include -#include +#include //#include diff --git a/test/multi/algorithms/overlay/multi_traverse.cpp b/test/multi/algorithms/overlay/multi_traverse.cpp index 8a122bd8b..c929b9741 100644 --- a/test/multi/algorithms/overlay/multi_traverse.cpp +++ b/test/multi/algorithms/overlay/multi_traverse.cpp @@ -34,7 +34,7 @@ #include -#include +#include #include "multi_overlay_cases.hpp" diff --git a/test/multi/io/Jamfile.v2 b/test/multi/io/Jamfile.v2 new file mode 100644 index 000000000..1e0fa6ed6 --- /dev/null +++ b/test/multi/io/Jamfile.v2 @@ -0,0 +1,11 @@ +# Boost.Geometry (aka GGL, Generic Geometry Library) +# +# Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +# Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +# Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +# +# Use, modification and distribution is subject to the Boost Software License, +# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +build-project wkt ; \ No newline at end of file diff --git a/test/multi/io/wkt/Jamfile.v2 b/test/multi/io/wkt/Jamfile.v2 new file mode 100644 index 000000000..dd7f6c912 --- /dev/null +++ b/test/multi/io/wkt/Jamfile.v2 @@ -0,0 +1,15 @@ +# Boost.Geometry (aka GGL, Generic Geometry Library) +# +# Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +# Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +# Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +# +# Use, modification and distribution is subject to the Boost Software License, +# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +test-suite boost-geometry-multi-io-wkt + : + [ run wkt.cpp ] + ; + diff --git a/test/multi/io/wkt/io_wkt_tests.sln b/test/multi/io/wkt/io_wkt_tests.sln new file mode 100644 index 000000000..a804d533a --- /dev/null +++ b/test/multi/io/wkt/io_wkt_tests.sln @@ -0,0 +1,27 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wkt", "wkt.vcproj", "{CA8D5E44-7D8F-44A1-900C-35C28890299B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Debug|Win32.ActiveCfg = Debug|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Debug|Win32.Build.0 = Debug|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Release|Win32.ActiveCfg = Release|Win32 + {1FA2ADE2-F649-4245-951E-A8F5935E7127}.Release|Win32.Build.0 = Release|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Debug|Win32.ActiveCfg = Debug|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Debug|Win32.Build.0 = Debug|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Release|Win32.ActiveCfg = Release|Win32 + {F2A680B0-F6FC-479E-9988-24CF6851C13C}.Release|Win32.Build.0 = Release|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Debug|Win32.ActiveCfg = Debug|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Debug|Win32.Build.0 = Debug|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Release|Win32.ActiveCfg = Release|Win32 + {CA8D5E44-7D8F-44A1-900C-35C28890299B}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/test/multi/io/wkt/wkt.cpp b/test/multi/io/wkt/wkt.cpp new file mode 100644 index 000000000..7b62fac21 --- /dev/null +++ b/test/multi/io/wkt/wkt.cpp @@ -0,0 +1,82 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// Unit Test + +// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +//#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +template +void test_all(); + + +// Include the single test +#define GEOMETRY_TEST_MULTI +#include "io/wkt/wkt.cpp" + +template +void test_all() +{ + using namespace boost::geometry; + typedef bg::model::point P; + + test_wkt >("multipoint((1 2),(3 4))", 2); + test_wkt > >("multilinestring((1 1,2 2,3 3),(4 4,5 5,6 6))", 6, 4 * sqrt(2.0)); + test_wkt > >("multipolygon(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),((0 0,0 4,4 4,4 0,0 0)))", 15, 0, 21, 28); + + test_wrong_wkt > >( + "MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),(0 0,0 4,4 4,4 0,0 0)))", + "expected '('"); +} + +/* + +... see comments in "wkt.cpp" + +union select 13,'# mpoint',npoints(geomfromtext('MULTIPOINT((1 2),(3 4))')) +union select 14,'length mpoint',length(geomfromtext('MULTIPOINT((1 2),(3 4))')) +union select 15,'peri mpoint',perimeter(geomfromtext('MULTIPOINT((1 2),(3 4))')) +union select 16,'area mpoint',area(geomfromtext('MULTIPOINT((1 2),(3 4))')) + +union select 17,'# mls',npoints(geomfromtext('MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5,6 6))')) +union select 18,'length mls',length(geomfromtext('MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5,6 6))')) +union select 19,'peri mls',perimeter(geomfromtext('MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5,6 6))')) +union select 20,'area mls',area(geomfromtext('MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5,6 6))')) + +union select 21,'# mpoly',npoints(geomfromtext('MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),((0 0,0 4,4 4,4 0,0 0)))')) +union select 22,'length mpoly',length(geomfromtext('MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),((0 0,0 4,4 4,4 0,0 0)))')) +union select 23,'peri mpoly',perimeter(geomfromtext('MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),((0 0,0 4,4 4,4 0,0 0)))')) +union select 24,'area mpoly',area(geomfromtext('MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0),(1 1,1 2,2 2,2 1,1 1)),((0 0,0 4,4 4,4 0,0 0)))')) + +*/ diff --git a/test/multi/io/wkt/wkt.vcproj b/test/multi/io/wkt/wkt.vcproj new file mode 100644 index 000000000..19cc3e426 --- /dev/null +++ b/test/multi/io/wkt/wkt.vcproj @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/strategies/projected_point.cpp b/test/strategies/projected_point.cpp index 1ca7676c2..fd79e693b 100644 --- a/test/strategies/projected_point.cpp +++ b/test/strategies/projected_point.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include diff --git a/test/strategies/within.cpp b/test/strategies/within.cpp index 6e0cbe955..979fbe7f4 100644 --- a/test/strategies/within.cpp +++ b/test/strategies/within.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include diff --git a/test/util/as_range.cpp b/test/util/as_range.cpp index d81474cf1..5e6812953 100644 --- a/test/util/as_range.cpp +++ b/test/util/as_range.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include template double sum(Range const& range) diff --git a/test/util/rational.cpp b/test/util/rational.cpp index 20f876caf..d9709347f 100644 --- a/test/util/rational.cpp +++ b/test/util/rational.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include #include void test_coordinate_cast(std::string const& s, int expected_nom, int expected_denom) diff --git a/test/util/write_dsv.cpp b/test/util/write_dsv.cpp index 4416f6227..174f29643 100644 --- a/test/util/write_dsv.cpp +++ b/test/util/write_dsv.cpp @@ -22,7 +22,7 @@ #include -#include +#include diff --git a/test/views/box_view.cpp b/test/views/box_view.cpp index 2a41f30c6..2838c9f53 100644 --- a/test/views/box_view.cpp +++ b/test/views/box_view.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include diff --git a/test/views/closeable_view.cpp b/test/views/closeable_view.cpp index c24b34899..2cc815767 100644 --- a/test/views/closeable_view.cpp +++ b/test/views/closeable_view.cpp @@ -16,7 +16,7 @@ #include -#include +#include #include #include #include diff --git a/test/views/reversible_closeable.cpp b/test/views/reversible_closeable.cpp index b1efa94a6..c5058749e 100644 --- a/test/views/reversible_closeable.cpp +++ b/test/views/reversible_closeable.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include #include diff --git a/test/views/reversible_view.cpp b/test/views/reversible_view.cpp index d62bbd228..44872f82a 100644 --- a/test/views/reversible_view.cpp +++ b/test/views/reversible_view.cpp @@ -16,7 +16,7 @@ #include -#include +#include #include #include #include diff --git a/test/views/segment_view.cpp b/test/views/segment_view.cpp index 63d6617de..ab969118a 100644 --- a/test/views/segment_view.cpp +++ b/test/views/segment_view.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include diff --git a/test_extensions/algorithms/buffer/test_buffer.hpp b/test_extensions/algorithms/buffer/test_buffer.hpp index 5e15b041e..43cc3ce97 100644 --- a/test_extensions/algorithms/buffer/test_buffer.hpp +++ b/test_extensions/algorithms/buffer/test_buffer.hpp @@ -60,7 +60,7 @@ #include -#include +#include diff --git a/test_extensions/algorithms/connect.cpp b/test_extensions/algorithms/connect.cpp index fb1c8a9e8..e2227ddcb 100644 --- a/test_extensions/algorithms/connect.cpp +++ b/test_extensions/algorithms/connect.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test_extensions/algorithms/dissolve.cpp b/test_extensions/algorithms/dissolve.cpp index e4c27fd10..3d336ecfe 100644 --- a/test_extensions/algorithms/dissolve.cpp +++ b/test_extensions/algorithms/dissolve.cpp @@ -26,7 +26,7 @@ #include -#include +#include #include diff --git a/test_extensions/algorithms/is_convex.cpp b/test_extensions/algorithms/is_convex.cpp index 1fb416e01..060eb0f0f 100644 --- a/test_extensions/algorithms/is_convex.cpp +++ b/test_extensions/algorithms/is_convex.cpp @@ -24,8 +24,8 @@ #include #include -#include -#include +#include +#include #include @@ -33,7 +33,7 @@ #include #include -#include +#include template diff --git a/test_extensions/algorithms/mark_spikes.cpp b/test_extensions/algorithms/mark_spikes.cpp index 27fa40206..6189a6d5e 100644 --- a/test_extensions/algorithms/mark_spikes.cpp +++ b/test_extensions/algorithms/mark_spikes.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include diff --git a/test_extensions/algorithms/midpoints.cpp b/test_extensions/algorithms/midpoints.cpp index 1f55911b3..42809193d 100644 --- a/test_extensions/algorithms/midpoints.cpp +++ b/test_extensions/algorithms/midpoints.cpp @@ -27,7 +27,7 @@ #include -#include +#include template diff --git a/test_extensions/algorithms/offset.cpp b/test_extensions/algorithms/offset.cpp index e078ac393..c5e7aa13c 100644 --- a/test_extensions/algorithms/offset.cpp +++ b/test_extensions/algorithms/offset.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include diff --git a/test_extensions/algorithms/remove_holes_if.cpp b/test_extensions/algorithms/remove_holes_if.cpp index e60c9f8a2..f1306849b 100644 --- a/test_extensions/algorithms/remove_holes_if.cpp +++ b/test_extensions/algorithms/remove_holes_if.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include diff --git a/test_extensions/algorithms/selected.cpp b/test_extensions/algorithms/selected.cpp index ff415790d..1230743d3 100644 --- a/test_extensions/algorithms/selected.cpp +++ b/test_extensions/algorithms/selected.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include template diff --git a/test_extensions/arithmetic/cross_product.cpp b/test_extensions/arithmetic/cross_product.cpp index ca9d5bb9b..4d7d524ff 100644 --- a/test_extensions/arithmetic/cross_product.cpp +++ b/test_extensions/arithmetic/cross_product.cpp @@ -15,8 +15,8 @@ #include #include -#include -#include +#include +#include #include diff --git a/test_extensions/gis/io/wkb/read_wkb.cpp b/test_extensions/gis/io/wkb/read_wkb.cpp index fe11d0b2b..5911444ee 100644 --- a/test_extensions/gis/io/wkb/read_wkb.cpp +++ b/test_extensions/gis/io/wkb/read_wkb.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/test_extensions/gis/latlong/area_ll.cpp b/test_extensions/gis/latlong/area_ll.cpp index 11c197bab..c7771f069 100644 --- a/test_extensions/gis/latlong/area_ll.cpp +++ b/test_extensions/gis/latlong/area_ll.cpp @@ -14,27 +14,21 @@ #include - #include #include - #include #include - +#include #include -#include #include #include - - #include #include #include //#include - template void add_to_ring(PRJ const& prj, LL const& ll, bg::model::ring& ring_ll, diff --git a/test_extensions/gis/latlong/cross_track.cpp b/test_extensions/gis/latlong/cross_track.cpp index c76d8ce67..8d727258a 100644 --- a/test_extensions/gis/latlong/cross_track.cpp +++ b/test_extensions/gis/latlong/cross_track.cpp @@ -15,23 +15,18 @@ #include - #include #include #include #include +#include #include #include - -#include - #include #include - - template void test_distance( typename bg::coordinate_type::type const& lon1, @@ -62,8 +57,6 @@ void test_distance( //typedef bg::strategy::distance::andoyer andoyer_type; - - Point p1, p2, p3; bg::assign(p1, lon1, lat1); bg::assign(p2, lon2, lat2); diff --git a/test_extensions/gis/latlong/point_ll.cpp b/test_extensions/gis/latlong/point_ll.cpp index 9602e4b52..2d5df738f 100644 --- a/test_extensions/gis/latlong/point_ll.cpp +++ b/test_extensions/gis/latlong/point_ll.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include #include #include diff --git a/test_extensions/iterators/segment_returning_iterator.cpp b/test_extensions/iterators/segment_returning_iterator.cpp index 5d0cd3a02..eea60d3f9 100644 --- a/test_extensions/iterators/segment_returning_iterator.cpp +++ b/test_extensions/iterators/segment_returning_iterator.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include template void test_linestring(std::string const& wkt, std::string const& expected) diff --git a/test_extensions/nsphere/within.cpp b/test_extensions/nsphere/within.cpp index 07d8edd89..cb0bab7f9 100644 --- a/test_extensions/nsphere/within.cpp +++ b/test_extensions/nsphere/within.cpp @@ -14,7 +14,7 @@ #include -#include +#include template