Panda3D
 All Classes Functions Variables Enumerations
odeHingeJoint.I
00001 // Filename: odeHingeJoint.I
00002 // Created by:  joswilso (27Dec06)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 INLINE void OdeHingeJoint::
00016 set_anchor(dReal x, dReal y, dReal z) {
00017   dJointSetHingeAnchor(_id, x, y, z);
00018 }
00019 
00020 INLINE void OdeHingeJoint::
00021 set_anchor(const LVecBase3f &anchor) {
00022   dJointSetHingeAnchor(_id, anchor[0], anchor[1], anchor[2]);
00023 }
00024 
00025 INLINE void OdeHingeJoint::
00026 set_anchor_delta(dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az) {
00027   dJointSetHingeAnchorDelta(_id, x, y, z, ax, ay, az);
00028 }
00029 
00030 INLINE void OdeHingeJoint::
00031 set_anchor_delta(const LVecBase3f &anchor, const LVecBase3f &vec) {
00032   dJointSetHingeAnchorDelta(_id, anchor[0], anchor[1], anchor[2], vec[0], vec[1], vec[2]);
00033 }
00034 
00035 INLINE void OdeHingeJoint::
00036 set_axis(dReal x, dReal y, dReal z) {
00037   dJointSetHingeAxis(_id, x, y, z);
00038 }
00039 
00040 INLINE void OdeHingeJoint::
00041 set_axis(const LVecBase3f &axis) {
00042   dJointSetHingeAxis(_id, axis[0], axis[1], axis[2]);
00043 }
00044 
00045 INLINE void OdeHingeJoint::
00046 add_torque(dReal torque) {
00047   dJointAddHingeTorque(_id, torque);
00048 }
00049 
00050 INLINE LVecBase3f OdeHingeJoint::
00051 get_anchor() const {
00052   dVector3 result;
00053   dJointGetHingeAnchor(_id, result);
00054   return LVecBase3f(result[0], result[1], result[2]);
00055 }
00056 
00057 INLINE LVecBase3f OdeHingeJoint::
00058 get_anchor2() const {
00059   dVector3 result;
00060   dJointGetHingeAnchor2(_id, result);
00061   return LVecBase3f(result[0], result[1], result[2]);
00062 }
00063 
00064 INLINE LVecBase3f OdeHingeJoint::
00065 get_axis() const {
00066   dVector3 result;
00067   dJointGetHingeAxis(_id, result);
00068   return LVecBase3f(result[0], result[1], result[2]);
00069 }
00070 
00071 INLINE dReal OdeHingeJoint::
00072 get_angle() const {
00073   return dJointGetHingeAngle(_id);
00074 }
00075 
00076 INLINE dReal OdeHingeJoint::
00077 get_angle_rate() const {
00078   return dJointGetHingeAngleRate(_id);
00079 }
00080 
00081 INLINE void OdeHingeJoint::
00082 set_param_lo_stop(dReal val) {
00083   nassertv( _id != 0 );
00084   dJointSetHingeParam(_id, dParamLoStop, val);
00085 }
00086 
00087 INLINE void OdeHingeJoint::
00088 set_param_hi_stop(dReal val) {
00089   nassertv( _id != 0 );
00090   dJointSetHingeParam(_id, dParamHiStop, val);
00091 }
00092 
00093 INLINE void OdeHingeJoint::
00094 set_param_vel(dReal val) {
00095   nassertv( _id != 0 );
00096   dJointSetHingeParam(_id, dParamVel, val);
00097 }
00098 
00099 INLINE void OdeHingeJoint::
00100 set_param_f_max(dReal val) {
00101   nassertv( _id != 0 );
00102   dJointSetHingeParam(_id, dParamFMax, val);
00103 }
00104 
00105 INLINE void OdeHingeJoint::
00106 set_param_fudge_factor(dReal val) {
00107   nassertv( _id != 0 );
00108   dJointSetHingeParam(_id, dParamFudgeFactor, val);
00109 }
00110 
00111 INLINE void OdeHingeJoint::
00112 set_param_bounce(dReal val) {
00113   nassertv( _id != 0 );
00114   dJointSetHingeParam(_id, dParamBounce, val);
00115 }
00116 
00117 INLINE void OdeHingeJoint::
00118 set_param_CFM(dReal val) {
00119   nassertv( _id != 0 );
00120   dJointSetHingeParam(_id, dParamCFM, val);
00121 }
00122 
00123 INLINE void OdeHingeJoint::
00124 set_param_stop_ERP(dReal val) {
00125   nassertv( _id != 0 );
00126   dJointSetHingeParam(_id, dParamStopERP, val);
00127 }
00128 
00129 INLINE void OdeHingeJoint::
00130 set_param_stop_CFM(dReal val) {
00131   nassertv( _id != 0 );
00132   dJointSetHingeParam(_id, dParamStopCFM, val);
00133 }
00134 
00135 INLINE dReal OdeHingeJoint::
00136 get_param_lo_stop() const {
00137   nassertr( _id != 0, 0 );
00138   return dJointGetHingeParam(_id, dParamLoStop);
00139 }
00140 
00141 INLINE dReal OdeHingeJoint::
00142 get_param_hi_stop() const {
00143   nassertr( _id != 0, 0 );
00144   return dJointGetHingeParam(_id, dParamHiStop);
00145 }
00146 
00147 INLINE dReal OdeHingeJoint::
00148 get_param_vel() const {
00149   nassertr( _id != 0, 0 );
00150   return dJointGetHingeParam(_id, dParamVel);
00151 }
00152 
00153 INLINE dReal OdeHingeJoint::
00154 get_param_f_max() const {
00155   nassertr( _id != 0, 0 );
00156   return dJointGetHingeParam(_id, dParamFMax);
00157 }
00158 
00159 INLINE dReal OdeHingeJoint::
00160 get_param_fudge_factor() const {
00161   nassertr( _id != 0, 0 );
00162   return dJointGetHingeParam(_id, dParamFudgeFactor);
00163 }
00164 
00165 INLINE dReal OdeHingeJoint::
00166 get_param_bounce() const {
00167   nassertr( _id != 0, 0 );
00168   return dJointGetHingeParam(_id, dParamBounce);
00169 }
00170 
00171 INLINE dReal OdeHingeJoint::
00172 get_param_CFM() const {
00173   nassertr( _id != 0, 0 );
00174   return dJointGetHingeParam(_id, dParamCFM);
00175 }
00176 
00177 INLINE dReal OdeHingeJoint::
00178 get_param_stop_ERP() const {
00179   nassertr( _id != 0, 0 );
00180   return dJointGetHingeParam(_id, dParamStopERP);
00181 }
00182 
00183 INLINE dReal OdeHingeJoint::
00184 get_param_stop_CFM() const {
00185   nassertr( _id != 0, 0 );
00186   return dJointGetHingeParam(_id, dParamStopCFM);
00187 }
00188 
 All Classes Functions Variables Enumerations