DSwcOpenAPIclass.h

Go to the documentation of this file.
00001 
00083 #if !defined(AFX_DSWCOPENAPICLASS_H__FA113574_CAE3_4C13_86F6_152DB355E199__INCLUDED_)
00084 #define AFX_DSWCOPENAPICLASS_H__FA113574_CAE3_4C13_86F6_152DB355E199__INCLUDED_
00085 
00086 #ifdef DSWCOPEN_EXPORTS
00087 #define DSWCOPEN_API __declspec(dllexport)
00088 #else
00089 #define DSWCOPEN_API __declspec(dllimport)
00090 #endif
00091 
00092 
00093 #if _MSC_VER > 1000
00094 #pragma once
00095 #endif // _MSC_VER > 1000
00096 
00097 // forward
00098 class CCameras;
00099 
00100 class DSWCOPEN_API CDSwcOpenAPIclass  
00101 {
00102 public:
00103         CDSwcOpenAPIclass();
00104         virtual ~CDSwcOpenAPIclass();
00105 
00107 public:
00109         enum EKnownChipsetCat
00110         {
00111                 CC_Unknown                      = 0,
00112                 CC_SAA8112                      = 1,
00113                 CC_SAA8116                      = 3,
00114                 CC_CREALIVEULTRA        = 4,
00115                 CC_LOGIFUSION           = 5,
00116         };
00117 
00119         enum EVidCapPropertySupport
00120         {
00121                 PS_no           = 0, // not supported 
00122                 PS_get          = 1, // get support
00123                 PS_set          = 2, // set support
00124                 PS_both         = 3      //     get+set support
00125         };
00126 
00128         enum EVidCapProperty
00129         {
00131                 CP_FirstElement                 = 0,
00132 
00139 
00140                 CP_Brightness                   = CP_FirstElement, // VideoProcAmp_Brightness,
00141 
00143                 CP_Contrast                             = 1,// VideoProcAmp_Contrast,
00144 
00146                 CP_Hue                                  = 2,// VideoProcAmp_Hue
00147 
00149                 CP_Saturation                   = 3,// VideoProcAmp_Saturation,
00150 
00152                 CP_Sharpness                    = 4,// VideoProcAmp_Sharpness,
00153 
00155                 CP_Gamma                                = 5,// VideoProcAmp_Gamma,
00156 
00159                 CP_ColorEnable                  = 6,// VideoProcAmp_ColorEnable,
00160 
00162                 CP_WhiteBalance                 = 7,// VideoProcAmp_WhiteBalance,
00163 
00166                 CP_BacklightCompensation = 8,// VideoProcAmp_BacklightCompensation,
00167 
00169 
00172                 CP_WhiteBalanceMode             = 9,  
00173 
00175                 CP_WhiteBalRed                  = 10, // (red part 0..255)
00176 
00178                 CP_WhiteBalBlue                 = 11, // (blue part 0..255)
00179 
00182                 CP_FlickerFree                  = 12, // (0=off,  1=on)
00184                 CP_Flicker50_60                 = 13, // (0=50Hz, 1=60Hz)
00185 
00188                 CP_FPS                                  = 14, 
00189 
00192                 CP_Exposure                             = 15, 
00193         
00195                 CP_Gain                                 = 16, // (0..63)
00196 
00199                 CP_FlipHorizontal               = 17, // (0=not,1=flipped)
00200                 CP_FlipVertical                 = 18, // (0=not,1=flipped)
00201 
00204                 CP_AutoExposure                 = 19, // (0=auto, 1=not)
00205                 CP_AutoAll                              = 20, // (0=auto, 1=not)
00206 
00208 
00210                 CP_ActualFrameRate              = 21, // frame duration in msec - get only
00211 
00213 
00216                 CP_LED                                  = 22, // 
00217 
00220                 CP_Setting                              = 23, // =0 Load User, =1 Save User, =2 Load Factory
00221 
00223                 CP_ExtTrigger                   = 24, // =0 Disable Trigger, = 255 Enable Trigger,
00224                 CP_SWTrigger                    = 25, // =255 trigger event
00225 
00226                 CP_Pan                                  = 26, // camera's pan setting, in degrees. Values range from 180 to +180
00227                 CP_Tilt                                 = 27, // camera's tilt setting, in degrees. Values range from 180 to +180
00228                 CP_Roll                                 = 28, // camera's roll setting, in degrees. Values range from 180 to +180
00229                 CP_Zoom                                 = 29, // camera's zoom setting, in millimeters. Values range from 10 to 600
00230                 CP_Iris                                 = 30, // camera's iris setting, in units of fstop * 10
00231                 CP_Focus                                = 31, // camera's focus setting, as the distance to the optimally focused target, in millimeters
00232                 CP_LastElement                  = CP_Focus,
00233         };
00234 
00236 public:
00238 
00243         bool EnumCams();
00244 
00245 
00252         void GetCamStrings(char *(*camNames[]), unsigned int *numCamNames);
00253 
00261         void GetDevStrings(char *(*devNames[]), unsigned int *numDevNames);
00262 
00270         void GetCamSerials(char *(*camSerials[]), unsigned int *numCamSerials);
00271 
00277         bool SetCam(int camNumber);
00278 
00279 
00285         bool CamProperty_Support(EVidCapProperty prop, EVidCapPropertySupport *pValue);
00286 
00287 
00293         bool CamProperty_Range(EVidCapProperty prop, long *pMin, long *pMax, long *pDelta);
00294 
00295 
00301         bool CamProperty_Set(EVidCapProperty prop, long value);
00302 
00303 
00309         bool CamProperty_Get(EVidCapProperty prop, long *pValue);
00310 
00315         bool CamChipset(EKnownChipsetCat *pValue);
00316 
00317         inline char *ErrString() {return m_errString;};
00318         int DllUsers();
00319 
00320 private:
00321         char                    m_errString[512];
00322         CCameras                *m_cameras;
00323 
00324         
00325 };//class
00326 
00327 
00328 #endif // !defined(AFX_DSWCOPENAPICLASS_H__FA113574_CAE3_4C13_86F6_152DB355E199__INCLUDED_)

Generated on Tue Oct 31 23:59:08 2006 for DSwcOpen by  doxygen 1.4.6-NO