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