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
1.3.6