--- /dev/null
+package tim.prune.data;
+
+/**
+ * Class to hold the options when creating (or loading) a new point,
+ * such as units for altitudes, speeds and vertical speeds
+ */
+public class PointCreateOptions
+{
+ private Unit _altitudeUnit = UnitSetLibrary.UNITS_METRES;
+ private Unit _speedUnit = UnitSetLibrary.SPEED_UNITS_METRESPERSEC;
+ private Unit _vertSpeedUnit = UnitSetLibrary.SPEED_UNITS_METRESPERSEC;
+ private boolean _vertSpeedsUpwards = true;
+
+ /**
+ * @param inUnit altitude units (only metres or feet accepted)
+ */
+ public void setAltitudeUnits(Unit inUnit)
+ {
+ if (inUnit == UnitSetLibrary.UNITS_METRES || inUnit == UnitSetLibrary.UNITS_FEET) {
+ _altitudeUnit = inUnit;
+ }
+ }
+
+ /** @return altitude units */
+ public Unit getAltitudeUnits() {return _altitudeUnit;}
+
+ /**
+ * @param inUnit speed units (only m/s, ft/s, km/h and mph accepted)
+ */
+ public void setSpeedUnits(Unit inUnit)
+ {
+ if (inUnit == UnitSetLibrary.SPEED_UNITS_METRESPERSEC
+ || inUnit == UnitSetLibrary.SPEED_UNITS_FEETPERSEC
+ || inUnit == UnitSetLibrary.SPEED_UNITS_KMPERHOUR
+ || inUnit == UnitSetLibrary.SPEED_UNITS_MILESPERHOUR)
+ {
+ _speedUnit = inUnit;
+ }
+ }
+
+ /** @return speed units */
+ public Unit getSpeedUnits() {return _speedUnit;}
+
+ /**
+ * @param inUnit speed units (only m/s, ft/s, km/h and mph accepted)
+ * @param inUpwards true if positive speeds are upwards, negative downwards
+ */
+ public void setVerticalSpeedUnits(Unit inUnit, boolean inUpwards)
+ {
+ if (inUnit == UnitSetLibrary.SPEED_UNITS_METRESPERSEC
+ || inUnit == UnitSetLibrary.SPEED_UNITS_FEETPERSEC
+ || inUnit == UnitSetLibrary.SPEED_UNITS_KMPERHOUR
+ || inUnit == UnitSetLibrary.SPEED_UNITS_MILESPERHOUR)
+ {
+ _vertSpeedUnit = inUnit;
+ _vertSpeedsUpwards = inUpwards;
+ }
+ }
+
+ /** @return vertical speed units */
+ public Unit getVerticalSpeedUnits() {return _vertSpeedUnit;}
+
+ /** @return true if positive speeds are upwards, negative downwards */
+ public boolean getVerticalSpeedsUpwards() {return _vertSpeedsUpwards;}
+
+ /** for debug */
+ public String toString()
+ {
+ return "options: altitude " + _altitudeUnit.getNameKey() + ", speed " + _speedUnit.getNameKey() +
+ ", vspeed " + _vertSpeedUnit.getNameKey() + (_vertSpeedsUpwards ? " (upwards)" : " (downwards)");
+ }
+}