mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00
Merge pull request #106084 from Kaleb-Reid/fix-geometry-3d
Fix ghost collisions in segment_intersects_convex()
This commit is contained in:
commit
00f8f62be7
2 changed files with 5 additions and 0 deletions
|
@ -292,6 +292,10 @@ public:
|
||||||
real_t den = p.normal.dot(dir);
|
real_t den = p.normal.dot(dir);
|
||||||
|
|
||||||
if (Math::abs(den) <= (real_t)CMP_EPSILON) {
|
if (Math::abs(den) <= (real_t)CMP_EPSILON) {
|
||||||
|
if (p.is_point_over(p_from)) {
|
||||||
|
// Separating plane.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
continue; // Ignore parallel plane.
|
continue; // Ignore parallel plane.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -160,6 +160,7 @@ TEST_CASE("[Geometry3D] Does Segment Intersect Convex") {
|
||||||
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(0, 0, 0), &box_planes[0], box_planes.size(), &result, &normal) == true);
|
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(0, 0, 0), &box_planes[0], box_planes.size(), &result, &normal) == true);
|
||||||
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(5, 5, 5), &box_planes[0], box_planes.size(), &result, &normal) == true);
|
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(5, 5, 5), &box_planes[0], box_planes.size(), &result, &normal) == true);
|
||||||
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(6, 5, 5), &box_planes[0], box_planes.size(), &result, &normal) == false);
|
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 10), Vector3(6, 5, 5), &box_planes[0], box_planes.size(), &result, &normal) == false);
|
||||||
|
CHECK(Geometry3D::segment_intersects_convex(Vector3(10, 10, 0), Vector3(10, 0, 0), &box_planes[0], box_planes.size(), &result, &normal) == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("[Geometry3D] Segment Intersects Cylinder") {
|
TEST_CASE("[Geometry3D] Segment Intersects Cylinder") {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue