]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/data/PointCreateOptions.java
2f61336041e270c0e0fb00be8e1276fabd4b6090
[GpsPrune.git] / tim / prune / data / PointCreateOptions.java
1 package tim.prune.data;
2
3 /**
4  * Class to hold the options when creating (or loading) a new point,
5  * such as units for altitudes, speeds and vertical speeds
6  */
7 public class PointCreateOptions
8 {
9         private Unit _altitudeUnit  = UnitSetLibrary.UNITS_METRES;
10         private Unit _speedUnit     = UnitSetLibrary.SPEED_UNITS_METRESPERSEC;
11         private Unit _vertSpeedUnit = UnitSetLibrary.SPEED_UNITS_METRESPERSEC;
12         private boolean _vertSpeedsUpwards = true;
13
14         /**
15          * @param inUnit altitude units (only metres or feet accepted)
16          */
17         public void setAltitudeUnits(Unit inUnit)
18         {
19                 if (inUnit == UnitSetLibrary.UNITS_METRES || inUnit == UnitSetLibrary.UNITS_FEET) {
20                         _altitudeUnit = inUnit;
21                 }
22         }
23
24         /** @return altitude units */
25         public Unit getAltitudeUnits() {return _altitudeUnit;}
26
27         /**
28          * @param inUnit speed units (only m/s, ft/s, km/h and mph accepted)
29          */
30         public void setSpeedUnits(Unit inUnit)
31         {
32                 if (inUnit == UnitSetLibrary.SPEED_UNITS_METRESPERSEC
33                         || inUnit == UnitSetLibrary.SPEED_UNITS_FEETPERSEC
34                         || inUnit == UnitSetLibrary.SPEED_UNITS_KMPERHOUR
35                         || inUnit == UnitSetLibrary.SPEED_UNITS_MILESPERHOUR)
36                 {
37                         _speedUnit = inUnit;
38                 }
39         }
40
41         /** @return speed units */
42         public Unit getSpeedUnits() {return _speedUnit;}
43
44         /**
45          * @param inUnit speed units (only m/s, ft/s, km/h and mph accepted)
46          * @param inUpwards true if positive speeds are upwards, negative downwards
47          */
48         public void setVerticalSpeedUnits(Unit inUnit, boolean inUpwards)
49         {
50                 if (inUnit == UnitSetLibrary.SPEED_UNITS_METRESPERSEC
51                         || inUnit == UnitSetLibrary.SPEED_UNITS_FEETPERSEC
52                         || inUnit == UnitSetLibrary.SPEED_UNITS_KMPERHOUR
53                         || inUnit == UnitSetLibrary.SPEED_UNITS_MILESPERHOUR)
54                 {
55                         _vertSpeedUnit = inUnit;
56                         _vertSpeedsUpwards = inUpwards;
57                 }
58         }
59
60         /** @return vertical speed units */
61         public Unit getVerticalSpeedUnits() {return _vertSpeedUnit;}
62
63         /** @return true if positive speeds are upwards, negative downwards */
64         public boolean getVerticalSpeedsUpwards() {return _vertSpeedsUpwards;}
65
66         /** for debug */
67         public String toString()
68         {
69                 return "options: altitude " + _altitudeUnit.getNameKey() + ", speed " + _speedUnit.getNameKey() +
70                         ", vspeed " + _vertSpeedUnit.getNameKey() + (_vertSpeedsUpwards ? " (upwards)" : " (downwards)");
71         }
72 }