- added linear limits to btGeneric6DofConstraint and made sure the linear axis are in local space of objectA

- use microseconds instead of milliseconds for deltatime
This commit is contained in:
ejcoumans
2006-11-07 02:32:52 +00:00
parent 074e2b2d3b
commit c3ed55057c
12 changed files with 163 additions and 39 deletions

View File

@@ -269,12 +269,19 @@ void btDiscreteDynamicsWorld::removeRigidBody(btRigidBody* body)
void btDiscreteDynamicsWorld::addRigidBody(btRigidBody* body)
{
body->setGravity(m_gravity);
bool isDynamic = !(body->isStaticObject() || body->isKinematicObject());
short collisionFilterGroup = isDynamic? btBroadphaseProxy::DefaultFilter : btBroadphaseProxy::StaticFilter;
short collisionFilterMask = isDynamic? btBroadphaseProxy::AllFilter : btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter;
if (!body->isStaticOrKinematicObject())
{
body->setGravity(m_gravity);
}
addCollisionObject(body,collisionFilterGroup,collisionFilterMask);
if (body->getCollisionShape())
{
bool isDynamic = !(body->isStaticObject() || body->isKinematicObject());
short collisionFilterGroup = isDynamic? btBroadphaseProxy::DefaultFilter : btBroadphaseProxy::StaticFilter;
short collisionFilterMask = isDynamic? btBroadphaseProxy::AllFilter : btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter;
addCollisionObject(body,collisionFilterGroup,collisionFilterMask);
}
}