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

# Modules/BehaviorControl/CommonXabsl2Symbols/GtCamSymbols.h

Go to the documentation of this file.

    00001 /**
    00002 * @file GtCamSymbols.h
    00003 *
    00004 * @author Matthias Meyer
    00005 */
    00006
    00007 #ifndef __GTCamSymbols_h_
    00008 #define __GTCamSymbols_h_
    00009
    00010 #include "../BehaviorControl.h"
    00011 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
    00012 #include "Tools/FieldDimensions.h"
    00013 #include "Tools/Player.h"
    00014
    00015 #define GETROBOTX(number)  \
    00016   double getRobot##number##PosX(); \
    00017   double getRobot##number##PosY(); \
    00018   Vector2<double> getRobot##number##Pos();\
    00019   double getRobot##number##SpeedX();\
    00020   double getRobot##number##SpeedY();\
    00021   Vector2<double> getRobot##number##Speed();\
    00022   double getRobot##number##Rotation();\
    00023   double getRobot##number##Distance();
    00024
    00025
    00026 class GTCamSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces
    00027 {
    00028 public:
    00029   GTCamSymbols(const 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   //!@name Input symbols
    00038   //!@{
    00039   Vector2<double> getBall();
    00040   double getBallX();
    00041   double getBallY();
    00042   double getBallSpeedX();
    00043   double getBallSpeedY();
    00044   double getOwnDistance();
    00045   double getOwnRotation();
    00046   double getOwnPosX();
    00047   double getOwnPosY();
    00048   double getOwnSpeedX();
    00049   double getOwnSpeedY();
    00050
    00051   GETROBOTX(1)
    00052   GETROBOTX(2)
    00053   GETROBOTX(3)
    00054   GETROBOTX(4)
    00055   GETROBOTX(5)
    00056   GETROBOTX(6)
    00057   GETROBOTX(7)
    00058   GETROBOTX(8)
    00059   //!@}
    00060
    00061
    00062 private:
    00063 };
    00064
    00065 #undef GETROBOTX
    00066 #endif