altoslib: Remove AltosHashSet code
[fw/altos] / altoslib / AltosQuaternion.java
index f78b50653b4e474849418db7cbfb7575517f3fb5..1b4a9419c875799b3abaaca022e0535e75288c61 100644 (file)
@@ -15,9 +15,9 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_8;
+package org.altusmetrum.altoslib_11;
 
-public class AltosQuaternion {
+public class AltosQuaternion implements AltosJsonable {
        double  r;              /* real bit */
        double  x, y, z;        /* imaginary bits */
 
@@ -147,4 +147,24 @@ public class AltosQuaternion {
                                           c_x * s_y * c_z + s_x * c_y * s_z,
                                           c_x * c_y * s_z - s_x * s_y * c_z);
        }
+
+       public AltosJson json() {
+               AltosJson j = new AltosJson();
+
+               j.put("r", r);
+               j.put("x", x);
+               j.put("y", y);
+               j.put("z", z);
+               return j;
+       }
+
+       public AltosQuaternion(AltosJson j) {
+               if (j == null)
+                       return;
+
+               r = j.get_double("r", 1);
+               x = j.get_double("x", 0);
+               y = j.get_double("y", 0);
+               z = j.get_double("z", 0);
+       }
 }