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

Modules/HeadControl/GT2005HeadControl/GT2005HeadControlSymbols.h

Go to the documentation of this file.
00001 /** 
00002 * @file  Modules/HeadControl/GT2005HeadControl/GT2005HeadControlSymbols.h
00003 *
00004 * Declaration of class GT2005HeadControlSymbols.
00005 *
00006 * @author Martin Lötzsch
00007 */
00008 
00009 #ifndef __GT2005HeadControlSymbols_h_
00010 #define __GT2005HeadControlSymbols_h_
00011 
00012 #include "../HeadControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 
00015 // prototype to avoid inclusion of GT2004HeadControl.h
00016 class GT2005HeadControl;
00017 
00018 // prototype to avoid inclusion of GT2004HeadControlBasicBehavior.h
00019 class GT2005BasicBehaviorDirectedScanForLandmarks;
00020 
00021 /**
00022 * The Xabsl2 symbols that are defined in "symbols.xml"
00023 *
00024 * @author Martin Lötzsch
00025 */ 
00026 class GT2005HeadControlSymbols : public Xabsl2FunctionProvider, public HeadControlInterfaces
00027 {
00028 public:
00029 /*
00030 * Constructor.
00031 * @param interfaces The paramters of the HeadControl module.
00032 * @param headControl A reference to the HeadControl module
00033   */
00034   GT2005HeadControlSymbols(const HeadControlInterfaces& interfaces, 
00035     GT2005HeadControl& headControl,
00036     GT2005BasicBehaviorDirectedScanForLandmarks& msh05BasicBehaviorDirectedScanForLandmarks);
00037 
00038   /** registers the symbols at an engine */
00039   void registerSymbols(Xabsl2Engine& engine);
00040   
00041     /** updates the symbols */
00042   void update();
00043 
00044   //!@name Input symbols
00045   //!@{
00046   double getPositionInWalkCycle(); /*!< A function for the symbol "position-in-walk-cycle" */
00047   double getBallTimeSinceLastSeen(); /*!< A function for the symbol "ball.time-since-last-seen" */
00048   double getTimeSinceLastSeenConsecutively(); /*!< A function for the symbol "ball.time-since-last-seen-consecutively" */
00049   double getBallConsecutivelySeenTime(); /*!< A function for the symbol "ball.consecutive-seen-time" */
00050   double getCommunicatedBallDistance(); /*!< A function for the symbol "ball.communicated-ball-distance" */
00051   double getRelativeBallSpeedX(); /*!< A function for the symbol "ball.relative-speed-x" */
00052   double getRelativeBallSpeedY(); /*!< A function for the symbol "ball.relative-speed-y" */
00053   double getBallSpeedAbs(); /*!< A function for the symbol "ball.speed-abs" */
00054   double getSeenDistance(); /*!< A function for the symbol "ball.seen.distance" */
00055   double getTimeSinceLastSeenABeacon(); /*!< A function for the symbol "time-since-last-seen-beacon" */
00056   double getTimeBetweenSeen2LastBeacons(); /*!< A function for the symbol "time-between-last-beacons" */
00057   bool getBodyPSDDetectBall(); /*!< A function for the symbol "body-PSD-detect-ball" */
00058   bool getLastHeadPathIsFinished(); /*!< A function for the symbol "last-head-path-is-finished" */
00059   bool getSetJointsIsCloseToDestination(); /*!< A function for the symbol "set-joints-is-close-to-destination" */
00060   bool getSetJointsMaxPanReached(); /*!< A function for the symbol "set-joints-max-pan-reached" */
00061   bool getNextLandmarkIsWithinReach(); /*!< A function for the symbol "next-landmark-is-within-reach" */
00062   bool getReleasingBallLeftIsPossible(); /*!< A function for the symbol "releasing-ball-left-is-possible" */
00063   bool getReleasingBallRightIsPossible(); /*!< A function for the symbol "releasing-ball-right-is-possible" */
00064   //!@}
00065 
00066 private:
00067   /** A reference to the HeadControl module */
00068   GT2005HeadControl& headControl;
00069   GT2005BasicBehaviorDirectedScanForLandmarks& msh05BasicBehaviorDirectedScanForLandmarks;
00070   
00071   int lastSeenBeaconIndex;
00072 };
00073 
00074 
00075 #endif // __GT2004HeadControlSymbols_h_
00076 

Generated on Mon Mar 20 21:59:45 2006 for GT2005 by doxygen 1.3.6