renamed Pos and Pos3
This commit is contained in:
@@ -5,7 +5,7 @@ import lib.KVStore;
|
||||
import kernel.net.Net;
|
||||
import kernel.net.INetworkInterface;
|
||||
import kernel.net.Package;
|
||||
import lib.Pos3;
|
||||
import lib.WorldPos;
|
||||
|
||||
using tink.CoreApi;
|
||||
|
||||
@@ -18,17 +18,17 @@ class GPS {
|
||||
private static var shouldRespond = true;
|
||||
private static var shouldDoWholeNumberCheck = true;
|
||||
private static var posAccuracy = 0; // 0 = unkown, 1 = (ins,best guess), 2 = (stored/manual,should be right), 3 = (gps,confirmed)
|
||||
private static var cachedPosition:Pos3;
|
||||
private static var lastPositionResponse:Array<{pos:Pos3, dist:Float}> = [];
|
||||
private static var cachedPosition:WorldPos;
|
||||
private static var lastPositionResponse:Array<{pos:WorldPos, dist:Float}> = [];
|
||||
|
||||
private static var futureResolve:(pos:Null<Pos3>) -> Void = null;
|
||||
private static var futureResolve:(pos:Null<WorldPos>) -> Void = null;
|
||||
|
||||
@:allow(kernel.Init)
|
||||
private static function init() {
|
||||
loadCachedPosition();
|
||||
}
|
||||
|
||||
public static function setManualPosition(pos:Pos3) {
|
||||
public static function setManualPosition(pos:WorldPos) {
|
||||
var kvstore = new KVStore("gps");
|
||||
kvstore.set("mpos", pos);
|
||||
kvstore.save();
|
||||
@@ -40,12 +40,12 @@ class GPS {
|
||||
}
|
||||
|
||||
@:allow(kernel.gps.INS)
|
||||
private static function setINSPosition(pos:Pos3) {
|
||||
private static function setINSPosition(pos:WorldPos) {
|
||||
cachedPosition = pos;
|
||||
posAccuracy = 1;
|
||||
}
|
||||
|
||||
public static function getPosition():Null<Pos3> {
|
||||
public static function getPosition():Null<WorldPos> {
|
||||
return cachedPosition;
|
||||
}
|
||||
|
||||
@@ -58,17 +58,17 @@ class GPS {
|
||||
posAccuracy = 0;
|
||||
}
|
||||
|
||||
public static function locate():Future<Null<Pos3>> {
|
||||
public static function locate():Future<Null<WorldPos>> {
|
||||
// TODO: implenet a timeout
|
||||
// TODO: dont send a request twice if the last one is still pending or we moved
|
||||
return new Future<Null<Pos3>>((resolve) -> {
|
||||
return new Future<Null<WorldPos>>((resolve) -> {
|
||||
futureResolve = resolve;
|
||||
sendPositionRequest();
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
private static function resolveFuture(pos:Null<Pos3>) {
|
||||
private static function resolveFuture(pos:Null<WorldPos>) {
|
||||
futureResolve(pos);
|
||||
}
|
||||
|
||||
@@ -85,8 +85,8 @@ class GPS {
|
||||
var kvstore = new KVStore("gps");
|
||||
kvstore.load();
|
||||
|
||||
var mPos:Null<Pos3> = kvstore.get("mpos"); // Manual set position
|
||||
var cPos:Null<Pos3> = kvstore.get("cpos"); // Cached position
|
||||
var mPos:Null<WorldPos> = kvstore.get("mpos"); // Manual set position
|
||||
var cPos:Null<WorldPos> = kvstore.get("cpos"); // Cached position
|
||||
|
||||
if (mPos != null && cPos != null && mPos == cPos) {
|
||||
// Both are the same, so we can use the cached position
|
||||
@@ -163,7 +163,7 @@ class GPS {
|
||||
}
|
||||
}
|
||||
|
||||
private static function calculatePosition():Null<Pos3> {
|
||||
private static function calculatePosition():Null<WorldPos> {
|
||||
if (lastPositionResponse.length < 3)
|
||||
return null;
|
||||
|
||||
@@ -219,7 +219,7 @@ class GPS {
|
||||
/**
|
||||
Determines the position(s) of a point given 3 other points and the distance to each of them.
|
||||
**/
|
||||
private static function trilateration(p1:Pos3, p2:Pos3, p3:Pos3, r1:Float, r2:Float, r3:Float):Pair<Pos3, Pos3> {
|
||||
private static function trilateration(p1:WorldPos, p2:WorldPos, p3:WorldPos, r1:Float, r2:Float, r3:Float):Pair<WorldPos, WorldPos> {
|
||||
var a2b = p2 - p1;
|
||||
var a2c = p3 - p1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user