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

Representations/Perception/LinesPercept.cpp

Go to the documentation of this file.
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  */

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