// ***************************************************************************** // 版权所有(C)2023~2099 上海骄成超声波技术有限公司 // 保留所有权利 // ***************************************************************************** // 作者 : 杨坚 // 版本 : 1.0 // 功能说明: // 绑定相机接口类,为了和ui 区分开,以后也需要 // ***************************************************************************** #ifndef __CAMERABIND_H__ #define __CAMERABIND_H__ 1 #include #include "Machine.h" #include "CViewInterface.h" // 灯光类型 enum EN_LIGHT_INDEX { Red,//红 Green, Blue, Point }; struct ST_LIGHT_VAL { int redLightValue; int greenLightValue; int blueLightValue; int pointLightValue; }; class CameraBind: public QObject { Q_OBJECT public: CameraBind(); ~CameraBind(); /**设置画面窗口 */ void SetImageWnd(QWidget* pImageWnd); void InitAllCamera(); /**移动轴 */ void SetModuleMove(const std::string& strModuleType, const std::string& enAxisType, double pos, bool bMoveTo); /**回零 */ void JToHome(); /**获取XY */ CXYCalib* YGetCalibXY(int iCameraId); /**设置灯光 */ void JSetRedLight(int iCameraId, EN_LIGHT_INDEX nLightIndex, int LightValue); /**获取灯光值 */ ST_LIGHT_VAL JGetLight(int iCameraId); /** */ long YGetAxisPosition(std::string ModuleType, std::string AxisType, double& pos); /**执行函数 */ long JRunButton(const ns_module::ST_BUTTON_FUN stInfo); //停止 long JRunStop(); //自动固晶 long JRunAutoBond(); /**退出通知 */ long JViewExit(); /**移动相机轴 */ long JCameraMove(int iCameraId, double x, double y); signals: /**通用图像传输 * 哪里需要绑哪里 *@pImageBuffer 图像缓冲区BYTE *@nWidth 宽 *@nHeight 高 */ void SendImageDispSignal(int iCameraId, ImageInfo imageData); private: /**相机回调命名规则 0,1,2,3,4 */ static long OnFrameCallbackFun0(int iCameraId, JVision::ImageInfo imageData); static long OnFrameCallbackFun1(int iCameraId, JVision::ImageInfo imageData); static long OnFrameCallbackFun2(int iCameraId, JVision::ImageInfo imageData); static long OnFrameCallbackFun3(int iCameraId, JVision::ImageInfo imageData); static long OnFrameCallbackFun4(int iCameraId, JVision::ImageInfo imageData); //static long OnFrameCallbackFun2(int iCameraId, ImageInfo imageData); void SendImage(int iCameraId, ImageInfo imageData); public: /**相机图像接口 */ std::unique_ptr m_pCViewInterface; /**当前相机列表 */ std::vector m_vecCamera; std::vector m_vecCAxis; }; #endif //__CAMERABIND_H__