X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosQuaternion.java;h=af9eb47558c701ad273753934826a4f6a5638854;hb=2a4d741872449b5332f28e018fa3acc53ed7d891;hp=4ad1f3d683cf2f484c486305c8ab3074d805257a;hpb=4231d68bae69d9a7d1f52205002db452cd5f986d;p=fw%2Faltos diff --git a/altoslib/AltosQuaternion.java b/altoslib/AltosQuaternion.java index 4ad1f3d6..af9eb475 100644 --- a/altoslib/AltosQuaternion.java +++ b/altoslib/AltosQuaternion.java @@ -15,9 +15,9 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_6; +package org.altusmetrum.altoslib_11; -public class AltosQuaternion { +public class AltosQuaternion implements AltosHashable { 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 AltosHashSet hashSet() { + AltosHashSet h = new AltosHashSet(); + + h.putDouble("r", r); + h.putDouble("x", x); + h.putDouble("y", y); + h.putDouble("z", z); + return h; + } + + public AltosQuaternion(AltosHashSet h) { + if (h == null) + return; + + r = h.getDouble("r", 1); + x = h.getDouble("x", 0); + y = h.getDouble("y", 0); + z = h.getDouble("z", 0); + } }