X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FPointCreateOptions.java;fp=tim%2Fprune%2Fdata%2FPointCreateOptions.java;h=2f61336041e270c0e0fb00be8e1276fabd4b6090;hb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;hp=0000000000000000000000000000000000000000;hpb=b361869e590bbca32664c16ac24d6296926594a5;p=GpsPrune.git diff --git a/tim/prune/data/PointCreateOptions.java b/tim/prune/data/PointCreateOptions.java new file mode 100644 index 0000000..2f61336 --- /dev/null +++ b/tim/prune/data/PointCreateOptions.java @@ -0,0 +1,72 @@ +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)"); + } +}