*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_12;
import java.lang.Math;
import java.io.*;
-public class AltosGreatCircle implements Cloneable, AltosHashable {
+public class AltosGreatCircle implements Cloneable {
public double distance;
public double bearing;
public double range;
course = 2 * Math.PI-course;
}
distance = d * earth_radius;
- bearing = course * 180/Math.PI;
+ if (Double.isNaN(course) || Double.isInfinite(course))
+ bearing = 0;
+ else
+ bearing = course * 180/Math.PI;
double height_diff = end_alt - start_alt;
range = Math.sqrt(distance * distance + height_diff * height_diff);
range = 0;
elevation = 0;
}
-
- public AltosHashSet hashSet() {
- AltosHashSet h = new AltosHashSet();
-
- h.putDouble("distance", distance);
- h.putDouble("bearing", bearing);
- h.putDouble("range", range);
- h.putDouble("elevation", elevation);
-
- return h;
- }
-
- public AltosGreatCircle(AltosHashSet h) {
- this();
-
- distance = h.getDouble("distance", distance);
- bearing = h.getDouble("bearing", bearing);
- range = h.getDouble("range", range);
- elevation = h.getDouble("elevation", elevation);
- }
-
- public static AltosGreatCircle fromHashSet(AltosHashSet h, AltosGreatCircle def) {
- if (h == null)
- return def;
-
- return new AltosGreatCircle(h);
- }
}