more SystemCall fixes
[io/quag.git] / addons / ODE / source / IoODEHinge.h
blob59ead14790bccdc28c50ed400e20327968b28357
1 /* copyright: Jonathan Wright, 2006
2 * All rights reserved. See _BSDLicense.txt.
3 */
5 #ifndef IoODEHinge_DEFINED
6 #define IoODEHinge_DEFINED 1
8 #include "IoODEJoint.h"
9 #include "IoODEJointGroup.h"
11 typedef IoODEJoint IoODEHinge;
13 IoODEHinge *IoODEHinge_rawClone(IoODEHinge *self);
14 IoODEHinge *IoODEHinge_proto(void *state);
15 IoODEHinge *IoODEHinge_newProto(void *state, IoODEJointGroup *jointGroup);
17 void IoODEHinge_free(IoODEHinge *self);
18 void IoODEHinge_mark(IoODEHinge *self);
20 /* ----------------------------------------------------------- */
22 IoObject *IoODEHinge_setAnchor(IoODEHinge *self, IoObject *locals, IoMessage *m);
23 //IoObject *IoODEHinge_setAnchor2(IoODEHinge *self, IoObject *locals, IoMessage *m);
25 IoObject *IoODEHinge_getParam(IoODEHinge *self, IoObject *locals, IoMessage *m, int parameter);
26 IoObject *IoODEHinge_setParam(IoODEHinge *self, IoObject *locals, IoMessage *m, int parameter);
28 #define PARAMS \
29 PARAM(dParamLoStop, lowStop, setLowStop) \
30 PARAM(dParamHiStop, highStop, setHighStop) \
31 PARAM(dParamVel, velocity, setVelocity) \
32 PARAM(dParamFMax, maxForce, setMaxForce) \
33 PARAM(dParamFudgeFactor, fudgeFactor, setFudgeFactor) \
34 PARAM(dParamBounce, bounce, setBounce) \
35 PARAM(dParamCFM, cfm, setCfm) \
36 PARAM(dParamStopERP, stopErp, setStopErp) \
37 PARAM(dParamStopCFM, stopCfm, setStopCfm)
39 #define PARAM(X, _N, _SETN) \
40 IoObject *IoODEHinge_##_N(IoODEHinge *self, IoObject *locals, IoMessage *m); \
41 IoObject *IoODEHinge_##_SETN(IoODEHinge *self, IoObject *locals, IoMessage *m);
42 PARAMS
43 #undef PARAM
45 IoObject *IoODEHinge_anchor(IoODEHinge *self, IoObject *locals, IoMessage *m);
46 IoObject *IoODEHinge_anchor2(IoODEHinge *self, IoObject *locals, IoMessage *m);
47 IoObject *IoODEHinge_axis(IoODEHinge *self, IoObject *locals, IoMessage *m);
48 IoObject *IoODEHinge_angle(IoODEHinge *self, IoObject *locals, IoMessage *m);
49 IoObject *IoODEHinge_angleRate(IoODEHinge *self, IoObject *locals, IoMessage *m);
51 IoObject *IoODEHinge_setAnchor(IoODEHinge *self, IoObject *locals, IoMessage *m);
52 IoObject *IoODEHinge_setAxis(IoODEHinge *self, IoObject *locals, IoMessage *m);
53 IoObject *IoODEHinge_addTorque(IoODEHinge *self, IoObject *locals, IoMessage *m);
55 #endif