00001 /* 00002 * This file contains class that simulates null camera. 00003 * This camera always return black image with size 640x480. 00004 * 00005 * Author: 00006 * Tomas Mrkvicka 00007 * xmrkvi03@stud.fit.vutbr.cz 00008 * 00009 */ 00010 00011 #include "CameraAbstract/CameraAbstract.h" 00012 00013 //deklarace funkce pro export tridy ven z DLL 00014 extern "C" __declspec(dllexport) TCameraAbstract* CreateCamera(const char * filename); 00015 00016 namespace NSCameras 00017 { 00018 class TCameraImage; 00019 }; 00020 00021 #ifndef _CAMERAS_CAMERAIMAGE_HH_ 00022 #define _CAMERAS_CAMERAIMAGE_HH_ 00023 00024 namespace NSCameras 00025 { 00026 00027 //////////////////////////////////////////////////////////////////////////////// 00028 //////////////////////////////////////////////////////////////////////////////// 00029 //////////////////////////////////////////////////////////////////////////////// 00030 // TCameraNull 00031 00032 /** Tato trida reprezentuje kameru vracejici vzdy cerny obrazek 00033 * o velikosti 640x480. 00034 * 00035 * Data jsou vzdy ve formatu 24-bitu RGB. 00036 * 00037 */ 00038 class TCameraNull : public TCameraAbstract 00039 { 00040 //PUBLIC OVERRIDEN METHODS 00041 public: 00042 virtual DWORD GetDataSize(void); 00043 virtual void GetData(void * dest); 00044 00045 00046 virtual int GetWidth(void); 00047 virtual int GetHeight(void); 00048 00049 virtual void Destroy(void); 00050 00051 //PUBLIC STATIC METHODS 00052 public: 00053 static TCameraNull* CreateCamera(const char * filename); 00054 00055 //PRIVATE METHODS 00056 private: 00057 bool Initialize( const char * filename ); 00058 00059 TCameraNull(void); 00060 ~TCameraNull(void); 00061 00062 TCameraNull( const TCameraNull & orig ); ///< falesny kopirovaci kontruktor 00063 void operator=( const TCameraNull & orig ); ///< falesny prirazovaci operator 00064 00065 //PRIVATE COMPONENTS 00066 private: 00067 int m_width; ///< sirka nacteneho obrazu 00068 int m_height; ///< vyska nacteneho obrazu 00069 00070 unsigned char* m_data; ///< pixely obrazu 00071 }; 00072 00073 // TCameraNull 00074 //////////////////////////////////////////////////////////////////////////////// 00075 //////////////////////////////////////////////////////////////////////////////// 00076 //////////////////////////////////////////////////////////////////////////////// 00077 00078 }; //END of namespace NSCameras 00079 using namespace NSCameras; 00080 00081 #endif