mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
[wpimath] Add affine transformation constructors and getters to geometry API (#7430)
Fixes #7429.
This commit is contained in:
@@ -141,6 +141,13 @@ TEST(Pose2dTest, Nearest) {
|
||||
.value());
|
||||
}
|
||||
|
||||
TEST(Pose2dTest, ToMatrix) {
|
||||
Pose2d before{1_m, 2_m, 20_deg};
|
||||
Pose2d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Pose2dTest, Constexpr) {
|
||||
constexpr Pose2d defaultConstructed;
|
||||
constexpr Pose2d translationRotation{Translation2d{0_m, 1_m},
|
||||
|
||||
@@ -112,6 +112,13 @@ TEST(Pose3dTest, Minus) {
|
||||
EXPECT_NEAR(0.0, transform.Rotation().Z().value(), 1e-9);
|
||||
}
|
||||
|
||||
TEST(Pose3dTest, ToMatrix) {
|
||||
Pose3d before{1_m, 2_m, 3_m, Rotation3d{10_deg, 20_deg, 30_deg}};
|
||||
Pose3d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Pose3dTest, ToPose2d) {
|
||||
Pose3d pose{1_m, 2_m, 3_m, Rotation3d{20_deg, 30_deg, 40_deg}};
|
||||
Pose2d expected{1_m, 2_m, 40_deg};
|
||||
|
||||
@@ -78,6 +78,13 @@ TEST(Rotation2dTest, Inequality) {
|
||||
EXPECT_NE(rot1, rot2);
|
||||
}
|
||||
|
||||
TEST(Rotation2dTest, ToMatrix) {
|
||||
Rotation2d before{20_deg};
|
||||
Rotation2d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Rotation2dTest, Constexpr) {
|
||||
constexpr Rotation2d defaultCtor;
|
||||
constexpr Rotation2d radianCtor{5_rad};
|
||||
|
||||
@@ -307,6 +307,13 @@ TEST(Rotation3dTest, Inequality) {
|
||||
EXPECT_NE(rot1, rot2);
|
||||
}
|
||||
|
||||
TEST(Rotation3dTest, ToMatrix) {
|
||||
Rotation3d before{10_deg, 20_deg, 30_deg};
|
||||
Rotation3d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Rotation3dTest, Interpolate) {
|
||||
const Eigen::Vector3d xAxis{1.0, 0.0, 0.0};
|
||||
const Eigen::Vector3d yAxis{0.0, 1.0, 0.0};
|
||||
|
||||
@@ -13,6 +13,13 @@
|
||||
|
||||
using namespace frc;
|
||||
|
||||
TEST(Transform2dTest, ToMatrix) {
|
||||
Transform2d before{1_m, 2_m, 20_deg};
|
||||
Transform2d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Transform2dTest, Inverse) {
|
||||
const Pose2d initial{1_m, 2_m, 45_deg};
|
||||
const Transform2d transform{{5_m, 0_m}, 5_deg};
|
||||
|
||||
@@ -13,6 +13,13 @@
|
||||
|
||||
using namespace frc;
|
||||
|
||||
TEST(Transform3dTest, ToMatrix) {
|
||||
Transform3d before{1_m, 2_m, 3_m, Rotation3d{10_deg, 20_deg, 30_deg}};
|
||||
Transform3d after{before.ToMatrix()};
|
||||
|
||||
EXPECT_EQ(before, after);
|
||||
}
|
||||
|
||||
TEST(Transform3dTest, Inverse) {
|
||||
Eigen::Vector3d zAxis{0.0, 0.0, 1.0};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user