File indexing completed on 2025-09-15 08:36:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_GEOMETRY_STRATEGIES_SPHERICAL_HPP
0013 #define BOOST_GEOMETRY_STRATEGIES_SPHERICAL_HPP
0014
0015
0016 #include <boost/geometry/strategies/area/spherical.hpp>
0017 #include <boost/geometry/strategies/azimuth/spherical.hpp>
0018 #include <boost/geometry/strategies/buffer/spherical.hpp>
0019 #include <boost/geometry/strategies/centroid/spherical.hpp>
0020 #include <boost/geometry/strategies/closest_points/spherical.hpp>
0021 #include <boost/geometry/strategies/convex_hull/spherical.hpp>
0022 #include <boost/geometry/strategies/distance/spherical.hpp>
0023 #include <boost/geometry/strategies/envelope/spherical.hpp>
0024 #include <boost/geometry/strategies/expand/spherical.hpp>
0025 #include <boost/geometry/strategies/io/spherical.hpp>
0026 #include <boost/geometry/strategies/index/spherical.hpp>
0027 #include <boost/geometry/strategies/is_convex/spherical.hpp>
0028 #include <boost/geometry/strategies/relate/spherical.hpp>
0029 #include <boost/geometry/strategies/simplify/spherical.hpp>
0030
0031
0032 namespace boost { namespace geometry
0033 {
0034
0035
0036 namespace strategies
0037 {
0038
0039
0040 template
0041 <
0042 typename RadiusTypeOrSphere = double,
0043 typename CalculationType = void
0044 >
0045 class spherical
0046
0047 : public strategies::closest_points::spherical<RadiusTypeOrSphere, CalculationType>
0048 , public strategies::centroid::detail::spherical
0049 {
0050 using base_t = strategies::closest_points::spherical<RadiusTypeOrSphere, CalculationType>;
0051
0052 public:
0053 spherical() = default;
0054
0055 template <typename RadiusOrSphere>
0056 explicit spherical(RadiusOrSphere const& radius_or_sphere)
0057 : base_t(radius_or_sphere)
0058 {}
0059
0060 static auto azimuth()
0061 {
0062 return strategy::azimuth::spherical<CalculationType>();
0063 }
0064
0065 static auto point_order()
0066 {
0067 return strategy::point_order::spherical<CalculationType>();
0068 }
0069 };
0070
0071
0072 }
0073
0074
0075 }}
0076
0077
0078 #endif