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)"); } }