diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2014-07-21 11:19:47 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2014-07-21 11:30:51 -0700 |
commit | 86336ed8383f408d8faf92b88267c8d7435394ce (patch) | |
tree | 9993191ddd0496a5f45bc09be0da2565e950d5ec | |
parent | c76ef7700c5ef859e270562203cc1d9af2aea00c (diff) | |
download | qtlocation-mapboxgl-86336ed8383f408d8faf92b88267c8d7435394ce.tar.gz |
Flip name and units and sign of rotation API
Angle -> Bearing
Radians -> Degrees
Clockwise -> Counterclockwise
-rw-r--r-- | common/settings_json.cpp | 6 | ||||
-rw-r--r-- | common/settings_json.hpp | 2 | ||||
-rw-r--r-- | common/settings_nsuserdefaults.hpp | 2 | ||||
-rw-r--r-- | common/settings_nsuserdefaults.mm | 8 | ||||
-rw-r--r-- | include/mbgl/map/map.hpp | 6 | ||||
-rw-r--r-- | linux/main.cpp | 4 | ||||
-rw-r--r-- | macosx/main.mm | 4 | ||||
-rw-r--r-- | src/map/map.cpp | 15 | ||||
-rw-r--r-- | test/headless.cpp | 2 |
9 files changed, 26 insertions, 23 deletions
diff --git a/common/settings_json.cpp b/common/settings_json.cpp index bceab50da6..f2f1248aa6 100644 --- a/common/settings_json.cpp +++ b/common/settings_json.cpp @@ -18,7 +18,7 @@ void Settings_JSON::load() { longitude = document[rapidjson::SizeType(0)].GetDouble(); latitude = document[1].GetDouble(); zoom = document[2].GetDouble(); - angle = document[3].GetDouble(); + bearing = document[3].GetDouble(); debug = document[4].GetBool(); } } @@ -32,7 +32,7 @@ void Settings_JSON::save() { writer.Double(longitude); writer.Double(latitude); writer.Double(zoom); - writer.Double(angle); + writer.Double(bearing); writer.Bool(debug); writer.EndArray(); } @@ -41,6 +41,6 @@ void Settings_JSON::clear() { longitude = 0; latitude = 0; zoom = 0; - angle = 0; + bearing = 0; debug = false; } diff --git a/common/settings_json.hpp b/common/settings_json.hpp index 09f7841c91..25c2179ba0 100644 --- a/common/settings_json.hpp +++ b/common/settings_json.hpp @@ -14,7 +14,7 @@ public: double longitude = 0; double latitude = 0; double zoom = 0; - double angle = 0; + double bearing = 0; bool debug = false; }; diff --git a/common/settings_nsuserdefaults.hpp b/common/settings_nsuserdefaults.hpp index dcc6ab46b9..3533e3da35 100644 --- a/common/settings_nsuserdefaults.hpp +++ b/common/settings_nsuserdefaults.hpp @@ -14,7 +14,7 @@ public: double longitude = 0; double latitude = 0; double zoom = 0; - double angle = 0; + double bearing = 0; bool debug = false; }; diff --git a/common/settings_nsuserdefaults.mm b/common/settings_nsuserdefaults.mm index 24571677f4..dfc601bddb 100644 --- a/common/settings_nsuserdefaults.mm +++ b/common/settings_nsuserdefaults.mm @@ -9,7 +9,7 @@ Settings_NSUserDefaults::Settings_NSUserDefaults() [[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"longitude" : @(longitude), @"latitude" : @(latitude), @"zoom" : @(zoom), - @"angle" : @(angle), + @"bearing" : @(bearing), @"debug" : @(debug) }]; load(); } @@ -21,7 +21,7 @@ void Settings_NSUserDefaults::load() longitude = [settings[@"longitude"] doubleValue]; latitude = [settings[@"latitude"] doubleValue]; zoom = [settings[@"zoom"] doubleValue]; - angle = [settings[@"angle"] doubleValue]; + bearing = [settings[@"bearing"] doubleValue]; debug = [settings[@"debug"] boolValue]; } @@ -29,8 +29,8 @@ void Settings_NSUserDefaults::save() { [[NSUserDefaults standardUserDefaults] setValuesForKeysWithDictionary:@{ @"longitude" : @(longitude), @"latitude" : @(latitude), - @"zoom" : @(zoom), - @"angle" : @(angle), + @"zoom" : @(zoom), + @"bearing" : @(bearing), @"debug" : @(debug) }]; [[NSUserDefaults standardUserDefaults] synchronize]; } diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index 774e5e1292..78e7993db8 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -89,9 +89,9 @@ public: // Rotation void rotateBy(double sx, double sy, double ex, double ey, double duration = 0); - void setAngle(double angle, double duration = 0); - void setAngle(double angle, double cx, double cy); - double getAngle() const; + void setBearing(double degrees, double duration = 0); + void setBearing(double degrees, double cx, double cy); + double getBearing() const; void resetNorth(); void startRotating(); void stopRotating(); diff --git a/linux/main.cpp b/linux/main.cpp index e603be55e4..d51d2c8846 100644 --- a/linux/main.cpp +++ b/linux/main.cpp @@ -60,7 +60,7 @@ int main(int argc, char *argv[]) { // Load settings mbgl::Settings_JSON settings; map.setLonLatZoom(settings.longitude, settings.latitude, settings.zoom); - map.setAngle(settings.angle); + map.setBearing(settings.bearing); map.setDebug(settings.debug); // Set access token if present @@ -78,7 +78,7 @@ int main(int argc, char *argv[]) { // Save settings map.getLonLatZoom(settings.longitude, settings.latitude, settings.zoom); - settings.angle = map.getAngle(); + settings.bearing = map.getBearing(); settings.debug = map.getDebug(); settings.save(); diff --git a/macosx/main.mm b/macosx/main.mm index da78f089c5..3df85a782a 100644 --- a/macosx/main.mm +++ b/macosx/main.mm @@ -13,7 +13,7 @@ int main() { // Load settings mbgl::Settings_NSUserDefaults settings; map.setLonLatZoom(settings.longitude, settings.latitude, settings.zoom); - map.setAngle(settings.angle); + map.setBearing(settings.bearing); map.setDebug(settings.debug); // Set access token if present @@ -32,7 +32,7 @@ int main() { // Save settings map.getLonLatZoom(settings.longitude, settings.latitude, settings.zoom); - settings.angle = map.getAngle(); + settings.bearing = map.getBearing(); settings.debug = map.getDebug(); settings.save(); diff --git a/src/map/map.cpp b/src/map/map.cpp index 1c3d01c180..ff76de8a5c 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -18,6 +18,9 @@ #include <memory> #include <iostream> +#define _USE_MATH_DEFINES +#include <cmath> + using namespace mbgl; Map::Map(View& view) @@ -333,20 +336,20 @@ void Map::rotateBy(double sx, double sy, double ex, double ey, double duration) } // Note: This function is called from another thread. Make sure you only call threadsafe functions! -void Map::setAngle(double angle, double duration) { - transform.setAngle(angle, duration * 1_second); +void Map::setBearing(double degrees, double duration) { + transform.setAngle(-degrees * M_PI / 180, duration * 1_second); update(); } // Note: This function is called from another thread. Make sure you only call threadsafe functions! -void Map::setAngle(double angle, double cx, double cy) { - transform.setAngle(angle, cx, cy); +void Map::setBearing(double degrees, double cx, double cy) { + transform.setAngle(-degrees * M_PI / 180, cx, cy); update(); } // Note: This function is called from another thread. Make sure you only call threadsafe functions! -double Map::getAngle() const { - return transform.getAngle(); +double Map::getBearing() const { + return -transform.getAngle() / M_PI * 180; } // Note: This function is called from another thread. Make sure you only call threadsafe functions! diff --git a/test/headless.cpp b/test/headless.cpp index 18a17d6bdf..4838ca560c 100644 --- a/test/headless.cpp +++ b/test/headless.cpp @@ -74,7 +74,7 @@ TEST_P(HeadlessTest, render) { view.resize(width, height); map.resize(width, height); map.setLonLatZoom(longitude, latitude, zoom); - map.setAngle(bearing); + map.setBearing(bearing); // Run the loop. It will terminate when we don't have any further listeners. map.run(); |