diff options
Diffstat (limited to 'altoslib/AltosRotation.java')
| -rw-r--r-- | altoslib/AltosRotation.java | 20 | 
1 files changed, 19 insertions, 1 deletions
diff --git a/altoslib/AltosRotation.java b/altoslib/AltosRotation.java index 411ecbdf..e9c447ad 100644 --- a/altoslib/AltosRotation.java +++ b/altoslib/AltosRotation.java @@ -17,7 +17,7 @@  package org.altusmetrum.altoslib_11; -public class AltosRotation { +public class AltosRotation implements AltosHashable {  	private AltosQuaternion		rotation;  	public double tilt() { @@ -47,4 +47,22 @@ public class AltosRotation {  		AltosQuaternion	up = new AltosQuaternion(0, 0, 0, sky);  		rotation = up.vectors_to_rotation(orient);  	} + +	public AltosHashSet hashSet() { +		AltosHashSet h = new AltosHashSet(); + +		h.putHashable("rotation", rotation); +		return h; +	} + +	public AltosRotation(AltosHashSet h) { +		rotation = new AltosQuaternion(h.getHash("rotation")); +	} + +	public static AltosRotation fromHashSet(AltosHashSet h, AltosRotation def) { +		if (h == null) +			return def; + +		return new AltosRotation(h); +	}  }  | 
