Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Pimenov <m@maps.me>2018-11-20 15:03:25 +0300
committerTatiana Yan <tatiana.kondakova@gmail.com>2018-11-23 16:59:58 +0300
commitd75839e65c4a63ed0e4a7b192d584e8b83efb435 (patch)
treee047a2d0d4d55371fdb67c5cbef6ebd10f7506a4 /geometry
parent3467f9aad381da685c13746e92c145d917e99439 (diff)
[coding] Moved functions that encode points to one common file.
Diffstat (limited to 'geometry')
-rw-r--r--geometry/geometry_tests/mercator_test.cpp4
-rw-r--r--geometry/mercator.cpp5
-rw-r--r--geometry/mercator.hpp22
3 files changed, 13 insertions, 18 deletions
diff --git a/geometry/geometry_tests/mercator_test.cpp b/geometry/geometry_tests/mercator_test.cpp
index d867ac2e89..6236b25019 100644
--- a/geometry/geometry_tests/mercator_test.cpp
+++ b/geometry/geometry_tests/mercator_test.cpp
@@ -39,8 +39,8 @@ UNIT_TEST(Mercator_DirectInferseF)
double y = MercatorBounds::LatToY(lat);
double lat1 = MercatorBounds::YToLat(y);
TEST_LESS(fabs(lat - lat1), eps, ("Too big round error"));
- TEST_LESS(fabs(MercatorBounds::maxX - MercatorBounds::maxY), eps, ("Non-square maxX and maxY"));
- TEST_LESS(fabs(MercatorBounds::minX - MercatorBounds::minY), eps, ("Non-square minX and minY"));
+ TEST_LESS(fabs(MercatorBounds::kMaxX - MercatorBounds::kMaxY), eps, ("Non-square maxX and maxY"));
+ TEST_LESS(fabs(MercatorBounds::kMinX - MercatorBounds::kMinY), eps, ("Non-square minX and minY"));
}
UNIT_TEST(Mercator_ErrorToRadius)
diff --git a/geometry/mercator.cpp b/geometry/mercator.cpp
index 0977316e1c..b997aace27 100644
--- a/geometry/mercator.cpp
+++ b/geometry/mercator.cpp
@@ -7,11 +7,6 @@
using namespace std;
-double MercatorBounds::minX = -180;
-double MercatorBounds::maxX = 180;
-double MercatorBounds::minY = -180;
-double MercatorBounds::maxY = 180;
-
m2::RectD MercatorBounds::MetresToXY(double lon, double lat, double lonMetresR, double latMetresR)
{
double const latDegreeOffset = latMetresR * degreeInMetres;
diff --git a/geometry/mercator.hpp b/geometry/mercator.hpp
index 7c61f7394e..d3e8270e2c 100644
--- a/geometry/mercator.hpp
+++ b/geometry/mercator.hpp
@@ -8,21 +8,23 @@
struct MercatorBounds
{
- static double minX;
- static double maxX;
- static double minY;
- static double maxY;
+ static double constexpr kMinX = -180.0;
+ static double constexpr kMaxX = 180.0;
+ static double constexpr kMinY = -180.0;
+ static double constexpr kMaxY = 180.0;
+ static double constexpr kRangeX = kMaxX - kMinX;
+ static double constexpr kRangeY = kMaxY - kMinY;
- static m2::RectD FullRect() { return m2::RectD(minX, minY, maxX, maxY); }
+ static m2::RectD FullRect() { return m2::RectD(kMinX, kMinY, kMaxX, kMaxY); }
static bool ValidLon(double d) { return base::between_s(-180.0, 180.0, d); }
static bool ValidLat(double d) { return base::between_s(-90.0, 90.0, d); }
- static bool ValidX(double d) { return base::between_s(minX, maxX, d); }
- static bool ValidY(double d) { return base::between_s(minY, maxY, d); }
+ static bool ValidX(double d) { return base::between_s(kMinX, kMaxX, d); }
+ static bool ValidY(double d) { return base::between_s(kMinY, kMaxY, d); }
- static double ClampX(double d) { return base::clamp(d, minX, maxX); }
- static double ClampY(double d) { return base::clamp(d, minY, maxY); }
+ static double ClampX(double d) { return base::clamp(d, kMinX, kMaxX); }
+ static double ClampY(double d) { return base::clamp(d, kMinY, kMaxY); }
static double YToLat(double y) { return base::RadToDeg(2.0 * atan(tanh(0.5 * base::DegToRad(y)))); }
@@ -72,8 +74,6 @@ struct MercatorBounds
static m2::PointD GetSmPoint(m2::PointD const & pt, double lonMetresR, double latMetresR);
- static double constexpr GetCellID2PointAbsEpsilon() { return 1.0E-4; }
-
static m2::PointD FromLatLon(double lat, double lon)
{
return m2::PointD(LonToX(lon), LatToY(lat));