1 package org.djunits.unit;
2
3 import static org.djunits.unit.unitsystem.UnitSystem.OTHER;
4
5 import org.djunits.unit.unitsystem.UnitSystem;
6
7
8
9
10
11
12
13
14
15
16
17 public class PositionUnit extends AbsoluteLinearUnit<PositionUnit, LengthUnit>
18 {
19
20 private static final long serialVersionUID = 20140607L;
21
22
23 public static final PositionUnit BASE;
24
25
26 public static final PositionUnit ATTOMETER;
27
28
29 public static final PositionUnit FEMTOMETER;
30
31
32 public static final PositionUnit PICOMETER;
33
34
35 public static final PositionUnit NANOMETER;
36
37
38 public static final PositionUnit MICROMETER;
39
40
41 public static final PositionUnit MILLIMETER;
42
43
44 public static final PositionUnit METER;
45
46
47 public static final PositionUnit CENTIMETER;
48
49
50 public static final PositionUnit DECIMETER;
51
52
53 public static final PositionUnit DEKAMETER;
54
55
56 public static final PositionUnit HECTOMETER;
57
58
59 public static final PositionUnit KILOMETER;
60
61
62 public static final PositionUnit MEGAMETER;
63
64
65 public static final PositionUnit INCH;
66
67
68 public static final PositionUnit FOOT;
69
70
71 public static final PositionUnit YARD;
72
73
74 public static final PositionUnit MILE;
75
76
77 public static final PositionUnit NAUTICAL_MILE;
78
79
80 public static final PositionUnit ASTRONOMICAL_UNIT;
81
82
83 public static final PositionUnit LIGHTYEAR;
84
85
86 public static final PositionUnit PARSEC;
87
88
89 public static final PositionUnit ANGSTROM;
90
91 static
92 {
93 METER = new PositionUnit("PositionUnit.m", OTHER, 1.0, 0.0, LengthUnit.METER);
94 BASE = METER;
95 ATTOMETER = new PositionUnit("PositionUnit.am", OTHER, 1.0E-18, 0.0, LengthUnit.ATTOMETER);
96 FEMTOMETER = new PositionUnit("PositionUnit.fm", OTHER, 1.0E-15, 0.0, LengthUnit.FEMTOMETER);
97 PICOMETER = new PositionUnit("PositionUnit.pm", OTHER, 1.0E-12, 0.0, LengthUnit.PICOMETER);
98 NANOMETER = new PositionUnit("PositionUnit.nm", OTHER, 1.0E-9, 0.0, LengthUnit.NANOMETER);
99 MICROMETER = new PositionUnit("PositionUnit.mum", OTHER, 1.0E-6, 0.0, LengthUnit.MICROMETER);
100 MILLIMETER = new PositionUnit("PositionUnit.mm", OTHER, 0.001, 0.0, LengthUnit.MILLIMETER);
101 CENTIMETER = new PositionUnit("PositionUnit.cm", OTHER, 0.01, 0.0, LengthUnit.CENTIMETER);
102 DECIMETER = new PositionUnit("PositionUnit.dm", OTHER, 0.1, 0.0, LengthUnit.DECIMETER);
103 DEKAMETER = new PositionUnit("PositionUnit.dam", OTHER, 10.0, 0.0, LengthUnit.DEKAMETER);
104 HECTOMETER = new PositionUnit("PositionUnit.hm", OTHER, 100.0, 0.0, LengthUnit.HECTOMETER);
105 KILOMETER = new PositionUnit("PositionUnit.km", OTHER, 1000.0, 0.0, LengthUnit.KILOMETER);
106 MEGAMETER = new PositionUnit("PositionUnit.Mm", OTHER, 1000000.0, 0.0, LengthUnit.MEGAMETER);
107 FOOT = new PositionUnit("PositionUnit.ft", OTHER, 0.3048, 0.0, LengthUnit.FOOT);
108 INCH = new PositionUnit("PositionUnit.in", OTHER, 0.3048 / 12.0, 0.0, LengthUnit.INCH);
109 MILE = new PositionUnit("PositionUnit.mi", OTHER, 0.3048 * 5280.0, 0.0, LengthUnit.MILE);
110 YARD = new PositionUnit("PositionUnit.yd", OTHER, 0.3048 * 3.0, 0.0, LengthUnit.YARD);
111 NAUTICAL_MILE = new PositionUnit("PositionUnit.NM", OTHER, 1852.0, 0.0, LengthUnit.NAUTICAL_MILE);
112 ASTRONOMICAL_UNIT = new PositionUnit("PositionUnit.AU", OTHER, 149597870700.0, 0.0, LengthUnit.ASTRONOMICAL_UNIT);
113 LIGHTYEAR = new PositionUnit("PositionUnit.ly", OTHER, 9460730472580800.0, 0.0, LengthUnit.LIGHTYEAR);
114 PARSEC = new PositionUnit("PositionUnit.pc", OTHER, 648000 / Math.PI, 0.0, LengthUnit.PARSEC);
115 ANGSTROM = new PositionUnit("PositionUnit.A", OTHER, 1E-10, 0.0, LengthUnit.ANGSTROM);
116 }
117
118
119
120
121
122
123
124
125
126 private PositionUnit(final String abbreviationKey, final UnitSystem unitSystem, final double scaleFactor,
127 final double offset, final LengthUnit relativeUnit)
128 {
129 super(abbreviationKey, unitSystem, scaleFactor, offset, relativeUnit);
130 }
131
132
133
134
135
136
137
138
139
140
141 public PositionUnit(final String name, final String abbreviation, final UnitSystem unitSystem, final double scaleFactor,
142 final double offset, final LengthUnit relativeUnit)
143 {
144 super(name, abbreviation, unitSystem, scaleFactor, offset, relativeUnit);
145 }
146
147
148 @Override
149 public final PositionUnit getStandardUnit()
150 {
151 return BASE;
152 }
153
154
155 @Override
156 public final String getSICoefficientsString()
157 {
158 return "m";
159 }
160
161 }