Refactor: Simplify GJK simplex handling

Removes the separate `Simplex` class and integrates its functionality directly into the `GjkAlgorithm`. This simplifies the code and reduces unnecessary overhead.

Updates tests to align with refactored implementation.
This commit is contained in:
2025-11-09 16:02:13 +03:00
parent 015fc9b1e7
commit afc0720f08
4 changed files with 110 additions and 50 deletions

View File

@@ -20,7 +20,7 @@ TEST(UnitTestGjk, TestCollisionTrue)
const omath::collision::MeshCollider collider_a(mesh, {0.f, 0.f, 0.f});
const omath::collision::MeshCollider collider_b(mesh, {0.f, 0.5f, 0.f});
const auto result = omath::collision::GjkAlgorithm::is_collide(collider_a, collider_b);
const auto result = omath::collision::GjkAlgorithm<>::is_collide(collider_a, collider_b);
EXPECT_TRUE(result);
}
@@ -38,9 +38,9 @@ TEST(UnitTestGjk, TestCollisionFalse)
};
const omath::collision::MeshCollider collider_a(mesh, {0.f, 0.f, 0.f});
const omath::collision::MeshCollider collider_b(mesh, {0.f, 4.1f, 0.f});
const omath::collision::MeshCollider collider_b(mesh, {0.f, 2.1f, 0.f});
const auto result = omath::collision::GjkAlgorithm::is_collide(collider_a, collider_b);
const auto result = omath::collision::GjkAlgorithm<>::is_collide(collider_a, collider_b);
EXPECT_FALSE(result);
}