Flip name and units and sign of rotation API

Angle -> Bearing
Radians -> Degrees
Clockwise -> Counterclockwise
This commit is contained in:
John Firebaugh
2014-07-21 11:19:47 -07:00
parent c76ef7700c
commit 86336ed838
9 changed files with 26 additions and 23 deletions

View File

@@ -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;
}

View File

@@ -14,7 +14,7 @@ public:
double longitude = 0;
double latitude = 0;
double zoom = 0;
double angle = 0;
double bearing = 0;
bool debug = false;
};

View File

@@ -14,7 +14,7 @@ public:
double longitude = 0;
double latitude = 0;
double zoom = 0;
double angle = 0;
double bearing = 0;
bool debug = false;
};

View File

@@ -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];
}

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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!

View File

@@ -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();