RobotCore
1.0
WPILib port to raspberry Pi
Toggle main menu visibility
Loading...
Searching...
No Matches
VelocityUnit.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
5
package
org.wpilib.units;
6
7
import
org.wpilib.units.measure.Velocity;
8
19
public
final
class
VelocityUnit<D
extends
Unit
> extends PerUnit<D, TimeUnit> {
20
@SuppressWarnings(
"rawtypes"
)
21
private
static
final
CombinatoryUnitCache<Unit, TimeUnit, VelocityUnit>
cache =
22
new
CombinatoryUnitCache<>
(VelocityUnit::new);
23
24
@SuppressWarnings(
"unchecked"
)
25
VelocityUnit(D
numerator
,
TimeUnit
denominator
) {
26
super(
27
numerator
.isBaseUnit() &&
denominator
.
isBaseUnit
()
28
?
null
29
:
combine
((D)
numerator
.getBaseUnit(),
denominator
.
getBaseUnit
()),
30
numerator
,
31
denominator
);
32
}
33
34
VelocityUnit(
35
VelocityUnit<D> baseUnit,
36
UnaryFunction
toBaseConverter,
37
UnaryFunction
fromBaseConverter,
38
String name,
39
String symbol) {
40
super(baseUnit, toBaseConverter, fromBaseConverter, name, symbol);
41
}
42
51
@SuppressWarnings(
"unchecked"
)
52
public static <D extends
Unit
> VelocityUnit<D>
combine
(D unit,
TimeUnit
period) {
53
return
cache.combine(unit, period);
54
}
55
56
@Override
57
public
VelocityUnit<D>
getBaseUnit
() {
58
return
(
VelocityUnit<D>
) super.getBaseUnit();
59
}
60
66
public
D
getUnit
() {
67
return
numerator
();
68
}
69
75
public
TimeUnit
getPeriod
() {
76
return
denominator
();
77
}
78
79
@Override
80
public
Velocity<D> of(
double
magnitude) {
81
return
new
Velocity<>(magnitude, toBaseUnits(magnitude),
this
);
82
}
83
84
@Override
85
public
Velocity<D> ofBaseUnits(
double
baseUnitMagnitude) {
86
return
new
Velocity<>(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude,
this
);
87
}
88
89
@Override
90
@SuppressWarnings(
"unchecked"
)
91
public Velocity<D>
zero
() {
92
return
(Velocity<D>) super.zero();
93
}
94
95
@Override
96
@SuppressWarnings(
"unchecked"
)
97
public Velocity<D>
one
() {
98
return
(Velocity<D>) super.one();
99
}
100
107
@Override
108
public
AccelerationUnit<D>
per
(
TimeUnit
period) {
109
return
AccelerationUnit
.
combine
(
this
, period);
110
}
111
119
public <U extends Unit>
PerUnit<VelocityUnit<D>
, U>
per
(U other) {
120
return
PerUnit
.
combine
(
this
, other);
121
}
122
130
public
double
convertFrom
(
double
magnitude, VelocityUnit<? extends D> otherUnit) {
131
return
fromBaseUnits(otherUnit.toBaseUnits(magnitude));
132
}
133
}
org.wpilib.units.AccelerationUnit
Definition
AccelerationUnit.java:21
org.wpilib.units.AccelerationUnit.combine
static< D extends Unit > AccelerationUnit< D > combine(VelocityUnit< D > velocity, TimeUnit period)
Definition
AccelerationUnit.java:102
org.wpilib.units.CombinatoryUnitCache
Definition
CombinatoryUnitCache.java:19
org.wpilib.units.CombinatoryUnitCache.CombinatoryUnitCache
CombinatoryUnitCache(BiFunction<? super A, ? super B, ? extends Out > constructor)
Definition
CombinatoryUnitCache.java:34
org.wpilib.units.PerUnit
Definition
PerUnit.java:17
org.wpilib.units.PerUnit.combine
static< N extends Unit, D extends Unit > PerUnit< N, D > combine(N numerator, D denominator)
Definition
PerUnit.java:93
org.wpilib.units.PerUnit< D, TimeUnit >::numerator
N numerator()
Definition
PerUnit.java:108
org.wpilib.units.PerUnit< D, TimeUnit >::getBaseUnit
PerUnit< N, D > getBaseUnit()
Definition
PerUnit.java:99
org.wpilib.units.PerUnit< D, TimeUnit >::denominator
D denominator()
Definition
PerUnit.java:117
org.wpilib.units.PerUnit< D, TimeUnit >::zero
Measure<? extends PerUnit< N, D > > zero()
Definition
PerUnit.java:212
org.wpilib.units.PerUnit< D, TimeUnit >::one
Measure<? extends PerUnit< N, D > > one()
Definition
PerUnit.java:218
org.wpilib.units.TimeUnit
Definition
TimeUnit.java:18
org.wpilib.units.TimeUnit.getBaseUnit
TimeUnit getBaseUnit()
Definition
TimeUnit.java:33
org.wpilib.units.Unit
Definition
Unit.java:15
org.wpilib.units.Unit.isBaseUnit
boolean isBaseUnit()
Definition
Unit.java:146
org.wpilib.units.VelocityUnit
Definition
VelocityUnit.java:19
org.wpilib.units.VelocityUnit.getPeriod
TimeUnit getPeriod()
Definition
VelocityUnit.java:75
org.wpilib.units.VelocityUnit.per
AccelerationUnit< D > per(TimeUnit period)
Definition
VelocityUnit.java:108
org.wpilib.units.VelocityUnit.getUnit
D getUnit()
Definition
VelocityUnit.java:66
org.wpilib.units.VelocityUnit.combine
static< D extends Unit > VelocityUnit< D > combine(D unit, TimeUnit period)
Definition
VelocityUnit.java:52
org.wpilib.units.VelocityUnit.convertFrom
double convertFrom(double magnitude, VelocityUnit<? extends D > otherUnit)
Definition
VelocityUnit.java:130
org.wpilib.units.UnaryFunction
Definition
UnaryFunction.java:17
org
wpilib
units
VelocityUnit.java
Generated by
1.18.0