00001 /** 00002 * @file RobotStateSymbols.h 00003 * 00004 * Declaration of class RobotStateSymbols. 00005 * 00006 * @author Matthias Jüngel 00007 */ 00008 00009 #ifndef __RobotStateSymbols_h_ 00010 #define __RobotStateSymbols_h_ 00011 00012 #include "../BehaviorControl.h" 00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h" 00014 00015 /** 00016 * The Xabsl2 symbols that are defined in "robot-state-symbols.xml" 00017 * 00018 * @author Matthias Jüngel 00019 */ 00020 class RobotStateSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces 00021 { 00022 public: 00023 /* 00024 * Constructor. 00025 * @param interfaces The paramters of the BehaviorControl module. 00026 */ 00027 RobotStateSymbols(const BehaviorControlInterfaces& interfaces); 00028 00029 /** registers the symbols at an engine */ 00030 void registerSymbols(Xabsl2Engine& engine); 00031 00032 /** updates the symbols */ 00033 void update(); 00034 00035 //!@name Input symbols 00036 //!@{ 00037 bool getAnyBackButtonPressedForOneSecond(); 00038 bool getAnyBackButtonPressedShortAndReleased(); 00039 bool getForeBackButtonPressedShortAndReleased(); 00040 bool getMiddleBackButtonPressedShortAndReleased(); 00041 bool getHindBackButtonPressedShortAndReleased(); 00042 bool getForeBackButtonPressedShort(); 00043 bool getMiddleBackButtonPressedShort(); 00044 bool getHindBackButtonPressedShort(); 00045 bool getHeadButtonPressedForThreeSeconds(); 00046 bool getHeadButtonPressedShortAndReleased(); 00047 bool getHeadButtonPressedShort(); 00048 int getMouthState(); /*!< A function for the symbol "self.mouth-state" */ 00049 bool getBallUnderHead(); /*!< A function for the symbol "self.ball-under-head" */ 00050 bool getSomethingInFrontOfChest(); /*!< A function for the symbol "robot-state.something-in-front-of-chest" */ 00051 double getTimeSinceSomethingWasInFrontOfChest(); /*!< A function for the symbol "robot-state.time-since-something-was-in-front-of-chest" */ 00052 double getDistanceToSIFOC(); /*!< A function for the symbol "robot-state.distance-to-sifoc" */ 00053 double getSwitchesPressedTime(); /*!< A function for the symbol "self.switches.pressed-time" */ 00054 double getCurrentSystemTime(); /*!< A function for the symbol "robot-state.system-time" */ 00055 double getRemainingCapacity(); /*!< A function for the symbol "robot-state.remaining-capacity" */ 00056 //!@} 00057 }; 00058 00059 00060 #endif // __RobotStateSymbols_h_ 00061 00062 /* 00063 * Change Log 00064 * 00065 * $Log: RobotStateSymbols.h,v $ 00066 * Revision 1.7 2004/06/16 17:07:33 cesarz 00067 * Moved body PSD calculations 00068 * 00069 * Revision 1.6 2004/06/16 14:43:51 risler 00070 * added obstacles symbols 00071 * added symbol obstacles.opponent-close-to-ball 00072 * 00073 * Revision 1.5 2004/06/08 18:34:42 juengel 00074 * Added robot-state.time-since-something-was-in-front-of-chest. 00075 * 00076 * Revision 1.4 2004/06/02 14:09:48 brueckne 00077 * improved new button interface 00078 * 00079 * Revision 1.3 2004/05/25 20:14:30 tim 00080 * added something-in-front-of-chest 00081 * 00082 * Revision 1.2 2004/05/24 14:13:51 juengel 00083 * New button evaluation. 00084 * 00085 * Revision 1.1.1.1 2004/05/22 17:17:02 cvsadm 00086 * created new repository GT2004_WM 00087 * 00088 * Revision 1.3 2004/04/08 15:33:01 wachter 00089 * GT04 checkin of Microsoft-Hellounds 00090 * 00091 * Revision 1.2 2004/03/08 00:58:58 roefer 00092 * Interfaces should be const 00093 * 00094 * Revision 1.1 2003/10/22 22:18:44 loetzsch 00095 * prepared the cloning of the GT2003BehaviorControl 00096 * 00097 * Revision 1.1 2003/10/06 13:39:29 cvsadm 00098 * Created GT2004 (M.J.) 00099 * 00100 * Revision 1.3 2003/08/09 14:56:09 dueffert 00101 * symbol remaining-capacity added 00102 * 00103 * Revision 1.2 2003/07/06 12:33:05 dueffert 00104 * robot.state-system.time added 00105 * 00106 * Revision 1.1.1.1 2003/07/02 09:40:23 cvsadm 00107 * created new repository for the competitions in Padova from the 00108 * tamara CVS (Tuesday 2:00 pm) 00109 * 00110 * removed unused solutions 00111 * 00112 * Revision 1.3 2003/06/20 10:32:27 goehring 00113 * Added CollisionStateSymbols 00114 * 00115 * Revision 1.2 2003/06/10 15:09:07 goehring 00116 * Collision-Detector Xabsl symbols added 00117 * 00118 * Revision 1.1 2003/05/07 17:54:46 juengel 00119 * Added missing symbols to GT2003BehaviorControl. 00120 * 00121 */ 00122