add absolute/relative force/torque addition functions

git-svn-id: svn://anubis/misc/OdeWorld@187 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
josh 2009-10-19 02:53:52 +00:00
parent 816e04f68f
commit ce6fcab8f3
2 changed files with 28 additions and 0 deletions

View File

@ -509,3 +509,27 @@ void OdeWorld::Object::getPosition(double * x, double * y, double * z)
*z = m_position[2];
}
}
void OdeWorld::Object::addForce(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
dBodyAddForce(m_body, fx, fy, fz);
}
void OdeWorld::Object::addRelForce(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
dBodyAddRelForce(m_body, fx, fy, fz);
}
void OdeWorld::Object::addTorque(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
dBodyAddTorque(m_body, fx, fy, fz);
}
void OdeWorld::Object::addRelTorque(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)
dBodyAddRelTorque(m_body, fx, fy, fz);
}

View File

@ -33,6 +33,10 @@ class OdeWorld
void addCylinder(const std::vector<float> args);
void addCCylinder(const std::vector<float> args);
void addPlane(const std::vector<float> args);
void addForce(dReal fx, dReal fy, dReal fz);
void addRelForce(dReal fx, dReal fy, dReal fz);
void addTorque(dReal fx, dReal fy, dReal fz);
void addRelTorque(dReal fx, dReal fy, dReal fz);
protected:
bool m_is_static;