Panda3D
|
00001 #ifndef ODELMOTORJOINT_H 00002 #define ODELMOTORJOINT_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 : OdeLMotorJoint 00013 // Description : 00014 //////////////////////////////////////////////////////////////////// 00015 class EXPCL_PANDAODE OdeLMotorJoint : public OdeJoint { 00016 friend class OdeJoint; 00017 00018 private: 00019 OdeLMotorJoint(dJointID id); 00020 00021 PUBLISHED: 00022 OdeLMotorJoint(OdeWorld &world); 00023 OdeLMotorJoint(OdeWorld &world, OdeJointGroup &joint_group); 00024 virtual ~OdeLMotorJoint(); 00025 00026 INLINE void set_num_axes(int num); 00027 INLINE void set_axis(int anum, int rel, dReal x, dReal y, dReal z); 00028 INLINE void set_axis(int anum, int rel, const LVecBase3f &axis); 00029 INLINE void set_param(int parameter, dReal value); 00030 00031 INLINE int get_num_axes() const; 00032 INLINE LVecBase3f get_axis(int anum) const; 00033 MAKE_SEQ(get_axes, get_num_axes, get_axis); 00034 INLINE dReal get_param(int parameter) const; 00035 00036 public: 00037 static TypeHandle get_class_type() { 00038 return _type_handle; 00039 } 00040 static void init_type() { 00041 OdeJoint::init_type(); 00042 register_type(_type_handle, "OdeLMotorJoint", 00043 OdeJoint::get_class_type()); 00044 } 00045 virtual TypeHandle get_type() const { 00046 return get_class_type(); 00047 } 00048 virtual TypeHandle force_init_type() {init_type(); return get_class_type();} 00049 00050 private: 00051 static TypeHandle _type_handle; 00052 }; 00053 00054 #include "odeLMotorJoint.I" 00055 00056 #endif