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

Modules/BehaviorControl/CommonXabsl2Symbols/ObstaclesSymbols.h

Go to the documentation of this file.
00001 /** 
00002 * @file ObstaclesSymbols.h
00003 *
00004 * Declaration of class ObstaclesSymbols.
00005 *
00006 * @author Max Risler
00007 */
00008 
00009 #ifndef __ObstaclesSymbols_h_
00010 #define __ObstaclesSymbols_h_
00011 
00012 #include "../BehaviorControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 
00015 
00016 /**
00017 * The Xabsl2 symbols that are defined in "obstacles-symbols.xml"
00018 *
00019 * @author Max Risler
00020 */ 
00021 class ObstaclesSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces
00022 {
00023 public:
00024 /*
00025 * Constructor.
00026 * @param interfaces The paramters of the BehaviorControl module.
00027   */
00028   ObstaclesSymbols(const BehaviorControlInterfaces& interfaces);
00029   
00030   /** registers the symbols at an engine */
00031   void registerSymbols(Xabsl2Engine& engine);
00032   
00033     /** updates the symbols */
00034   void update();
00035 
00036   //!@name Input symbols
00037   //!@{
00038   bool getCollisionFrontLeft();  /*!< A function for the symbol "self.collision-front-left" */
00039   bool getCollisionFrontRight();  /*!< A function for the symbol "self.collision-front-right" */
00040   bool getCollisionHindLeft();  /*!< A function for the symbol "self.collision-hind-left" */
00041   bool getCollisionHindRight();  /*!< A function for the symbol "self.collision-hind-right" */
00042   bool getCollisionHead();  /*!< A function for the symbol "self.collision-head" */
00043   bool getCollisionAggregate();  /*!< A function for the symbol "self.collision-aggregate" */
00044   double getConsecutiveCollisionTimeFrontLeft();  /*!< A function for the symbol "self.consecutive-collision-time-front-left" */
00045   double getConsecutiveCollisionTimeFrontRight();  /*!< A function for the symbol "self.consecutive-collision-time-front-right" */
00046   double getConsecutiveCollisionTimeHindLeft();  /*!< A function for the symbol "self.consecutive-collision-time-hind-left" */
00047   double getConsecutiveCollisionTimeHindRight();  /*!< A function for the symbol "self.consecutive-collision-time-hind-right" */
00048   double getConsecutiveCollisionTimeHead();  /*!< A function for the symbol "self.consecutive-collision-time-head" */
00049   double getConsecutiveCollisionTimeAggregate();  /*!< A function for the symbol "self.consecutive-collision-time-aggregate" */
00050   int getCollisionSide();  /*!< A function for the symbol "self.collision-side" */
00051   //!@}
00052 
00053   /** Indicates if the robot is stuck (based on obstacles model)*/
00054   bool robotIsStuck;
00055 
00056   /** Indicates that there are close obstacles */
00057   bool obstaclesAreClose;
00058 
00059   /** Indicates that there are opponents in the direction of the ball */
00060   bool opponentsCloseToBall;
00061 };
00062 
00063 
00064 #endif // __ObstaclesSymbols_h_
00065 
00066 /*
00067 * Change Log
00068 * 
00069 * $Log: ObstaclesSymbols.h,v $
00070 * Revision 1.3  2004/06/23 11:02:26  goehring
00071 * Xabsl symbol collision-side added
00072 *
00073 * Revision 1.2  2004/06/16 15:24:11  risler
00074 * no message
00075 *
00076 * Revision 1.1  2004/06/16 15:14:29  risler
00077 * added obstacles symbols
00078 * added symbol obstacles.opponent-close-to-ball
00079 *
00080 *
00081 */
00082 

Generated on Thu Sep 23 19:57:25 2004 for GT2004 by doxygen 1.3.6