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 #ifndef ARRATIOINPUTJOYDRIVE_H
00027 #define ARRATIOINPUTJOYDRIVE_H
00028
00029 #include "ariaTypedefs.h"
00030 #include "ArAction.h"
00031 #include "ArActionRatioInput.h"
00032 #include "ArJoyHandler.h"
00033
00034 class ArRobot;
00035
00037
00052 class ArRatioInputJoydrive
00053 {
00054 public:
00056 AREXPORT ArRatioInputJoydrive(ArRobot *robot, ArActionRatioInput *input,
00057 int priority = 50,
00058 bool stopIfNoButtonPressed = false,
00059 bool useOSCalForJoystick = true);
00061 AREXPORT virtual ~ArRatioInputJoydrive();
00063 AREXPORT bool joystickInited(void);
00065 AREXPORT void setStopIfNoButtonPressed(bool stopIfNoButtonPressed);
00067 AREXPORT bool getStopIfNoButtonPressed(void);
00069 AREXPORT void setUseOSCal(bool useOSCal);
00071 AREXPORT bool getUseOSCal(void);
00073 AREXPORT ArJoyHandler *getJoyHandler(void) { return myJoyHandler; }
00074 protected:
00075 void fireCallback(void);
00076 ArRobot *myRobot;
00077 ArActionRatioInput *myInput;
00078
00079 bool myPrinting;
00080
00081 ArJoyHandler *myJoyHandler;
00082 bool myFiredLast;
00083
00084 bool myStopIfNoButtonPressed;
00085
00086 bool myUseOSCal;
00087 bool myPreviousUseOSCal;
00088 ArFunctorC<ArRatioInputJoydrive> myFireCB;
00089 };
00090
00091 #endif //ARRATIOINPUTJOYDRIVE_H