]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/geometry/test/cs_undefined/other.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / geometry / test / cs_undefined / other.cpp
index fe2ad6501dfa6527bca477e50eb7db229927727a..5608a8abb43f8e620970a5c7aaeba1d460f16e16 100644 (file)
@@ -1,6 +1,6 @@
 // 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
 
@@ -17,24 +17,33 @@ inline void simplify(G const& g1, G & g2)
 {
     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;
 }