diff --git a/android/YoPme/jni/Framework.cpp b/android/YoPme/jni/Framework.cpp index d7b80a754d..a13e9d0f0a 100644 --- a/android/YoPme/jni/Framework.cpp +++ b/android/YoPme/jni/Framework.cpp @@ -48,15 +48,15 @@ namespace yopme bool hasPoi, double poiLat, double poiLon, bool hasLocation, double myLat, double myLon) { - m2::PointD viewPortCenter(MercatorBounds::LonToX(vpLon), MercatorBounds::LatToY(vpLat)); + m2::PointD const viewPortCenter(MercatorBounds::FromLatLon(vpLat, vpLon)); if (!m_framework.IsCountryLoaded(viewPortCenter) && (zoom > scales::GetUpperWorldScale())) return false; m_framework.ShowRect(vpLat, vpLon, zoom); - m2::PointD poi (MercatorBounds::LonToX(poiLon), MercatorBounds::LatToY(poiLat)); - m2::PointD myLocaiton (MercatorBounds::LonToX(myLon), MercatorBounds::LatToY(myLat)); - ShowRect(hasPoi, poi, hasLocation, myLocaiton); + m2::PointD const poi(MercatorBounds::FromLatLon(poiLat, poiLon)); + m2::PointD const myLocation(MercatorBounds::FromLatLon(myLat, myLon)); + ShowRect(hasPoi, poi, hasLocation, myLocation); return true; } @@ -126,11 +126,8 @@ namespace yopme bool Framework::AreLocationsFarEnough(double lat1, double lon1, double lat2, double lon2) const { double const sqPixLength = - m_framework.GtoP(m2::PointD(MercatorBounds::LonToX(lon1), - MercatorBounds::LatToY(lat1))) - .SquareLength( - m_framework.GtoP(m2::PointD(MercatorBounds::LonToX(lon2), - MercatorBounds::LatToY(lat2)))); + m_framework.GtoP(MercatorBounds::FromLatLon(lat1, lon1))) + .SquareLength(m_framework.GtoP(MercatorBounds::FromLatLon(lat2, lon2)))); // Pixel radius of location mark is 10 pixels. return (sqPixLength > 100 && ms::DistanceOnEarth(lat1, lon1, lat2, lon2) > 5.0); diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp index 677a1f1c86..d60d3bc182 100644 --- a/android/jni/com/mapswithme/maps/Framework.cpp +++ b/android/jni/com/mapswithme/maps/Framework.cpp @@ -523,14 +523,12 @@ namespace android storage::TIndex Framework::GetCountryIndex(double lat, double lon) const { - return m_work.GetCountryIndex(m2::PointD(MercatorBounds::LonToX(lon), - MercatorBounds::LatToY(lat))); + return m_work.GetCountryIndex(MercatorBounds::FromLatLon(lat, lon)); } string Framework::GetCountryCode(double lat, double lon) const { - return m_work.GetCountryCode(m2::PointD(MercatorBounds::LonToX(lon), - MercatorBounds::LatToY(lat))); + return m_work.GetCountryCode(MercatorBounds::FromLatLon(lat, lon)); } string Framework::GetCountryNameIfAbsent(m2::PointD const & pt) const @@ -767,8 +765,7 @@ extern "C" { search::AddressInfo info; - g_framework->NativeFramework()->GetAddressInfoForGlobalPoint( - m2::PointD(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)), info); + g_framework->NativeFramework()->GetAddressInfoForGlobalPoint(MercatorBounds::FromLatLon(lat, lon), info); return jni::ToJavaString(env, info.FormatNameAndAddress()); } diff --git a/android/jni/com/mapswithme/maps/SearchActivity.cpp b/android/jni/com/mapswithme/maps/SearchActivity.cpp index d702dfe18a..0ffa20aaf1 100644 --- a/android/jni/com/mapswithme/maps/SearchActivity.cpp +++ b/android/jni/com/mapswithme/maps/SearchActivity.cpp @@ -297,8 +297,7 @@ JNIEXPORT jstring JNICALL Java_com_mapswithme_maps_SearchActivity_getCountryNameIfAbsent(JNIEnv * env, jobject thiz, jdouble lat, jdouble lon) { - string const name = g_framework->GetCountryNameIfAbsent(m2::PointD( - MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat))); + string const name = g_framework->GetCountryNameIfAbsent(MercatorBounds::FromLatLon(lat, lon)); return (name.empty() ? 0 : jni::ToJavaString(env, name)); } diff --git a/android/jni/com/mapswithme/maps/bookmarks/data/BookmarkManager.cpp b/android/jni/com/mapswithme/maps/bookmarks/data/BookmarkManager.cpp index d458b957c2..e762278273 100644 --- a/android/jni/com/mapswithme/maps/bookmarks/data/BookmarkManager.cpp +++ b/android/jni/com/mapswithme/maps/bookmarks/data/BookmarkManager.cpp @@ -90,8 +90,7 @@ extern "C" Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastEditedCategory( JNIEnv * env, jobject thiz, jstring name, double lat, double lon) { - const m2::PointD glbPoint(MercatorBounds::LonToX(lon), - MercatorBounds::LatToY(lat)); + const m2::PointD glbPoint(MercatorBounds::FromLatLon(lat, lon)); ::Framework * f = frm(); BookmarkData bmk(jni::ToNativeString(env, name), f->LastEditedBMType()); diff --git a/generator/borders_generator.cpp b/generator/borders_generator.cpp index 0ede044ed0..6f844de646 100644 --- a/generator/borders_generator.cpp +++ b/generator/borders_generator.cpp @@ -45,8 +45,7 @@ namespace osm try { OsmNode node = m_data.NodeById(nodeId); - m_currentRegion.AddPoint(m2::PointD(MercatorBounds::LonToX(node.m_lon), - MercatorBounds::LatToY(node.m_lat))); + m_currentRegion.AddPoint(MercatorBounds::FromLatLon(node.m_lat, node.m_lon)); } catch (OsmRawData::OsmInvalidIdException const & e) { diff --git a/indexer/mercator.cpp b/indexer/mercator.cpp index 7ee65eebbe..e13f593e48 100644 --- a/indexer/mercator.cpp +++ b/indexer/mercator.cpp @@ -20,8 +20,7 @@ m2::RectD MercatorBounds::MetresToXY(double lon, double lat, double const minLon = max(-180.0, lon - lonDegreeOffset); double const maxLon = min( 180.0, lon + lonDegreeOffset); - return m2::RectD(m2::PointD(LonToX(minLon), LatToY(minLat)), - m2::PointD(LonToX(maxLon), LatToY(maxLat))); + return m2::RectD(FromLatLon(minLat, minLon), FromLatLon(maxLat, maxLon)); } m2::PointD MercatorBounds::GetSmPoint(m2::PointD const & pt, double lonMetresR, double latMetresR) @@ -38,5 +37,5 @@ m2::PointD MercatorBounds::GetSmPoint(m2::PointD const & pt, double lonMetresR, double const lonDegreeOffset = lonMetresR * degreeInMetres / cosL; double const newLon = min(180.0, max(-180.0, lon + lonDegreeOffset)); - return m2::PointD(LonToX(newLon), LatToY(newLat)); + return FromLatLon(newLat, newLon); } diff --git a/indexer/mercator.hpp b/indexer/mercator.hpp index 452e26116e..e51bb9c7d0 100644 --- a/indexer/mercator.hpp +++ b/indexer/mercator.hpp @@ -95,11 +95,15 @@ struct MercatorBounds static double GetCellID2PointAbsEpsilon() { return 1.0E-4; } + inline static m2::PointD FromLatLon(double lat, double lon) + { + return m2::PointD(LonToX(lon), LatToY(lat)); + } + /// Converts lat lon rect to mercator one inline static m2::RectD FromLatLonRect(m2::RectD const & latLonRect) { - return m2::RectD(LonToX(latLonRect.minX()), LatToY(latLonRect.minY()), - LonToX(latLonRect.maxX()), LatToY(latLonRect.maxY())); - + return m2::RectD(FromLatLon(latLonRect.minY(), latLonRect.minX()), + FromLatLon(latLonRect.maxY(), latLonRect.maxX())); } }; diff --git a/iphone/Maps/Classes/PlacePageInfoCell.mm b/iphone/Maps/Classes/PlacePageInfoCell.mm index 980bff0189..6d88440237 100644 --- a/iphone/Maps/Classes/PlacePageInfoCell.mm +++ b/iphone/Maps/Classes/PlacePageInfoCell.mm @@ -74,7 +74,7 @@ if (self.myPositionMode) { CLLocationCoordinate2D const coordinate = [MapsAppDelegate theApp].m_locationManager.lastLocation.coordinate; - point = m2::PointD(MercatorBounds::LonToX(coordinate.longitude), MercatorBounds::LatToY(coordinate.latitude)); + point = MercatorBounds::FromLatLon(coordinate.latitude, coordinate.longitude); } else { diff --git a/iphone/Maps/Classes/PlacePageView.mm b/iphone/Maps/Classes/PlacePageView.mm index 6d3403baee..a6f33c42fa 100644 --- a/iphone/Maps/Classes/PlacePageView.mm +++ b/iphone/Maps/Classes/PlacePageView.mm @@ -148,7 +148,7 @@ typedef NS_ENUM(NSUInteger, CellRow) if (![[MapsAppDelegate theApp].m_locationManager getLat:lat Lon:lon]) return; double const northRad = (info.m_trueHeading < 0) ? info.m_magneticHeading : info.m_trueHeading; - m2::PointD const point = m2::PointD(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)); + m2::PointD const point = MercatorBounds::FromLatLon(lat, lon); PlacePageInfoCell * cell = (PlacePageInfoCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:ROW_COMMON inSection:0]]; cell.compassView.angle = ang::AngleTo(point, [self pinPoint]) + northRad; diff --git a/map/bookmark.cpp b/map/bookmark.cpp index 4fdcdc8ead..d219a3c3f7 100644 --- a/map/bookmark.cpp +++ b/map/bookmark.cpp @@ -256,7 +256,7 @@ namespace double lat; if (strings::to_double(*iter, lat) && MercatorBounds::ValidLat(lat)) { - pt = m2::PointD(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)); + pt = MercatorBounds::FromLatLon(lat, lon); return true; } else diff --git a/map/framework.cpp b/map/framework.cpp index b154a49942..4836bcf108 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -770,7 +770,7 @@ void Framework::CheckMinMaxVisibleScale(m2::RectD & rect, int maxScale/* = -1*/) void Framework::ShowRect(double lat, double lon, double zoom) { - m2::PointD center(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)); + m2::PointD center(MercatorBounds::FromLatLon(lat, lon)); ShowRectEx(m_scales.GetRectForDrawScale(zoom, center)); } @@ -1331,9 +1331,7 @@ bool Framework::GetDistanceAndAzimut(m2::PointD const & point, // We calculate azimut even when distance is very short (d ~ 0), // because return value has 2 states (near me or far from me). - azimut = ang::AngleTo(m2::PointD(MercatorBounds::LonToX(lon), - MercatorBounds::LatToY(lat)), - point) + north; + azimut = ang::AngleTo(MercatorBounds::FromLatLon(lat, lon), point) + north; double const pi2 = 2.0*math::pi; if (azimut < 0.0) @@ -1451,7 +1449,7 @@ bool Framework::ShowMapForURL(string const & url) ParseGeoURL(url, info); if (info.IsValid()) { - point = m2::PointD(MercatorBounds::LonToX(info.m_lon), MercatorBounds::LatToY(info.m_lat)); + point = MercatorBounds::FromLatLon(info.m_lat, info.m_lon); rect = m_scales.GetRectForDrawScale(info.m_zoom, point); result = NEED_CLICK; } @@ -1464,7 +1462,7 @@ bool Framework::ShowMapForURL(string const & url) if (parser.Parse(url, pt, zoom)) { - point = m2::PointD(MercatorBounds::LonToX(pt.m_lon), MercatorBounds::LatToY(pt.m_lat)); + point = MercatorBounds::FromLatLon(pt.m_lat, pt.m_lon); rect = m_scales.GetRectForDrawScale(zoom, point); name = pt.m_name; result = NEED_CLICK; diff --git a/map/map_tests/bookmarks_test.cpp b/map/map_tests/bookmarks_test.cpp index f445f515c5..445aecf17c 100644 --- a/map/map_tests/bookmarks_test.cpp +++ b/map/map_tests/bookmarks_test.cpp @@ -381,8 +381,7 @@ namespace void CheckPlace(Framework const & fm, double lat, double lon, POIInfo const & poi) { search::AddressInfo info; - fm.GetAddressInfoForGlobalPoint( - m2::PointD(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)), info); + fm.GetAddressInfoForGlobalPoint(MercatorBounds::FromLatLon(lat, lon), info); TEST_EQUAL(info.m_name, poi.m_name, ()); TEST_EQUAL(info.m_street, poi.m_street, ()); diff --git a/map/mwm_url.cpp b/map/mwm_url.cpp index b78adb9400..f433e2207f 100644 --- a/map/mwm_url.cpp +++ b/map/mwm_url.cpp @@ -65,8 +65,7 @@ bool ParsedMapApi::Parse(Uri const & uri) for (size_t i = 0; i < points.size(); ++i) { ApiPoint const & p = points[i]; - m2::PointD glPoint(MercatorBounds::LonToX(p.m_lon), - MercatorBounds::LatToY(p.m_lat)); + m2::PointD glPoint(MercatorBounds::FromLatLon(p.m_lat, p.m_lon)); ApiMarkPoint * mark = static_cast(m_controller->CreateUserMark(glPoint)); mark->SetName(p.m_name); mark->SetID(p.m_id); diff --git a/map_server/main.cpp b/map_server/main.cpp index 1e177c15c4..b3379a4314 100644 --- a/map_server/main.cpp +++ b/map_server/main.cpp @@ -96,12 +96,8 @@ QString MwmRpcService::RenderBox( m_framework.SetQueryMaxScaleMode(maxScaleMode); QVariantList box(bbox.value()); - m2::AnyRectD requestBox(m2::RectD( - MercatorBounds::LonToX(box[0].toDouble()), - MercatorBounds::LatToY(box[1].toDouble()), - MercatorBounds::LonToX(box[2].toDouble()), - MercatorBounds::LatToY(box[3].toDouble()) - )); + m2::AnyRectD requestBox(m2::RectD(MercatorBounds::FromLatLon(box[1].toDouble(), box[0].toDouble()), + MercatorBounds::FromLatLon(box[3].toDouble(), box[2].toDouble()))); m_framework.GetNavigator().SetFromRect(requestBox); shared_ptr pe(new PaintEvent(m_framework.GetRenderPolicy()->GetDrawer().get())); diff --git a/search/intermediate_result.cpp b/search/intermediate_result.cpp index acdbf978b2..71dd868b93 100644 --- a/search/intermediate_result.cpp +++ b/search/intermediate_result.cpp @@ -177,7 +177,7 @@ PreResult2::PreResult2(m2::RectD const & viewport, m2::PointD const & pos, doubl m_rank(255), m_geomType(feature::GEOM_UNDEFINED) { - m2::PointD const fCenter(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)); + m2::PointD const fCenter(MercatorBounds::FromLatLon(lat, lon)); m_region.SetParams(string(), fCenter); CalcParams(viewport, pos); } diff --git a/search/search_engine.cpp b/search/search_engine.cpp index 53de750d70..d57a905410 100644 --- a/search/search_engine.cpp +++ b/search/search_engine.cpp @@ -101,7 +101,7 @@ namespace { m2::PointD GetViewportXY(double lat, double lon) { - return m2::PointD(MercatorBounds::LonToX(lon), MercatorBounds::LatToY(lat)); + return MercatorBounds::FromLatLon(lat, lon); } m2::RectD GetViewportRect(double lat, double lon, double radius = 20000) { diff --git a/search/search_tests/locality_finder_test.cpp b/search/search_tests/locality_finder_test.cpp index 3efc9d0a2f..e9a9b1b138 100644 --- a/search/search_tests/locality_finder_test.cpp +++ b/search/search_tests/locality_finder_test.cpp @@ -11,7 +11,7 @@ void doTests(search::LocalityFinder & finder, vector const & input, for (size_t i = 0; i < input.size(); ++i) { string result; - finder.GetLocalityInViewport(m2::PointD(MercatorBounds::LonToX(input[i].x), MercatorBounds::LatToY(input[i].y)), result); + finder.GetLocalityInViewport(MercatorBounds::FromLatLon(input[i].y, input[i].x), result); TEST_EQUAL(result, results[i], ()); } } @@ -22,7 +22,7 @@ void doTests2(search::LocalityFinder & finder, vector const & input, for (size_t i = 0; i < input.size(); ++i) { string result; - finder.GetLocalityCreateCache(m2::PointD(MercatorBounds::LonToX(input[i].x), MercatorBounds::LatToY(input[i].y)), result); + finder.GetLocalityCreateCache(MercatorBounds::FromLatLon(input[i].y, input[i].x), result); TEST_EQUAL(result, results[i], ()); } } diff --git a/storage/storage_tests/country_info_test.cpp b/storage/storage_tests/country_info_test.cpp index 7e8bfbba43..d6cae2aa51 100644 --- a/storage/storage_tests/country_info_test.cpp +++ b/storage/storage_tests/country_info_test.cpp @@ -29,17 +29,13 @@ UNIT_TEST(CountryInfo_GetByPoint_Smoke) // Minsk CountryInfo info; - getter->GetRegionInfo(m2::PointD(MercatorBounds::LonToX(27.5618818), - MercatorBounds::LatToY(53.9022651)), - info); + getter->GetRegionInfo(MercatorBounds::FromLatLon(53.9022651, 27.5618818), info); TEST_EQUAL(info.m_name, "Belarus", ()); TEST_EQUAL(info.m_flag, "by", ()); - getter->GetRegionInfo(m2::PointD(MercatorBounds::LonToX(-38.0098101), - MercatorBounds::LatToY(-6.4146288)), - info); + getter->GetRegionInfo(MercatorBounds::FromLatLon(-6.4146288, -38.0098101), info); TEST_EQUAL(info.m_name, "Brazil", ()); TEST_EQUAL(info.m_flag, "br", ());