added Object::setRotation()
git-svn-id: svn://anubis/misc/OdeWorld@192 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
parent
b3a97286ba
commit
f66cb39a98
16
OdeWorld.cc
16
OdeWorld.cc
@ -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)
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user