Added method to collect all persistent contact manifolds, given a btBroadphasePair (collision algorithm)

virtual	void	getAllContactManifolds(btManifoldArray&	manifoldArray)
See Demos/CharacterDemo/CharacterDemo.cpp for example usage of getAllContactManifolds
Added btDbvtBroadphase to btBulletCollisionCommon.h headerfile
Enable soft body vs concave (albeit slow)
Improved contact point debug rendering (moved from constraint solver into debugDrawWorld)
This commit is contained in:
erwin.coumans
2008-05-24 04:23:00 +00:00
parent 6141a55f09
commit f8e5481612
37 changed files with 889 additions and 633 deletions

View File

@@ -536,7 +536,7 @@ btScalar btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup(btCol
END_PROFILE("refreshManifolds");
#endif //FORCE_REFESH_CONTACT_MANIFOLDS
btVector3 color(0,1,0);
@@ -648,10 +648,6 @@ btScalar btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup(btCol
btManifoldPoint& cp = manifold->getContactPoint(j);
if (debugDrawer)
debugDrawer->drawContactPoint(cp.m_positionWorldOnB,cp.m_normalWorldOnB,cp.getDistance(),cp.getLifeTime(),color);
if (cp.getDistance() <= btScalar(0.))
{
@@ -1110,7 +1106,7 @@ void btSequentialImpulseConstraintSolver::prepareConstraints(btPersistentManifol
gTotalContactPoints += numpoints;
btVector3 color(0,1,0);
for (int i=0;i<numpoints ;i++)
{
btManifoldPoint& cp = manifoldPtr->getContactPoint(i);
@@ -1287,16 +1283,12 @@ btScalar btSequentialImpulseConstraintSolver::solveCombinedContactFriction(btRig
{
btVector3 color(0,1,0);
{
if (cp.getDistance() <= btScalar(0.))
{
if (iter == 0)
{
if (debugDrawer)
debugDrawer->drawContactPoint(cp.m_positionWorldOnB,cp.m_normalWorldOnB,cp.getDistance(),cp.getLifeTime(),color);
}
{
@@ -1325,16 +1317,12 @@ btScalar btSequentialImpulseConstraintSolver::solve(btRigidBody* body0,btRigidBo
{
btVector3 color(0,1,0);
{
if (cp.getDistance() <= btScalar(0.))
{
if (iter == 0)
{
if (debugDrawer)
debugDrawer->drawContactPoint(cp.m_positionWorldOnB,cp.m_normalWorldOnB,cp.getDistance(),cp.getLifeTime(),color);
}
{
@@ -1363,7 +1351,7 @@ btScalar btSequentialImpulseConstraintSolver::solveFriction(btRigidBody* body0,b
{
btVector3 color(0,1,0);
{
if (cp.getDistance() <= btScalar(0.))