added Object::setRotation()

git-svn-id: svn://anubis/misc/OdeWorld@192 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
josh 2009-10-19 17:24:23 +00:00
parent b3a97286ba
commit f66cb39a98
2 changed files with 17 additions and 0 deletions

View File

@ -510,6 +510,22 @@ void OdeWorld::Object::getPosition(double * x, double * y, double * z)
}
}
void OdeWorld::Object::setRotation(dReal x, dReal y, dReal z)
{
dMatrix3 r;
dRFromEulerAngles(r, x, y, z);
if (m_is_static)
{
for (int i = 0, sz = m_geoms.size(); i < sz; i++)
dGeomSetRotation(m_geoms[i], r);
}
else
{
if (m_body != 0)
dBodySetRotation(m_body, r);
}
}
void OdeWorld::Object::addForce(dReal fx, dReal fy, dReal fz)
{
if (m_body != 0)

View File

@ -24,6 +24,7 @@ class OdeWorld
void loadPhy(const std::string & path);
void setPosition(double x, double y, double z);
void getPosition(double * x, double * y, double * z);
void setRotation(dReal x, dReal y, dReal z);
const dReal * getPosition();
const dReal * getRotation();
std::vector<dGeomID> loadPhy(const std::string & path,