Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef NORMALBRAKE_HPP_
00009 #define NORMALBRAKE_HPP_
00010 
00011 #include <telekyb_defines/telekyb_defines.hpp>
00012 
00013 #include <tk_behavior/Behavior.hpp>
00014 
00015 
00016 
00017 
00018 using namespace TELEKYB_NAMESPACE;
00019 
00020 namespace telekyb_behavior {
00021 
00022 class NormalBrake : public Behavior {
00023 private:
00024         double yawAngle;
00025 
00026         
00027         
00028         Option<double>* tBrakeMinVelocity;
00029 
00030 public:
00031         NormalBrake();
00032 
00033         
00034         virtual void initialize();
00035         virtual void destroy();
00036 
00037         
00038         virtual bool willBecomeActive(const TKState& currentState, const Behavior& previousBehavior);
00039         
00040         virtual void didBecomeActive(const TKState& currentState, const Behavior& previousBehavior);
00041         
00042         virtual void willBecomeInActive(const TKState& currentState, const Behavior& nextBehavior);
00043         
00044         virtual void didBecomeInActive(const TKState& currentState, const Behavior& nextBehavior);
00045 
00046         
00047         virtual void trajectoryStepCreation(const TKState& currentState, TKTrajectory& generatedTrajInput);
00048 
00049         
00050         virtual void trajectoryStepActive(const TKState& currentState, TKTrajectory& generatedTrajInput);
00051 
00052         
00053         virtual void trajectoryStepTermination(const TKState& currentState, TKTrajectory& generatedTrajInput);
00054 
00055         
00056         virtual bool isValid(const TKState& currentState) const;
00057 
00058 };
00059 
00060 }
00061 
00062 #endif