00001 /** 00002 * @file LinesPercept.cpp 00003 * 00004 * Implementation of class LinesPercept. 00005 * @author <A href=mailto:juengel@informatik.hu-berlin.de>Matthias Juengel</A> 00006 */ 00007 00008 #include "LinesPercept.h" 00009 00010 void LinesPercept::reset(unsigned long frameNumber) 00011 { 00012 this->frameNumber = frameNumber; 00013 for(int i = 0; i < numberOfTypes; ++i) 00014 numberOfPoints[i] = 0; 00015 } 00016 00017 void LinesPercept::add(LineType type,const Vector2<int>& point, double angle) 00018 { 00019 if(numberOfPoints[type] < maxNumberOfPoints) 00020 points[type][numberOfPoints[type]++] = LinePoint(point, angle); 00021 } 00022 00023 In& operator>>(In& stream,LinesPercept& linesPercept) 00024 { 00025 stream >> linesPercept.frameNumber; 00026 for(int i = 0; i < LinesPercept::numberOfTypes; ++i) 00027 { 00028 stream >> linesPercept.numberOfPoints[i]; 00029 for(int j = 0; j < linesPercept.numberOfPoints[i]; j++) 00030 stream >> linesPercept.points[i][j].x >> linesPercept.points[i][j].y >> linesPercept.points[i][j].angle; 00031 } 00032 return stream; 00033 } 00034 00035 Out& operator<<(Out& stream, const LinesPercept& linesPercept) 00036 { 00037 stream << linesPercept.frameNumber; 00038 for(int i = 0; i < LinesPercept::numberOfTypes; ++i) 00039 { 00040 stream << linesPercept.numberOfPoints[i]; 00041 for(int j = 0; j < linesPercept.numberOfPoints[i]; j++) 00042 stream << linesPercept.points[i][j].x << linesPercept.points[i][j].y << linesPercept.points[i][j].angle; 00043 } 00044 return stream; 00045 } 00046 00047 /* 00048 * Change log : 00049 * 00050 * $Log: LinesPercept.cpp,v $ 00051 * Revision 1.2 2004/06/16 18:58:40 roefer 00052 * LinesPercept with angles, does not work yet 00053 * 00054 * Revision 1.1.1.1 2004/05/22 17:25:51 cvsadm 00055 * created new repository GT2004_WM 00056 * 00057 * Revision 1.3 2004/01/19 14:53:46 dueffert 00058 * all frameNumbers (and not only some of them) are unsigned long now 00059 * 00060 * Revision 1.2 2003/11/12 16:19:35 goehring 00061 * frameNumber added to percepts 00062 * 00063 * Revision 1.1 2003/10/07 10:09:36 cvsadm 00064 * Created GT2004 (M.J.) 00065 * 00066 * Revision 1.1.1.1 2003/07/02 09:40:22 cvsadm 00067 * created new repository for the competitions in Padova from the 00068 * tamara CVS (Tuesday 2:00 pm) 00069 * 00070 * removed unused solutions 00071 * 00072 * Revision 1.5 2003/03/22 11:06:25 roefer 00073 * Progress in LinesImageProcessor2 00074 * 00075 * Revision 1.4 2002/12/04 12:20:38 juengel 00076 * Changed the data type of the points in the LinesPercept from Vector2<double> to Vector2<int>. 00077 * 00078 * Revision 1.3 2002/09/22 18:40:50 risler 00079 * added new math functions, removed GTMath library 00080 * 00081 * Revision 1.2 2002/09/17 23:55:20 loetzsch 00082 * - unraveled several datatypes 00083 * - changed the WATCH macro 00084 * - completed the process restructuring 00085 * 00086 * Revision 1.1 2002/09/10 15:26:40 cvsadm 00087 * Created new project GT2003 (M.L.) 00088 * - Cleaned up the /Src/DataTypes directory 00089 * - Removed Challenge Code 00090 * - Removed processing of incoming audio data 00091 * - Renamed AcousticMessage to SoundRequest 00092 * 00093 * Revision 1.2 2002/06/02 23:21:08 roefer 00094 * Single color table and progress in LinesSelfLocator 00095 * 00096 * Revision 1.1.1.1 2002/05/10 12:40:13 cvsadm 00097 * Moved GT2002 Project from ute to tamara. 00098 * 00099 * Revision 1.6 2002/04/02 13:10:18 dueffert 00100 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00101 * 00102 * Revision 1.5 2002/03/28 14:06:52 risler 00103 * numOfLines was uninitialized 00104 * 00105 * Revision 1.4 2002/03/24 17:47:02 juengel 00106 * LinesPercept defined and LinesPerceptor added. 00107 * 00108 * Revision 1.3 2001/12/10 17:47:06 risler 00109 * change log added 00110 * 00111 */