From 5883e3d45be61a49746501e29622bc99f0e25435 Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Mon, 29 Jul 2024 22:46:16 +0100 Subject: [PATCH] Update mathMatrixTest.cpp test box multiplication test transformPlane --- Engine/source/testing/mathMatrixTest.cpp | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Engine/source/testing/mathMatrixTest.cpp b/Engine/source/testing/mathMatrixTest.cpp index 5807989b5..a2e7da5e1 100644 --- a/Engine/source/testing/mathMatrixTest.cpp +++ b/Engine/source/testing/mathMatrixTest.cpp @@ -164,6 +164,20 @@ TEST(MatrixTest, TestMulArgMatrixFunction) EXPECT_NEAR(testResult(3, 0), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 1), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 2), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 3), 1.0f, 0.001f); } +TEST(MatrixTest, TestMulBox) +{ + MatrixF test(true); + test.setPosition(Point3F(5.0f, 2.0f, 1.0f)); + MatrixF test2(EulerF(1.0f, 0.0f, 1.0f)); + + Box3F testBox(1.0f); + + test.mul(testBox); + + EXPECT_NEAR(testBox.minExtents.x, 4.5f, 0.001f); EXPECT_NEAR(testBox.minExtents.y, 1.5f, 0.001f); EXPECT_NEAR(testBox.minExtents.z, 0.5f, 0.001f); + EXPECT_NEAR(testBox.maxExtents.x, 5.5f, 0.001f); EXPECT_NEAR(testBox.maxExtents.y, 2.5f, 0.001f); EXPECT_NEAR(testBox.maxExtents.z, 1.5f, 0.001f); +} + TEST(MatrixTest, TestInverse) { MatrixF test(true); @@ -179,3 +193,23 @@ TEST(MatrixTest, TestInverse) EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), -1.0f, 0.001f); EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); } + +TEST(MatrixTest, TestTransformPlane) +{ + MatrixF test(true); + test.setPosition(Point3F(5.0f, 2.0f, 1.0f)); + MatrixF test2(EulerF(1.0f, 0.0f, 1.0f)); + + test.mulL(test2); + + PlaneF plane(Point3F(0.0f, 0.0f, 0.0f), Point3F(0.0f, 0.0f, 1.0f)); + + PlaneF res; + mTransformPlane(test, Point3F(1.0f, 1.0f, 1.0f), plane, &res); + + EXPECT_NEAR(res.x, 0.0f, 0.001f); + EXPECT_NEAR(res.y, 0.8414f, 0.001f); + EXPECT_NEAR(res.z, 0.5403f, 0.001f); + EXPECT_NEAR(res.d, -1.0f, 0.001f); + +}