From 8634b6ba14ac2cc84f56cc6c24764cece50dcf0b Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Thu, 5 Jun 2008 05:09:47 +0000 Subject: [PATCH] fixed a few issues with BulletColladaConverter/ColladaConverter.cpp, related to constraints. --- Extras/BulletColladaConverter/ColladaConverter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Extras/BulletColladaConverter/ColladaConverter.cpp b/Extras/BulletColladaConverter/ColladaConverter.cpp index d659ad758..5d741ca25 100644 --- a/Extras/BulletColladaConverter/ColladaConverter.cpp +++ b/Extras/BulletColladaConverter/ColladaConverter.cpp @@ -646,6 +646,9 @@ btRigidBodyColladaInfo* ColladaConverter::findRigidBodyColladaInfo(const btRigid { ///we assume that the btRigidBody getUid matches btRigidBodyColladaInfo getUid + if (!body->getBroadphaseProxy()) + return 0; + int uid = body->getBroadphaseProxy()->getUid(); btHashKeyPtr tmpKey(uid); btRigidBodyColladaInfo** rbciPtr = this->m_rbUserInfoHashMap.find(tmpKey); @@ -1822,7 +1825,7 @@ domNode* ColladaConverter::addNode (btRigidBody* rb, const char* nodeName, const domRigid_constraint* ColladaConverter::addConstraint (btTypedConstraint* constraint, const char* constraintName) { - if (!constraint->getConstraintType() != D6_CONSTRAINT_TYPE) + if (constraint->getConstraintType() != D6_CONSTRAINT_TYPE) return NULL; btGeneric6DofConstraint* g6c = (btGeneric6DofConstraint*)constraint; @@ -3080,6 +3083,8 @@ btTypedConstraint* ColladaConverter::createUniversalD6Constraint( { btRigidBody::btRigidBodyConstructionInfo cinfo(0,0,0); bodyOther = new btRigidBody(cinfo); + //needs to be in the world! + m_dynamicsWorld->addRigidBody(bodyOther); bodyOther->setWorldTransform(bodyRef->getWorldTransform()); localAttachmentOther = localAttachmentFrameRef;