Skip to content

Commit

Permalink
[geometry] Get rid of MercatorBounds, refactor to namespace mercator
Browse files Browse the repository at this point in the history
  • Loading branch information
gmoryes authored and tatiana-yan committed Nov 1, 2019
1 parent 216c944 commit 6f5d401
Show file tree
Hide file tree
Showing 226 changed files with 1,214 additions and 1,244 deletions.
36 changes: 18 additions & 18 deletions android/jni/com/mapswithme/maps/Framework.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ std::string Framework::GetPromoCityUrl(JNIEnv * env, jobject policy, jdouble lat
auto api = NativeFramework()->GetPromoApi(ToNativeNetworkPolicy(env, policy));
if (api == nullptr)
return {};
auto const point = MercatorBounds::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
auto const point = mercator::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
return api->GetCityUrl(point);
}

Expand Down Expand Up @@ -941,7 +941,7 @@ void CallStartPurchaseTransactionListener(shared_ptr<jobject> listener, bool suc
JNIEXPORT jstring JNICALL
Java_com_mapswithme_maps_Framework_nativeGetAddress(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
{
auto const info = frm()->GetAddressAtPoint(MercatorBounds::FromLatLon(lat, lon));
auto const info = frm()->GetAddressAtPoint(mercator::FromLatLon(lat, lon));
return jni::ToJavaString(env, info.FormatAddress());
}

Expand Down Expand Up @@ -975,8 +975,8 @@ Java_com_mapswithme_maps_Framework_nativeGetParsedRoutingData(JNIEnv * env, jcla
{
jni::TScopedLocalRef const name(env, jni::ToJavaString(env, point.m_name));
return env->NewObject(pointClazz, pointConstructor,
MercatorBounds::YToLat(point.m_org.y),
MercatorBounds::XToLon(point.m_org.x), name.get());
mercator::YToLat(point.m_org.y),
mercator::XToLon(point.m_org.x), name.get());
});

return env->NewObject(routeDataClazz, routeDataConstructor, points, routingData.m_type);
Expand Down Expand Up @@ -1060,8 +1060,8 @@ JNIEXPORT jobject JNICALL
Java_com_mapswithme_maps_Framework_nativeGetDistanceAndAzimuthFromLatLon(
JNIEnv * env, jclass clazz, jdouble lat, jdouble lon, jdouble cLat, jdouble cLon, jdouble north)
{
double const merY = MercatorBounds::LatToY(lat);
double const merX = MercatorBounds::LonToX(lon);
double const merY = mercator::LatToY(lat);
double const merX = mercator::LonToX(lon);
return Java_com_mapswithme_maps_Framework_nativeGetDistanceAndAzimuth(env, clazz, merX, merY, cLat, cLon, north);
}

Expand Down Expand Up @@ -1164,7 +1164,7 @@ Java_com_mapswithme_maps_Framework_nativeGetScreenRectCenter(JNIEnv * env, jclas
{
m2::PointD const center = frm()->GetViewportCenter();

double latlon[] = {MercatorBounds::YToLat(center.y), MercatorBounds::XToLon(center.x)};
double latlon[] = {mercator::YToLat(center.y), mercator::XToLon(center.x)};
jdoubleArray jLatLon = env->NewDoubleArray(2);
env->SetDoubleArrayRegion(jLatLon, 0, 2, latlon);

Expand Down Expand Up @@ -1545,7 +1545,7 @@ Java_com_mapswithme_maps_Framework_nativeGetBestRouter(JNIEnv * env, jclass,
jdouble dstLat, jdouble dstLon)
{
return static_cast<jint>(frm()->GetRoutingManager().GetBestRouter(
MercatorBounds::FromLatLon(srcLat, srcLon), MercatorBounds::FromLatLon(dstLat, dstLon)));
mercator::FromLatLon(srcLat, srcLon), mercator::FromLatLon(dstLat, dstLon)));
}

JNIEXPORT void JNICALL
Expand All @@ -1561,7 +1561,7 @@ Java_com_mapswithme_maps_Framework_nativeAddRoutePoint(JNIEnv * env, jclass, jst
data.m_pointType = static_cast<RouteMarkType>(markType);
data.m_intermediateIndex = static_cast<size_t>(intermediateIndex);
data.m_isMyPosition = static_cast<bool>(isMyPosition);
data.m_position = m2::PointD(MercatorBounds::FromLatLon(lat, lon));
data.m_position = m2::PointD(mercator::FromLatLon(lat, lon));

frm()->GetRoutingManager().AddRoutePoint(std::move(data));
}
Expand Down Expand Up @@ -1610,8 +1610,8 @@ Java_com_mapswithme_maps_Framework_nativeGetRoutePoints(JNIEnv * env, jclass)
static_cast<jboolean>(data.m_isVisible),
static_cast<jboolean>(data.m_isMyPosition),
static_cast<jboolean>(data.m_isPassed),
MercatorBounds::YToLat(data.m_position.y),
MercatorBounds::XToLon(data.m_position.x));
mercator::YToLat(data.m_position.y),
mercator::XToLon(data.m_position.x));
});
}

Expand Down Expand Up @@ -1744,7 +1744,7 @@ Java_com_mapswithme_maps_Framework_nativeGetAutoZoomEnabled(JNIEnv *, jclass)
JNIEXPORT void JNICALL
Java_com_mapswithme_maps_Framework_nativeZoomToPoint(JNIEnv * env, jclass, jdouble lat, jdouble lon, jint zoom, jboolean animate)
{
g_framework->Scale(m2::PointD(MercatorBounds::FromLatLon(lat, lon)), zoom, animate);
g_framework->Scale(m2::PointD(mercator::FromLatLon(lat, lon)), zoom, animate);
}

JNIEXPORT jobject JNICALL
Expand Down Expand Up @@ -1937,7 +1937,7 @@ JNIEXPORT void JNICALL
Java_com_mapswithme_maps_Framework_nativeShowFeatureByLatLon(JNIEnv * env, jclass,
jdouble lat, jdouble lon)
{
frm()->ShowFeatureByMercator(MercatorBounds::FromLatLon(ms::LatLon(lat, lon)));
frm()->ShowFeatureByMercator(mercator::FromLatLon(ms::LatLon(lat, lon)));
}

JNIEXPORT void JNICALL
Expand Down Expand Up @@ -1999,7 +1999,7 @@ Java_com_mapswithme_maps_Framework_nativeHasMegafonCategoryBanner(JNIEnv * env,
if (!position)
return static_cast<jboolean>(false);

auto const latLon = MercatorBounds::ToLatLon(position.get());
auto const latLon = mercator::ToLatLon(position.get());
return static_cast<jboolean>(ads::HasMegafonCategoryBanner(frm()->GetStorage(),
frm()->GetTopmostCountries(latLon),
languages::GetCurrentNorm()));
Expand Down Expand Up @@ -2191,8 +2191,8 @@ JNIEXPORT void JNICALL
Java_com_mapswithme_maps_Framework_nativeSetViewportCenter(JNIEnv *, jclass, jdouble lat,
jdouble lon, jint zoom, jboolean isAnim)
{
auto const center = MercatorBounds::FromLatLon(static_cast<double>(lat),
static_cast<double>(lon));
auto const center = mercator::FromLatLon(static_cast<double>(lat),
static_cast<double>(lon));
frm()->SetViewportCenter(center, static_cast<int>(zoom), static_cast<bool>(isAnim));
}

Expand All @@ -2206,8 +2206,8 @@ JNIEXPORT void JNICALL
Java_com_mapswithme_maps_Framework_nativeSetSearchViewport(JNIEnv *, jclass, jdouble lat,
jdouble lon, jint zoom)
{
auto const center = MercatorBounds::FromLatLon(static_cast<double>(lat),
static_cast<double>(lon));
auto const center = mercator::FromLatLon(static_cast<double>(lat),
static_cast<double>(lon));
auto const rect = df::GetRectForDrawScale(static_cast<int>(zoom), center);
frm()->GetSearchAPI().OnViewportChanged(rect);
}
Expand Down
4 changes: 2 additions & 2 deletions android/jni/com/mapswithme/maps/MapManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ Java_com_mapswithme_maps_downloader_MapManager_nativeListItems(JNIEnv * env, jcl
if (hasLocation && !myMapsMode)
{
CountriesVec near;
g_framework->NativeFramework()->GetCountryInfoGetter().GetRegionsCountryId(MercatorBounds::FromLatLon(lat, lon), near);
g_framework->NativeFramework()->GetCountryInfoGetter().GetRegionsCountryId(mercator::FromLatLon(lat, lon), near);
PutItemsToList(env, result, near, ItemCategory::NEAR_ME,
[](CountryId const & countryId, NodeAttrs const & attrs) -> bool {
return !attrs.m_present;
Expand Down Expand Up @@ -328,7 +328,7 @@ Java_com_mapswithme_maps_downloader_MapManager_nativeGetName(JNIEnv * env, jclas
JNIEXPORT jstring JNICALL
Java_com_mapswithme_maps_downloader_MapManager_nativeFindCountry(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
{
return jni::ToJavaString(env, g_framework->NativeFramework()->GetCountryInfoGetter().GetRegionCountryId(MercatorBounds::FromLatLon(lat, lon)));
return jni::ToJavaString(env, g_framework->NativeFramework()->GetCountryInfoGetter().GetRegionCountryId(mercator::FromLatLon(lat, lon)));
}

// static boolean nativeIsDownloading();
Expand Down
6 changes: 3 additions & 3 deletions android/jni/com/mapswithme/maps/SearchEngine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -312,12 +312,12 @@ jobject ToJavaResult(Result & result, search::ProductInfo const & productInfo, b
if (result.HasPoint())
{
auto const center = result.GetFeatureCenter();
ll = MercatorBounds::ToLatLon(center);
ll = mercator::ToLatLon(center);
if (hasPosition)
{
distanceInMeters = ms::DistanceOnEarth(lat, lon,
MercatorBounds::YToLat(center.y),
MercatorBounds::XToLon(center.x));
mercator::YToLat(center.y),
mercator::XToLon(center.x));
measurement_utils::FormatDistance(distanceInMeters, distance);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastE
kml::BookmarkData bmData;
bmData.m_name = info.FormatNewBookmarkName();
bmData.m_color.m_predefinedColor = frm()->LastEditedBMColor();
bmData.m_point = MercatorBounds::FromLatLon(lat, lon);
bmData.m_point = mercator::FromLatLon(lat, lon);
auto const lastEditedCategory = frm()->LastEditedBMCategory();

if (info.IsFeature())
Expand Down Expand Up @@ -1267,7 +1267,7 @@ Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeGetSortedCategory(
sortParams.m_groupId = static_cast<kml::MarkGroupId>(catId);
sortParams.m_sortingType = static_cast<BookmarkManager::SortingType>(sortingType);
sortParams.m_hasMyPosition = static_cast<bool>(hasMyPosition);
sortParams.m_myPosition = MercatorBounds::FromLatLon(static_cast<double>(lat),
sortParams.m_myPosition = mercator::FromLatLon(static_cast<double>(lat),
static_cast<double>(lon));
sortParams.m_onResults = bind(&OnCategorySortingResults, env, timestamp, _1, _2);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ struct DiscoveryCallback
ASSERT(g_discoveryManagerClass != nullptr, ());
JNIEnv * env = jni::GetEnv();

auto const lat = MercatorBounds::YToLat(viewportCenter.y);
auto const lon = MercatorBounds::XToLon(viewportCenter.x);
auto const lat = mercator::YToLat(viewportCenter.y);
auto const lon = mercator::XToLon(viewportCenter.x);
jni::TScopedLocalObjectArrayRef jResults(
env, BuildSearchResults(results, productInfo, true /* hasPosition */, lat, lon));
jobject discoveryManagerInstance = env->GetStaticObjectField(g_discoveryManagerClass,
Expand Down
4 changes: 2 additions & 2 deletions android/jni/com/mapswithme/maps/promo/Promo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Java_com_mapswithme_maps_promo_Promo_nativeRequestCityGallery(JNIEnv * env, jcla
jdouble lon, jint utm)
{
PrepareClassRefs(env);
auto const point = MercatorBounds::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
auto const point = mercator::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
++g_lastRequestId;
g_framework->GetPromoCityGallery(env, policy, point, static_cast<UTM>(utm),
std::bind(OnSuccess, g_lastRequestId, _1),
Expand All @@ -164,7 +164,7 @@ Java_com_mapswithme_maps_promo_Promo_nativeRequestPoiGallery(JNIEnv * env, jclas
jint utm)
{
PrepareClassRefs(env);
auto const point = MercatorBounds::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
auto const point = mercator::FromLatLon(static_cast<double>(lat), static_cast<double>(lon));
jsize const size = env->GetArrayLength(tags);
promo::Tags nativeTags;
for (jsize i = 0; i < size; ++i)
Expand Down
2 changes: 1 addition & 1 deletion android/jni/com/mapswithme/util/GeoUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ JNIEXPORT jobject JNICALL
JNIEnv * env, jobject thiz, jdouble mercX, jdouble mercY)
{
auto const mercPoint = m2::PointD(static_cast<double>(mercX), static_cast<double>(mercY));
auto const latLon = MercatorBounds::ToLatLon(mercPoint);
auto const latLon = mercator::ToLatLon(mercPoint);
auto const latlonPoint = m2::PointD(latLon.m_lat, latLon.m_lon);

return jni::GetNewParcelablePointD(env, latlonPoint);
Expand Down
2 changes: 1 addition & 1 deletion coding/coding_tests/geometry_coding_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace
{
m2::PointU D2U(m2::PointD const & p) { return PointDToPointU(p, kPointCoordBits); }

m2::PointU GetMaxPoint() { return D2U(m2::PointD(MercatorBounds::kMaxX, MercatorBounds::kMaxY)); }
m2::PointU GetMaxPoint() { return D2U(m2::PointD(mercator::Bounds::kMaxX, mercator::Bounds::kMaxY)); }

void TestPolylineEncode(string testName, vector<m2::PointU> const & points,
m2::PointU const & maxPoint,
Expand Down
6 changes: 3 additions & 3 deletions coding/coding_tests/traffic_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ double CalculateLength(vector<TrafficGPSEncoder::DataPoint> const & path)
double res = 0;
for (size_t i = 1; i < path.size(); ++i)
{
auto p1 = MercatorBounds::FromLatLon(path[i - 1].m_latLon.m_lat, path[i - 1].m_latLon.m_lon);
auto p2 = MercatorBounds::FromLatLon(path[i].m_latLon.m_lat, path[i].m_latLon.m_lon);
res += MercatorBounds::DistanceOnEarth(p1, p2);
auto p1 = mercator::FromLatLon(path[i - 1].m_latLon.m_lat, path[i - 1].m_latLon.m_lon);
auto p2 = mercator::FromLatLon(path[i].m_latLon.m_lat, path[i].m_latLon.m_lon);
res += mercator::DistanceOnEarth(p1, p2);
}
return res;
}
Expand Down
6 changes: 3 additions & 3 deletions coding/geometry_coding.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -326,14 +326,14 @@ m2::PointU D2U(m2::PointD const & p, uint32_t coordBits) { return PointDToPointU
m2::PointD U2D(m2::PointU const & p, uint32_t coordBits)
{
m2::PointD const pt = PointUToPointD(p, coordBits);
ASSERT(MercatorBounds::kMinX <= pt.x && pt.y <= MercatorBounds::kMaxX, (p, pt, coordBits));
ASSERT(MercatorBounds::kMinY <= pt.x && pt.y <= MercatorBounds::kMaxY, (p, pt, coordBits));
ASSERT(mercator::Bounds::kMinX <= pt.x && pt.y <= mercator::Bounds::kMaxX, (p, pt, coordBits));
ASSERT(mercator::Bounds::kMinY <= pt.x && pt.y <= mercator::Bounds::kMaxY, (p, pt, coordBits));
return pt;
}

m2::PointU GetMaxPoint(GeometryCodingParams const & params)
{
return D2U(m2::PointD(MercatorBounds::kMaxX, MercatorBounds::kMaxY), params.GetCoordBits());
return D2U(m2::PointD(mercator::Bounds::kMaxX, mercator::Bounds::kMaxY), params.GetCoordBits());
}

m2::PointU GetBasePoint(GeometryCodingParams const & params) { return params.GetBasePoint(); }
Expand Down
17 changes: 9 additions & 8 deletions coding/point_coding.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ double Uint32ToDouble(uint32_t x, double min, double max, uint8_t coordBits)

m2::PointU PointDToPointU(double x, double y, uint8_t coordBits)
{
x = base::Clamp(x, MercatorBounds::kMinX, MercatorBounds::kMaxX);
y = base::Clamp(y, MercatorBounds::kMinY, MercatorBounds::kMaxY);
x = base::Clamp(x, mercator::Bounds::kMinX, mercator::Bounds::kMaxX);
y = base::Clamp(y, mercator::Bounds::kMinY, mercator::Bounds::kMaxY);

uint32_t const ix = static_cast<uint32_t>(
0.5 + (x - MercatorBounds::kMinX) / MercatorBounds::kRangeX * CoordSize(coordBits));
0.5 + (x - mercator::Bounds::kMinX) / mercator::Bounds::kRangeX * CoordSize(coordBits));
uint32_t const iy = static_cast<uint32_t>(
0.5 + (y - MercatorBounds::kMinY) / MercatorBounds::kRangeY * CoordSize(coordBits));
0.5 + (y - mercator::Bounds::kMinY) / mercator::Bounds::kRangeY * CoordSize(coordBits));

ASSERT_LESS_OR_EQUAL(ix, CoordSize(coordBits), ());
ASSERT_LESS_OR_EQUAL(iy, CoordSize(coordBits), ());
Expand All @@ -65,10 +65,11 @@ m2::PointU PointDToPointU(m2::PointD const & pt, uint8_t coordBits, m2::RectD co

m2::PointD PointUToPointD(m2::PointU const & pt, uint8_t coordBits)
{
return m2::PointD(static_cast<double>(pt.x) * MercatorBounds::kRangeX / CoordSize(coordBits) +
MercatorBounds::kMinX,
static_cast<double>(pt.y) * MercatorBounds::kRangeY / CoordSize(coordBits) +
MercatorBounds::kMinY);
return m2::PointD(
static_cast<double>(pt.x) * mercator::Bounds::kRangeX / CoordSize(coordBits) +
mercator::Bounds::kMinX,
static_cast<double>(pt.y) * mercator::Bounds::kRangeY / CoordSize(coordBits) +
mercator::Bounds::kMinY);
}

m2::PointD PointUToPointD(m2::PointU const & pt, uint8_t coordBits, m2::RectD const & limitRect)
Expand Down
4 changes: 2 additions & 2 deletions coding/point_coding.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ uint8_t constexpr kFeatureSorterPointCoordBits = 27;
// another we consider the points equal. In other words, |kMwmPointAccuracy| may
// be used as the eps value for both x and y in Point::EqualDxDy, base::AlmostEqualAbs and such.
//
// The constant is loosely tied to MercatorBounds::kRangeX / (1 << kPointCoordBits):
// The constant is loosely tied to mercator::Bounds::kRangeX / (1 << kPointCoordBits):
// The range of possible values for point coordinates
// MercatorBounds::kRangeX = 360.0
// mercator::Bounds::kRangeX = 360.0
// The number of distinct values for each coordinate after encoding
// (1 << kPointCoordBits) = 1073741824 ≈ 1e9
// Distance between two discernible points in the uniform case
Expand Down
4 changes: 2 additions & 2 deletions drape_frontend/drape_measurer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ void DrapeMeasurer::Stop(bool forceProcessRealtimeStats /* = false */ )
auto const avgMs = duration_cast<milliseconds>(m_realtimeTotalFrameRenderTime).count() /
m_realtimeTotalFramesCount;

auto const latLonRect = MercatorBounds::ToLatLonRect(m_realtimeRenderingBox);
auto const latLonRect = mercator::ToLatLonRect(m_realtimeRenderingBox);
alohalytics::Stats::Instance().LogEvent(
"RenderingStats", {{"version", GetPlatform().GetAppUserAgent().GetAppVersion()},
{"device", GetPlatform().DeviceModel()},
Expand Down Expand Up @@ -286,7 +286,7 @@ void DrapeMeasurer::AfterRenderFrame(bool isActiveFrame, m2::PointD const & view
auto const frameTime = steady_clock::now() - m_startFrameRenderTime;
if (isActiveFrame)
{
if (MercatorBounds::FullRect().IsPointInside(viewportCenter))
if (mercator::Bounds::FullRect().IsPointInside(viewportCenter))
m_realtimeRenderingBox.Add(viewportCenter);
m_realtimeTotalFrameRenderTime += frameTime;
m_realtimeMinFrameRenderTime = std::min(m_realtimeMinFrameRenderTime, frameTime);
Expand Down
Loading

0 comments on commit 6f5d401

Please sign in to comment.