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 ARACTIONMOVEMENTPARAMTERS_H
00027 #define ARACTIONMOVEMENTPARAMTERS_H
00028
00029 #include "ariaTypedefs.h"
00030 #include "ArAction.h"
00031 #include "ArMap.h"
00032
00034
00036 class ArActionMovementParameters : public ArAction
00037 {
00038 public:
00040 AREXPORT ArActionMovementParameters(const char *name = "MovementParameters",
00041 bool overrideFaster = true);
00043 AREXPORT virtual ~ArActionMovementParameters();
00044 AREXPORT virtual ArActionDesired *fire(ArActionDesired currentDesired);
00045 AREXPORT virtual ArActionDesired *getDesired(void) { return &myDesired; }
00046 #ifndef SWIG
00047 AREXPORT virtual const ArActionDesired *getDesired(void) const
00048 { return &myDesired; }
00049 #endif
00050
00051 AREXPORT void enable(void) { myEnabled = true; }
00053 AREXPORT void enableOnceFromSector(ArMapObject *mapObject)
00054 { myEnableOnce = true; }
00056 AREXPORT void disable(void) { myEnabled = false; }
00058 AREXPORT void setParameters(double maxVel = 0, double maxNegVel = 0,
00059 double transAccel = 0, double transDecel = 0,
00060 double rotVelMax = 0, double rotAccel = 0,
00061 double rotDecel = 0);
00063 AREXPORT void addToConfig(ArConfig *config, const char *section,
00064 const char *prefix = NULL);
00065 protected:
00066 bool myEnabled;
00067 bool myEnableOnce;
00068 bool myOverrideFaster;
00069 double myMaxVel;
00070 double myMaxNegVel;
00071 double myTransAccel;
00072 double myTransDecel;
00073 double myMaxRotVel;
00074 double myRotAccel;
00075 double myRotDecel;
00076
00077 ArActionDesired myDesired;
00078
00079
00080 };
00081
00082 #endif // ARACTIONMOVEMENTPARAMTERS_H