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

Modules/BehaviorControl/CommonXabsl2Symbols/KickSelectionSymbols.h

Go to the documentation of this file.
00001 /** 
00002 * @file KickSelectionSymbols.h
00003 *
00004 * Declaration of class KickSelectionSymbols.
00005 *
00006 * @author Martin Lötzsch
00007 */
00008 
00009 #ifndef __KickSelectionSymbols_h_
00010 #define __KickSelectionSymbols_h_
00011 
00012 #include "../BehaviorControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 #include "Tools/KickSelectionTable.h"
00015 
00016 /**
00017 * The Xabsl2 symbols that are defined in "kick-selection-symbols.xml"
00018 *
00019 * @author Martin Lötzsch
00020 */ 
00021 class KickSelectionSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces
00022 {
00023 public:
00024   /*
00025   * Constructor.
00026   * @param interfaces The paramters of the BehaviorControl module.
00027   * @param fileName The file name of the kick selection table to load
00028   */
00029   KickSelectionSymbols(BehaviorControlInterfaces& interfaces, const char* fileName);
00030   
00031   /** registers the symbols at an engine */
00032   void registerSymbols(Xabsl2Engine& engine);
00033 
00034   /** A function for the function "retrieve-kick" */
00035   double retrieveKick();
00036 
00037   double intentionalKickPossible();
00038   double intentionalKickXOffset();
00039   double intentionalKickYOffset();
00040   double intentionalKickKick();
00041 
00042   double intentionalKickTargetX();
00043   double intentionalKickTargetY();
00044 
00045 
00046   /** 
00047   * Is called for every incoming debug message.
00048   * @param message An interface to read the message from the queue
00049   * @return if the messag was read
00050   */
00051   bool handleMessage(InMessage& message);
00052 
00053 protected:
00054   /** The function parameter "retrieve-kick.angle" */
00055   double angle;
00056 
00057   /** The function parameter "retrieve-kick.angle-width" */
00058   double angleWidth;
00059 
00060   /** The function parameter "retrieve-kick.table-id" */
00061   double tableID;
00062 
00063   double intentionalAngle;
00064   double intentionalTable;
00065   double intentionalKick;
00066   /** The kick selection table that is used */
00067   KickSelectionTable kickSelectionTable;
00068 
00069 private:
00070   Vector2<double> intentionalKickOffset;
00071 };
00072 
00073 
00074 #endif // __KickSelectionSymbols_h_
00075 

Generated on Mon Mar 20 21:59:41 2006 for GT2005 by doxygen 1.3.6