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
00013
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