fixed bug not enabling bodies when adding forces or torques in OdeWorld

git-svn-id: svn://anubis/misc/OdeWorld@219 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
josh 2009-12-16 03:22:07 +00:00
parent 922046dbf3
commit 54c963fa3b
2 changed files with 20 additions and 0 deletions

View File

@ -500,25 +500,37 @@ void OdeWorld::Object::setRotation(dReal x, dReal y, dReal z)
void OdeWorld::Object::addForce(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
{
dBodyAddForce(m_body, fx, fy, fz);
enableBody();
}
}
void OdeWorld::Object::addForceRel(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
{
dBodyAddRelForce(m_body, fx, fy, fz);
enableBody();
}
}
void OdeWorld::Object::addTorque(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
{
dBodyAddTorque(m_body, fx, fy, fz);
enableBody();
}
}
void OdeWorld::Object::addTorqueRel(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
{
dBodyAddRelTorque(m_body, fx, fy, fz);
enableBody();
}
}
void OdeWorld::Object::finalize()
@ -545,3 +557,10 @@ void OdeWorld::Object::setMass(dReal newmass)
}
}
void OdeWorld::Object::enableBody()
{
if (m_body != 0)
{
dBodyEnable(m_body);
}
}

View File

@ -42,6 +42,7 @@ class OdeWorld
void finalize();
dReal getMass() { return m_mass.mass; }
void setMass(dReal newmass);
void enableBody();
protected:
bool m_is_static;