Panda3D
|
00001 #ifndef ODESLIDERJOINT_H 00002 #define ODESLIDERJOINT_H 00003 00004 #include "pandabase.h" 00005 #include "luse.h" 00006 00007 #include "ode_includes.h" 00008 00009 #include "odeJoint.h" 00010 00011 //////////////////////////////////////////////////////////////////// 00012 // Class : OdeSliderJoint 00013 // Description : 00014 //////////////////////////////////////////////////////////////////// 00015 class EXPCL_PANDAODE OdeSliderJoint : public OdeJoint { 00016 friend class OdeJoint; 00017 00018 private: 00019 OdeSliderJoint(dJointID id); 00020 00021 PUBLISHED: 00022 OdeSliderJoint(OdeWorld &world); 00023 OdeSliderJoint(OdeWorld &world, OdeJointGroup &joint_group); 00024 virtual ~OdeSliderJoint(); 00025 00026 INLINE void set_axis(dReal x, dReal y, dReal z); 00027 INLINE void set_axis(const LVecBase3f &axis); 00028 INLINE void set_axis_delta(dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); 00029 INLINE void set_axis_delta(const LVecBase3f &axis, const LVecBase3f &vec); 00030 INLINE void add_force(dReal force); 00031 00032 INLINE dReal get_position() const; 00033 INLINE dReal get_position_rate() const; 00034 INLINE LVecBase3f get_axis() const; 00035 00036 INLINE void set_param_lo_stop(dReal val); 00037 INLINE void set_param_hi_stop(dReal val); 00038 INLINE void set_param_vel(dReal val); 00039 INLINE void set_param_f_max(dReal val); 00040 INLINE void set_param_fudge_factor(dReal val); 00041 INLINE void set_param_bounce(dReal val); 00042 INLINE void set_param_CFM(dReal val); 00043 INLINE void set_param_stop_ERP(dReal val); 00044 INLINE void set_param_stop_CFM(dReal val); 00045 00046 INLINE dReal get_param_lo_stop() const; 00047 INLINE dReal get_param_hi_stop() const; 00048 INLINE dReal get_param_vel() const; 00049 INLINE dReal get_param_f_max() const; 00050 INLINE dReal get_param_fudge_factor() const; 00051 INLINE dReal get_param_bounce() const; 00052 INLINE dReal get_param_CFM() const; 00053 INLINE dReal get_param_stop_ERP() const; 00054 INLINE dReal get_param_stop_CFM() const; 00055 00056 public: 00057 static TypeHandle get_class_type() { 00058 return _type_handle; 00059 } 00060 static void init_type() { 00061 OdeJoint::init_type(); 00062 register_type(_type_handle, "OdeSliderJoint", 00063 OdeJoint::get_class_type()); 00064 } 00065 virtual TypeHandle get_type() const { 00066 return get_class_type(); 00067 } 00068 virtual TypeHandle force_init_type() {init_type(); return get_class_type();} 00069 00070 private: 00071 static TypeHandle _type_handle; 00072 }; 00073 00074 #include "odeSliderJoint.I" 00075 00076 #endif