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_
1.3.6