RobotCore
1.0
WPILib port to raspberry Pi
Toggle main menu visibility
Loading...
Searching...
No Matches
ForceUnit.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.Force;
8
10
public
final
class
ForceUnit
extends
MultUnit<MassUnit, LinearAccelerationUnit> {
11
private
static
final
CombinatoryUnitCache<MassUnit, LinearAccelerationUnit, ForceUnit>
cache =
12
new
CombinatoryUnitCache<>
(ForceUnit::new);
13
14
ForceUnit(
MassUnit
mass,
LinearAccelerationUnit
acceleration) {
15
super(
16
mass.
isBaseUnit
() && acceleration.isBaseUnit()
17
?
null
18
:
combine
(mass.
getBaseUnit
(), acceleration.getBaseUnit()),
19
mass,
20
acceleration);
21
}
22
23
ForceUnit(
24
ForceUnit 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
ForceUnit
combine
(
MassUnit
mass,
LinearAccelerationUnit
acceleration) {
40
return
cache.
combine
(mass, acceleration);
41
}
42
43
@Override
44
public
ForceUnit
getBaseUnit
() {
45
return
(
ForceUnit
) super.getBaseUnit();
46
}
47
54
public
TorqueUnit
multAsTorque
(
DistanceUnit
distance) {
55
return
TorqueUnit
.
combine
(distance,
this
);
56
}
57
58
// TODO: Add a multAsEnergy equivalent
59
60
@Override
61
public
Force of(
double
magnitude) {
62
return
new
Force(magnitude, toBaseUnits(magnitude),
this
);
63
}
64
65
@Override
66
public
Force ofBaseUnits(
double
baseUnitMagnitude) {
67
return
new
Force(toBaseUnits(baseUnitMagnitude), baseUnitMagnitude,
this
);
68
}
69
70
@Override
71
public
Force
zero
() {
72
return
(Force) super.zero();
73
}
74
75
@Override
76
public
Force
one
() {
77
return
(Force) super.one();
78
}
79
80
@Override
81
public
VelocityUnit<ForceUnit> per(TimeUnit time) {
82
return
VelocityUnit.combine(
this
, time);
83
}
84
92
public <U extends Unit> PerUnit<ForceUnit, U> per(U other) {
93
return
PerUnit.combine(
this
, other);
94
}
95
103
public
double
convertFrom
(
double
magnitude, ForceUnit otherUnit) {
104
return
fromBaseUnits(otherUnit.toBaseUnits(magnitude));
105
}
106
}
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.DistanceUnit
Definition
DistanceUnit.java:18
org.wpilib.units.ForceUnit
Definition
ForceUnit.java:10
org.wpilib.units.ForceUnit.multAsTorque
TorqueUnit multAsTorque(DistanceUnit distance)
Definition
ForceUnit.java:54
org.wpilib.units.ForceUnit.convertFrom
double convertFrom(double magnitude, ForceUnit otherUnit)
Definition
ForceUnit.java:103
org.wpilib.units.ForceUnit.combine
static ForceUnit combine(MassUnit mass, LinearAccelerationUnit acceleration)
Definition
ForceUnit.java:39
org.wpilib.units.LinearAccelerationUnit
Definition
LinearAccelerationUnit.java:10
org.wpilib.units.MassUnit
Definition
MassUnit.java:18
org.wpilib.units.MassUnit.getBaseUnit
MassUnit getBaseUnit()
Definition
MassUnit.java:34
org.wpilib.units.MultUnit< MassUnit, LinearAccelerationUnit >::one
Measure<? extends MultUnit< A, B > > one()
Definition
MultUnit.java:154
org.wpilib.units.MultUnit< MassUnit, LinearAccelerationUnit >::getBaseUnit
MultUnit< A, B > getBaseUnit()
Definition
MultUnit.java:176
org.wpilib.units.MultUnit< MassUnit, LinearAccelerationUnit >::zero
Measure<? extends MultUnit< A, B > > zero()
Definition
MultUnit.java:148
org.wpilib.units.TorqueUnit
Definition
TorqueUnit.java:10
org.wpilib.units.TorqueUnit.combine
static TorqueUnit combine(DistanceUnit distance, ForceUnit force)
Definition
TorqueUnit.java:39
org.wpilib.units.Unit.isBaseUnit
boolean isBaseUnit()
Definition
Unit.java:146
org.wpilib.units.UnaryFunction
Definition
UnaryFunction.java:17
org
wpilib
units
ForceUnit.java
Generated by
1.18.0