altoslib: Improve AltosState save/restore debugging
[fw/altos] / altoslib / AltosQuaternion.java
index af9eb47558c701ad273753934826a4f6a5638854..98c2fe51322851e5b7fb1e5b95723fc173f4655e 100644 (file)
@@ -17,7 +17,7 @@
 
 package org.altusmetrum.altoslib_11;
 
-public class AltosQuaternion implements AltosHashable {
+public class AltosQuaternion implements AltosJsonable {
        double  r;              /* real bit */
        double  x, y, z;        /* imaginary bits */
 
@@ -115,10 +115,17 @@ public class AltosQuaternion implements AltosHashable {
        }
 
        public AltosQuaternion(AltosQuaternion q) {
-               this.r = q.r;
-               this.x = q.x;
-               this.y = q.y;
-               this.z = q.z;
+               r = q.r;
+               x = q.x;
+               y = q.y;
+               z = q.z;
+       }
+
+       public AltosQuaternion() {
+               r = 1;
+               x = 0;
+               y = 0;
+               z = 0;
        }
 
        static public AltosQuaternion vector(double x, double y, double z) {
@@ -148,23 +155,23 @@ public class AltosQuaternion implements AltosHashable {
                                           c_x * c_y * s_z - s_x * s_y * c_z);
        }
 
-       public AltosHashSet hashSet() {
-               AltosHashSet h = new AltosHashSet();
+       public AltosJson json() {
+               AltosJson j = new AltosJson();
 
-               h.putDouble("r", r);
-               h.putDouble("x", x);
-               h.putDouble("y", y);
-               h.putDouble("z", z);
-               return h;
+               j.put("r", r);
+               j.put("x", x);
+               j.put("y", y);
+               j.put("z", z);
+               return j;
        }
 
-       public AltosQuaternion(AltosHashSet h) {
-               if (h == null)
+       public AltosQuaternion(AltosJson j) {
+               if (j == null)
                        return;
 
-               r = h.getDouble("r", 1);
-               x = h.getDouble("x", 0);
-               y = h.getDouble("y", 0);
-               z = h.getDouble("z", 0);
+               r = j.get_double("r", 1);
+               x = j.get_double("x", 0);
+               y = j.get_double("y", 0);
+               z = j.get_double("z", 0);
        }
 }