16 INLINE
void OdeHinge2Joint::
17 set_anchor(dReal x, dReal y, dReal z) {
18 dJointSetHinge2Anchor(_id, x, y, z);
21 INLINE
void OdeHinge2Joint::
23 dJointSetHinge2Anchor(_id, anchor[0], anchor[1], anchor[2]);
26 INLINE
void OdeHinge2Joint::
27 set_axis1(dReal x, dReal y, dReal z) {
28 dJointSetHinge2Axis1(_id, x, y, z);
31 INLINE
void OdeHinge2Joint::
33 dJointSetHinge2Axis1(_id, axis[0], axis[1], axis[2]);
36 INLINE
void OdeHinge2Joint::
37 set_axis2(dReal x, dReal y, dReal z) {
38 dJointSetHinge2Axis2(_id, x, y, z);
41 INLINE
void OdeHinge2Joint::
43 dJointSetHinge2Axis2(_id, axis[0], axis[1], axis[2]);
46 INLINE
void OdeHinge2Joint::
47 add_torques(dReal torque1, dReal torque2) {
48 dJointAddHinge2Torques(_id, torque1, torque2);
54 dJointGetHinge2Anchor(_id, result);
55 return LVecBase3f(result[0], result[1], result[2]);
61 dJointGetHinge2Anchor2(_id, result);
62 return LVecBase3f(result[0], result[1], result[2]);
68 dJointGetHinge2Axis1(_id, result);
69 return LVecBase3f(result[0], result[1], result[2]);
75 dJointGetHinge2Axis2(_id, result);
76 return LVecBase3f(result[0], result[1], result[2]);
79 INLINE dReal OdeHinge2Joint::
81 return dJointGetHinge2Angle1(_id);
84 INLINE dReal OdeHinge2Joint::
85 get_angle1_rate()
const {
86 return dJointGetHinge2Angle1Rate(_id);
89 INLINE dReal OdeHinge2Joint::
90 get_angle2_rate()
const {
91 return dJointGetHinge2Angle2Rate(_id);
94 INLINE
void OdeHinge2Joint::
95 set_param_lo_stop(
int axis, dReal val) {
97 nassertv( 0 <= axis && axis <= 1 );
99 dJointSetHinge2Param(_id, dParamLoStop, val);
100 }
else if ( axis == 1 ) {
101 dJointSetHinge2Param(_id, dParamLoStop2, val);
105 INLINE
void OdeHinge2Joint::
106 set_param_hi_stop(
int axis, dReal val) {
107 nassertv( _id != 0 );
108 nassertv( 0 <= axis && axis <= 1 );
110 dJointSetHinge2Param(_id, dParamHiStop, val);
111 }
else if ( axis == 1 ) {
112 dJointSetHinge2Param(_id, dParamHiStop2, val);
116 INLINE
void OdeHinge2Joint::
117 set_param_vel(
int axis, dReal val) {
118 nassertv( _id != 0 );
119 nassertv( 0 <= axis && axis <= 1 );
121 dJointSetHinge2Param(_id, dParamVel, val);
122 }
else if ( axis == 1 ) {
123 dJointSetHinge2Param(_id, dParamVel2, val);
127 INLINE
void OdeHinge2Joint::
128 set_param_f_max(
int axis, dReal val) {
129 nassertv( _id != 0 );
130 nassertv( 0 <= axis && axis <= 1 );
132 dJointSetHinge2Param(_id, dParamFMax, val);
133 }
else if ( axis == 1 ) {
134 dJointSetHinge2Param(_id, dParamFMax2, val);
138 INLINE
void OdeHinge2Joint::
139 set_param_fudge_factor(
int axis, dReal val) {
140 nassertv( _id != 0 );
141 nassertv( 0 <= axis && axis <= 1 );
143 dJointSetHinge2Param(_id, dParamFudgeFactor, val);
144 }
else if ( axis == 1 ) {
145 dJointSetHinge2Param(_id, dParamFudgeFactor2, val);
149 INLINE
void OdeHinge2Joint::
150 set_param_bounce(
int axis, dReal val) {
151 nassertv( _id != 0 );
152 nassertv( 0 <= axis && axis <= 1 );
154 dJointSetHinge2Param(_id, dParamBounce, val);
155 }
else if ( axis == 1 ) {
156 dJointSetHinge2Param(_id, dParamBounce2, val);
160 INLINE
void OdeHinge2Joint::
161 set_param_CFM(
int axis, dReal val) {
162 nassertv( _id != 0 );
163 nassertv( 0 <= axis && axis <= 1 );
165 dJointSetHinge2Param(_id, dParamCFM, val);
166 }
else if ( axis == 1 ) {
167 dJointSetHinge2Param(_id, dParamCFM2, val);
171 INLINE
void OdeHinge2Joint::
172 set_param_stop_ERP(
int axis, dReal val) {
173 nassertv( _id != 0 );
174 nassertv( 0 <= axis && axis <= 1 );
176 dJointSetHinge2Param(_id, dParamStopERP, val);
177 }
else if ( axis == 1 ) {
178 dJointSetHinge2Param(_id, dParamStopERP2, val);
182 INLINE
void OdeHinge2Joint::
183 set_param_stop_CFM(
int axis, dReal val) {
184 nassertv( _id != 0 );
185 nassertv( 0 <= axis && axis <= 1 );
187 dJointSetHinge2Param(_id, dParamStopCFM, val);
188 }
else if ( axis == 1 ) {
189 dJointSetHinge2Param(_id, dParamStopCFM2, val);
193 INLINE
void OdeHinge2Joint::
194 set_param_suspension_ERP(
int axis, dReal val) {
195 nassertv( _id != 0 );
196 nassertv( 0 <= axis && axis <= 1 );
198 dJointSetHinge2Param(_id, dParamSuspensionERP, val);
199 }
else if ( axis == 1 ) {
200 dJointSetHinge2Param(_id, dParamSuspensionERP2, val);
204 INLINE
void OdeHinge2Joint::
205 set_param_suspension_CFM(
int axis, dReal val) {
206 nassertv( _id != 0 );
207 nassertv( 0 <= axis && axis <= 1 );
209 dJointSetHinge2Param(_id, dParamSuspensionCFM, val);
210 }
else if ( axis == 1 ) {
211 dJointSetHinge2Param(_id, dParamSuspensionCFM2, val);
215 INLINE dReal OdeHinge2Joint::
216 get_param_lo_stop(
int axis)
const {
217 nassertr( _id != 0, 0 );
218 nassertr( 0 <= axis && axis <= 1, 0 );
220 return dJointGetHinge2Param(_id, dParamLoStop);
221 }
else if ( axis == 1 ) {
222 return dJointGetHinge2Param(_id, dParamLoStop2);
227 INLINE dReal OdeHinge2Joint::
228 get_param_hi_stop(
int axis)
const {
229 nassertr( _id != 0, 0 );
230 nassertr( 0 <= axis && axis <= 1, 0 );
232 return dJointGetHinge2Param(_id, dParamHiStop);
233 }
else if ( axis == 1 ) {
234 return dJointGetHinge2Param(_id, dParamHiStop2);
239 INLINE dReal OdeHinge2Joint::
240 get_param_vel(
int axis)
const {
241 nassertr( _id != 0, 0 );
242 nassertr( 0 <= axis && axis <= 1, 0 );
244 return dJointGetHinge2Param(_id, dParamVel);
245 }
else if ( axis == 1 ) {
246 return dJointGetHinge2Param(_id, dParamVel2);
251 INLINE dReal OdeHinge2Joint::
252 get_param_f_max(
int axis)
const {
253 nassertr( _id != 0, 0 );
254 nassertr( 0 <= axis && axis <= 1, 0 );
256 return dJointGetHinge2Param(_id, dParamFMax);
257 }
else if ( axis == 1 ) {
258 return dJointGetHinge2Param(_id, dParamFMax2);
263 INLINE dReal OdeHinge2Joint::
264 get_param_fudge_factor(
int axis)
const {
265 nassertr( _id != 0, 0 );
266 nassertr( 0 <= axis && axis <= 1, 0 );
268 return dJointGetHinge2Param(_id, dParamFudgeFactor);
269 }
else if ( axis == 1 ) {
270 return dJointGetHinge2Param(_id, dParamFudgeFactor2);
275 INLINE dReal OdeHinge2Joint::
276 get_param_bounce(
int axis)
const {
277 nassertr( _id != 0, 0 );
278 nassertr( 0 <= axis && axis <= 1, 0 );
280 return dJointGetHinge2Param(_id, dParamBounce);
281 }
else if ( axis == 1 ) {
282 return dJointGetHinge2Param(_id, dParamBounce2);
287 INLINE dReal OdeHinge2Joint::
288 get_param_CFM(
int axis)
const {
289 nassertr( _id != 0, 0 );
290 nassertr( 0 <= axis && axis <= 1, 0 );
292 return dJointGetHinge2Param(_id, dParamCFM);
293 }
else if ( axis == 1 ) {
294 return dJointGetHinge2Param(_id, dParamCFM2);
299 INLINE dReal OdeHinge2Joint::
300 get_param_stop_ERP(
int axis)
const {
301 nassertr( _id != 0, 0 );
302 nassertr( 0 <= axis && axis <= 1, 0 );
304 return dJointGetHinge2Param(_id, dParamStopERP);
305 }
else if ( axis == 1 ) {
306 return dJointGetHinge2Param(_id, dParamStopERP2);
311 INLINE dReal OdeHinge2Joint::
312 get_param_stop_CFM(
int axis)
const {
313 nassertr( _id != 0, 0 );
314 nassertr( 0 <= axis && axis <= 1, 0 );
316 return dJointGetHinge2Param(_id, dParamStopCFM);
317 }
else if ( axis == 1 ) {
318 return dJointGetHinge2Param(_id, dParamStopCFM2);
323 INLINE dReal OdeHinge2Joint::
324 get_param_suspension_ERP(
int axis)
const {
325 nassertr( _id != 0, 0 );
326 nassertr( 0 <= axis && axis <= 1, 0 );
328 return dJointGetHinge2Param(_id, dParamSuspensionERP);
329 }
else if ( axis == 1 ) {
330 return dJointGetHinge2Param(_id, dParamSuspensionERP2);
335 INLINE dReal OdeHinge2Joint::
336 get_param_suspension_CFM(
int axis)
const {
337 nassertr( _id != 0, 0 );
338 nassertr( 0 <= axis && axis <= 1, 0 );
340 return dJointGetHinge2Param(_id, dParamSuspensionCFM);
341 }
else if ( axis == 1 ) {
342 return dJointGetHinge2Param(_id, dParamSuspensionCFM2);
This is the base class for all three-component vectors and points.