diff options
author | Keith Packard <keithp@keithp.com> | 2013-08-27 21:28:07 -0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-08-29 06:47:37 -0600 |
commit | 04d7d0f829ba953ffeca8ad9887a4b6b2b5d5087 (patch) | |
tree | 5a0c085740c465adb7f52442f34eaf4ee08ce7dc /altoslib/AltosGreatCircle.java | |
parent | dcc51bb18985c24fa35bce0dd42ea3d847b960bf (diff) |
altoslib: Start restructuring AltosState harder
Make per-packet code update state itself rather than having all state
updates done centrally. Will make adding new packet types easier.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosGreatCircle.java')
-rw-r--r-- | altoslib/AltosGreatCircle.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java index f1cf0ae9..770c3c6c 100644 --- a/altoslib/AltosGreatCircle.java +++ b/altoslib/AltosGreatCircle.java @@ -19,7 +19,7 @@ package org.altusmetrum.altoslib_1; import java.lang.Math; -public class AltosGreatCircle { +public class AltosGreatCircle implements Cloneable { public double distance; public double bearing; public double range; @@ -95,6 +95,16 @@ public class AltosGreatCircle { elevation = Math.atan2(height_diff, distance) * 180 / Math.PI; } + public AltosGreatCircle clone() { + AltosGreatCircle n = new AltosGreatCircle(); + + n.distance = distance; + n.bearing = bearing; + n.range = range; + n.elevation = elevation; + return n; + } + public AltosGreatCircle (double start_lat, double start_lon, double end_lat, double end_lon) { this(start_lat, start_lon, 0, end_lat, end_lon, 0); |