]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/data/UnitSet.java
7239ead76177fde38ba9c1a8ad614a60f90c0d8d
[GpsPrune.git] / tim / prune / data / UnitSet.java
1 package tim.prune.data;
2
3 /**
4  * Class to hold a set of units for distance, altitude and speed
5  */
6 public class UnitSet
7 {
8         private String _nameKey = null;
9         private Unit _distanceUnit = null;
10         private Unit _speedUnit = null;
11         private Unit _altitudeUnit = null;
12         private Unit _vertSpeedUnit = null;
13
14         /**
15          * Constructor
16          * @param inNameKey name key
17          * @param inDistanceUnit distance unit
18          * @param inAltitudeUnit altitude unit
19          * @param inAltitudeFormat default altitude format
20          * @param inSpeedUnit unit for horizontal speeds
21          * @param inVerticalSpeedUnit unit for vertical speeds
22          */
23         public UnitSet(String inNameKey, Unit inDistanceUnit,
24                 Unit inAltitudeUnit, Unit inSpeedUnit, Unit inVerticalSpeedUnit)
25         {
26                 _nameKey = inNameKey;
27                 _distanceUnit = inDistanceUnit;
28                 _altitudeUnit = inAltitudeUnit;
29                 _speedUnit = inSpeedUnit;
30                 _vertSpeedUnit = inVerticalSpeedUnit;
31         }
32
33         /**
34          * @return name key
35          */
36         public String getNameKey() {
37                 return _nameKey;
38         }
39
40         /**
41          * @return distance unit
42          */
43         public Unit getDistanceUnit() {
44                 return _distanceUnit;
45         }
46
47         /**
48          * @return speed unit
49          */
50         public Unit getSpeedUnit() {
51                 return _speedUnit;
52         }
53
54         /**
55          * @return altitude unit
56          */
57         public Unit getAltitudeUnit() {
58                 return _altitudeUnit;
59         }
60
61         /**
62          * @return vertical speed unit
63          */
64         public Unit getVerticalSpeedUnit() {
65                 return _vertSpeedUnit;
66         }
67
68         /**
69          * @return default point creation options for this unit set
70          */
71         public PointCreateOptions getDefaultOptions()
72         {
73                 PointCreateOptions options = new PointCreateOptions();
74                 options.setAltitudeUnits(getAltitudeUnit());
75                 options.setSpeedUnits(getSpeedUnit());
76                 options.setVerticalSpeedUnits(getVerticalSpeedUnit(), true);
77                 return options;
78         }
79 }