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:
parent
922046dbf3
commit
54c963fa3b
19
OdeWorld.cc
19
OdeWorld.cc
@ -500,25 +500,37 @@ void OdeWorld::Object::setRotation(dReal x, dReal y, dReal z)
|
|||||||
void OdeWorld::Object::addForce(dReal fx, dReal fy, dReal fz)
|
void OdeWorld::Object::addForce(dReal fx, dReal fy, dReal fz)
|
||||||
{
|
{
|
||||||
if (m_body != 0)
|
if (m_body != 0)
|
||||||
|
{
|
||||||
dBodyAddForce(m_body, fx, fy, fz);
|
dBodyAddForce(m_body, fx, fy, fz);
|
||||||
|
enableBody();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OdeWorld::Object::addForceRel(dReal fx, dReal fy, dReal fz)
|
void OdeWorld::Object::addForceRel(dReal fx, dReal fy, dReal fz)
|
||||||
{
|
{
|
||||||
if (m_body != 0)
|
if (m_body != 0)
|
||||||
|
{
|
||||||
dBodyAddRelForce(m_body, fx, fy, fz);
|
dBodyAddRelForce(m_body, fx, fy, fz);
|
||||||
|
enableBody();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OdeWorld::Object::addTorque(dReal fx, dReal fy, dReal fz)
|
void OdeWorld::Object::addTorque(dReal fx, dReal fy, dReal fz)
|
||||||
{
|
{
|
||||||
if (m_body != 0)
|
if (m_body != 0)
|
||||||
|
{
|
||||||
dBodyAddTorque(m_body, fx, fy, fz);
|
dBodyAddTorque(m_body, fx, fy, fz);
|
||||||
|
enableBody();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OdeWorld::Object::addTorqueRel(dReal fx, dReal fy, dReal fz)
|
void OdeWorld::Object::addTorqueRel(dReal fx, dReal fy, dReal fz)
|
||||||
{
|
{
|
||||||
if (m_body != 0)
|
if (m_body != 0)
|
||||||
|
{
|
||||||
dBodyAddRelTorque(m_body, fx, fy, fz);
|
dBodyAddRelTorque(m_body, fx, fy, fz);
|
||||||
|
enableBody();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OdeWorld::Object::finalize()
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -42,6 +42,7 @@ class OdeWorld
|
|||||||
void finalize();
|
void finalize();
|
||||||
dReal getMass() { return m_mass.mass; }
|
dReal getMass() { return m_mass.mass; }
|
||||||
void setMass(dReal newmass);
|
void setMass(dReal newmass);
|
||||||
|
void enableBody();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_is_static;
|
bool m_is_static;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user