From aebe39143df93ccdb8ea65103b8576600c0dffec Mon Sep 17 00:00:00 2001 From: Irlan <-> Date: Wed, 23 May 2018 03:49:39 -0300 Subject: [PATCH] centralize automatically generated cylinder and cone hulls --- src/bounce/collision/shapes/qhull.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bounce/collision/shapes/qhull.cpp b/src/bounce/collision/shapes/qhull.cpp index 4508df1..dad1074 100644 --- a/src/bounce/collision/shapes/qhull.cpp +++ b/src/bounce/collision/shapes/qhull.cpp @@ -424,7 +424,7 @@ void b3QHull::SetAsCylinder(float32 radius, float32 height) b3Quat q = b3QuatRotationY(kAngleInc); { - b3Vec3 center(0.0f, 0.0f, 0.0f); + b3Vec3 center(0.0f, -0.5f * height, 0.0f); b3Vec3 n1(1.0f, 0.0f, 0.0f); b3Vec3 v1 = center + radius * n1; for (u32 i = 0; i < kEdgeCount; ++i) @@ -441,7 +441,7 @@ void b3QHull::SetAsCylinder(float32 radius, float32 height) } { - b3Vec3 center(0.0f, height, 0.0f); + b3Vec3 center(0.0f, 0.5f * height, 0.0f); b3Vec3 n1(1.0f, 0.0f, 0.0f); b3Vec3 v1 = center + radius * n1; for (u32 i = 0; i < kEdgeCount; ++i) @@ -475,7 +475,7 @@ void b3QHull::SetAsCone(float32 radius, float32 height) float32 kAngleInc = 2.0f * B3_PI / float32(kEdgeCount); b3Quat q = b3QuatRotationY(kAngleInc); - b3Vec3 center(0.0f, 0.0f, 0.0f); + b3Vec3 center(0.0f, -0.5f * height, 0.0f); b3Vec3 n1(1.0f, 0.0f, 0.0f); b3Vec3 v1 = center + radius * n1; for (u32 i = 0; i < kEdgeCount; ++i) @@ -490,7 +490,7 @@ void b3QHull::SetAsCone(float32 radius, float32 height) v1 = v2; } - vs[count++].Set(0.0f, height, 0.0f); + vs[count++].Set(0.0f, 0.5f * height, 0.0f); // Set Set(vs, count, false);