IoObject *IoODEJoint_setParam(IoODEJoint *self, IoObject *locals, IoMessage *m, int parameter, IoODEJointSetParamFunc func) { dReal value = IoMessage_locals_doubleArgAt_(m, locals, 0); IoODEJoint_assertValidJoint(self, locals, m); func(JOINTID, parameter, value); return self; }
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 *IoODEJoint_setReal2(IoODEJoint *self, IoObject *locals, IoMessage *m, IoODEJointSetReal2 func) { dReal value1 = IoMessage_locals_doubleArgAt_(m, locals, 0); dReal value2 = IoMessage_locals_doubleArgAt_(m, locals, 1); IoODEJoint_assertValidJoint(self, locals, m); func(JOINTID, value1, value2); return self; }
IoObject *IoODEJoint_attach(IoODEJoint *self, IoObject *locals, IoMessage *m) { dBodyID body1 = IoMessage_locals_odeBodyIdArgAt_(m, locals, 0); dBodyID body2 = IoMessage_locals_odeBodyIdArgAt_(m, locals, 1); IoODEJoint_assertValidJoint(self, locals, m); dJointAttach(JOINTID, body1, body2); return self; }
IoObject *IoODEJoint_setVector3(IoODEJoint *self, IoObject *locals, IoMessage *m, IoODEJointSetVector3Func func) { dReal x = IoMessage_locals_doubleArgAt_(m, locals, 0); dReal y = IoMessage_locals_doubleArgAt_(m, locals, 1); dReal z = IoMessage_locals_doubleArgAt_(m, locals, 2); IoODEJoint_assertValidJoint(self, locals, m); func(JOINTID, x, y, z); return self; }
IoObject *IoODEFixed_fix(IoODEFixed *self, IoObject *locals, IoMessage *m) { IoODEJoint_assertValidJoint(self, locals, m); dJointSetFixed(JOINTID); return self; }
IoObject *IoODEJoint_getReal(IoODEJoint *self, IoObject *locals, IoMessage *m, IoODEJointGetReal func) { IoODEJoint_assertValidJoint(self, locals, m); return IONUMBER(func(JOINTID)); }
IoObject *IoODEJoint_getParam(IoODEJoint *self, IoObject *locals, IoMessage *m, int parameter, IoODEJointGetParamFunc func) { IoODEJoint_assertValidJoint(self, locals, m); return IONUMBER(func(JOINTID, parameter)); }
IoObject *IoODEJoint_attachedBody2(IoODEJoint *self, IoObject *locals, IoMessage *m) { IoODEJoint_assertValidJoint(self, locals, m); return IoODEBody_bodyFromId(IOSTATE, dJointGetBody(JOINTID, 1)); }