Cleaned up/simplified construction of a btRigidBody

Fixed memoryleak in btOptimizedBvh (delete []m_contiguousNodes;)
Changed DemoApplication::localCreateRigidBody, so it adds the rigidbody to the btDynamicsWorld.
Added check for duplicate objects in world when adding.
Added assert to prevent setLinearVelocity on static rigidbodies
Added btCollisionFilterGroups to btBroadphaseProxy
removed duplicate 'btBroadphaseProxy*	m_broadphaseProxy;' in btRigidBody
This commit is contained in:
ejcoumans
2006-10-04 23:46:27 +00:00
parent d85ecfe5c2
commit 323a1046fd
18 changed files with 96 additions and 59 deletions

View File

@@ -134,8 +134,7 @@ void UserCollisionAlgorithm::initPhysics()
startTransform.setIdentity();
startTransform.setOrigin(btVector3(0,-2,0));
btRigidBody* staticBody= localCreateRigidBody(isDynamic, mass, startTransform,trimeshShape);
getDynamicsWorld()->addCollisionObject(staticBody);
btRigidBody* staticBody= localCreateRigidBody(mass, startTransform,trimeshShape);
//enable custom material callback
staticBody->m_collisionFlags |= btCollisionObject::customMaterialCallback;
@@ -144,12 +143,12 @@ void UserCollisionAlgorithm::initPhysics()
{
btCollisionShape* sphereShape = new btSphereShape(1);
startTransform.setOrigin(btVector3(1,2*i,1));
btRigidBody* body = localCreateRigidBody(true, 1, startTransform,sphereShape);
getDynamicsWorld()->addCollisionObject(body);
btRigidBody* body = localCreateRigidBody(1, startTransform,sphereShape);
}
}
m_dynamicsWorld->setDebugDrawer(&debugDrawer);
}