Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Modules/BehaviorControl/GT2004BehaviorControl/GT2004Symbols/GT2004StrategySymbols.h

Go to the documentation of this file.
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 

Generated on Thu Sep 23 19:57:27 2004 for GT2004 by doxygen 1.3.6