00001 #ifndef ODECONTACTJOINT_H
00002 #define ODECONTACTJOINT_H
00003
00004 #include "pandabase.h"
00005 #include "typedObject.h"
00006 #include "luse.h"
00007
00008 #include "ode_includes.h"
00009
00010 #include "odeJoint.h"
00011 #include "odeContact.h"
00012
00013
00014
00015
00016
00017 class EXPCL_PANDAODE OdeContactJoint : public OdeJoint {
00018 friend class OdeJoint;
00019
00020 private:
00021 OdeContactJoint(dJointID id);
00022
00023 PUBLISHED:
00024 OdeContactJoint(OdeWorld &world, const OdeContact &contact);
00025 OdeContactJoint(OdeWorld &world, OdeJointGroup &joint_group, const OdeContact &contact);
00026 virtual ~OdeContactJoint();
00027
00028 public:
00029 static TypeHandle get_class_type() {
00030 return _type_handle;
00031 }
00032 static void init_type() {
00033 OdeJoint::init_type();
00034 register_type(_type_handle, "OdeContactJoint",
00035 OdeJoint::get_class_type());
00036 }
00037 virtual TypeHandle get_type() const {
00038 return get_class_type();
00039 }
00040 virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
00041
00042 private:
00043 static TypeHandle _type_handle;
00044 };
00045
00046 #include "odeContactJoint.I"
00047
00048 #endif