add FractureDemo to AllBulletDemos

improvements in CCD handling
some cleanup of CcdPhysicsDemo and BasicDemo
This commit is contained in:
erwin.coumans
2011-04-09 01:14:21 +00:00
parent 2291a6a9d3
commit cdddf9d25a
29 changed files with 550 additions and 867 deletions

View File

@@ -102,9 +102,14 @@ bool ManifoldResultAddContactPoint(const btVector3& normalOnBInWorld,
#ifdef DEBUG_SPU_COLLISION_DETECTION
spu_printf("SPU: contactTreshold %f\n",contactTreshold);
#endif //DEBUG_SPU_COLLISION_DETECTION
if (depth > manifoldPtr->getContactBreakingThreshold())
//if (depth > manifoldPtr->getContactBreakingThreshold())
// return false;
if (depth > manifoldPtr->getContactProcessingThreshold())
return false;
btVector3 pointA;
btVector3 localA;
btVector3 localB;
@@ -156,6 +161,7 @@ bool ManifoldResultAddContactPoint(const btVector3& normalOnBInWorld,
(*gContactAddedCallback)(newPt,m_body0,m_partId0,m_index0,m_body1,m_partId1,m_index1);
}
*/
manifoldPtr->addManifoldPoint(newPt);
return true;

View File

@@ -1138,6 +1138,9 @@ btScalar btParallelConstraintSolver::solveGroup(btCollisionObject** bodies1,int
pfxSetBroadphaseFlag(pair,0);
int contactId = m-offsetContactManifolds;
//likely the contact pool is not contiguous, make sure to allocate large enough contact pool
btAssert(contactId>=0);
btAssert(contactId<dispatcher->getInternalManifoldPool()->getUsedCount());
pfxSetContactId(pair,contactId);
pfxSetNumConstraints(pair,numPosPoints);//manifoldPtr[i]->getNumContacts());