From 41afe2de569b842cca8313d2a64534033dd8d245 Mon Sep 17 00:00:00 2001 From: Mikael Hermansson Date: Wed, 22 Jan 2025 23:46:28 +0100 Subject: [PATCH] Update Jolt Physics `BoxShape` to allow for zero-sized boxes --- .../jolt_physics/Jolt/Physics/Collision/Shape/BoxShape.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/thirdparty/jolt_physics/Jolt/Physics/Collision/Shape/BoxShape.cpp b/thirdparty/jolt_physics/Jolt/Physics/Collision/Shape/BoxShape.cpp index dc7ea482857..fc2281252f0 100644 --- a/thirdparty/jolt_physics/Jolt/Physics/Collision/Shape/BoxShape.cpp +++ b/thirdparty/jolt_physics/Jolt/Physics/Collision/Shape/BoxShape.cpp @@ -59,7 +59,7 @@ BoxShape::BoxShape(const BoxShapeSettings &inSettings, ShapeResult &outResult) : { // Check convex radius if (inSettings.mConvexRadius < 0.0f - || inSettings.mHalfExtent.ReduceMin() <= inSettings.mConvexRadius) + || inSettings.mHalfExtent.ReduceMin() < inSettings.mConvexRadius) { outResult.SetError("Invalid convex radius"); return; @@ -278,7 +278,7 @@ void BoxShape::CollideSoftBodyVertices(Mat44Arg inCenterOfMassTransform, Vec3Arg void BoxShape::GetTrianglesStart(GetTrianglesContext &ioContext, const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale) const { - new (&ioContext) GetTrianglesContextVertexList(inPositionCOM, inRotation, inScale, Mat44::sScale(mHalfExtent), sUnitBoxTriangles, sizeof(sUnitBoxTriangles) / sizeof(Vec3), GetMaterial()); + new (&ioContext) GetTrianglesContextVertexList(inPositionCOM, inRotation, inScale, Mat44::sScale(mHalfExtent), sUnitBoxTriangles, std::size(sUnitBoxTriangles), GetMaterial()); } int BoxShape::GetTrianglesNext(GetTrianglesContext &ioContext, int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials) const