Camera.h

Go to the documentation of this file.
00001 /*
00002 *       This file contains class that load images from first DirectShow camera in system.
00003 *
00004 *       Author:
00005 *                       Tomas Mrkvicka
00006 *                       xmrkvi03@stud.fit.vutbr.cz
00007 *
00008 */
00009 
00010 #include "CameraAbstract/CameraAbstract.h"
00011 
00012 #include "CameraSource.h"
00013 
00014 //deklarace funkce pro export tridy ven z DLL
00015 extern "C" __declspec(dllexport) TCameraAbstract*       CreateCamera( void );
00016 
00017 //FORWARD DECLARATIONS
00018 namespace NSCameras
00019 {
00020         class TCameraDshow;
00021 };
00022 
00023 #ifndef _CAMERAS_CAMERA_HH_
00024 #define _CAMERAS_CAMERA_HH_
00025 
00026 namespace NSCameras
00027 {
00028 
00029 ////////////////////////////////////////////////////////////////////////////////
00030 ////////////////////////////////////////////////////////////////////////////////
00031 ////////////////////////////////////////////////////////////////////////////////
00032 // TCameraDshow
00033 
00034 /** Tato trida reprezentuje kameru ziskavajici snimky z prvni fyzicke kamery
00035 *       umistene v systemu a umoznujici pristup pres DirectShow.
00036 *
00037 *       Trida plne respektuje pravidla bazove tridy TCameraAbstract a proto by manipulace
00038 *       s vytvorenym objektem mela probihat pouze pres bazovou tridu (rozhrani).
00039 */
00040 class TCameraDshow : public TCameraAbstract
00041 {
00042 //PUBLIC OVERRIDEN METHODS
00043 public:
00044         virtual DWORD                           GetDataSize(void);      
00045         virtual void                            GetData(void * dest);   
00046                                                                                                                 
00047 
00048         virtual int                                     GetWidth(void);                 
00049         virtual int                                     GetHeight(void);                        
00050 
00051         virtual void                            Destroy(void);
00052 
00053 //PUBLIC STATIC METHODS
00054 public:
00055         static TCameraDshow*            CreateCamera( void );
00056 
00057 //PRIVATE METHODS
00058 private:
00059         bool                                            Initialize( void );
00060 
00061                                                                 TCameraDshow(void);
00062                                                                 ~TCameraDshow(void);
00063 
00064                                                                 TCameraDshow( const TCameraDshow & orig );      ///< falesny kopirovaci konstruktor
00065         void                                            operator=( const TCameraDshow & orig );         ///< falesny prirazovaci operator
00066 
00067 //PRIVATE COMPONENTS
00068 private:
00069         TVideoDSFile*                           m_source;               ///< zdroj videa
00070 };
00071 
00072 // TCameraDshow
00073 ////////////////////////////////////////////////////////////////////////////////
00074 ////////////////////////////////////////////////////////////////////////////////
00075 ////////////////////////////////////////////////////////////////////////////////
00076 
00077 }; //END of namespace NSCameras
00078 using namespace NSCameras;
00079 
00080 #endif

Generated on Sat Nov 17 16:23:33 2007 for Image Processing Pipeline - Camera Sources Implementation by  doxygen 1.4.6-NO