14INLINE
void OdeHingeJoint::
15set_anchor(dReal x, dReal y, dReal z) {
16 dJointSetHingeAnchor(_id, x, y, z);
19INLINE
void OdeHingeJoint::
20set_anchor(
const LVecBase3f &anchor) {
21 dJointSetHingeAnchor(_id, anchor[0], anchor[1], anchor[2]);
24INLINE
void OdeHingeJoint::
25set_anchor_delta(dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az) {
26 dJointSetHingeAnchorDelta(_id, x, y, z, ax, ay, az);
29INLINE
void OdeHingeJoint::
30set_anchor_delta(
const LVecBase3f &anchor,
const LVecBase3f &vec) {
31 dJointSetHingeAnchorDelta(_id, anchor[0], anchor[1], anchor[2], vec[0], vec[1], vec[2]);
34INLINE
void OdeHingeJoint::
35set_axis(dReal x, dReal y, dReal z) {
36 dJointSetHingeAxis(_id, x, y, z);
39INLINE
void OdeHingeJoint::
40set_axis(
const LVecBase3f &axis) {
41 dJointSetHingeAxis(_id, axis[0], axis[1], axis[2]);
44INLINE
void OdeHingeJoint::
45add_torque(dReal torque) {
46 dJointAddHingeTorque(_id, torque);
49INLINE LVecBase3f OdeHingeJoint::
52 dJointGetHingeAnchor(_id, result);
53 return LVecBase3f(result[0], result[1], result[2]);
56INLINE LVecBase3f OdeHingeJoint::
59 dJointGetHingeAnchor2(_id, result);
60 return LVecBase3f(result[0], result[1], result[2]);
63INLINE LVecBase3f OdeHingeJoint::
66 dJointGetHingeAxis(_id, result);
67 return LVecBase3f(result[0], result[1], result[2]);
70INLINE dReal OdeHingeJoint::
72 return dJointGetHingeAngle(_id);
75INLINE dReal OdeHingeJoint::
76get_angle_rate()
const {
77 return dJointGetHingeAngleRate(_id);
80INLINE
void OdeHingeJoint::
81set_param_lo_stop(dReal val) {
83 dJointSetHingeParam(_id, dParamLoStop, val);
86INLINE
void OdeHingeJoint::
87set_param_hi_stop(dReal val) {
89 dJointSetHingeParam(_id, dParamHiStop, val);
92INLINE
void OdeHingeJoint::
93set_param_vel(dReal val) {
95 dJointSetHingeParam(_id, dParamVel, val);
98INLINE
void OdeHingeJoint::
99set_param_f_max(dReal val) {
100 nassertv( _id != 0 );
101 dJointSetHingeParam(_id, dParamFMax, val);
104INLINE
void OdeHingeJoint::
105set_param_fudge_factor(dReal val) {
106 nassertv( _id != 0 );
107 dJointSetHingeParam(_id, dParamFudgeFactor, val);
110INLINE
void OdeHingeJoint::
111set_param_bounce(dReal val) {
112 nassertv( _id != 0 );
113 dJointSetHingeParam(_id, dParamBounce, val);
116INLINE
void OdeHingeJoint::
117set_param_CFM(dReal val) {
118 nassertv( _id != 0 );
119 dJointSetHingeParam(_id, dParamCFM, val);
122INLINE
void OdeHingeJoint::
123set_param_stop_ERP(dReal val) {
124 nassertv( _id != 0 );
125 dJointSetHingeParam(_id, dParamStopERP, val);
128INLINE
void OdeHingeJoint::
129set_param_stop_CFM(dReal val) {
130 nassertv( _id != 0 );
131 dJointSetHingeParam(_id, dParamStopCFM, val);
134INLINE dReal OdeHingeJoint::
135get_param_lo_stop()
const {
136 nassertr( _id != 0, 0 );
137 return dJointGetHingeParam(_id, dParamLoStop);
140INLINE dReal OdeHingeJoint::
141get_param_hi_stop()
const {
142 nassertr( _id != 0, 0 );
143 return dJointGetHingeParam(_id, dParamHiStop);
146INLINE dReal OdeHingeJoint::
147get_param_vel()
const {
148 nassertr( _id != 0, 0 );
149 return dJointGetHingeParam(_id, dParamVel);
152INLINE dReal OdeHingeJoint::
153get_param_f_max()
const {
154 nassertr( _id != 0, 0 );
155 return dJointGetHingeParam(_id, dParamFMax);
158INLINE dReal OdeHingeJoint::
159get_param_fudge_factor()
const {
160 nassertr( _id != 0, 0 );
161 return dJointGetHingeParam(_id, dParamFudgeFactor);
164INLINE dReal OdeHingeJoint::
165get_param_bounce()
const {
166 nassertr( _id != 0, 0 );
167 return dJointGetHingeParam(_id, dParamBounce);
170INLINE dReal OdeHingeJoint::
171get_param_CFM()
const {
172 nassertr( _id != 0, 0 );
173 return dJointGetHingeParam(_id, dParamCFM);
176INLINE dReal OdeHingeJoint::
177get_param_stop_ERP()
const {
178 nassertr( _id != 0, 0 );
179 return dJointGetHingeParam(_id, dParamStopERP);
182INLINE dReal OdeHingeJoint::
183get_param_stop_CFM()
const {
184 nassertr( _id != 0, 0 );
185 return dJointGetHingeParam(_id, dParamStopCFM);