WheelChair.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef WHEELCHAIR_HH
00028 #define WHEELCHAIR_HH
00029
00030 #include "Model.hh"
00031
00032
00033 class Body;
00034 class Hinge2Joint;
00035 class Geom;
00036 class SphereGeom;
00037 class GeomData;
00038
00039
00040 class WheelChair : public Model
00041 {
00042
00043 public: WheelChair( World *world );
00044 public: virtual ~WheelChair();
00045
00046
00047 public: virtual int Load( WorldFile *file, WorldFileNode *node );
00048
00049
00050 public: virtual int Init( WorldFile *file, WorldFileNode *node );
00051
00052
00053 public: virtual int Fini();
00054
00055
00056 public: virtual void Update( double step );
00057
00058
00059 private: void UpdateOdometry( double step );
00060
00061
00062 private: int OdeLoad( WorldFile *file, WorldFileNode *node );
00063
00064
00065 private: int OdeInit( WorldFile *file, WorldFileNode *node );
00066
00067
00068 private: int OdeFini();
00069
00070
00071 private: int IfaceInit();
00072
00073
00074 private: int IfaceFini();
00075
00076
00077 private: void IfaceGetCmd();
00078
00079
00080 private: void IfacePutData();
00081
00082
00083 private: double wheelSep,wheelDiam;
00084
00085
00086 private: Body *body;
00087 private: Geom *bodyGeoms[8];
00088 private: Body *tires[4];
00089 private: Hinge2Joint *joints[4];
00090
00091
00092 private: gz_position_t *iface;
00093
00094
00095 private: double wheelSpeed[2];
00096
00097
00098 private: double odomPose[3];
00099 };
00100
00101 #endif
Last updated 12 September 2005 21:38:45
|