summaryrefslogtreecommitdiff
path: root/src/mbgl/map/transform_state.hpp
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2015-08-20 18:50:17 -0400
committerAnsis Brammanis <brammanis@gmail.com>2015-08-24 18:41:51 -0400
commit51c93867aeeb34fd423bd0fb85d2cc06f074b88b (patch)
tree8193ce1ceea089721d8cf8cadf25f14c69743974 /src/mbgl/map/transform_state.hpp
parent99c5976498f09ca2dffd46dd6e26d2a26b9efc13 (diff)
downloadqtlocation-mapboxgl-51c93867aeeb34fd423bd0fb85d2cc06f074b88b.tar.gz
fix LatLng --> point for perspective views
Diffstat (limited to 'src/mbgl/map/transform_state.hpp')
-rw-r--r--src/mbgl/map/transform_state.hpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/mbgl/map/transform_state.hpp b/src/mbgl/map/transform_state.hpp
index 521131b33a..d4b46f04b1 100644
--- a/src/mbgl/map/transform_state.hpp
+++ b/src/mbgl/map/transform_state.hpp
@@ -31,9 +31,6 @@ public:
uint16_t getWidth() const;
uint16_t getHeight() const;
- float worldSize() const;
- float lngX(float lon) const;
- float latY(float lat) const;
std::array<float, 2> locationCoordinate(float lon, float lat) const;
void getLonLat(double &lon, double &lat) const;
@@ -55,18 +52,22 @@ public:
float getAltitude() const;
float getPitch() const;
- // Projection
- const vec2<double> pixelForLatLng(const LatLng latLng) const;
- const LatLng latLngForPixel(const vec2<double> pixel) const;
-
// Changing
bool isChanging() const;
double pixel_x() const;
double pixel_y() const;
- // Conversions
- TileCoordinate pointCoordinate(const vec2<double> point) const;
+ // Conversion and projection
+
+ vec2<double> latLngToPoint(const LatLng& latLng) const;
+ LatLng pointToLatLng(const vec2<double> point) const;
+
+ TileCoordinate latLngToCoordinate(const LatLng& latLng) const;
+ LatLng coordinateToLatLng(const TileCoordinate& coord) const;
+
+ vec2<double> coordinateToPoint(const TileCoordinate& coord) const;
+ TileCoordinate pointToCoordinate(const vec2<double> point) const;
private:
void constrain(double& scale, double& y) const;
@@ -78,6 +79,13 @@ private:
// logical dimensions
uint16_t width = 0, height = 0;
+ float xLng(float x, float worldSize) const;
+ float yLat(float y, float worldSize) const;
+ float lngX(float lon) const;
+ float latY(float lat) const;
+ float zoomScale(float zoom) const;
+ float worldSize() const;
+
mat4 coordinatePointMatrix(float z) const;
mat4 getPixelMatrix() const;