From 82ba30caa6a1e72dcf2939d7e2bb341a2f801af4 Mon Sep 17 00:00:00 2001 From: ejcoumans Date: Tue, 31 Oct 2006 02:11:29 +0000 Subject: [PATCH] fixed 2 issues, one related to wrong 'safety' catch for large objects and COLLADA constaints didn't recognize rigid body names --- Demos/ColladaDemo/ColladaConverter.cpp | 2 +- src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Demos/ColladaDemo/ColladaConverter.cpp b/Demos/ColladaDemo/ColladaConverter.cpp index aa62311e7..53d5e15ae 100644 --- a/Demos/ColladaDemo/ColladaConverter.cpp +++ b/Demos/ColladaDemo/ColladaConverter.cpp @@ -704,7 +704,7 @@ void ColladaConverter::PreparePhysicsObject(struct btRigidBodyInput& input, bool btRigidBody* body= createRigidBody(isDynamics,mass,startTransform,colShape); - if (body && body->m_userObjectPointer) + if (body) { //bodyName is used as identifier for constraints body->m_userObjectPointer = (void*)input.m_bodyName; diff --git a/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp b/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp index f00c95f0f..df5336371 100644 --- a/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp +++ b/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp @@ -503,7 +503,9 @@ void btDiscreteDynamicsWorld::updateAabbs() btPoint3 minAabb,maxAabb; colObj->m_collisionShape->getAabb(colObj->m_worldTransform, minAabb,maxAabb); btSimpleBroadphase* bp = (btSimpleBroadphase*)m_broadphasePairCache; - if ( colObj->m_collisionShape->isInfinite() || ((maxAabb-minAabb).length2() < 1e12f)) + + //moving objects should be moderately sized, probably something wrong if not + if ( colObj->isStaticObject() || ((maxAabb-minAabb).length2() < 1e12f)) { bp->setAabb(body->m_broadphaseHandle,minAabb,maxAabb); } else