1 package org.djunits.demo.website;
2
3 import org.djunits.unit.LengthUnit;
4 import org.djunits.unit.LinearUnit;
5 import org.djunits.unit.DurationUnit;
6 import org.djunits.unit.unitsystem.UnitSystem;
7
8
9
10
11
12
13
14
15
16
17
18
19
20 @SuppressWarnings({"javadoc"})
21 public class JerkUnit extends LinearUnit<JerkUnit>
22 {
23 private final LengthUnit lengthUnit;
24 private final DurationUnit durationUnit;
25 public static final JerkUnit SI;
26 public static final JerkUnit M_PER_S3;
27 public static final JerkUnit CM_PER_S3;
28 public static final JerkUnit FT_PER_S3;
29 public static final JerkUnit JERK;
30
31 static
32 {
33 SI = new JerkUnit(LengthUnit.METER, DurationUnit.SECOND,
34 "meter per cubed second", "m/s^3", UnitSystem.SI_BASE);
35 M_PER_S3 = SI;
36 CM_PER_S3 = new JerkUnit(LengthUnit.CENTIMETER, DurationUnit.SECOND,
37 "centimeter per cubed second", "cm/s^3", UnitSystem.SI_BASE);
38 FT_PER_S3 = new JerkUnit(LengthUnit.FOOT, DurationUnit.SECOND,
39 "foot per cubed second", "ft/s^3", UnitSystem.IMPERIAL);
40 JERK = new JerkUnit("jerk", "jerk", UnitSystem.OTHER, SI, 0.3048);
41 }
42
43 public JerkUnit(final LengthUnit lengthUnit, final DurationUnit durationUnit, final String name,
44 final String abbreviation, final UnitSystem unitSystem)
45 {
46 super(name, abbreviation, unitSystem, SI, lengthUnit.getScaleFactor()
47 / Math.pow(durationUnit.getScaleFactor(), 3.0), false);
48 this.lengthUnit = lengthUnit;
49 this.durationUnit = durationUnit;
50 }
51
52 public JerkUnit(final String name, final String abbreviation, final UnitSystem unitSystem,
53 final JerkUnit referenceUnit, final double conversionFactorToReferenceUnit)
54 {
55 super(name, abbreviation, unitSystem, referenceUnit, conversionFactorToReferenceUnit,
56 false);
57 this.lengthUnit = referenceUnit.getLengthUnit();
58 this.durationUnit = referenceUnit.getDurationUnit();
59 }
60
61 public final LengthUnit getLengthUnit() { return this.lengthUnit; }
62 public final DurationUnit getDurationUnit() { return this.durationUnit; }
63
64 @Override
65 public final JerkUnit getStandardUnit() { return SI; }
66
67 @Override
68 public final String getSICoefficientsString() { return "m/s3"; }
69 }
70