summaryrefslogtreecommitdiff
path: root/altoslib/AltosGreatCircle.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-06-15 22:40:27 -0700
committerKeith Packard <keithp@keithp.com>2016-06-15 22:40:27 -0700
commit1b5ea911049a8afae6af475a4a2bf62a6e3aa57b (patch)
tree7f896e587da5e7911b7b5a42aade1b7692670200 /altoslib/AltosGreatCircle.java
parent1de8b6c340cec0b5a327392686c5a4e00f201e98 (diff)
altoslib: Switch preserved state format to JSON
This is much easier to debug than the icky strings with backslashes everywhere. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosGreatCircle.java')
-rw-r--r--altoslib/AltosGreatCircle.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java
index 9ec808a5..8fd380a1 100644
--- a/altoslib/AltosGreatCircle.java
+++ b/altoslib/AltosGreatCircle.java
@@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;
import java.lang.Math;
import java.io.*;
-public class AltosGreatCircle implements Cloneable, AltosHashable {
+public class AltosGreatCircle implements Cloneable, AltosHashable, AltosJsonable {
public double distance;
public double bearing;
public double range;
@@ -115,6 +115,17 @@ public class AltosGreatCircle implements Cloneable, AltosHashable {
return h;
}
+ public AltosJson json() {
+ AltosJson j = new AltosJson();
+
+ j.put("distance", distance);
+ j.put("bearing", bearing);
+ j.put("range", range);
+ j.put("elevation", elevation);
+
+ return j;
+ }
+
public AltosGreatCircle(AltosHashSet h) {
this();
@@ -130,4 +141,20 @@ public class AltosGreatCircle implements Cloneable, AltosHashable {
return new AltosGreatCircle(h);
}
+
+ public AltosGreatCircle(AltosJson j) {
+ this();
+
+ distance = j.get_double("distance", distance);
+ bearing = j.get_double("bearing", bearing);
+ range = j.get_double("range", range);
+ elevation = j.get_double("elevation", elevation);
+ }
+
+ public static AltosGreatCircle fromJson(AltosJson j, AltosGreatCircle def) {
+ if (j == null)
+ return def;
+
+ return new AltosGreatCircle(j);
+ }
}