#pragma once #include "IBaseCamParamConfig.h" #include "IBaseCamCommon.h" typedef struct CAMERASERIAL { int mSize = 0; QString mSerial[10]; } CameraSerial; typedef struct _tagSDKInfo { QString strName; // 工具名字 QString strSDKVersion; // SDK版本 QFileInfo fileInfo; _tagSDKInfo() { } } SDKINFO; /// 相机接口类 class IBaseCamera { public: IBaseCamera(void) {}; virtual ~IBaseCamera() { }; protected: /// 打开相机 virtual bool openCamera( QString serial ) = 0; /// 关闭相机 virtual bool closeCamera( ) = 0; /// 初始化 virtual bool initialize( ) = 0; public: /// 加载参数 virtual void loadCamParam() = 0; /// 保存参数 virtual void saveCamParam() = 0; /// 设置相机工作模式 virtual bool setWorkMode(IBaseCamCommon::CamWorkMode, bool Running = false) = 0; /// 相机工作模式 virtual IBaseCamCommon::CamWorkMode workMode( ) = 0; /// 相机开始工作 virtual bool startWork() = 0; /// 相机停止工作 virtual bool stopWork() = 0; /// 相机序列号 virtual QString serial() = 0; /// 重启相机 virtual bool restartCamera() = 0; /// 获取一桢图像 virtual bool captureImage( void **buf, int size ) = 0; /// 获取图像宽 virtual int imageWidth( void ) = 0; /// 获取图像高 virtual int imageHeight( void ) = 0; /// 获取图像通道数 virtual int imageChannels( void ) = 0; /// 获取配置参数类 virtual IBaseCamParamConfig* camParamConfig() = 0; /// 显示设置参数窗口页面 virtual void showParamConfigWindow( int mode = 0 ) = 0; /// 获取相机最大分辨率 virtual bool getMaxSize( int &w, int &h ) = 0; /// 设置相机分辨率 virtual bool setResolution( int w, int h ) = 0; /// 获取已注册图像回调的数量 virtual int getReceCallBackSIze() = 0; ///设置接收图像数据回调函数 virtual void setReceCallBack(IBaseCamCommon::receImgCallBack callBack,long long userParam , QString userID) = 0; ///设置接收Log数据回调函数 virtual void setReceLogCallBack(IBaseCamCommon::receLogCallBack callBack, long long userParam) = 0;//设置接收数据回调函数 /// 软件触发采图 virtual void softTriggerCap(QString userID = "main") = 0; };