RobotCore
1.0
WPILib port to raspberry Pi
Toggle main menu visibility
Loading...
Searching...
No Matches
PowerUnit.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
static
org.wpilib.units.Units.Joules;
8
import
static
org.wpilib.units.Units.Seconds;
9
10
import
org.wpilib.units.measure.Power;
11
21
public
final
class
PowerUnit
extends
PerUnit<EnergyUnit, TimeUnit> {
22
private
static
final
CombinatoryUnitCache<EnergyUnit, TimeUnit, PowerUnit>
cache =
23
new
CombinatoryUnitCache<>
(PowerUnit::new);
24
25
PowerUnit(
EnergyUnit
energy,
TimeUnit
time) {
26
super(
27
energy.
isBaseUnit
() && time.
isBaseUnit
()
28
?
null
29
:
combine
(energy.
getBaseUnit
(), time.
getBaseUnit
()),
30
energy,
31
time);
32
}
33
34
PowerUnit(
35
PowerUnit baseUnit,
36
UnaryFunction
toBaseConverter,
37
UnaryFunction
fromBaseConverter,
38
String name,
39
String symbol) {
40
super(baseUnit, toBaseConverter, fromBaseConverter, name, symbol);
41
}
42
50
public
static
PowerUnit
combine
(
EnergyUnit
energy,
TimeUnit
period) {
51
return
cache.
combine
(energy, period);
52
}
53
61
public
static
PowerUnit
combine
(
VoltageUnit
voltage,
CurrentUnit
current) {
62
return
combine
(
63
new
EnergyUnit
(
64
Joules,
65
voltage.
toBaseUnits
(1) * current.
toBaseUnits
(1),
66
voltage.
name
() +
"-"
+ current.
name
(),
67
voltage.
symbol
() +
"*"
+ current.
symbol
()),
68
Seconds);
69
}
70
78
public
static
PowerUnit
combine
(
CurrentUnit
current,
VoltageUnit
voltage) {
79
return
combine
(voltage, current);
80
}
81
89
public
static
PowerUnit
combine
(
AngularVelocityUnit
angularVelocity,
TorqueUnit
torque) {
90
return
combine
(
91
new
EnergyUnit
(Joules, angularVelocity.toBaseUnits(1) * torque.toBaseUnits(1),
""
,
""
),
92
Seconds);
93
}
94
102
public
static
PowerUnit
combine
(
TorqueUnit
torque,
AngularVelocityUnit
angularVelocity) {
103
return
combine
(angularVelocity, torque);
104
}
105
106
@Override
107
public
PowerUnit
getBaseUnit
() {
108
return
(
PowerUnit
) super.getBaseUnit();
109
}
110
111
@Override
112
public
Power of(
double
magnitude) {
113
return
new
Power(magnitude, toBaseUnits(magnitude),
this
);
114
}
115
116
@Override
117
public
Power ofBaseUnits(
double
baseUnitMagnitude) {
118
return
new
Power(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude,
this
);
119
}
120
121
@Override
122
public
Power
zero
() {
123
return
(Power) super.zero();
124
}
125
126
@Override
127
public
Power one() {
128
return
(Power) super.one();
129
}
130
131
@Override
132
public
VelocityUnit<PowerUnit> per(TimeUnit time) {
133
return
VelocityUnit.combine(
this
, time);
134
}
135
143
public <U extends Unit> PerUnit<PowerUnit, U> per(U other) {
144
return
PerUnit.combine(
this
, other);
145
}
146
154
public
double
convertFrom
(
double
magnitude, PowerUnit otherUnit) {
155
return
fromBaseUnits(otherUnit.toBaseUnits(magnitude));
156
}
157
}
org.wpilib.units.AngularVelocityUnit
Definition
AngularVelocityUnit.java:10
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.CurrentUnit
Definition
CurrentUnit.java:18
org.wpilib.units.EnergyUnit
Definition
EnergyUnit.java:18
org.wpilib.units.EnergyUnit.getBaseUnit
EnergyUnit getBaseUnit()
Definition
EnergyUnit.java:33
org.wpilib.units.PerUnit< EnergyUnit, TimeUnit >::getBaseUnit
PerUnit< N, D > getBaseUnit()
Definition
PerUnit.java:99
org.wpilib.units.PerUnit< EnergyUnit, TimeUnit >::zero
Measure<? extends PerUnit< N, D > > zero()
Definition
PerUnit.java:212
org.wpilib.units.PowerUnit
Definition
PowerUnit.java:21
org.wpilib.units.PowerUnit.combine
static PowerUnit combine(AngularVelocityUnit angularVelocity, TorqueUnit torque)
Definition
PowerUnit.java:89
org.wpilib.units.PowerUnit.combine
static PowerUnit combine(EnergyUnit energy, TimeUnit period)
Definition
PowerUnit.java:50
org.wpilib.units.PowerUnit.combine
static PowerUnit combine(VoltageUnit voltage, CurrentUnit current)
Definition
PowerUnit.java:61
org.wpilib.units.PowerUnit.combine
static PowerUnit combine(TorqueUnit torque, AngularVelocityUnit angularVelocity)
Definition
PowerUnit.java:102
org.wpilib.units.PowerUnit.convertFrom
double convertFrom(double magnitude, PowerUnit otherUnit)
Definition
PowerUnit.java:154
org.wpilib.units.PowerUnit.combine
static PowerUnit combine(CurrentUnit current, VoltageUnit voltage)
Definition
PowerUnit.java:78
org.wpilib.units.TimeUnit
Definition
TimeUnit.java:18
org.wpilib.units.TimeUnit.getBaseUnit
TimeUnit getBaseUnit()
Definition
TimeUnit.java:33
org.wpilib.units.TorqueUnit
Definition
TorqueUnit.java:10
org.wpilib.units.Unit.toBaseUnits
double toBaseUnits(double valueInNativeUnits)
Definition
Unit.java:166
org.wpilib.units.Unit.name
String name()
Definition
Unit.java:234
org.wpilib.units.Unit.isBaseUnit
boolean isBaseUnit()
Definition
Unit.java:146
org.wpilib.units.Unit.symbol
String symbol()
Definition
Unit.java:243
org.wpilib.units.VoltageUnit
Definition
VoltageUnit.java:18
org.wpilib.units.UnaryFunction
Definition
UnaryFunction.java:17
org
wpilib
units
PowerUnit.java
Generated by
1.18.0