00001 /** 00002 * @file CameraMatrix.h 00003 * 00004 * Declaration of class CameraMatrix 00005 */ 00006 00007 #ifndef __CameraMatrix_h_ 00008 #define __CameraMatrix_h_ 00009 00010 #include "Tools/Math/Pose3D.h" 00011 #include "Tools/Streams/InOut.h" 00012 00013 /** 00014 * Matrix describing transformation from neck joint to camera. 00015 */ 00016 class CameraMatrix: public Pose3D 00017 { 00018 public: 00019 unsigned long frameNumber; /**< The frame number when perceived. */ 00020 00021 CameraMatrix(const Pose3D pose): Pose3D(pose),isValid(true),frameNumber(0) {} 00022 CameraMatrix():isValid(true),frameNumber(0) {} 00023 00024 void setFrameNumber(unsigned long frameNumber) {this->frameNumber = frameNumber;} 00025 00026 bool isValid; /**< Matrix is only valid if motion was stable. */ 00027 00028 00029 00030 }; 00031 00032 /** 00033 * Streaming operator that reads a CameraMatrix from a stream. 00034 * @param stream The stream from which is read. 00035 * @param cameraMatrix The CameraMatrix object. 00036 * @return The stream. 00037 */ 00038 In& operator>>(In& stream,CameraMatrix& cameraMatrix); 00039 00040 /** 00041 * Streaming operator that writes a CameraMatrix to a stream. 00042 * @param stream The stream to write on. 00043 * @param cameraMatrix The CameraMatrix object. 00044 * @return The stream. 00045 */ 00046 Out& operator<<(Out& stream, const CameraMatrix& cameraMatrix); 00047 00048 #endif //__CameraMatrix_h_ 00049 00050 /* 00051 * Change log : 00052 * 00053 * $Log: CameraMatrix.h,v $ 00054 * Revision 1.1.1.1 2004/05/22 17:25:44 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/14 19:02:25 goehring 00061 * frameNumber added 00062 * 00063 * Revision 1.1 2003/10/07 10:09:36 cvsadm 00064 * Created GT2004 (M.J.) 00065 * 00066 * Revision 1.2 2003/09/25 11:23:52 juengel 00067 * Removed BlobCollection. 00068 * 00069 * Revision 1.1.1.1 2003/07/02 09:40:22 cvsadm 00070 * created new repository for the competitions in Padova from the 00071 * tamara CVS (Tuesday 2:00 pm) 00072 * 00073 * removed unused solutions 00074 * 00075 * Revision 1.5 2003/04/01 16:51:09 roefer 00076 * CameraMatrix contains validity and is calculated in Geometry 00077 * 00078 * Revision 1.4 2003/01/11 21:30:35 roefer 00079 * Removed the stuff added, because it is not required, 00080 * and it is incompatible with existing log files 00081 * 00082 * Revision 1.3 2003/01/09 14:12:28 jhoffman 00083 * added some stuff needed for ISL 00084 * 00085 * Revision 1.2 2002/09/22 18:40:49 risler 00086 * added new math functions, removed GTMath library 00087 * 00088 * Revision 1.1 2002/09/10 15:26:40 cvsadm 00089 * Created new project GT2003 (M.L.) 00090 * - Cleaned up the /Src/DataTypes directory 00091 * - Removed Challenge Code 00092 * - Removed processing of incoming audio data 00093 * - Renamed AcousticMessage to SoundRequest 00094 * 00095 * Revision 1.4 2002/08/31 16:19:46 risler 00096 * doxygen comments corrected 00097 * 00098 * Revision 1.3 2002/08/22 14:41:03 risler 00099 * added some doxygen comments 00100 * 00101 * Revision 1.2 2002/07/23 13:32:57 loetzsch 00102 * new streaming classes 00103 * 00104 * removed many #include statements 00105 * 00106 * Revision 1.1.1.1 2002/05/10 12:40:13 cvsadm 00107 * Moved GT2002 Project from ute to tamara. 00108 * 00109 * Revision 1.6 2002/04/02 13:10:18 dueffert 00110 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00111 * 00112 * Revision 1.5 2002/01/18 12:24:42 mkunz 00113 * camera matrix changed 00114 * 00115 * Revision 1.4 2001/12/10 17:47:05 risler 00116 * change log added 00117 * 00118 */