From 2a1b7c6c509d4d19de21abf02b63aeacba269d13 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 16 Jun 2016 23:59:06 -0700 Subject: [PATCH] altoslib: Add null constructors to AltosQuaternion and AltosRotation These will be used in the reflection-based JSON code Signed-off-by: Keith Packard --- altoslib/AltosQuaternion.java | 15 +++++++++++---- altoslib/AltosRotation.java | 12 ++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/altoslib/AltosQuaternion.java b/altoslib/AltosQuaternion.java index 1b4a9419..98c2fe51 100644 --- a/altoslib/AltosQuaternion.java +++ b/altoslib/AltosQuaternion.java @@ -115,10 +115,17 @@ public class AltosQuaternion implements AltosJsonable { } 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) { diff --git a/altoslib/AltosRotation.java b/altoslib/AltosRotation.java index 321a0f30..6db0b541 100644 --- a/altoslib/AltosRotation.java +++ b/altoslib/AltosRotation.java @@ -48,14 +48,18 @@ public class AltosRotation implements AltosJsonable { rotation = up.vectors_to_rotation(orient); } - public AltosJson json() { - return rotation.json(); - } - 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; -- 2.30.2