14 INLINE
void OdeHinge2Joint::
15 set_anchor(dReal x, dReal y, dReal z) {
16 dJointSetHinge2Anchor(_id, x, y, z);
19 INLINE
void OdeHinge2Joint::
20 set_anchor(
const LVecBase3f &anchor) {
21 dJointSetHinge2Anchor(_id, anchor[0], anchor[1], anchor[2]);
24 INLINE
void OdeHinge2Joint::
25 set_axis1(dReal x, dReal y, dReal z) {
26 dJointSetHinge2Axis1(_id, x, y, z);
29 INLINE
void OdeHinge2Joint::
30 set_axis1(
const LVecBase3f &axis) {
31 dJointSetHinge2Axis1(_id, axis[0], axis[1], axis[2]);
34 INLINE
void OdeHinge2Joint::
35 set_axis2(dReal x, dReal y, dReal z) {
36 dJointSetHinge2Axis2(_id, x, y, z);
39 INLINE
void OdeHinge2Joint::
40 set_axis2(
const LVecBase3f &axis) {
41 dJointSetHinge2Axis2(_id, axis[0], axis[1], axis[2]);
44 INLINE
void OdeHinge2Joint::
45 add_torques(dReal torque1, dReal torque2) {
46 dJointAddHinge2Torques(_id, torque1, torque2);
49 INLINE LVecBase3f OdeHinge2Joint::
52 dJointGetHinge2Anchor(_id, result);
53 return LVecBase3f(result[0], result[1], result[2]);
56 INLINE LVecBase3f OdeHinge2Joint::
59 dJointGetHinge2Anchor2(_id, result);
60 return LVecBase3f(result[0], result[1], result[2]);
63 INLINE LVecBase3f OdeHinge2Joint::
66 dJointGetHinge2Axis1(_id, result);
67 return LVecBase3f(result[0], result[1], result[2]);
70 INLINE LVecBase3f OdeHinge2Joint::
73 dJointGetHinge2Axis2(_id, result);
74 return LVecBase3f(result[0], result[1], result[2]);
77 INLINE dReal OdeHinge2Joint::
79 return dJointGetHinge2Angle1(_id);
82 INLINE dReal OdeHinge2Joint::
83 get_angle1_rate()
const {
84 return dJointGetHinge2Angle1Rate(_id);
87 INLINE dReal OdeHinge2Joint::
88 get_angle2_rate()
const {
89 return dJointGetHinge2Angle2Rate(_id);
92 INLINE
void OdeHinge2Joint::
93 set_param_lo_stop(
int axis, dReal val) {
95 nassertv( 0 <= axis && axis <= 1 );
97 dJointSetHinge2Param(_id, dParamLoStop, val);
98 }
else if ( axis == 1 ) {
99 dJointSetHinge2Param(_id, dParamLoStop2, val);
103 INLINE
void OdeHinge2Joint::
104 set_param_hi_stop(
int axis, dReal val) {
105 nassertv( _id != 0 );
106 nassertv( 0 <= axis && axis <= 1 );
108 dJointSetHinge2Param(_id, dParamHiStop, val);
109 }
else if ( axis == 1 ) {
110 dJointSetHinge2Param(_id, dParamHiStop2, val);
114 INLINE
void OdeHinge2Joint::
115 set_param_vel(
int axis, dReal val) {
116 nassertv( _id != 0 );
117 nassertv( 0 <= axis && axis <= 1 );
119 dJointSetHinge2Param(_id, dParamVel, val);
120 }
else if ( axis == 1 ) {
121 dJointSetHinge2Param(_id, dParamVel2, val);
125 INLINE
void OdeHinge2Joint::
126 set_param_f_max(
int axis, dReal val) {
127 nassertv( _id != 0 );
128 nassertv( 0 <= axis && axis <= 1 );
130 dJointSetHinge2Param(_id, dParamFMax, val);
131 }
else if ( axis == 1 ) {
132 dJointSetHinge2Param(_id, dParamFMax2, val);
136 INLINE
void OdeHinge2Joint::
137 set_param_fudge_factor(
int axis, dReal val) {
138 nassertv( _id != 0 );
139 nassertv( 0 <= axis && axis <= 1 );
141 dJointSetHinge2Param(_id, dParamFudgeFactor, val);
142 }
else if ( axis == 1 ) {
143 dJointSetHinge2Param(_id, dParamFudgeFactor2, val);
147 INLINE
void OdeHinge2Joint::
148 set_param_bounce(
int axis, dReal val) {
149 nassertv( _id != 0 );
150 nassertv( 0 <= axis && axis <= 1 );
152 dJointSetHinge2Param(_id, dParamBounce, val);
153 }
else if ( axis == 1 ) {
154 dJointSetHinge2Param(_id, dParamBounce2, val);
158 INLINE
void OdeHinge2Joint::
159 set_param_CFM(
int axis, dReal val) {
160 nassertv( _id != 0 );
161 nassertv( 0 <= axis && axis <= 1 );
163 dJointSetHinge2Param(_id, dParamCFM, val);
164 }
else if ( axis == 1 ) {
165 dJointSetHinge2Param(_id, dParamCFM2, val);
169 INLINE
void OdeHinge2Joint::
170 set_param_stop_ERP(
int axis, dReal val) {
171 nassertv( _id != 0 );
172 nassertv( 0 <= axis && axis <= 1 );
174 dJointSetHinge2Param(_id, dParamStopERP, val);
175 }
else if ( axis == 1 ) {
176 dJointSetHinge2Param(_id, dParamStopERP2, val);
180 INLINE
void OdeHinge2Joint::
181 set_param_stop_CFM(
int axis, dReal val) {
182 nassertv( _id != 0 );
183 nassertv( 0 <= axis && axis <= 1 );
185 dJointSetHinge2Param(_id, dParamStopCFM, val);
186 }
else if ( axis == 1 ) {
187 dJointSetHinge2Param(_id, dParamStopCFM2, val);
191 INLINE
void OdeHinge2Joint::
192 set_param_suspension_ERP(
int axis, dReal val) {
193 nassertv( _id != 0 );
194 nassertv( 0 <= axis && axis <= 1 );
196 dJointSetHinge2Param(_id, dParamSuspensionERP, val);
197 }
else if ( axis == 1 ) {
198 dJointSetHinge2Param(_id, dParamSuspensionERP2, val);
202 INLINE
void OdeHinge2Joint::
203 set_param_suspension_CFM(
int axis, dReal val) {
204 nassertv( _id != 0 );
205 nassertv( 0 <= axis && axis <= 1 );
207 dJointSetHinge2Param(_id, dParamSuspensionCFM, val);
208 }
else if ( axis == 1 ) {
209 dJointSetHinge2Param(_id, dParamSuspensionCFM2, val);
213 INLINE dReal OdeHinge2Joint::
214 get_param_lo_stop(
int axis)
const {
215 nassertr( _id != 0, 0 );
216 nassertr( 0 <= axis && axis <= 1, 0 );
218 return dJointGetHinge2Param(_id, dParamLoStop);
219 }
else if ( axis == 1 ) {
220 return dJointGetHinge2Param(_id, dParamLoStop2);
225 INLINE dReal OdeHinge2Joint::
226 get_param_hi_stop(
int axis)
const {
227 nassertr( _id != 0, 0 );
228 nassertr( 0 <= axis && axis <= 1, 0 );
230 return dJointGetHinge2Param(_id, dParamHiStop);
231 }
else if ( axis == 1 ) {
232 return dJointGetHinge2Param(_id, dParamHiStop2);
237 INLINE dReal OdeHinge2Joint::
238 get_param_vel(
int axis)
const {
239 nassertr( _id != 0, 0 );
240 nassertr( 0 <= axis && axis <= 1, 0 );
242 return dJointGetHinge2Param(_id, dParamVel);
243 }
else if ( axis == 1 ) {
244 return dJointGetHinge2Param(_id, dParamVel2);
249 INLINE dReal OdeHinge2Joint::
250 get_param_f_max(
int axis)
const {
251 nassertr( _id != 0, 0 );
252 nassertr( 0 <= axis && axis <= 1, 0 );
254 return dJointGetHinge2Param(_id, dParamFMax);
255 }
else if ( axis == 1 ) {
256 return dJointGetHinge2Param(_id, dParamFMax2);
261 INLINE dReal OdeHinge2Joint::
262 get_param_fudge_factor(
int axis)
const {
263 nassertr( _id != 0, 0 );
264 nassertr( 0 <= axis && axis <= 1, 0 );
266 return dJointGetHinge2Param(_id, dParamFudgeFactor);
267 }
else if ( axis == 1 ) {
268 return dJointGetHinge2Param(_id, dParamFudgeFactor2);
273 INLINE dReal OdeHinge2Joint::
274 get_param_bounce(
int axis)
const {
275 nassertr( _id != 0, 0 );
276 nassertr( 0 <= axis && axis <= 1, 0 );
278 return dJointGetHinge2Param(_id, dParamBounce);
279 }
else if ( axis == 1 ) {
280 return dJointGetHinge2Param(_id, dParamBounce2);
285 INLINE dReal OdeHinge2Joint::
286 get_param_CFM(
int axis)
const {
287 nassertr( _id != 0, 0 );
288 nassertr( 0 <= axis && axis <= 1, 0 );
290 return dJointGetHinge2Param(_id, dParamCFM);
291 }
else if ( axis == 1 ) {
292 return dJointGetHinge2Param(_id, dParamCFM2);
297 INLINE dReal OdeHinge2Joint::
298 get_param_stop_ERP(
int axis)
const {
299 nassertr( _id != 0, 0 );
300 nassertr( 0 <= axis && axis <= 1, 0 );
302 return dJointGetHinge2Param(_id, dParamStopERP);
303 }
else if ( axis == 1 ) {
304 return dJointGetHinge2Param(_id, dParamStopERP2);
309 INLINE dReal OdeHinge2Joint::
310 get_param_stop_CFM(
int axis)
const {
311 nassertr( _id != 0, 0 );
312 nassertr( 0 <= axis && axis <= 1, 0 );
314 return dJointGetHinge2Param(_id, dParamStopCFM);
315 }
else if ( axis == 1 ) {
316 return dJointGetHinge2Param(_id, dParamStopCFM2);
321 INLINE dReal OdeHinge2Joint::
322 get_param_suspension_ERP(
int axis)
const {
323 nassertr( _id != 0, 0 );
324 nassertr( 0 <= axis && axis <= 1, 0 );
326 return dJointGetHinge2Param(_id, dParamSuspensionERP);
327 }
else if ( axis == 1 ) {
328 return dJointGetHinge2Param(_id, dParamSuspensionERP2);
333 INLINE dReal OdeHinge2Joint::
334 get_param_suspension_CFM(
int axis)
const {
335 nassertr( _id != 0, 0 );
336 nassertr( 0 <= axis && axis <= 1, 0 );
338 return dJointGetHinge2Param(_id, dParamSuspensionCFM);
339 }
else if ( axis == 1 ) {
340 return dJointGetHinge2Param(_id, dParamSuspensionCFM2);