added fixed setGravity() to enable all bodies

git-svn-id: svn://anubis/misc/OdeWorld@218 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
josh 2009-12-09 00:13:53 +00:00
parent 47afc6d6ec
commit 922046dbf3
2 changed files with 10 additions and 3 deletions

View File

@ -98,10 +98,8 @@ dBodyID OdeWorld::createBody()
return id;
}
void OdeWorld::destroyBody(dBodyID body)
void OdeWorld::enableAllBodies()
{
m_bodies.erase(body);
dBodyDestroy(body);
for (std::map<dBodyID, int>::iterator it = m_bodies.begin();
it != m_bodies.end();
it++)
@ -110,6 +108,13 @@ void OdeWorld::destroyBody(dBodyID body)
}
}
void OdeWorld::destroyBody(dBodyID body)
{
m_bodies.erase(body);
dBodyDestroy(body);
enableAllBodies();
}
OdeWorld::Object::Object(bool is_static, OdeWorld * ode_world,
dWorldID world, dSpaceID space,
float scale)

View File

@ -65,8 +65,10 @@ class OdeWorld
void setGravity(float x, float y, float z)
{
dWorldSetGravity(m_world, x, y, z);
enableAllBodies();
}
void step();
void enableAllBodies();
friend void OdeWorld_collide_callback(void * data,
dGeomID o1, dGeomID o2);