don't enable concave mesh for soft body demos (work-in-progress)

This commit is contained in:
erwin.coumans
2008-05-24 05:32:54 +00:00
parent 3d32cf7ddf
commit 3a94e70370
2 changed files with 5 additions and 3 deletions

View File

@@ -1182,7 +1182,7 @@ void SoftDemo::initPhysics()
btCollisionShape* groundShape = 0; btCollisionShape* groundShape = 0;
bool useConcaveMesh = true;//not ready yet true; bool useConcaveMesh = false;//not ready yet true;
if (useConcaveMesh) if (useConcaveMesh)
{ {

View File

@@ -32,6 +32,8 @@ subject to the following restrictions:
#include "BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h" #include "BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h"
#include "BulletSoftBody/btSoftBody.h" #include "BulletSoftBody/btSoftBody.h"
#define BT_SOFTBODY_TRIANGLE_EXTRUSION btScalar(0.3)
btSoftBodyConcaveCollisionAlgorithm::btSoftBodyConcaveCollisionAlgorithm( const btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1,bool isSwapped) btSoftBodyConcaveCollisionAlgorithm::btSoftBodyConcaveCollisionAlgorithm( const btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1,bool isSwapped)
: btCollisionAlgorithm(ci), : btCollisionAlgorithm(ci),
m_isSwapped(isSwapped), m_isSwapped(isSwapped),
@@ -163,7 +165,7 @@ btCollisionObject* ob = static_cast<btCollisionObject*>(m_triBody);
// btVector3 other; // btVector3 other;
btVector3 normal = (triangle[1]-triangle[0]).cross(triangle[2]-triangle[0]); btVector3 normal = (triangle[1]-triangle[0]).cross(triangle[2]-triangle[0]);
normal.normalize(); normal.normalize();
normal*= 1.3f; normal*= BT_SOFTBODY_TRIANGLE_EXTRUSION;
// other=(triangle[0]+triangle[1]+triangle[2])*0.333333f; // other=(triangle[0]+triangle[1]+triangle[2])*0.333333f;
// other+=normal*22.f; // other+=normal*22.f;
btVector3 pts[6] = {triangle[0]+normal, btVector3 pts[6] = {triangle[0]+normal,
@@ -241,7 +243,7 @@ void btSoftBodyTriangleCallback::setTimeStepAndCounters(btScalar collisionMargin
m_aabbMin = center - extent; m_aabbMin = center - extent;
m_aabbMax = center + extent; m_aabbMax = center + extent;
btScalar extraMargin = collisionMarginTriangle; btScalar extraMargin = collisionMarginTriangle+btScalar(BT_SOFTBODY_TRIANGLE_EXTRUSION);
btVector3 extra(extraMargin,extraMargin,extraMargin); btVector3 extra(extraMargin,extraMargin,extraMargin);
m_aabbMax += extra; m_aabbMax += extra;