diff --git a/OdeWorld.cc b/OdeWorld.cc index 04fb0de..96acb03 100644 --- a/OdeWorld.cc +++ b/OdeWorld.cc @@ -441,7 +441,10 @@ void OdeWorld::Object::setPosition(double x, double y, double z) else { if (m_body != 0) + { dBodySetPosition(m_body, x, y, z); + enableBody(); + } } m_position[0] = x; m_position[1] = y; @@ -493,7 +496,10 @@ void OdeWorld::Object::setRotation(dReal x, dReal y, dReal z) else { if (m_body != 0) + { dBodySetRotation(m_body, r); + enableBody(); + } } } @@ -554,6 +560,7 @@ void OdeWorld::Object::setMass(dReal newmass) { dMassAdjust(&m_mass, newmass); dBodySetMass(m_body, &m_mass); + enableBody(); } }