[wpimath] Java: add static instantiations of common rotations (#6563)

C++ doesn't need this because it supports value types, which are much
cheaper to construct. constexpr is also available to make construction
zero-cost.
This commit is contained in:
Tyler Veness
2024-05-03 12:39:35 -07:00
committed by GitHub
parent 9c7120e6bf
commit e172aa66f7
75 changed files with 499 additions and 429 deletions

View File

@@ -41,7 +41,7 @@ class MecanumControllerCommandTest {
}
private final Timer m_timer = new Timer();
private Rotation2d m_angle = new Rotation2d(0);
private Rotation2d m_angle = Rotation2d.kZero;
private double m_frontLeftSpeed;
private double m_frontLeftDistance;
@@ -71,10 +71,7 @@ class MecanumControllerCommandTest {
private final MecanumDriveOdometry m_odometry =
new MecanumDriveOdometry(
m_kinematics,
new Rotation2d(0),
new MecanumDriveWheelPositions(),
new Pose2d(0, 0, new Rotation2d(0)));
m_kinematics, Rotation2d.kZero, new MecanumDriveWheelPositions(), Pose2d.kZero);
public void setWheelSpeeds(MecanumDriveWheelSpeeds wheelSpeeds) {
this.m_frontLeftSpeed = wheelSpeeds.frontLeftMetersPerSecond;
@@ -99,7 +96,7 @@ class MecanumControllerCommandTest {
final var subsystem = new Subsystem() {};
final var waypoints = new ArrayList<Pose2d>();
waypoints.add(new Pose2d(0, 0, new Rotation2d(0)));
waypoints.add(Pose2d.kZero);
waypoints.add(new Pose2d(1, 5, new Rotation2d(3)));
var config = new TrajectoryConfig(8.8, 0.1);
final var trajectory = TrajectoryGenerator.generateTrajectory(waypoints, config);

View File

@@ -41,22 +41,22 @@ class SwerveControllerCommandTest {
}
private final Timer m_timer = new Timer();
private Rotation2d m_angle = new Rotation2d(0);
private Rotation2d m_angle = Rotation2d.kZero;
private SwerveModuleState[] m_moduleStates =
new SwerveModuleState[] {
new SwerveModuleState(0, new Rotation2d(0)),
new SwerveModuleState(0, new Rotation2d(0)),
new SwerveModuleState(0, new Rotation2d(0)),
new SwerveModuleState(0, new Rotation2d(0))
new SwerveModuleState(0, Rotation2d.kZero),
new SwerveModuleState(0, Rotation2d.kZero),
new SwerveModuleState(0, Rotation2d.kZero),
new SwerveModuleState(0, Rotation2d.kZero)
};
private SwerveModulePosition[] m_modulePositions =
new SwerveModulePosition[] {
new SwerveModulePosition(0, new Rotation2d(0)),
new SwerveModulePosition(0, new Rotation2d(0)),
new SwerveModulePosition(0, new Rotation2d(0)),
new SwerveModulePosition(0, new Rotation2d(0))
new SwerveModulePosition(0, Rotation2d.kZero),
new SwerveModulePosition(0, Rotation2d.kZero),
new SwerveModulePosition(0, Rotation2d.kZero),
new SwerveModulePosition(0, Rotation2d.kZero)
};
private final ProfiledPIDController m_rotController =
@@ -77,8 +77,7 @@ class SwerveControllerCommandTest {
new Translation2d(-kWheelBase / 2, -kTrackWidth / 2));
private final SwerveDriveOdometry m_odometry =
new SwerveDriveOdometry(
m_kinematics, new Rotation2d(0), m_modulePositions, new Pose2d(0, 0, new Rotation2d(0)));
new SwerveDriveOdometry(m_kinematics, Rotation2d.kZero, m_modulePositions, Pose2d.kZero);
@SuppressWarnings("PMD.ArrayIsStoredDirectly")
public void setModuleStates(SwerveModuleState[] moduleStates) {
@@ -96,7 +95,7 @@ class SwerveControllerCommandTest {
final var subsystem = new Subsystem() {};
final var waypoints = new ArrayList<Pose2d>();
waypoints.add(new Pose2d(0, 0, new Rotation2d(0)));
waypoints.add(Pose2d.kZero);
waypoints.add(new Pose2d(1, 5, new Rotation2d(3)));
var config = new TrajectoryConfig(8.8, 0.1);
final var trajectory = TrajectoryGenerator.generateTrajectory(waypoints, config);