00001 /* 00002 * This file contains class that load images from specified video sequence. 00003 * 00004 * Author: 00005 * Tomas Mrkvicka 00006 * xmrkvi03@stud.fit.vutbr.cz 00007 * 00008 */ 00009 00010 #include "CameraAbstract/CameraAbstract.h" 00011 00012 #include "VideoDS.h" 00013 00014 //deklarace funkce pro export tridy ven z DLL 00015 extern "C" __declspec(dllexport) TCameraAbstract* CreateCamera( const char * filename ); 00016 00017 namespace NSCameras 00018 { 00019 class TCameraVideoFile; 00020 }; 00021 00022 #ifndef _CAMERAS_VIDEOFILE_HH_ 00023 #define _CAMERAS_VIDEOFILE_HH_ 00024 00025 namespace NSCameras 00026 { 00027 00028 //////////////////////////////////////////////////////////////////////////////// 00029 //////////////////////////////////////////////////////////////////////////////// 00030 //////////////////////////////////////////////////////////////////////////////// 00031 00032 /** Tato trida reprezentuje kameru ziskavajici snimky ze zadaneho video souboru. 00033 */ 00034 class TCameraVideoFile : public TCameraAbstract 00035 { 00036 //PUBLIC OVERRIDEN METHODS 00037 public: 00038 virtual DWORD GetDataSize(void); 00039 virtual void GetData(void * dest); 00040 00041 00042 virtual int GetWidth(void); 00043 virtual int GetHeight(void); 00044 00045 virtual void Destroy(void); 00046 00047 //PUBLIC STATIC METHODS 00048 public: 00049 static TCameraVideoFile* CreateCamera( const char * filename ); 00050 00051 //PRIVATE METHODS 00052 private: 00053 bool Initialize( const char * filename ); 00054 00055 TCameraVideoFile(void); 00056 ~TCameraVideoFile(void); 00057 00058 TCameraVideoFile( const TCameraVideoFile & orig ); ///< falesny kopirovaci konstruktor 00059 void operator=( const TCameraVideoFile & orig ); ///< falesny prirazovaci operator 00060 00061 //PRIVATE COMPONENTS 00062 private: 00063 TVideoDSFile* m_source; ///< zdroj videa 00064 }; 00065 00066 //////////////////////////////////////////////////////////////////////////////// 00067 //////////////////////////////////////////////////////////////////////////////// 00068 //////////////////////////////////////////////////////////////////////////////// 00069 00070 }; //END of namespace NSCameras 00071 using namespace NSCameras; 00072 00073 #endif