00001 /* 00002 * XMModeCheck.hpp 00003 * 00004 * Created on: Dec 14, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef XMMODECHECK_HPP_ 00009 #define XMMODECHECK_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <tk_trajprocessor/TrajectoryModule.hpp> 00013 00014 #include <telekyb_base/Options.hpp> 00015 00016 using namespace TELEKYB_NAMESPACE; 00017 00018 namespace telekyb_traj { 00019 00020 class XMModeCheckOptions : public OptionContainer { 00021 public: 00022 Option<bool>* tAllowPositionMode; 00023 Option<bool>* tAllowVelocityMode; 00024 Option<bool>* tAllowAccelerationMode; 00025 Option<bool>* tAllowMixedModes; // mixes 00026 XMModeCheckOptions(); 00027 }; 00028 00029 class XMModeCheck : public TrajectoryModule { 00030 protected: 00031 XMModeCheckOptions options; 00032 00033 public: 00034 XMModeCheck(); 00035 00036 virtual void initialize(); 00037 virtual void destroy(); 00038 00039 // set back to intial conditions 00040 virtual void willTurnActive(); 00041 00042 // called after turning inactive 00043 virtual void didTurnInactive(); 00044 00045 virtual bool trajectoryStep(const TKState& currentState, TKTrajectory& trajInput); 00046 00047 }; 00048 00049 } /* namespace telekyb_traj */ 00050 #endif /* XMMODECHECK_HPP_ */