bool ODERigidObject::WriteState(File& f) const { //TODO: use body quaternion Vector3 w,v; const dReal* pos=dBodyGetPosition(bodyID); const dReal* q=dBodyGetQuaternion(bodyID); GetVelocity(w,v); //do we need this? const dReal* frc=dBodyGetForce(bodyID); const dReal* trq=dBodyGetTorque(bodyID); if(!WriteArrayFile(f,pos,3)) return false; if(!WriteArrayFile(f,q,4)) return false; if(!WriteFile(f,w)) return false; if(!WriteFile(f,v)) return false; if(!WriteArrayFile(f,frc,3)) return false; if(!WriteArrayFile(f,trq,3)) return false; return true; }
/* returns the value of the torque applied on a body */ void body_torque (t_real *res, dBodyID b) { dCopyVector3 (res, dBodyGetTorque (b)); }
IoObject *IoODEBody_torque(IoODEBody *self, IoObject *locals, IoMessage *m) { IoODEBody_assertValidBody(self, locals, m); return IoVector_newWithODEPoint(IOSTATE, dBodyGetTorque(BODYID)); }
const dReal * SParts::getTorque() { return dBodyGetTorque(m_odeobj->body()); }
const dReal* ODE_Link::getTorque(){ return dBodyGetTorque(bodyId); }