00001
00002
00003
00004
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
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
00087 return stream;
00088 }
00089
00090
00091
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
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157