15 INLINE
void OdeUniversalJoint::
16 set_anchor(dReal x, dReal y, dReal z) {
17 dJointSetUniversalAnchor(_id, x, y, z);
20 INLINE
void OdeUniversalJoint::
22 dJointSetUniversalAnchor(_id, anchor[0], anchor[1], anchor[2]);
25 INLINE
void OdeUniversalJoint::
26 set_axis1(dReal x, dReal y, dReal z) {
27 dJointSetUniversalAxis1(_id, x, y, z);
30 INLINE
void OdeUniversalJoint::
32 dJointSetUniversalAxis1(_id, axis[0], axis[1], axis[2]);
35 INLINE
void OdeUniversalJoint::
36 set_axis2(dReal x, dReal y, dReal z) {
37 dJointSetUniversalAxis2(_id, x, y, z);
40 INLINE
void OdeUniversalJoint::
42 dJointSetUniversalAxis2(_id, axis[0], axis[1], axis[2]);
45 INLINE
void OdeUniversalJoint::
46 add_torques(dReal torque1, dReal torque2) {
47 dJointAddUniversalTorques(_id, torque1, torque2);
53 dJointGetUniversalAnchor(_id, result);
54 return LVecBase3f(result[0], result[1], result[2]);
60 dJointGetUniversalAnchor2(_id, result);
61 return LVecBase3f(result[0], result[1], result[2]);
67 dJointGetUniversalAxis1(_id, result);
68 return LVecBase3f(result[0], result[1], result[2]);
74 dJointGetUniversalAxis2(_id, result);
75 return LVecBase3f(result[0], result[1], result[2]);
78 INLINE dReal OdeUniversalJoint::
80 return dJointGetUniversalAngle1(_id);
83 INLINE dReal OdeUniversalJoint::
85 return dJointGetUniversalAngle2(_id);
88 INLINE dReal OdeUniversalJoint::
89 get_angle1_rate()
const {
90 return dJointGetUniversalAngle1Rate(_id);
93 INLINE dReal OdeUniversalJoint::
94 get_angle2_rate()
const {
95 return dJointGetUniversalAngle2Rate(_id);
99 INLINE
void OdeUniversalJoint::
100 set_param_lo_stop(
int axis, dReal val) {
101 nassertv( _id != 0 );
102 nassertv( 0 <= axis && axis <= 1 );
104 dJointSetUniversalParam(_id, dParamLoStop, val);
105 }
else if ( axis == 1 ) {
106 dJointSetUniversalParam(_id, dParamLoStop2, val);
110 INLINE
void OdeUniversalJoint::
111 set_param_hi_stop(
int axis, dReal val) {
112 nassertv( _id != 0 );
113 nassertv( 0 <= axis && axis <= 1 );
115 dJointSetUniversalParam(_id, dParamHiStop, val);
116 }
else if ( axis == 1 ) {
117 dJointSetUniversalParam(_id, dParamHiStop2, val);
121 INLINE
void OdeUniversalJoint::
122 set_param_vel(
int axis, dReal val) {
123 nassertv( _id != 0 );
124 nassertv( 0 <= axis && axis <= 1 );
126 dJointSetUniversalParam(_id, dParamVel, val);
127 }
else if ( axis == 1 ) {
128 dJointSetUniversalParam(_id, dParamVel2, val);
132 INLINE
void OdeUniversalJoint::
133 set_param_f_max(
int axis, dReal val) {
134 nassertv( _id != 0 );
135 nassertv( 0 <= axis && axis <= 1 );
137 dJointSetUniversalParam(_id, dParamFMax, val);
138 }
else if ( axis == 1 ) {
139 dJointSetUniversalParam(_id, dParamFMax2, val);
143 INLINE
void OdeUniversalJoint::
144 set_param_fudge_factor(
int axis, dReal val) {
145 nassertv( _id != 0 );
146 nassertv( 0 <= axis && axis <= 1 );
148 dJointSetUniversalParam(_id, dParamFudgeFactor, val);
149 }
else if ( axis == 1 ) {
150 dJointSetUniversalParam(_id, dParamFudgeFactor2, val);
154 INLINE
void OdeUniversalJoint::
155 set_param_bounce(
int axis, dReal val) {
156 nassertv( _id != 0 );
157 nassertv( 0 <= axis && axis <= 1 );
159 dJointSetUniversalParam(_id, dParamBounce, val);
160 }
else if ( axis == 1 ) {
161 dJointSetUniversalParam(_id, dParamBounce2, val);
165 INLINE
void OdeUniversalJoint::
166 set_param_CFM(
int axis, dReal val) {
167 nassertv( _id != 0 );
168 nassertv( 0 <= axis && axis <= 1 );
170 dJointSetUniversalParam(_id, dParamCFM, val);
171 }
else if ( axis == 1 ) {
172 dJointSetUniversalParam(_id, dParamCFM2, val);
176 INLINE
void OdeUniversalJoint::
177 set_param_stop_ERP(
int axis, dReal val) {
178 nassertv( _id != 0 );
179 nassertv( 0 <= axis && axis <= 1 );
181 dJointSetUniversalParam(_id, dParamStopERP, val);
182 }
else if ( axis == 1 ) {
183 dJointSetUniversalParam(_id, dParamStopERP2, val);
187 INLINE
void OdeUniversalJoint::
188 set_param_stop_CFM(
int axis, dReal val) {
189 nassertv( _id != 0 );
190 nassertv( 0 <= axis && axis <= 1 );
192 dJointSetUniversalParam(_id, dParamStopCFM, val);
193 }
else if ( axis == 1 ) {
194 dJointSetUniversalParam(_id, dParamStopCFM2, val);
198 INLINE dReal OdeUniversalJoint::
199 get_param_lo_stop(
int axis)
const {
200 nassertr( _id != 0, 0 );
201 nassertr( 0 <= axis && axis <= 1, 0 );
203 return dJointGetUniversalParam(_id, dParamLoStop);
204 }
else if ( axis == 1 ) {
205 return dJointGetUniversalParam(_id, dParamLoStop2);
210 INLINE dReal OdeUniversalJoint::
211 get_param_hi_stop(
int axis)
const {
212 nassertr( _id != 0, 0 );
213 nassertr( 0 <= axis && axis <= 1, 0 );
215 return dJointGetUniversalParam(_id, dParamHiStop);
216 }
else if ( axis == 1 ) {
217 return dJointGetUniversalParam(_id, dParamHiStop2);
222 INLINE dReal OdeUniversalJoint::
223 get_param_vel(
int axis)
const {
224 nassertr( _id != 0, 0 );
225 nassertr( 0 <= axis && axis <= 1, 0 );
227 return dJointGetUniversalParam(_id, dParamVel);
228 }
else if ( axis == 1 ) {
229 return dJointGetUniversalParam(_id, dParamVel2);
234 INLINE dReal OdeUniversalJoint::
235 get_param_f_max(
int axis)
const {
236 nassertr( _id != 0, 0 );
237 nassertr( 0 <= axis && axis <= 1, 0 );
239 return dJointGetUniversalParam(_id, dParamFMax);
240 }
else if ( axis == 1 ) {
241 return dJointGetUniversalParam(_id, dParamFMax2);
246 INLINE dReal OdeUniversalJoint::
247 get_param_fudge_factor(
int axis)
const {
248 nassertr( _id != 0, 0 );
249 nassertr( 0 <= axis && axis <= 1, 0 );
251 return dJointGetUniversalParam(_id, dParamFudgeFactor);
252 }
else if ( axis == 1 ) {
253 return dJointGetUniversalParam(_id, dParamFudgeFactor2);
258 INLINE dReal OdeUniversalJoint::
259 get_param_bounce(
int axis)
const {
260 nassertr( _id != 0, 0 );
261 nassertr( 0 <= axis && axis <= 1, 0 );
263 return dJointGetUniversalParam(_id, dParamBounce);
264 }
else if ( axis == 1 ) {
265 return dJointGetUniversalParam(_id, dParamBounce2);
270 INLINE dReal OdeUniversalJoint::
271 get_param_CFM(
int axis)
const {
272 nassertr( _id != 0, 0 );
273 nassertr( 0 <= axis && axis <= 1, 0 );
275 return dJointGetUniversalParam(_id, dParamCFM);
276 }
else if ( axis == 1 ) {
277 return dJointGetUniversalParam(_id, dParamCFM2);
282 INLINE dReal OdeUniversalJoint::
283 get_param_stop_ERP(
int axis)
const {
284 nassertr( _id != 0, 0 );
285 nassertr( 0 <= axis && axis <= 1, 0 );
287 return dJointGetUniversalParam(_id, dParamStopERP);
288 }
else if ( axis == 1 ) {
289 return dJointGetUniversalParam(_id, dParamStopERP2);
294 INLINE dReal OdeUniversalJoint::
295 get_param_stop_CFM(
int axis)
const {
296 nassertr( _id != 0, 0 );
297 nassertr( 0 <= axis && axis <= 1, 0 );
299 return dJointGetUniversalParam(_id, dParamStopCFM);
300 }
else if ( axis == 1 ) {
301 return dJointGetUniversalParam(_id, dParamStopCFM2);
This is the base class for all three-component vectors and points.