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 ARACTIONIRS_H
00027 #define ARACTIONIRS_H
00028
00029 #include "ariaTypedefs.h"
00030 #include "ArAction.h"
00031 #include "ArRobotParams.h"
00032 #include <vector>
00033
00035
00043 class ArActionIRs : public ArAction
00044 {
00045 public:
00047 AREXPORT ArActionIRs(const char *name = "IRs",
00048 double backOffSpeed = 100, int backOffTime = 5000,
00049 int turnTime = 3000, bool setMaximums = false);
00051 AREXPORT virtual ~ArActionIRs();
00052 AREXPORT virtual ArActionDesired *fire(ArActionDesired currentDesired);
00053 AREXPORT virtual void setRobot(ArRobot *robot);
00054 AREXPORT virtual ArActionDesired *getDesired(void) { return &myDesired; }
00055 #ifndef SWIG
00056 AREXPORT virtual const ArActionDesired *getDesired(void) const
00057 { return &myDesired; }
00058 #endif
00059 protected:
00060 ArActionDesired myDesired;
00061 bool mySetMaximums;
00062 double myBackOffSpeed;
00063 int myBackOffTime;
00064 int myTurnTime;
00065 int myStopTime;
00066 bool myFiring;
00067 double mySpeed;
00068 double myHeading;
00069 ArTime myStartBack;
00070 ArTime stoppedSince;
00071 ArRobotParams myParams;
00072 std::vector<int> cycleCounters;
00073 };
00074
00075 #endif // ARACTIONIRS