From 3a94e70370207c52d12ba8b600d79e10af6dc24b Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Sat, 24 May 2008 05:32:54 +0000 Subject: [PATCH] don't enable concave mesh for soft body demos (work-in-progress) --- Demos/SoftDemo/SoftDemo.cpp | 2 +- src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Demos/SoftDemo/SoftDemo.cpp b/Demos/SoftDemo/SoftDemo.cpp index 97e69dfee..b7d7e6f3b 100644 --- a/Demos/SoftDemo/SoftDemo.cpp +++ b/Demos/SoftDemo/SoftDemo.cpp @@ -1182,7 +1182,7 @@ void SoftDemo::initPhysics() btCollisionShape* groundShape = 0; - bool useConcaveMesh = true;//not ready yet true; + bool useConcaveMesh = false;//not ready yet true; if (useConcaveMesh) { diff --git a/src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp b/src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp index a31036ce3..64e7b9193 100644 --- a/src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp +++ b/src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp @@ -32,6 +32,8 @@ subject to the following restrictions: #include "BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h" #include "BulletSoftBody/btSoftBody.h" +#define BT_SOFTBODY_TRIANGLE_EXTRUSION btScalar(0.3) + btSoftBodyConcaveCollisionAlgorithm::btSoftBodyConcaveCollisionAlgorithm( const btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1,bool isSwapped) : btCollisionAlgorithm(ci), m_isSwapped(isSwapped), @@ -163,7 +165,7 @@ btCollisionObject* ob = static_cast(m_triBody); // btVector3 other; btVector3 normal = (triangle[1]-triangle[0]).cross(triangle[2]-triangle[0]); normal.normalize(); - normal*= 1.3f; + normal*= BT_SOFTBODY_TRIANGLE_EXTRUSION; // other=(triangle[0]+triangle[1]+triangle[2])*0.333333f; // other+=normal*22.f; btVector3 pts[6] = {triangle[0]+normal, @@ -241,7 +243,7 @@ void btSoftBodyTriangleCallback::setTimeStepAndCounters(btScalar collisionMargin m_aabbMin = center - extent; m_aabbMax = center + extent; - btScalar extraMargin = collisionMarginTriangle; + btScalar extraMargin = collisionMarginTriangle+btScalar(BT_SOFTBODY_TRIANGLE_EXTRUSION); btVector3 extra(extraMargin,extraMargin,extraMargin); m_aabbMax += extra;