From 72019d52d196697115902cd7e8cd06905fd18d4b Mon Sep 17 00:00:00 2001 From: Vissarion Fysikopoulos Date: Tue, 24 Apr 2018 15:30:48 +0300 Subject: [PATCH] [algorithms] [strategies] Rename meridian method to vertical_or_meridian --- .../algorithms/detail/distance/segment_to_box.hpp | 10 ++++++---- .../geometry/algorithms/detail/envelope/segment.hpp | 9 +-------- .../strategies/cartesian/distance_pythagoras.hpp | 4 ++-- .../boost/geometry/strategies/geographic/distance.hpp | 2 +- .../spherical/distance_cross_track_box_box.hpp | 6 +++--- .../spherical/distance_cross_track_point_box.hpp | 6 ++++-- .../strategies/spherical/distance_haversine.hpp | 4 ++-- 7 files changed, 19 insertions(+), 22 deletions(-) diff --git a/include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp b/include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp index 1d470dd29..bba0dc189 100644 --- a/include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp +++ b/include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp @@ -41,7 +41,6 @@ #include #include #include -#include #include #include @@ -362,7 +361,7 @@ private: //if p0 is in box's band if (less_equal(geometry::get<1>(p0), geometry::get<1>(top_right))) { - //meridian segment & crosses band (TODO:merge with box-box dist) + // segment & crosses band (TODO:merge with box-box dist) if (math::equals(geometry::get<0>(p0), geometry::get<0>(p1))) { SegmentPoint high = geometry::get<1>(p1) > geometry::get<1>(p0) ? p1 : p0; @@ -399,6 +398,7 @@ private: BoxPoint const& top_left, PSStrategy const& ps_strategy) { + boost::ignore_unused(ps_strategy); return apply(p0, p1, p0, top_left, ps_strategy); } @@ -413,11 +413,11 @@ private: LessEqual less_equal; // p0 is above the upper segment of the box (and inside its band) - // then compute the vertical (meridian) distance + // then compute the vertical (i.e. meridian for spherical) distance if (less_equal(geometry::get<0>(top_left), geometry::get<0>(p_max))) { ReturnType diff = - ps_strategy.get_distance_strategy().meridian( + ps_strategy.get_distance_strategy().vertical_or_meridian( geometry::get_as_radian<1>(p_max), geometry::get_as_radian<1>(top_left)); @@ -715,6 +715,8 @@ public: } }; +//========================================================================= + template < typename Segment, diff --git a/include/boost/geometry/algorithms/detail/envelope/segment.hpp b/include/boost/geometry/algorithms/detail/envelope/segment.hpp index a3346aa03..4dbb02a28 100644 --- a/include/boost/geometry/algorithms/detail/envelope/segment.hpp +++ b/include/boost/geometry/algorithms/detail/envelope/segment.hpp @@ -166,15 +166,8 @@ private: CalculationType lat1_rad = math::as_radian(lat1); CalculationType lat2_rad = math::as_radian(lat2); - //CalculationType lon1_rad = math::as_radian(lon1); - //CalculationType lon2_rad = math::as_radian(lon2); - //typedef typename geometry::formula::meridian_segment mseg; - //mseg::SegmentType result_seg = - //mseg::is_meridian(lon1_rad, lat1_rad, lon2_rad, lat2_rad); - if (math::equals(a1, a2))// || - //result_seg == mseg::MeridianCrossingPole || - //result_seg == mseg::MeridianNotCrossingPole) + if (math::equals(a1, a2)) { // the segment must lie on the equator or is very short or is meridian return; diff --git a/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp b/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp index 7744034f9..1a0c07b47 100644 --- a/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp +++ b/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp @@ -119,7 +119,7 @@ public : } template - inline CT meridian(CT const& lat1, CT const& lat2) const + inline CT vertical_or_meridian(CT const& lat1, CT const& lat2) const { return lat1 - lat2; } @@ -194,7 +194,7 @@ public : } template - inline CT meridian(CT const& lat1, CT const& lat2) const + inline CT vertical_or_meridian(CT const& lat1, CT const& lat2) const { return lat1 - lat2; } diff --git a/include/boost/geometry/strategies/geographic/distance.hpp b/include/boost/geometry/strategies/geographic/distance.hpp index e9d995499..5d365c649 100644 --- a/include/boost/geometry/strategies/geographic/distance.hpp +++ b/include/boost/geometry/strategies/geographic/distance.hpp @@ -144,7 +144,7 @@ public : // points on a meridian not crossing poles template - inline CT meridian(CT lat1, CT lat2) const + inline CT vertical_or_meridian(CT lat1, CT lat2) const { typedef typename formula::elliptic_arc_length < diff --git a/include/boost/geometry/strategies/spherical/distance_cross_track_box_box.hpp b/include/boost/geometry/strategies/spherical/distance_cross_track_box_box.hpp index efa7a728a..85b414626 100644 --- a/include/boost/geometry/strategies/spherical/distance_cross_track_box_box.hpp +++ b/include/boost/geometry/strategies/spherical/distance_cross_track_box_box.hpp @@ -162,15 +162,15 @@ public : < Strategy, box_point_type1, box_point_type2 >::apply(ps_strategy, ps_strategy.get_distance_strategy() - .meridian(lat_min1, lat_max2)); + .vertical_or_meridian(lat_min1, lat_max2)); } else if (lat_max1 < lat_min2) { return geometry::strategy::distance::services::result_from_distance < Strategy, box_point_type1, box_point_type2 - >::apply(ps_strategy, ps_strategy.get_distance_strategy(). - meridian(lat_min2, lat_max1)); + >::apply(ps_strategy, ps_strategy.get_distance_strategy() + .vertical_or_meridian(lat_min2, lat_max1)); } else { diff --git a/include/boost/geometry/strategies/spherical/distance_cross_track_point_box.hpp b/include/boost/geometry/strategies/spherical/distance_cross_track_point_box.hpp index 9c8e7f1a3..a4834ee03 100644 --- a/include/boost/geometry/strategies/spherical/distance_cross_track_point_box.hpp +++ b/include/boost/geometry/strategies/spherical/distance_cross_track_point_box.hpp @@ -100,14 +100,16 @@ public : return geometry::strategy::distance::services::result_from_distance < Strategy, Point, box_point_type - >::apply(ps_strategy, ps_strategy.get_distance_strategy().meridian(plat, lat_max)); + >::apply(ps_strategy, ps_strategy.get_distance_strategy() + .vertical_or_meridian(plat, lat_max)); } else if (plat < lat_min) { return geometry::strategy::distance::services::result_from_distance < Strategy, Point, box_point_type - >::apply(ps_strategy, ps_strategy.get_distance_strategy().meridian(lat_min, plat)); + >::apply(ps_strategy, ps_strategy.get_distance_strategy() + .vertical_or_meridian(lat_min, plat)); } else { diff --git a/include/boost/geometry/strategies/spherical/distance_haversine.hpp b/include/boost/geometry/strategies/spherical/distance_haversine.hpp index 07b0a30fd..a2e1a60bb 100644 --- a/include/boost/geometry/strategies/spherical/distance_haversine.hpp +++ b/include/boost/geometry/strategies/spherical/distance_haversine.hpp @@ -107,7 +107,7 @@ public : } template - inline radius_type meridian(T1 lat1, T2 lat2) const + inline radius_type vertical_or_meridian(T1 lat1, T2 lat2) const { return m_radius * (lat1 - lat2); } @@ -217,7 +217,7 @@ public : */ template - inline radius_type meridian(T1 lat1, T2 lat2) const + inline radius_type vertical_or_meridian(T1 lat1, T2 lat2) const { return m_radius * (lat1 - lat2); }