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

Representations/Cognition/PlayerPoseCollection.cpp

Go to the documentation of this file.
00001 /**
00002  * @file PlayerPoseCollection.cpp
00003  *
00004  * Implementation of class PlayerPoseCollection.
00005  */
00006 
00007 #include "PlayerPoseCollection.h"
00008 
00009 void PlayerPose::operator = (const PlayerPose& other)
00010 {
00011   pose = other.pose;
00012   speed = other.speed;
00013   validity = other.validity;
00014   playerNumber = other.playerNumber;
00015   sigmaMin = other.sigmaMin;
00016   sigmaMaj = other.sigmaMaj;
00017   cosAngle = other.cosAngle;
00018   sinAngle = other.sinAngle;
00019 }
00020 
00021 PlayerPoseCollection::PlayerPoseCollection()
00022 {
00023   this->numberOfOpponentPlayers = 0;
00024   this->numberOfOwnPlayers = 0;
00025 }
00026 
00027 PlayerPoseCollection::~PlayerPoseCollection()
00028 {
00029 }
00030 
00031 PlayerPoseCollection::PlayerPoseCollection(PlayerPoseCollection& other)
00032 {
00033   *this = other;
00034 }
00035 
00036 void PlayerPoseCollection::operator = (const PlayerPoseCollection& other)
00037 {
00038   int i;
00039   for (i=0; i<other.numberOfOwnPlayers;i++)
00040   {
00041     setOwnPlayerPose(i,other.getOwnPlayerPose(i));
00042   }
00043   for (i=0; i<other.numberOfOpponentPlayers;i++)
00044   {
00045     setOpponentPlayerPose(i,other.getOpponentPlayerPose(i));
00046   }
00047   numberOfOwnPlayers = other.numberOfOwnPlayers;
00048   numberOfOpponentPlayers = other.numberOfOpponentPlayers;
00049 }
00050 
00051 In& operator>>(In& stream,PlayerPoseCollection& playerPoseCollection)
00052 {
00053   int sizeOfPlayerPose;
00054   int i;
00055   sizeOfPlayerPose = sizeof(PlayerPose);
00056   stream >> playerPoseCollection.numberOfOpponentPlayers;
00057   stream >> playerPoseCollection.numberOfOwnPlayers;
00058   for(i=0; i < playerPoseCollection.numberOfOpponentPlayers; i++)
00059   {
00060     stream.read(&playerPoseCollection.opponentPlayerPoses[i], sizeOfPlayerPose);
00061   }
00062   for(i=0; i < playerPoseCollection.numberOfOwnPlayers; i++)
00063   {
00064     stream.read(&playerPoseCollection.ownPlayerPoses[i], sizeOfPlayerPose);
00065   }
00066   //  stream.read(&playerPoseCollection, sizeof(PlayerPoseCollection));
00067   return stream;
00068 }
00069 
00070 
00071 Out& operator<<(Out& stream, const PlayerPoseCollection& playerPoseCollection)
00072 {
00073   int sizeOfPlayerPose;
00074   int i;
00075   sizeOfPlayerPose = sizeof(PlayerPose);
00076   stream << playerPoseCollection.numberOfOpponentPlayers;
00077   stream << playerPoseCollection.numberOfOwnPlayers;
00078   for(i=0; i < playerPoseCollection.numberOfOpponentPlayers; i++)
00079   {
00080     stream.write(&playerPoseCollection.opponentPlayerPoses[i], sizeOfPlayerPose);
00081   }
00082   for(i=0; i < playerPoseCollection.numberOfOwnPlayers; i++)
00083   {
00084     stream.write(&playerPoseCollection.ownPlayerPoses[i], sizeOfPlayerPose);
00085   }
00086   //  stream.write(&playerPoseCollection, sizeof(PlayerPoseCollection));
00087   return stream;
00088 }
00089 
00090 
00091 //Streamin operators for PlayerPose
00092 In& operator>>(In& stream,PlayerPose& playerPose)
00093 {
00094   stream.read(&playerPose,sizeof(PlayerPose));
00095   return stream;
00096 }
00097 
00098 
00099 Out& operator<<(Out& stream, const PlayerPose& playerPose)
00100 {
00101   stream.write(&playerPose,sizeof(PlayerPose));
00102   return stream;
00103 }
00104 
00105 
00106 /*
00107  * Change log :
00108  * 
00109  * $Log: PlayerPoseCollection.cpp,v $
00110  * Revision 1.1.1.1  2004/05/22 17:25:15  cvsadm
00111  * created new repository GT2004_WM
00112  *
00113  * Revision 1.2  2003/12/06 17:45:33  loetzsch
00114  * replaced Player::playerRole (goalie, defender, striker1, striker2)
00115  * by Player::playerNumber (one, two, three, four)
00116  *
00117  * Revision 1.1  2003/10/07 10:07:01  cvsadm
00118  * Created GT2004 (M.J.)
00119  *
00120  * Revision 1.1.1.1  2003/07/02 09:40:22  cvsadm
00121  * created new repository for the competitions in Padova from the 
00122  * tamara CVS (Tuesday 2:00 pm)
00123  *
00124  * removed unused solutions
00125  *
00126  * Revision 1.2  2003/03/16 20:15:12  thiel
00127  * changed set-methods from const double& to const double
00128  * operator= completed with missing attributs
00129  *
00130  * Revision 1.1  2002/09/10 15:26:39  cvsadm
00131  * Created new project GT2003 (M.L.)
00132  * - Cleaned up the /Src/DataTypes directory
00133  * - Removed Challenge Code
00134  * - Removed processing of incoming audio data
00135  * - Renamed AcousticMessage to SoundRequest
00136  *
00137  * Revision 1.1.1.1  2002/05/10 12:40:13  cvsadm
00138  * Moved GT2002 Project from ute to tamara.
00139  *
00140  * Revision 1.7  2002/04/21 16:06:14  roefer
00141  * Fixed numbers replaced by counters in operator=
00142  *
00143  * Revision 1.6  2002/02/05 03:36:12  loetzsch
00144  * replaced direct member access by
00145  * inline const VALUE& get...() const   and
00146  * inline void set...(const Value&) methods.
00147  *
00148  * Revision 1.5  2002/01/15 10:15:30  kspiess
00149  * Streaming-Operatoren für PlayerPose hinzugefügt
00150  *
00151  * Revision 1.4  2001/12/20 23:15:17  kspiess
00152  * PlayerPoseCollection implementiert
00153  *
00154  * Revision 1.3  2001/12/10 17:47:06  risler
00155  * change log added
00156  *
00157  */

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