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 ARACTIONJOYDRIVE_H
00028 #define ARACTIONJOYDRIVE_H
00029
00030 #include "ariaTypedefs.h"
00031 #include "ArAction.h"
00032 #include "ArJoyHandler.h"
00033
00035
00050 class ArActionJoydrive : public ArAction
00051 {
00052 public:
00054 ArActionJoydrive(const char * name = "joydrive",
00055 double transVelMax = 400,
00056 double turnAmountMax = 15,
00057 bool stopIfNoButtonPressed = true,
00058 bool useOSCalForJoystick = true);
00060 virtual ~ArActionJoydrive();
00061 virtual ArActionDesired *fire(ArActionDesired currentDesired);
00063 bool joystickInited(void);
00065 void setSpeeds(double transVelMax, double turnAmountMax);
00067 void setStopIfNoButtonPressed(bool stopIfNoButtonPressed);
00069 bool getStopIfNoButtonPressed(void);
00071 void setThrottleParams(double lowSpeed, double highSpeed);
00073 void setUseOSCal(bool useOSCal);
00075 bool getUseOSCal(void);
00077 ArJoyHandler *getJoyHandler(void) { return myJoyHandler; }
00078 virtual ArActionDesired *getDesired(void) { return &myDesired; }
00079 protected:
00080 bool myUseThrottle;
00081 double myLowThrottle;
00082 double myHighThrottle;
00083
00084 ArActionDesired myDesired;
00085
00086 ArJoyHandler *myJoyHandler;
00087
00088 double myTransVelMax;
00089
00090 double myTurnAmountMax;
00091
00092 bool myStopIfNoButtonPressed;
00093
00094 bool myUseOSCal;
00095 bool myPreviousUseOSCal;
00096 };
00097
00098 #endif //ARACTIONJOYDRIVE_H