I am at the moment trying to write a very basic program to learn how btBulletWorldImporter works, in the program I try to use it to load a .bullet model and then create/add the body to the dynamicsWorld:
Code: Select all
btBroadphaseInterface* broadphase = new btDbvtBroadphase();
btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
btCollisionDispatcher* dispatcher = new btCollisionDispatcher(collisionConfiguration);
btSequentialImpulseConstraintSolver* solver = new btSequentialImpulseConstraintSolver;
dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,broadphase,solver,collisionConfiguration);
dynamicsWorld->setGravity(btVector3(0,-10,0));
btBulletWorldImporter* fileLoader = new btBulletWorldImporter(dynamicsWorld);
fileLoader->loadFile("myShape.bullet");
btScalar mass = 1;
btCollisionShape* shape = new btBoxShape(btVector3(0,1,0));
char name = 'A';
btRigidBody* body = fileLoader->createRigidBody(false,mass,btTransform(btQuaternion(0,0,0,1),btVector3(0,50,0)),shape,&name);
int body_count = fileLoader->getNumRigidBodies();
dynamicsWorld->addRigidBody(body);
//If I comment the last line, I'd get body_count=1.
Code: Select all
Assertion failed: m_collisionObjects.findLinearSearch<collisionObject> == m_collisionObjects.size<>, file ..\..\..\..\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp, line 114
I 'd appreciate it if somebody could help me understand what I am doing wrong here!
Thanks a lot in advance and happy weekend!
