RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
LinearVelocityUnit.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.LinearVelocity;
8
10public final class LinearVelocityUnit extends PerUnit<DistanceUnit, TimeUnit> {
12 new CombinatoryUnitCache<>(LinearVelocityUnit::new);
13
14 LinearVelocityUnit(DistanceUnit unit, TimeUnit period) {
15 super(
16 unit.isBaseUnit() && period.isBaseUnit()
17 ? null
18 : combine(unit.getBaseUnit(), period.getBaseUnit()),
19 unit,
20 period);
21 }
22
23 LinearVelocityUnit(
24 PerUnit<DistanceUnit, TimeUnit> 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 LinearVelocityUnit combine(DistanceUnit distance, TimeUnit period) {
40 return cache.combine(distance, period);
41 }
42
43 @Override
45 return (LinearVelocityUnit) super.getBaseUnit();
46 }
47
48 @Override
49 public LinearVelocity of(double magnitude) {
50 return new LinearVelocity(magnitude, toBaseUnits(magnitude), this);
51 }
52
53 @Override
54 public LinearVelocity ofBaseUnits(double baseUnitMagnitude) {
55 return new LinearVelocity(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
56 }
57
58 @Override
59 public LinearVelocity zero() {
60 return (LinearVelocity) super.zero();
61 }
62
63 @Override
64 public LinearVelocity one() {
65 return (LinearVelocity) super.one();
66 }
67
74 @Override
76 return LinearAccelerationUnit.combine(this, period);
77 }
78
86 public <U extends Unit> PerUnit<LinearVelocityUnit, U> per(U other) {
87 return PerUnit.combine(this, other);
88 }
89
97 public double convertFrom(double magnitude, LinearVelocityUnit otherUnit) {
98 return fromBaseUnits(otherUnit.toBaseUnits(magnitude));
99 }
100}
CombinatoryUnitCache(BiFunction<? super A, ? super B, ? extends Out > constructor)
static LinearAccelerationUnit combine(LinearVelocityUnit velocity, TimeUnit period)
double convertFrom(double magnitude, LinearVelocityUnit otherUnit)
static LinearVelocityUnit combine(DistanceUnit distance, TimeUnit period)
LinearAccelerationUnit per(TimeUnit period)
static< N extends Unit, D extends Unit > PerUnit< N, D > combine(N numerator, D denominator)
Definition PerUnit.java:93
Measure<? extends PerUnit< N, D > > zero()
Definition PerUnit.java:212
boolean isBaseUnit()
Definition Unit.java:146