// Boost.Geometry
-// Copyright (c) 2019, Oracle and/or its affiliates.
+// Copyright (c) 2019-2021, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
{
bg::simplify(g1, g2, 1, bg::strategy::simplify::douglas_peucker<geom::point, bg::strategy::distance::projected_point<> >());
bg::simplify(g1, g2, 1, bg::strategy::simplify::douglas_peucker<geom::point, bg::strategy::distance::cross_track<> >());
-
- // TODO: douglas_peucker does not define a ctor taking distance strategy
- // which is needed in geographic CS
bg::simplify(g1, g2, 1, bg::strategy::simplify::douglas_peucker<geom::point, bg::strategy::distance::geographic_cross_track<> >());
+
+ bg::simplify(g1, g2, 1, bg::strategies::simplify::cartesian<>());
+ bg::simplify(g1, g2, 1, bg::strategies::simplify::spherical<>());
+ bg::simplify(g1, g2, 1, bg::strategies::simplify::geographic<>());
+}
+
+template <typename G, typename P>
+inline void centroid(G const& g, P & p)
+{
+ bg::centroid(g, p, bg::strategies::centroid::cartesian<>());
+ bg::centroid(g, p, bg::strategies::centroid::spherical<>());
+ bg::centroid(g, p, bg::strategies::centroid::geographic<>());
}
int test_main(int, char*[])
{
geom g, o;
- // this compiles but it shouldn't!
- // internally default_strategy is defined as not_applicable_strategy for box
- bg::centroid(g.b, o.pt);
+ ::centroid(g.b, o.pt);
+ ::simplify(g.pt, o.pt);
::simplify(g.ls, o.ls);
- // TODO:
- //::simplify(g.r, o.r); // area (point order) strategy not propagated
- //::simplify(g.po, o.po); // area (point order) strategy not propagated
+ ::simplify(g.mls, o.mls);
+ ::simplify(g.r, o.r);
+ ::simplify(g.po, o.po);
+ ::simplify(g.mpo, o.mpo);
return 0;
}