Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

aiboheadmoves.h

Go to the documentation of this file.
00001 // ***************************************************************************
00002 //                           aiboheadmoves.h
00003 //
00004 //    copyright            : (C) 2003 by tbaier
00005 //    email                : tbaier@informatik.uni-hamburg.de
00006 // ***************************************************************************
00007 #ifndef AIBOHEADMOVES_H
00008 #define AIBOHEADMOVES_H
00009 
00010 #include "aibohead.h"
00011 #include "aiboheadpositions.h"
00012 #include "aibomoves.h"
00013 #include <OPENR/OObject.h>
00014 #include <OPENR/OSubject.h>
00015 
00016 
00018 enum MOVE_STATE_HEAD{
00019   MOVE_IDLE,     
00020   MOVE_ZERO,     
00021   MOVE_SLEEPING, 
00022   MOVE_BROADBASE 
00023 };
00024 
00026 class AiboHeadMoves : public AiboMoves {
00027  public:
00028  
00032   AiboHeadMoves(AiboHead *head);
00033 
00036   virtual ~AiboHeadMoves(){};
00037 
00041   void SetHead(AiboHead *head);
00042 
00047   MOVE_STATUS MoveToSleeping(OSubject* subject);
00048 
00053   MOVE_STATUS MoveToBroadbase(OSubject* subject);
00054   
00059   MOVE_STATUS MoveToZero(OSubject* subject);
00060   
00061 
00062   
00063  protected:
00065   static const int ZERO_POS_MAX_COUNTER = 16;
00066   
00068   MOVE_STATE_HEAD State;
00069 
00073   int NumJoints;
00074   
00075 };
00076 
00077 
00078 #endif //AIBOHEADMOVES_H


tams Tim Baier AiboLib v0.2.4
Generated Thu Jan 19 11:54:29 2006 by doxygen 1.4.3