00001 /** 00002 * @file GT2004StrategySymbols.h 00003 * 00004 * Declaration of class GT2004StrategySymbols. 00005 * 00006 * @author Martin Lötzsch 00007 */ 00008 00009 #ifndef __GT2004StrategySymbols_h_ 00010 #define __GT2004StrategySymbols_h_ 00011 00012 #include "../../BehaviorControl.h" 00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h" 00014 #include "Tools/Streams/InStreams.h" 00015 #include "Tools/Streams/OutStreams.h" 00016 00017 /** 00018 * The Xabsl2 symbols that are defined in "strategy-symbols.xml" 00019 * 00020 * @author Martin Lötzsch 00021 */ 00022 class GT2004StrategySymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces 00023 { 00024 public: 00025 /* 00026 * Constructor. 00027 * @param interfaces The paramters of the BehaviorControl module. 00028 */ 00029 GT2004StrategySymbols(BehaviorControlInterfaces& interfaces); 00030 00031 /** registers the symbols at an engine */ 00032 void registerSymbols(Xabsl2Engine& engine); 00033 00034 /** updates the symbols */ 00035 void update(); 00036 00037 /** current estimated time to reach the ball */ 00038 double estimatedTimeToReachBall; 00039 00040 /** computes the estimated time to reach the ball */ 00041 void estimateTimeToReachBall(); 00042 00043 /** current role */ 00044 BehaviorTeamMessage::DynamicRole role; 00045 00046 /** computes the current role */ 00047 void computeRole(); 00048 00049 //!@name Input symbols 00050 //!@{ 00051 /* 00052 * A function for the symbol "robot-number". 00053 * Returns the robots back number as read from player.cfg 00054 */ 00055 double getRobotNumber() { return (double)(getPlayer().getPlayerNumber() + 1); }; 00056 00057 /*!< calculates the value for the input function get-angle-to-teammate with parameter index */ 00058 double getAngleToTeammate(); 00059 /*!< the Parameter "robot-pose.get-angle-to-teammate.index" for the decimal input function "robot-pose.get-angle-to-teammate" */ 00060 double angleToTeammateIndex; 00061 00062 /** A function for the symbol "another-player-is-in-ready-state". */ 00063 bool getAnotherPlayerIsInReadyState(); 00064 00065 /** A function for the symbol "another-player-is-in-initial-state". */ 00066 bool getAnotherPlayerIsInInitialState(); 00067 00068 /** A function for the symbol "another-teammate-is-performing-a-kick" */ 00069 bool getAnotherTeammateIsPerformingAKick(); 00070 00071 /** A function for the symbol "the-striker-is-playing-near-the-opponent-goal" */ 00072 bool getTheStrikerIsPlayingNearTheOpponentGoal(); 00073 00074 /** A function for the symbol "the-striker-is-not-playing-near-the-opponent-goal" */ 00075 bool getTheStrikerIsNotPlayingNearTheOpponentGoal(); 00076 00077 /** A function for the symbol "the-striker-is-playing-near-the-own-goal" */ 00078 bool getTheStrikerIsPlayingNearTheOwnGoal(); 00079 00080 /** A function for the symbol "the-striker-is-not-playing-near-the-own-goal" */ 00081 bool getTheStrikerIsNotPlayingNearTheOwnGoal(); 00082 00083 /** A function for the symbol "goalie-max-position-speed" */ 00084 double getGoalieMaxPositionSpeed(); 00085 00086 /** A function for the symbol "search-ball.x" */ 00087 double getSearchBallX(); 00088 00089 //!@} 00090 00091 /** Output-Symbols for Profiler */ 00092 enum { doProfiling, dontDoProfiling} doProfile; 00093 enum { writeProfiles, writeCompleteProfiles, dontWriteProfiles} writeProfile; 00094 00095 }; 00096 00097 00098 #endif // __GT2004StrategySymbols_h_ 00099 00100 /* 00101 * Change Log 00102 * 00103 * $Log: GT2004StrategySymbols.h,v $ 00104 * Revision 1.4 2004/06/18 11:11:26 risler 00105 * kick team messages clean up 00106 * intercept behavior improved 00107 * 00108 * Revision 1.3 2004/06/16 14:43:51 risler 00109 * added obstacles symbols 00110 * added symbol obstacles.opponent-close-to-ball 00111 * 00112 * Revision 1.2 2004/05/26 18:56:41 loetzsch 00113 * clean up in the behavior control interfaces 00114 * 00115 * Revision 1.1.1.1 2004/05/22 17:18:04 cvsadm 00116 * created new repository GT2004_WM 00117 * 00118 * Revision 1.2 2004/05/03 14:33:20 loetzsch 00119 * some cleanup 00120 * 00121 * Revision 1.1 2004/05/02 13:23:46 juengel 00122 * Added GT2004BehaviorControl. 00123 * 00124 */ 00125