mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-28 02:11:43 +00:00
Use stricter C++ type conversions (#4357)
Now, implicit narrowing conversions are only used with wpi::Now(). This
also fixes clang-tidy warnings about C-style casts. For example:
```
== clang-tidy /__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc ==
/__w/allwpilib/allwpilib/wpilibNewCommands/src/main/native/include/frc2/command/SwerveControllerCommand.inc:95:18: warning: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [google-readability-casting]
auto curTime = units::second_t(m_timer.Get());
^
```
In that case at least, the cast was removed entirely since Get() already
returns a units::second_t.
This commit is contained in:
@@ -81,7 +81,7 @@ class WPILIB_DLLEXPORT TrajectoryParameterizer {
|
||||
* the trajectory, max velocity, min acceleration and max acceleration.
|
||||
*/
|
||||
struct ConstrainedState {
|
||||
PoseWithCurvature pose = {Pose2d(), units::curvature_t(0.0)};
|
||||
PoseWithCurvature pose = {Pose2d{}, units::curvature_t{0.0}};
|
||||
units::meter_t distance = 0_m;
|
||||
units::meters_per_second_t maxVelocity = 0_mps;
|
||||
units::meters_per_second_squared_t minAcceleration = 0_mps_sq;
|
||||
|
||||
@@ -82,7 +82,7 @@ class TrapezoidProfile {
|
||||
* @param initial The initial state (usually the current state).
|
||||
*/
|
||||
TrapezoidProfile(Constraints constraints, State goal,
|
||||
State initial = State{Distance_t(0), Velocity_t(0)});
|
||||
State initial = State{Distance_t{0}, Velocity_t{0}});
|
||||
|
||||
TrapezoidProfile(const TrapezoidProfile&) = default;
|
||||
TrapezoidProfile& operator=(const TrapezoidProfile&) = default;
|
||||
|
||||
@@ -46,10 +46,10 @@ TrapezoidProfile<Distance>::TrapezoidProfile(Constraints constraints,
|
||||
accelerationTime * accelerationTime * m_constraints.maxAcceleration;
|
||||
|
||||
// Handle the case where the profile never reaches full speed
|
||||
if (fullSpeedDist < Distance_t(0)) {
|
||||
if (fullSpeedDist < Distance_t{0}) {
|
||||
accelerationTime =
|
||||
units::math::sqrt(fullTrapezoidDist / m_constraints.maxAcceleration);
|
||||
fullSpeedDist = Distance_t(0);
|
||||
fullSpeedDist = Distance_t{0};
|
||||
}
|
||||
|
||||
m_endAccel = accelerationTime - cutoffBegin;
|
||||
@@ -110,7 +110,7 @@ units::second_t TrapezoidProfile<Distance>::TimeLeftUntil(
|
||||
|
||||
Distance_t distToTarget = units::math::abs(target - position);
|
||||
|
||||
if (distToTarget < Distance_t(1e-6)) {
|
||||
if (distToTarget < Distance_t{1e-6}) {
|
||||
return 0_s;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ class EllipticalRegionConstraint : public TrajectoryConstraint {
|
||||
if (IsPoseInRegion(pose)) {
|
||||
return m_constraint.MaxVelocity(pose, curvature, velocity);
|
||||
} else {
|
||||
return units::meters_per_second_t(
|
||||
std::numeric_limits<double>::infinity());
|
||||
return units::meters_per_second_t{
|
||||
std::numeric_limits<double>::infinity()};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +41,8 @@ class RectangularRegionConstraint : public TrajectoryConstraint {
|
||||
if (IsPoseInRegion(pose)) {
|
||||
return m_constraint.MaxVelocity(pose, curvature, velocity);
|
||||
} else {
|
||||
return units::meters_per_second_t(
|
||||
std::numeric_limits<double>::infinity());
|
||||
return units::meters_per_second_t{
|
||||
std::numeric_limits<double>::infinity()};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user