RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
LinearAccelerationUnit.java
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5package org.wpilib.units;
6
7import org.wpilib.units.measure.LinearAcceleration;
8
10public final class LinearAccelerationUnit extends PerUnit<LinearVelocityUnit, TimeUnit> {
12 cache = new CombinatoryUnitCache<>(LinearAccelerationUnit::new);
13
14 LinearAccelerationUnit(LinearVelocityUnit numerator, TimeUnit denominator) {
15 super(
16 numerator.isBaseUnit() && denominator.isBaseUnit()
17 ? null
18 : combine(numerator.getBaseUnit(), denominator.getBaseUnit()),
21 }
22
23 LinearAccelerationUnit(
24 LinearAccelerationUnit baseUnit,
25 UnaryFunction toBaseConverter,
26 UnaryFunction fromBaseConverter,
27 String name,
28 String symbol) {
29 super(baseUnit, toBaseConverter, fromBaseConverter, name, symbol);
30 }
31
39 public static LinearAccelerationUnit combine(LinearVelocityUnit velocity, TimeUnit period) {
40 return cache.combine(velocity, period);
41 }
42
43 @Override
45 return (LinearAccelerationUnit) super.getBaseUnit();
46 }
47
48 @Override
49 public LinearAcceleration of(double magnitude) {
50 return new LinearAcceleration(magnitude, toBaseUnits(magnitude), this);
51 }
52
53 @Override
54 public LinearAcceleration ofBaseUnits(double baseUnitMagnitude) {
55 return new LinearAcceleration(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
56 }
57
58 @Override
59 public LinearAcceleration zero() {
60 return (LinearAcceleration) super.zero();
61 }
62
63 @Override
64 public LinearAcceleration one() {
65 return (LinearAcceleration) super.one();
66 }
67
68 @Override
69 public VelocityUnit<LinearAccelerationUnit> per(TimeUnit time) {
70 return VelocityUnit.combine(this, time);
71 }
72
80 public <U extends Unit> PerUnit<LinearAccelerationUnit, U> per(U other) {
81 return PerUnit.combine(this, other);
82 }
83
91 public double convertFrom(double magnitude, LinearAccelerationUnit otherUnit) {
92 return fromBaseUnits(otherUnit.toBaseUnits(magnitude));
93 }
94
102 return numerator();
103 }
104
113 return denominator();
114 }
115}
CombinatoryUnitCache(BiFunction<? super A, ? super B, ? extends Out > constructor)
double convertFrom(double magnitude, LinearAccelerationUnit otherUnit)
static LinearAccelerationUnit combine(LinearVelocityUnit velocity, TimeUnit period)
Measure<? extends PerUnit< N, D > > zero()
Definition PerUnit.java:212
boolean isBaseUnit()
Definition Unit.java:146