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

Representations/Perception/PlayersPercept.cpp

Go to the documentation of this file.
00001 /**
00002  * @file PlayersPercept.cpp
00003  *
00004  * Implementation of class PlayersPercept.
00005  */
00006 
00007 #include "PlayersPercept.h"
00008 
00009 
00010 PlayersPercept::PlayersPercept()
00011 {
00012   reset(0);
00013 }
00014 
00015 
00016 PlayersPercept::~PlayersPercept()
00017 {
00018 }
00019 
00020 
00021 void PlayersPercept::reset(unsigned long frameNumber)
00022 {
00023   this->frameNumber = frameNumber;
00024   numberOfRedPlayers=0;
00025   numberOfBluePlayers=0;
00026 }
00027 
00028 
00029 void PlayersPercept::addRedPlayer(const SinglePlayerPercept& percept)
00030 {
00031   if(numberOfRedPlayers < maxNumberOfRedPlayerPercepts)
00032     redPlayers[numberOfRedPlayers++] = percept;
00033 }
00034 
00035 
00036 void PlayersPercept::addBluePlayer(const SinglePlayerPercept& percept)
00037 {
00038   if(numberOfRedPlayers < maxNumberOfBluePlayerPercepts)
00039     bluePlayers[numberOfBluePlayers++] = percept;
00040 }
00041 
00042 
00043 In& operator>>(In& stream,PlayersPercept& playersPercept)
00044 {
00045   stream >> playersPercept.frameNumber;
00046   int i;
00047   stream >> playersPercept.numberOfBluePlayers;
00048   stream >> playersPercept.numberOfRedPlayers;
00049   for(i=0; i<playersPercept.numberOfBluePlayers; i++)
00050   {
00051     stream.read(&playersPercept.bluePlayers[i], sizeof(SinglePlayerPercept));
00052   }
00053   for(i=0; i<playersPercept.numberOfRedPlayers; i++)
00054   {
00055     stream.read(&playersPercept.redPlayers[i], sizeof(SinglePlayerPercept));
00056   }
00057 
00058   return stream;
00059 }
00060 
00061  
00062 Out& operator<<(Out& stream, const PlayersPercept& playersPercept)
00063 {
00064   stream << playersPercept.frameNumber;
00065   int i;
00066   stream << playersPercept.numberOfBluePlayers;
00067   stream << playersPercept.numberOfRedPlayers;
00068   for(i=0; i<playersPercept.numberOfBluePlayers; i++)
00069   {
00070     stream.write(&playersPercept.bluePlayers[i], sizeof(SinglePlayerPercept));
00071   }
00072   for(i=0; i<playersPercept.numberOfRedPlayers; i++)
00073   {
00074     stream.write(&playersPercept.redPlayers[i], sizeof(SinglePlayerPercept));
00075   }
00076 
00077   return stream;
00078 }
00079 
00080 /*
00081  * Change log :
00082  * 
00083  * $Log: PlayersPercept.cpp,v $
00084  * Revision 1.1.1.1  2004/05/22 17:25:59  cvsadm
00085  * created new repository GT2004_WM
00086  *
00087  * Revision 1.3  2004/01/19 14:53:46  dueffert
00088  * all frameNumbers (and not only some of them) are unsigned long now
00089  *
00090  * Revision 1.2  2003/11/12 16:19:35  goehring
00091  * frameNumber added to percepts
00092  *
00093  * Revision 1.1  2003/10/07 10:09:36  cvsadm
00094  * Created GT2004 (M.J.)
00095  *
00096  * Revision 1.1.1.1  2003/07/02 09:40:22  cvsadm
00097  * created new repository for the competitions in Padova from the 
00098  * tamara CVS (Tuesday 2:00 pm)
00099  *
00100  * removed unused solutions
00101  *
00102  * Revision 1.3  2003/03/26 09:46:06  roefer
00103  * LinesImageProcessor2 generates player percepts
00104  *
00105  * Revision 1.2  2002/09/17 23:55:20  loetzsch
00106  * - unraveled several datatypes
00107  * - changed the WATCH macro
00108  * - completed the process restructuring
00109  *
00110  * Revision 1.1  2002/09/10 15:26:40  cvsadm
00111  * Created new project GT2003 (M.L.)
00112  * - Cleaned up the /Src/DataTypes directory
00113  * - Removed Challenge Code
00114  * - Removed processing of incoming audio data
00115  * - Renamed AcousticMessage to SoundRequest
00116  *
00117  * Revision 1.1.1.1  2002/05/10 12:40:13  cvsadm
00118  * Moved GT2002 Project from ute to tamara.
00119  *
00120  * Revision 1.6  2002/04/02 13:10:18  dueffert
00121  * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete
00122  *
00123  * Revision 1.5  2001/12/17 00:16:55  tim
00124  * validity hinzugefügt
00125  *
00126  * Revision 1.4  2001/12/15 18:21:39  tim
00127  * PlayersPercept fertig (voererst ;-)
00128  *
00129  * Revision 1.3  2001/12/10 17:47:06  risler
00130  * change log added
00131  *
00132  */

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