diff --git a/OdeWorld.cc b/OdeWorld.cc index 2e569ab..e20897e 100644 --- a/OdeWorld.cc +++ b/OdeWorld.cc @@ -151,7 +151,6 @@ dGeomID OdeWorld::addCube(const string & name, bool static_data, dGeomID id = dCreateBox(m_space, args[0], args[1], args[2]); dMass mass; dMassSetBox(&mass, 1.0, args[0], args[1], args[2]); - dMassTranslate(&mass, args[3], args[4], args[5]); setupGeom(name, static_data, body, id, &mass, args[3], args[4], args[5], args[6], args[7], args[8]); @@ -166,7 +165,6 @@ dGeomID OdeWorld::addSphere(const string & name, bool static_data, dGeomID id = dCreateSphere(m_space, args[0]); dMass mass; dMassSetSphere(&mass, 1.0, args[0]); - dMassTranslate(&mass, args[1], args[2], args[3]); setupGeom(name, static_data, body, id, &mass, args[1], args[2], args[3], 0.0, 0.0, 0.0); @@ -181,7 +179,6 @@ dGeomID OdeWorld::addCylinder(const string & name, bool static_data, dGeomID id = dCreateCylinder(m_space, args[0], args[1]); dMass mass; dMassSetCylinder(&mass, 1.0, 3, args[0], args[1]); - dMassTranslate(&mass, args[2], args[3], args[4]); setupGeom(name, static_data, body, id, &mass, args[2], args[3], args[4], args[5], args[6], args[7]); @@ -196,7 +193,6 @@ dGeomID OdeWorld::addCCylinder(const string & name, bool static_data, dGeomID id = dCreateCCylinder(m_space, args[0], args[1]); dMass mass; dMassSetCappedCylinder(&mass, 1.0, 3, args[0], args[1]); - dMassTranslate(&mass, args[2], args[3], args[4]); setupGeom(name, static_data, body, id, &mass, args[2], args[3], args[4], args[5], args[6], args[7]); @@ -230,6 +226,8 @@ void OdeWorld::setupGeom(const std::string & name, bool static_data, dRFromEulerAngles(rot, rotx, roty, rotz); dGeomSetRotation(geom, rot); + dMassRotate(mass, rot); + dMassTranslate(mass, locx, locy, locz); dMass origmass; dBodyGetMass(*body, &origmass); dMassAdd(&origmass, mass);