X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosRotation.java;h=6db0b541595ce37f51acd0f78c413abd07b72c38;hb=93de1d7ec841c55f5a1a63d34b422780a6fbe3c3;hp=e3c4dd56b539fb2ed6ec9b56b81765e2265882ea;hpb=7041c386cdf37716f8daf0bc1a9204db620e3de9;p=fw%2Faltos diff --git a/altoslib/AltosRotation.java b/altoslib/AltosRotation.java index e3c4dd56..6db0b541 100644 --- a/altoslib/AltosRotation.java +++ b/altoslib/AltosRotation.java @@ -15,9 +15,9 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_9; +package org.altusmetrum.altoslib_11; -public class AltosRotation { +public class AltosRotation implements AltosJsonable { private AltosQuaternion rotation; public double tilt() { @@ -47,4 +47,23 @@ public class AltosRotation { AltosQuaternion up = new AltosQuaternion(0, 0, 0, sky); rotation = up.vectors_to_rotation(orient); } + + public AltosRotation(AltosJson j) { + rotation = new AltosQuaternion(j); + } + + public AltosRotation() { + rotation = new AltosQuaternion(); + } + + public AltosJson json() { + return rotation.json(); + } + + public static AltosRotation fromJson(AltosJson j, AltosRotation def) { + if (j == null) + return def; + + return new AltosRotation(j); + } }