RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
MomentOfInertiaUnit.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.MomentOfInertia;
8
14public final class MomentOfInertiaUnit extends PerUnit<AngularMomentumUnit, AngularVelocityUnit> {
15 private static final CombinatoryUnitCache<
16 AngularMomentumUnit, AngularVelocityUnit, MomentOfInertiaUnit>
17 cache = new CombinatoryUnitCache<>(MomentOfInertiaUnit::new);
18
20 super(
21 numerator.isBaseUnit() && denominator.isBaseUnit()
22 ? null
23 : combine(numerator.getBaseUnit(), denominator.getBaseUnit()),
26 }
27
28 MomentOfInertiaUnit(
29 MomentOfInertiaUnit baseUnit,
30 UnaryFunction toBaseConverter,
31 UnaryFunction fromBaseConverter,
32 String name,
33 String symbol) {
34 super(baseUnit, toBaseConverter, fromBaseConverter, name, symbol);
35 }
36
44 public static MomentOfInertiaUnit combine(
45 AngularMomentumUnit momentumUnit, AngularVelocityUnit velocityUnit) {
46 return cache.combine(momentumUnit, velocityUnit);
47 }
48
49 @Override
51 return (MomentOfInertiaUnit) super.getBaseUnit();
52 }
53
54 @Override
55 public MomentOfInertia of(double magnitude) {
56 return new MomentOfInertia(magnitude, toBaseUnits(magnitude), this);
57 }
58
59 @Override
60 public MomentOfInertia ofBaseUnits(double baseUnitMagnitude) {
61 return new MomentOfInertia(fromBaseUnits(baseUnitMagnitude), baseUnitMagnitude, this);
62 }
63
64 @Override
65 public MomentOfInertia zero() {
66 return (MomentOfInertia) super.zero();
67 }
68
69 @Override
70 public MomentOfInertia one() {
71 return (MomentOfInertia) super.one();
72 }
73
74 @Override
75 public VelocityUnit<MomentOfInertiaUnit> per(TimeUnit time) {
76 return VelocityUnit.combine(this, time);
77 }
78
86 public <U extends Unit> PerUnit<MomentOfInertiaUnit, U> per(U other) {
87 return PerUnit.combine(this, other);
88 }
89
97 public double convertFrom(double magnitude, MomentOfInertiaUnit otherUnit) {
98 return fromBaseUnits(otherUnit.toBaseUnits(magnitude));
99 }
100}
CombinatoryUnitCache(BiFunction<? super A, ? super B, ? extends Out > constructor)
static MomentOfInertiaUnit combine(AngularMomentumUnit momentumUnit, AngularVelocityUnit velocityUnit)
double convertFrom(double magnitude, MomentOfInertiaUnit otherUnit)