1 /* copyright: Jonathan Wright, 2006
2 * All rights reserved. See _BSDLicense.txt.
5 #ifndef IOODEContact_DEFINED
6 #define IOODEContact_DEFINED 1
13 #define ISODECONTACT(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoODEContact_rawClone)
15 typedef IoObject IoODEContact
;
17 typedef dContact IoODEContactData
;
19 IoODEContact
*IoODEContact_rawClone(IoODEContact
*self
);
20 IoODEContact
*IoODEContact_proto(void *state
);
21 IoODEContact
*IoODEContact_new(void *state
);
22 IoODEContact
*IoODEContact_newContactGeom(void *state
, dContactGeom
*contact
);
24 void IoODEContact_free(IoODEContact
*self
);
25 void IoODEContact_mark(IoODEContact
*self
);
27 /* ----------------------------------------------------------- */
29 IoODEContact
*IoMessage_locals_odeContactArgAt_(IoMessage
*self
, void *locals
, int n
);
30 dContact
*IoMessage_locals_odeContactStructArgAt_(IoMessage
*self
, void *locals
, int n
);
32 dContact
*IoODEContact_dContactStruct(IoODEContact
*self
);
34 /* ----------------------------------------------------------- */
36 IoObject
*IoODEContact_position(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
37 IoObject
*IoODEContact_setPosition(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
38 IoObject
*IoODEContact_normal(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
39 IoObject
*IoODEContact_setNormal(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
40 IoObject
*IoODEContact_depth(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
41 IoObject
*IoODEContact_setDepth(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
42 IoObject
*IoODEContact_geom1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
43 IoObject
*IoODEContact_setGeom1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
44 IoObject
*IoODEContact_geom2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
45 IoObject
*IoODEContact_setGeom2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
46 IoObject
*IoODEContact_side1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
47 IoObject
*IoODEContact_setSide1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
48 IoObject
*IoODEContact_side2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
49 IoObject
*IoODEContact_setSide2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
50 IoObject
*IoODEContact_mu(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
51 IoObject
*IoODEContact_setMu(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
53 IoObject
*IoODEContact_frictionDirection(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
54 IoObject
*IoODEContact_setFrictionDirection(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
55 IoObject
*IoODEContact_frictionDirectionEnabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
56 IoObject
*IoODEContact_disableFrictionDirection(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
58 IoObject
*IoODEContact_mu2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
59 IoObject
*IoODEContact_setMu2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
60 IoObject
*IoODEContact_mu2Enabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
61 IoObject
*IoODEContact_disableMu2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
63 IoObject
*IoODEContact_bounce(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
64 IoObject
*IoODEContact_setBounce(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
65 IoObject
*IoODEContact_bounceEnabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
66 IoObject
*IoODEContact_disableBounce(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
67 IoObject
*IoODEContact_bounceVelocity(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
68 IoObject
*IoODEContact_setBounceVelocity(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
70 IoObject
*IoODEContact_softErp(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
71 IoObject
*IoODEContact_setSoftErp(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
72 IoObject
*IoODEContact_softErpEnabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
73 IoObject
*IoODEContact_disableSoftErp(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
75 IoObject
*IoODEContact_softCfm(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
76 IoObject
*IoODEContact_setSoftCfm(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
77 IoObject
*IoODEContact_softCfmEnabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
78 IoObject
*IoODEContact_disableSoftCfm(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
80 IoObject
*IoODEContact_motion1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
81 IoObject
*IoODEContact_setMotion1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
82 IoObject
*IoODEContact_motion1Enabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
83 IoObject
*IoODEContact_disableMotion1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
85 IoObject
*IoODEContact_motion2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
86 IoObject
*IoODEContact_setMotion2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
87 IoObject
*IoODEContact_motion2Enabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
88 IoObject
*IoODEContact_disableMotion2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
90 IoObject
*IoODEContact_slip1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
91 IoObject
*IoODEContact_setSlip1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
92 IoObject
*IoODEContact_slip1Enabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
93 IoObject
*IoODEContact_disableSlip1(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
95 IoObject
*IoODEContact_slip2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
96 IoObject
*IoODEContact_setSlip2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
97 IoObject
*IoODEContact_slip2Enabled(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);
98 IoObject
*IoODEContact_disableSlip2(IoODEContact
*self
, IoObject
*locals
, IoMessage
*m
);