IoObject *IoODEBox_lengths(IoODEBox *self, IoObject *locals, IoMessage *m) { dVector3 lengths; IoODEBox_assertHasBoxId(self, locals, m); dGeomBoxGetLengths(GEOMID, lengths); return IoSeq_newWithODEPoint(IOSTATE, lengths); }
IoObject *IoODEJoint_getVector3(IoODEJoint *self, IoObject *locals, IoMessage *m, IoODEJointGetVector3Func func) { dVector3 anchor; IoODEJoint_assertValidJoint(self, locals, m); func(JOINTID, anchor); return IoSeq_newWithODEPoint(IOSTATE, anchor); }
IoObject *IoODEBody_linearVelocity(IoODEBody *self, IoObject *locals, IoMessage *m) { IoODEBody_assertValidBody(self, locals, m); return IoSeq_newWithODEPoint(IOSTATE, dBodyGetLinearVel(BODYID)); }
IoObject *IoODEBody_torque(IoODEBody *self, IoObject *locals, IoMessage *m) { IoODEBody_assertValidBody(self, locals, m); return IoSeq_newWithODEPoint(IOSTATE, dBodyGetTorque(BODYID)); }