diff options
author | Ansis Brammanis <brammanis@gmail.com> | 2015-08-20 18:50:17 -0400 |
---|---|---|
committer | Ansis Brammanis <brammanis@gmail.com> | 2015-08-24 18:41:51 -0400 |
commit | 51c93867aeeb34fd423bd0fb85d2cc06f074b88b (patch) | |
tree | 8193ce1ceea089721d8cf8cadf25f14c69743974 /src/mbgl/map/transform_state.hpp | |
parent | 99c5976498f09ca2dffd46dd6e26d2a26b9efc13 (diff) | |
download | qtlocation-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.hpp | 26 |
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; |