00001 /** 00002 * @file OpenChallengeSymbols.h 00003 * 00004 * Declaration of class BallSymbols. 00005 * 00006 * @author 00007 */ 00008 00009 #ifndef __OpenChallengeSymbols_h_ 00010 #define __OpenChallengeSymbols_h_ 00011 00012 #include "../../BehaviorControl.h" 00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h" 00014 00015 00016 //typedef struct OC 00017 //{ 00018 // double type; 00019 // double x; 00020 // double y; 00021 // double rotation; 00022 //} OC; 00023 00024 class OpenChallengeSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces 00025 { 00026 public: 00027 00028 //enum OCStatus 00029 //{ 00030 // initial = 0, 00031 // intro, 00032 // goToBridge, 00033 // goToBitePoint, 00034 // allBitePointsReady, 00035 // walkWithBridge, 00036 // extro, 00037 // finished 00038 //}; 00039 00040 //enum OCSetStatus 00041 //{ 00042 // setInitial = 0, 00043 // setIntro, 00044 // setGoToBridge, 00045 // setGoToBitePoint, 00046 // setMyBitePointIsReady, 00047 // setLostMyBitePoint, 00048 // setWalkWithBridge, 00049 // setExtro, 00050 // setFinished 00051 //}; 00052 00053 /* 00054 * Constructor. 00055 * @param interfaces The parameters of the BehaviorControl module. 00056 */ 00057 OpenChallengeSymbols(const BehaviorControlInterfaces& interfaces); 00058 00059 /** registers the symbols at an engine */ 00060 void registerSymbols(Xabsl2Engine& engine); 00061 00062 /** updates the symbols */ 00063 void update(); 00064 00065 //Symbols for blind- and guide-dog challenge 2005 00066 bool guideDogMoveForward(); 00067 00068 bool blindDogMoveForward(); 00069 00070 bool guideDogTellsBlindDogTurn(); 00071 00072 bool blindDogTurn(); 00073 00074 //!@name Input symbols 00075 //!@{ 00076 //OCBridge::Side getLastSeenSide(); /*!< A function for the symbol "bridge.last-seen-side" */ 00077 //double getSeenDistanceToBridge(); /*!< A function for the symbol "bridge.seen.distance" */ 00078 //double getSeenAngleToBridge(); /*!< A function for the symbol "bridge.seen.angle" */ 00079 //double getTimeSinceLastSeenBridge(); /*!< A function for the symbol "bridge.time-since-last-seen" */ 00080 00081 //BitePoint::Position getBitePointPosition(); /*!< A function for the symbol "bite-point.position" */ 00082 //double getSeenDistanceToBitePoint(); /*!< A function for the symbol "bite-point.seen.distance" */ 00083 //double getSeenAngleToBitePoint(); /*!< A function for the symbol "bite-point.seen.angle" */ 00084 //double getPreciseShiftToBitePoint(); /*!< A function for the symbol "bite-point.precise-shift" */ 00085 //double getTimeSinceLastSeenBitePoint(); /*!< A function for the symbol "bite-point.time-since-last-seen" */ 00086 00087 //double redLineInImageAngle(); 00088 //double redLineAngle(); 00089 //double getTimeSinceLastSeenRedLine(); /*!< A function for the symbol "bite-point.time-since-last-seen" */ 00090 //double getSeenDistanceToRedLine(); /*!< A function for the symbol "bridge.seen.distance" */ 00091 00092 00093 //!@} 00094 00095 00096 /** Varaible to hold the open challenge status */ 00097 //OCStatus ocStatus; 00098 00099 ///* A function for the output symbol "open-challenge.set-status". */ 00100 //void setOCStatus(int aStatus); 00101 00102 00103 //private: 00104 //OC m_walkRequest; 00105 //double m_headrot; 00106 00107 //int bitePointToUse[Player::numOfPlayerNumbers]; 00108 //bool bitePointReady[BitePoint::numOfPositions]; 00109 //int masterDog; 00110 00111 }; 00112 00113 00114 00115 00116 #endif // OpenChallengeSymbols 00117
1.3.6