File indexing completed on 2025-01-18 09:36:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef BOOST_GEOMETRY_STRATEGY_GEOGRAPHIC_ENVELOPE_HPP
0022 #define BOOST_GEOMETRY_STRATEGY_GEOGRAPHIC_ENVELOPE_HPP
0023
0024 #include <boost/geometry/srs/spheroid.hpp>
0025
0026 #include <boost/geometry/strategy/geographic/envelope_segment.hpp>
0027 #include <boost/geometry/strategy/geographic/expand_segment.hpp>
0028 #include <boost/geometry/strategies/geographic/parameters.hpp>
0029 #include <boost/geometry/strategy/spherical/envelope.hpp>
0030
0031 namespace boost { namespace geometry
0032 {
0033
0034 namespace strategy { namespace envelope
0035 {
0036
0037
0038 template
0039 <
0040 typename FormulaPolicy = strategy::andoyer,
0041 typename Spheroid = geometry::srs::spheroid<double>,
0042 typename CalculationType = void
0043 >
0044 class geographic
0045 : public spherical<CalculationType>
0046 {
0047 public:
0048 typedef geographic_tag cs_tag;
0049
0050 typedef Spheroid model_type;
0051
0052 inline geographic()
0053 : m_spheroid()
0054 {}
0055
0056 explicit inline geographic(Spheroid const& spheroid)
0057 : m_spheroid(spheroid)
0058 {}
0059
0060 Spheroid model() const
0061 {
0062 return m_spheroid;
0063 }
0064
0065 private:
0066 Spheroid m_spheroid;
0067 };
0068
0069 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
0070
0071 namespace services
0072 {
0073
0074 template <typename Tag, typename CalculationType>
0075 struct default_strategy<Tag, geographic_tag, CalculationType>
0076 {
0077 typedef strategy::envelope::geographic
0078 <
0079 strategy::andoyer,
0080 geometry::srs::spheroid<double>,
0081 CalculationType
0082 > type;
0083 };
0084
0085 }
0086
0087 #endif
0088
0089
0090 }}
0091
0092 }}
0093
0094 #endif