moved mass rotation and translation to setupGeom()

git-svn-id: svn://anubis/misc/OdeWorld@154 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
josh 2009-09-29 02:42:59 +00:00
parent 834b846755
commit 16af9222e7

View File

@ -151,7 +151,6 @@ dGeomID OdeWorld::addCube(const string & name, bool static_data,
dGeomID id = dCreateBox(m_space, args[0], args[1], args[2]); dGeomID id = dCreateBox(m_space, args[0], args[1], args[2]);
dMass mass; dMass mass;
dMassSetBox(&mass, 1.0, args[0], args[1], args[2]); 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, setupGeom(name, static_data, body, id, &mass,
args[3], args[4], args[5], args[3], args[4], args[5],
args[6], args[7], args[8]); 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]); dGeomID id = dCreateSphere(m_space, args[0]);
dMass mass; dMass mass;
dMassSetSphere(&mass, 1.0, args[0]); dMassSetSphere(&mass, 1.0, args[0]);
dMassTranslate(&mass, args[1], args[2], args[3]);
setupGeom(name, static_data, body, id, &mass, setupGeom(name, static_data, body, id, &mass,
args[1], args[2], args[3], args[1], args[2], args[3],
0.0, 0.0, 0.0); 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]); dGeomID id = dCreateCylinder(m_space, args[0], args[1]);
dMass mass; dMass mass;
dMassSetCylinder(&mass, 1.0, 3, args[0], args[1]); dMassSetCylinder(&mass, 1.0, 3, args[0], args[1]);
dMassTranslate(&mass, args[2], args[3], args[4]);
setupGeom(name, static_data, body, id, &mass, setupGeom(name, static_data, body, id, &mass,
args[2], args[3], args[4], args[2], args[3], args[4],
args[5], args[6], args[7]); 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]); dGeomID id = dCreateCCylinder(m_space, args[0], args[1]);
dMass mass; dMass mass;
dMassSetCappedCylinder(&mass, 1.0, 3, args[0], args[1]); dMassSetCappedCylinder(&mass, 1.0, 3, args[0], args[1]);
dMassTranslate(&mass, args[2], args[3], args[4]);
setupGeom(name, static_data, body, id, &mass, setupGeom(name, static_data, body, id, &mass,
args[2], args[3], args[4], args[2], args[3], args[4],
args[5], args[6], args[7]); 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); dRFromEulerAngles(rot, rotx, roty, rotz);
dGeomSetRotation(geom, rot); dGeomSetRotation(geom, rot);
dMassRotate(mass, rot);
dMassTranslate(mass, locx, locy, locz);
dMass origmass; dMass origmass;
dBodyGetMass(*body, &origmass); dBodyGetMass(*body, &origmass);
dMassAdd(&origmass, mass); dMassAdd(&origmass, mass);