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 ARACTIONBACKWARDSSPEEDLIMITER_H
00028 #define ARACTIONBACKWARDSSPEEDLIMITER_H
00029
00030 #include "ariaTypedefs.h"
00031 #include "ArAction.h"
00032
00034
00040 class ArActionLimiterBackwards : public ArAction
00041 {
00042 public:
00044 ArActionLimiterBackwards(const char *name = "speed limiter",
00045 double stopDistance = -250,
00046 double slowDistance = -600,
00047 double maxBackwardsSpeed = -250,
00048 double widthRatio = 1.5);
00050 virtual ~ArActionLimiterBackwards();
00051 virtual ArActionDesired *fire(ArActionDesired currentDesired);
00052 virtual ArActionDesired *getDesired(void) { return &myDesired; }
00053 protected:
00054 double myStopDist;
00055 double mySlowDist;
00056 double myMaxBackwardsSpeed;
00057 double myWidthRatio;
00058 ArActionDesired myDesired;
00059 };
00060
00061 #endif // ARACTIONBACKWARDSSPEEDLIMITER_H
00062