diff --git a/3part/tadpole/include/tpBase/baseStruct.h b/3part/tadpole/include/tpBase/baseStruct.h index 8c5adce..7355a86 100644 --- a/3part/tadpole/include/tpBase/baseStruct.h +++ b/3part/tadpole/include/tpBase/baseStruct.h @@ -1,13 +1,4 @@ -/****************************************************************************** -Copyright(C):2015~2018 hzleaper -FileName:baseStruct.h -Author:zhikun wu -Email:zk.wu@hzleaper.com -Tools:vs2010 pc on company -Created:2015/04/09 -History:9:4:2015 10:33 -*******************************************************************************/ -#ifndef __BASE_STRUCT_H +#ifndef __BASE_STRUCT_H #define __BASE_STRUCT_H #include "baseDefine.h" @@ -29,7 +20,6 @@ typedef struct tagTP_GLOBAL_DATA{ char tgdUserPath[BASE_MAX_FILE_PATH]; char tgdDllPath[BASE_MAX_FILE_PATH]; char tgdFolderNames[TP_FOLDER_NAME_MAX_NUM][BASE_MAX_FOLDER_NAME_SIZE]; - // char tgdFileNames[TP_FILE_NAME_MAX_NUM][BASE_MAX_FILE_NAME_SIZE]; void* tgdpDllPaths;//pointer to a stringlist }TP_GLOBAL_DATA; @@ -39,11 +29,6 @@ inline ZStringA TPConfigFileWholePath(const TP_GLOBAL_DATA* pGlobal, const char* return szFileName; } -///////////////////////////////////////////////////////////////////////////////////////// - - -//////////////////////////////////////////////////////////////////////////////////////////// - enum emTpImageShowType { TP_IMAGE_SHOW_NO = 0, TP_IMAGE_SHOW_EVERY = 1, @@ -186,76 +171,6 @@ enum emTpCommType { TP_COMM_TYPE_TCP_CLIENT_SESSION = 5, // 主机作为服务端,接受的客户端会话 }; -static const QMap gCommNamesMap = { - { TP_COMM_TYPE_NO, "Unknown" }, - { TP_COMM_TYPE_SERIAL, "Serial Port" }, - { TP_COMM_TYPE_USB, "USB Port" }, - { TP_COMM_TYPE_TCP_CLIENT, "TCP Client" }, - { TP_COMM_TYPE_TCP_SERVER, "TCP Server" }, - { TP_COMM_TYPE_TCP_CLIENT_SESSION, "TCP Client Session" } -}; - -enum emTpCommStatus{ - TP_COMM_STATUS_DISABLE = 0, // 禁用状态 - TP_COMM_STATUS_OPENNING = 1, // 打开中或者连接建立中 - TP_COMM_STATUS_CONNECTED = 2, // 已打开或者连接已建立 - TP_COMM_STATUS_CLOSED = 3, // 已关闭 - TP_COMM_STATUS_CLOSING = 4, // 正在关闭 -}; - -typedef struct tagTP_COMM_SETTING_NODE { - tagTP_COMM_SETTING_NODE() - :type(TP_COMM_TYPE_NO), enable(0), - bound(115200), triggerInterval(0), - usb_pid(0), usb_vid(0), heartBeatInterval(5000), - strHostAddress("127.0.0.1"), hostPort(9040), - strListenIp("*"), listenPort(9040), nMaxClients(0), - nClientPort(0), status(TP_COMM_STATUS_DISABLE) - {} - - emTpCommType type; - int enable; - QString strName; - - //used for serial port - int bound; - int triggerInterval; - int meterDecodeInterval; - int usb_pid; - int usb_vid; - int heartBeatInterval; - - // used for tcp client - QString strHostAddress; - int hostPort; - - // used for tcp server - QString strListenIp; - int listenPort; - int nMaxClients; - - // used for tcp server client session - int nClientPort; - - // node status - used for app inside - emTpCommStatus status; - - bool operator==(const tagTP_COMM_SETTING_NODE& rhs) - { - return (type == rhs.type) && (enable == rhs.enable) && - (strName == rhs.strName) && (bound == rhs.bound) && - (triggerInterval == rhs.triggerInterval) && - (meterDecodeInterval == rhs.meterDecodeInterval) && - (usb_pid == rhs.usb_pid) && (usb_vid == rhs.usb_vid) && - (heartBeatInterval == rhs.heartBeatInterval) && - (strHostAddress == rhs.strHostAddress) && - (hostPort == rhs.hostPort) && (strListenIp == rhs.strListenIp) && - (listenPort == rhs.listenPort) && (nMaxClients == rhs.nMaxClients) && - (nClientPort == rhs.nClientPort); - } - -}TP_COMM_SETTING_NODE; - enum emTpDeviceTriggerMode { DEV_TRIGGER_MODE_STOP = 0, DEV_TRIGGER_MODE_OUT = 1, @@ -278,52 +193,52 @@ typedef struct tagTP_CAMERAPOOL_OPTION { int fixedFrames; }TP_CAMERAPOOL_OPTION; -typedef struct tagTP_CAMERA_WIN { - tagTP_CAMERA_WIN() - :images(1), buffers(2), - bitsPerPixel(32), index(0), - bufferW(0), bufferH(0), mirror(0), - bCacheOriginImage(false), bNeedRgbSwapped(false) - {} - QString key;//widget name - QString device;//camera key - quint8 images; - quint8 buffers; - quint8 bitsPerPixel; - quint8 index; - int bufferW; - int bufferH; - int mirror;//0:no, 1:horizontal, 2:vertical, 3: both - bool bCacheOriginImage; - bool bNeedRgbSwapped; - - bool operator==(const tagTP_CAMERA_WIN& rhs) - { - return (key == rhs.key) && (device == rhs.device) && - (images == rhs.images) && (buffers == rhs.buffers) && - (bitsPerPixel == rhs.bitsPerPixel) && - (index == rhs.index) && - (bufferW == rhs.bufferW) && (bufferH == rhs.bufferH) && - (mirror == rhs.mirror) && - (bCacheOriginImage == rhs.bCacheOriginImage) && - (bNeedRgbSwapped == rhs.bNeedRgbSwapped); - } -}TP_CAMERA_WIN; - -enum emTpUiDataType { - TP_UI_DATA_FROM_CORECTRL = 0, - TP_UI_DATA_FROM_ALGORITHM = 0x10000, - TP_UI_DATA_FROM_CAMERA = 0x20000, - TP_UI_DATA_FROM_COMMUNICATE = 0x30000, -}; - -Q_DECLARE_METATYPE(emTpUiDataType) - -typedef struct tagTP_IO_OUT_CONTROL { - BYTE index; - BYTE state;//0 or 1 - WORD mSecToSwitch;//0 for no Switch; -}TP_IO_OUT_CONTROL; +// typedef struct tagTP_CAMERA_WIN { +// tagTP_CAMERA_WIN() +// :images(1), buffers(2), +// bitsPerPixel(32), index(0), +// bufferW(0), bufferH(0), mirror(0), +// bCacheOriginImage(false), bNeedRgbSwapped(false) +// {} +// QString key;//widget name +// QString device;//camera key +// quint8 images; +// quint8 buffers; +// quint8 bitsPerPixel; +// quint8 index; +// int bufferW; +// int bufferH; +// int mirror;//0:no, 1:horizontal, 2:vertical, 3: both +// bool bCacheOriginImage; +// bool bNeedRgbSwapped; +// +// bool operator==(const tagTP_CAMERA_WIN& rhs) +// { +// return (key == rhs.key) && (device == rhs.device) && +// (images == rhs.images) && (buffers == rhs.buffers) && +// (bitsPerPixel == rhs.bitsPerPixel) && +// (index == rhs.index) && +// (bufferW == rhs.bufferW) && (bufferH == rhs.bufferH) && +// (mirror == rhs.mirror) && +// (bCacheOriginImage == rhs.bCacheOriginImage) && +// (bNeedRgbSwapped == rhs.bNeedRgbSwapped); +// } +// }TP_CAMERA_WIN; + +// enum emTpUiDataType { +// TP_UI_DATA_FROM_CORECTRL = 0, +// TP_UI_DATA_FROM_ALGORITHM = 0x10000, +// TP_UI_DATA_FROM_CAMERA = 0x20000, +// TP_UI_DATA_FROM_COMMUNICATE = 0x30000, +// }; + +//Q_DECLARE_METATYPE(emTpUiDataType) + +// typedef struct tagTP_IO_OUT_CONTROL { +// BYTE index; +// BYTE state;//0 or 1 +// WORD mSecToSwitch;//0 for no Switch; +// }TP_IO_OUT_CONTROL; static const QMap gColorNameMap = { { TP_COLOR_NONE, "None" }, diff --git a/3part/tadpole/include/tpBase/iCoreCtrl.h b/3part/tadpole/include/tpBase/iCoreCtrl.h index 1c060da..1a90664 100644 --- a/3part/tadpole/include/tpBase/iCoreCtrl.h +++ b/3part/tadpole/include/tpBase/iCoreCtrl.h @@ -1,18 +1,10 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:iCoreCtrl.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 15:35 - *******************************************************************************/ -#ifndef __I_CORE_CTRL_H +#ifndef __I_CORE_CTRL_H #define __I_CORE_CTRL_H #include "baseStruct.h" #include #include + //the parameter for the CoreCtrl module typedef struct tagCORE_CTRL_IN_PARAM { @@ -30,7 +22,10 @@ public: virtual QVariantMap ToVariantMap() = 0; }; -typedef std::function Cablack_GetVariantById; +typedef std::function FuncCallBack_VarInt; +typedef std::function FuncCallBack_VarMap; +typedef std::function FuncCallBack_StrMap; + //interface for gui class ICoreCtrl { @@ -51,7 +46,6 @@ public: virtual bool ISetCameraOption(const QString& strSerial, const TP_CAMERA_OPTION& camOpt) = 0; virtual bool IReopenCameraes() = 0; - virtual void ISetCameraProperty(const QString& camera, TP_CAMERA_PROPERTY& property) = 0; //operate camera @@ -65,11 +59,13 @@ public: //更新json配置文件 virtual bool updateCamJson(const QString& sJsonPath) = 0; - virtual bool ICamsStartPush() = 0; virtual bool ICamsPausePush() = 0; - virtual bool ISetCalBack_GetVariantById(Cablack_GetVariantById func) = 0; + virtual bool IRegisterGetVariant(FuncCallBack_VarInt callback) = 0; //向算法传递检测参数回调接口 + virtual bool IRegisterImageCallBack(FuncCallBack_VarMap callback) = 0; //获取相机图像回调接口 + virtual bool IRegisterResultCallBack(FuncCallBack_StrMap callback) = 0; //获取算法结果回调接口 + public://private: //use private when the old main is discarded; virtual int IInitCore(class IDetectorEngine* pDE = NULL) = 0; virtual void IFreeCore() = 0; @@ -84,131 +80,9 @@ public: IGuiCallback() {} virtual ~IGuiCallback() {} virtual void INewCameraImage(const QVariantMap& vMap) = 0; - virtual void IVariantMapToUI(emTpUiDataType dataType, const QString& camKey, const QVariantMap& vMap) = 0; + virtual void IVariantMapToUI(const QString& camKey, const QVariantMap& vMap) = 0; virtual QVariant IGetVariantById(int id) = 0; }; -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#define TP_SIGNALS \ - Q_SIGNALS:\ - void sgAddWindows(const QString sWinName, const QString sShowId); \ - void sgUpdateShow(const QString skey); \ - void sgNewCameraImage(const QVariantMap& vMap); \ - void sgSendDataToUI(emTpUiDataType dataType, const QString camKey, void* pData); \ - void sgCameraTrigger(bool bStartOrStop); \ - void sgDrawDefectToScene(const QString szWinName, IImageObject::emTpDefectType defectType, QByteArray data); \ - void sgSafeDataToUI(emTpUiDataType dataType, const QString camKey, const QByteArray data); \ - void sgWarning(int nWarningCode, const QByteArray data); \ - void sgCommIntervale(const QString szCom, int nCmd, const QByteArray data); \ - void sgAlgorithmResult(const QVariantMap varMap); \ - void sgVariantMapToUI(emTpUiDataType dataType, const QString camKey, const QVariantMap vMap); \ - void sgIoStatesChanged(int nOldState, int nNewState); \ - void sgCommAchieved(const QString szCom, int nCmd, const QByteArray data);\ - -#define TP_SLOTS \ - public Q_SLOTS: \ - virtual void UpdateShow(const QString skey); \ - virtual void NewCameraImage(const QVariantMap& vMap); \ - virtual void AddWindows(const QString sWinName, const QString sShowId); \ - virtual void SendDataToUI(emTpUiDataType dataType, const QString camKey, void* pData); \ - virtual void CameraTrigger(bool bStartOrStop); \ - virtual void DrawDefectToScene(const QString szWinName, IImageObject::emTpDefectType defectType, QByteArray data); \ - virtual void SafeDataToUI(emTpUiDataType dataType, const QString camKey, const QByteArray data); \ - virtual void Warning(int nWarningCode, const QByteArray data); \ - virtual void CommIntervale(const QString szCom, int nCmd, const QByteArray data); \ - virtual void AlgorithmResult(const QVariantMap varMap); \ - virtual void VariantMapToUI(emTpUiDataType dataType, const QString camKey, const QVariantMap vMap); \ - virtual void IoStatesChanged(int nOldState, int nNewState); \ - virtual void CommAchieved(const QString szCom, int nCmd, const QByteArray data);\ - - -#define TP_CONSTRUCTOR \ - connectSignals(); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#define TP_CALLBACKS_H \ - virtual void IAddWindows(const QString& sWinName, const QString& sShowId); \ - virtual void IUpdateShow(const QString& skey); \ - virtual void INewCameraImage(const QVariantMap& vMap); \ - virtual void ISendDataToUI(emTpUiDataType dataType, const QString& camKey, void* pData); \ - virtual void ICameraTrigger(bool bStartOrStop); \ - virtual void IDrawDefectToScene(const QString& szWinName, IImageObject::emTpDefectType defectType, QByteArray& data); \ - virtual void ISafeDataToUI(emTpUiDataType dataType, const QString& camKey, const QByteArray& data); \ - virtual void IWarning(int nWarningCode, void* data, int nDataLen); \ - virtual void ICommInterval(const char* szCom, int nCmd, BYTE* pData, int nDataLen); \ - virtual void IAlgorithmResult(const QVariantMap& varMap); \ - virtual void IVariantMapToUI(emTpUiDataType dataType, const QString& camKey, const QVariantMap& vMap); \ - virtual QVariant IGetVariantById(int id); \ - virtual void IIoStatesChanged(int nOldState, int nNewState); \ - virtual void ICommAchieved(const char* szCom, int nCmd, BYTE* pData, int nDataLen); \ - virtual WORD IGetWorkState(); \ - void connectSignals(); -/// -#define TP_CALLBACKS_CPP(cName) \ - void cName##::IUpdateShow(const QString& skey) { \ - emit sgUpdateShow(skey); \ - } \ - void cName##::INewCameraImage(const QVariantMap& vMap) { \ - emit sgNewCameraImage(vMap); \ - } \ - void cName##::IAddWindows(const QString& sWinName, const QString& sShowId) { \ - emit sgAddWindows(sWinName, sShowId); \ - } \ - void cName##::ISendDataToUI(emTpUiDataType dataType, const QString& camKey, void* pData) { \ - emit sgSendDataToUI(dataType, camKey, pData); \ - } \ - void cName##::ICameraTrigger(bool bStartOrStop) { \ - emit sgCameraTrigger(bStartOrStop); \ - } \ - void cName##::IDrawDefectToScene(const QString& szWinName, IImageObject::emTpDefectType defectType, QByteArray& data) { \ - emit sgDrawDefectToScene(szWinName, defectType, data); \ - } \ - void cName##::ISafeDataToUI(emTpUiDataType dataType, const QString& camKey, const QByteArray& data) { \ - emit sgSafeDataToUI(dataType, camKey, data); \ - } \ - void cName##::IWarning(int nWarningCode, void* data, int nDataLen) { \ - emit sgWarning(nWarningCode, QByteArray((char*)data, nDataLen)); \ - }\ - void cName##::ICommInterval(const char* szCom, int nCmd, BYTE* pData, int nDataLen) { \ - emit sgCommIntervale(QString(szCom), nCmd, QByteArray((char*)pData, nDataLen)); \ - } \ - void cName##::IAlgorithmResult(const QVariantMap& varMap) { \ - emit sgAlgorithmResult(varMap); \ - } \ - void cName##::IVariantMapToUI(emTpUiDataType dataType, const QString& camKey, const QVariantMap& vMap) { \ - emit sgVariantMapToUI(dataType, camKey, vMap); \ - } \ - void cName##::IIoStatesChanged(int nOldState, int nNewState) { \ - emit sgIoStatesChanged(nOldState, nNewState); \ - } \ - void cName##::ICommAchieved(const char* szCom, int nCmd, BYTE* pData, int nDataLen) { \ - emit sgCommAchieved(QString(szCom), nCmd, QByteArray((char*)pData, nDataLen)); \ - } \ - QVariant cName##::IGetVariantById(int id) { return QVariant(); } \ - WORD cName##::IGetWorkState() { return 0; } \ - void cName##::connectSignals() { \ - QMetaObject::Connection error = connect(this, SIGNAL(sgAddWindows(const QString, const QString)) \ - , this, SLOT(AddWindows(const QString, const QString))); \ - error = connect(this, SIGNAL(sgUpdateShow(const QString)), this, SLOT(UpdateShow(const QString))); \ - error = connect(this, SIGNAL(sgNewCameraImage(const QVariantMap)), this, SLOT(NewCameraImage(const QVariantMap))); \ - qRegisterMetaType("emTpUiDataType"); \ - error = connect(this, SIGNAL(sgSendDataToUI(emTpUiDataType, const QString, void*)) \ - , this, SLOT(SendDataToUI(emTpUiDataType, const QString, void*))); \ - error = connect(this, SIGNAL(sgCameraTrigger(bool)), this, SLOT(CameraTrigger(bool))); \ - qRegisterMetaType("IImageObject::emTpDefectType"); \ - error = connect(this, SIGNAL(sgDrawDefectToScene(const QString, IImageObject::emTpDefectType, QByteArray)) \ - , this, SLOT(DrawDefectToScene(const QString, IImageObject::emTpDefectType, QByteArray))); \ - error = connect(this, SIGNAL(sgSafeDataToUI(emTpUiDataType, const QString, const QByteArray)) \ - , this, SLOT(SafeDataToUI(emTpUiDataType, const QString, const QByteArray))); \ - error = connect(this, SIGNAL(sgWarning(int, const QByteArray)), this, SLOT(Warning(int, const QByteArray))); \ - error = connect(this, SIGNAL(sgCommIntervale(const QString, int, const QByteArray)) \ - , this, SLOT(CommIntervale(const QString, int, const QByteArray))); \ - error = connect(this, SIGNAL(sgAlgorithmResult(const QVariantMap)),this, SLOT(AlgorithmResult(const QVariantMap))); \ - error = connect(this, SIGNAL(sgVariantMapToUI(emTpUiDataType, const QString, const QVariantMap)) \ - , this, SLOT(VariantMapToUI(emTpUiDataType, const QString, const QVariantMap)));\ - error = connect(this, SIGNAL(sgIoStatesChanged(int, int)), this, SLOT(IoStatesChanged(int, int))); \ - error = connect(this, SIGNAL(sgCommAchieved(const QString, int, const QByteArray)) \ - , this, SLOT(CommAchieved(const QString, int, const QByteArray))); \ - } \ #endif \ No newline at end of file diff --git a/3part/tadpole/include/tpBase/iIoCtrl.h b/3part/tadpole/include/tpBase/iIoCtrl.h deleted file mode 100644 index 36a49e4..0000000 --- a/3part/tadpole/include/tpBase/iIoCtrl.h +++ /dev/null @@ -1,63 +0,0 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:$FILE_BASE$.$FILE_EXT$ - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:$DATE$ - History:$DAY$:$MONTH$:$YEAR$ $HOUR$:$MINUTE$ - *******************************************************************************/ - -#include "zdefines.h" -#include - -enum tpemIoType { - TP_IO_ADLINK = 1, -}; - -class IIoInterface -{ -public: - IIoInterface() {} - virtual ~IIoInterface() {} - virtual int IIint() = 0; - virtual int IFree() = 0; - virtual int IReadI(qint32& state) = 0; - virtual int IReadO(qint32& state) = 0; - virtual int IWriteO(qint32& state) = 0; -}; - -#define TP_IOCTRL_DLL "tpIoCtrl" -class QLoadIoCtrl : public QLibrary -{ -public: - typedef IIoInterface*(*func_io_create)(int); - typedef void(*func_io_delete)(IIoInterface*); - QLoadIoCtrl(const QString& path) -#ifdef _DEBUG - : QLibrary(path + TP_IOCTRL_DLL + "d") -#else - : QLibrary(path + TP_IOCTRL_DLL) -#endif - { - _ioCreate = (func_io_create)resolve("tp_io_create"); - _ioDelete = (func_io_delete)resolve("tp_io_delete"); - } - ~QLoadIoCtrl(){} - - IIoInterface* Create(int type) { - if (NULL == _ioCreate) { - return NULL; - } - return _ioCreate(type); - } - - void Delete(IIoInterface* pio) { - if (NULL != _ioDelete) { - _ioDelete(pio); - } - } -private: - func_io_create _ioCreate; - func_io_delete _ioDelete; -}; \ No newline at end of file diff --git a/3part/tadpole/include/tpBase/icamera.h b/3part/tadpole/include/tpBase/icamera.h index 43a7dbe..46b30c8 100644 --- a/3part/tadpole/include/tpBase/icamera.h +++ b/3part/tadpole/include/tpBase/icamera.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:TpICamera.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/20 - History:20:3:2015 17:12 - *******************************************************************************/ -#ifndef __TP_I_CAMERA_H +#ifndef __TP_I_CAMERA_H #define __TP_I_CAMERA_H #include "baseInclude.h" @@ -61,16 +52,16 @@ public: //@camera: NULL means setting every camera virtual void ISetCameraProperty(const QString& camera, emTpCameraProperty property, long nValue) = 0; virtual void ISetCameraProperty(const QString& camera, TP_CAMERA_PROPERTY& property) = 0; - virtual QList ICameraWins() = 0; +// virtual QList ICameraWins() = 0; virtual QMap IGetCamShowNames() = 0; virtual void ISetCameraEncode(INT64 code, INT64 rate) = 0; virtual void ISetVirtualImages(const QString& camera, const QStringList& szImages) = 0; //operate camera window - virtual QList ICamWinKeys() = 0; - virtual bool ICamWinOptionByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt) = 0; - virtual bool IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew) = 0; - virtual bool IDelCamWin(const QString& strKey) = 0; +// virtual QList ICamWinKeys() = 0; +// virtual bool ICamWinOptionByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt) = 0; +// virtual bool IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew) = 0; +// virtual bool IDelCamWin(const QString& strKey) = 0; virtual bool ICamsStartPush() = 0; virtual bool ICamsPausePush() = 0; diff --git a/src/lpMain/lp_singleton_base.h b/3part/tadpole/include/tpBase/lp_singleton_base.h similarity index 100% rename from src/lpMain/lp_singleton_base.h rename to 3part/tadpole/include/tpBase/lp_singleton_base.h diff --git a/src/lpCoreCtrl/CoreCtrl.cpp b/src/lpCoreCtrl/CoreCtrl.cpp index 790509f..2b13875 100644 --- a/src/lpCoreCtrl/CoreCtrl.cpp +++ b/src/lpCoreCtrl/CoreCtrl.cpp @@ -1,35 +1,76 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:CoreCtrl.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/24 - History:24:3:2015 17:22 - *******************************************************************************/ -#include "CoreCtrl.h" +#include "CoreCtrl.h" #include "globalCoreCtrl.h" #include "baseFunction.h" #include "QZkJsonParser.h" #include #include +#include "callbackFunc.h" +#include "CameraPool.h" +#include "globalCamera.h" CCoreCtrl::CCoreCtrl(void) { } +CCoreCtrl::CCoreCtrl(void* inParam) +{ + CORE_CTRL_IN_PARAM* pCciParam = (CORE_CTRL_IN_PARAM*)inParam; + m_gpData = new CGlobalCoreCtrl(pCciParam); + + { + CAMERA_IN_PARAM camInParam; + camInParam.pCallback = m_gpData; + camInParam.pGlobalData = nullptr; + + m_gpGlobalCameraZZZ = new CGlobalCamera(&camInParam); + + m_gpCameraPool = new CCameraPool(); + ((CCameraPool*)m_gpCameraPool)->InitPool(); + + IMGPROC_IN_PARAM imgprocInParam; + imgprocInParam.pGlobalData = m_gpGlobalCameraZZZ->m_pGlobalData; + m_gpImgProc = new CImgProc(&imgprocInParam); + ((CImgProc*)m_gpImgProc)->InitProc(); + + } +} + CCoreCtrl::~CCoreCtrl(void) { + if (m_gpImgProc) + { + ((CImgProc*)m_gpImgProc)->FreeProc(); + delete m_gpImgProc; + m_gpImgProc = nullptr; + } + + if (m_gpCameraPool) + { + ((CCameraPool*)m_gpCameraPool)->FreePool(); + delete m_gpCameraPool; + m_gpCameraPool = nullptr; + } + if (m_gpData) + { + delete m_gpData; + m_gpData = nullptr; + } + if (m_gpGlobalCameraZZZ) + { + delete m_gpGlobalCameraZZZ; + m_gpGlobalCameraZZZ = nullptr; + } + + IFreeCore(); } int CCoreCtrl::IInitCore(class IDetectorEngine* pDE /*= NULL*/) { int nRet = 0; - //nRet = createShowWindows();//根据camera.json中的"windows"创建显示窗口内存, //create threads - int nCount = gCoreSetting.threadsCount; + int nCount = 4;// gCoreSetting.threadsCount; if (nCount <= 0) { nCount = SYS_F::GetCpus();//获取系统cpu线程数量 @@ -42,9 +83,6 @@ int CCoreCtrl::IInitCore(class IDetectorEngine* pDE /*= NULL*/) { break; } - -// pThd->StartThread(); -// pThd->setPriority(QThread::TimeCriticalPriority); m_imgThdPool.append(pThd); ++nRet; } @@ -52,18 +90,18 @@ int CCoreCtrl::IInitCore(class IDetectorEngine* pDE /*= NULL*/) // IStartImageProcess(); //create cameraes... - glpCameralPool->ICreateCameraes();//更加camera.json 创建相机对象 - glpCameralPool->IOpenDevicesEx();//打开相机 - glpCameralPool->ISetTriggerMode(DEV_TRIGGER_MODE_OUT);//设置默认的触发模式 - glpCameralPool->IStartDevices();//设置相机开始工作 + m_gpCameraPool->ICreateCameraes();//更加camera.json 创建相机对象 + m_gpCameraPool->IOpenDevicesEx();//打开相机 + m_gpCameraPool->ISetTriggerMode(DEV_TRIGGER_MODE_OUT);//设置默认的触发模式 + m_gpCameraPool->IStartDevices();//设置相机开始工作 return nRet; } void CCoreCtrl::IFreeCore() { - glpCameralPool->IStopDevices();//设置相机停止工作 - glpCameralPool->ICloseDevices();//关闭相机 - glpCameralPool->IDeleteDameraes();//删除相机 + m_gpCameraPool->IStopDevices();//设置相机停止工作 + m_gpCameraPool->ICloseDevices();//关闭相机 + m_gpCameraPool->IDeleteDameraes();//删除相机 //删除图片处理线程 while( !m_imgThdPool.isEmpty() ) { @@ -71,13 +109,10 @@ void CCoreCtrl::IFreeCore() pThd->EndThread(); delete pThd; } - //m_showImages.clear(releaseShowImage); -// m_showWindows.clear(releaseShowWindow);//删除用用图像显示窗口内存 // 这里等待所有线程完成工作,虽然用clear也可以, // 但是程序在退出的时候会跳出来错误。不够友好 QThreadPool::globalInstance()->waitForDone(); - //QThreadPool::globalInstance()->clear(); } void CCoreCtrl::IStartImageProcess() @@ -97,58 +132,6 @@ void CCoreCtrl::IEndImageProcess() } } -//void CCoreCtrl::releaseShowImage(const QString& k, QZkShowImage*& v, void* pData) -//{ -// delete v; -//} - -// bool CCoreCtrl::ShowCameraImage(const ZStringA& serial, UINT nFrameNum, QImage& image, INT64 nStamp, int nIndex/* = 0*/, const QString& szExtend /*= NULL*/) -// { -// QVariantMap map; -// map.clear(); -// map.insert("camera", serial); -// map.insert("frame", nFrameNum); -// QVariant vimg; -// vimg.setValue(image); -// map.insert("image", vimg); -// glpGuiCallback->INewCameraImage(map); -// -// QString sWinId = serial + "_" + QString::number(nIndex); -// CShowWindow* pWin = m_showWindows.value(sWinId, NULL); -// if (NULL != pWin && pWin->AddCameraImage(image, nFrameNum, nStamp, szExtend)/*pWin->SetCameraImage(pCamImage)*/) -// { -// glpGuiCallback->IUpdateShow(pWin->CameraWin().key); -// return true; -// } -// else -// { -// return false; -// } -// } - -// void CCoreCtrl::DrawDefectOrg(IImageObject::emTpDefectType defectType, BYTE* pData, int nDataLen, CZkCameraImage* pCamImage) -// { -// QString sWinId = QString::fromUtf8(pCamImage->Serial()) + "_" + QString::number(0); -// CShowWindow* pWin = m_showWindows.value(sWinId, NULL); -// if (NULL != pWin && pWin->DrawDefect(defectType, pData, nDataLen, pCamImage)) -// { -// glpGuiCallback->IUpdateShow(pWin->CameraWin().key); -// } -// } - -// void CCoreCtrl::DrawImageOrg(QImage& srcImg, CZkCameraImage* pCamImage) -// { -// if (!ShowCameraImage(pCamImage->Serial(), pCamImage->FrameNumber(), srcImg, pCamImage->Stamp(), 1, QString::fromUtf8(pCamImage->FileName()))) -// { -// QString sWinId = QString::fromUtf8(pCamImage->Serial()) + "_" + QString::number(0); -// CShowWindow* pWin = m_showWindows.value(sWinId, NULL); -// if (NULL != pWin && pWin->DrawImage(srcImg, pCamImage->FrameNumber(), QString::fromUtf8(pCamImage->FileName()))) -// { -// glpGuiCallback->IUpdateShow(pWin->CameraWin().key); -// } -// } -// } - void CCoreCtrl::ISetResult(const QString& key, QVariant& val) { m_algResult.SetResult(key, val); @@ -164,228 +147,71 @@ void CCoreCtrl::AccumulateResult(const QString& key, QVariant& val) } } -/* -void CCoreCtrl::setShowWindow(CShowWindow*& pWin, void* pData) -{ - ; -} -*/ - -//void CCoreCtrl::setShowImage(const QString& k, QZkShowImage*& v, void* pData) -//{ -// v->SetShowImage((CZkCameraImage*)pData); -//} - QList CCoreCtrl::ICameraKeys() { - return glpCameralPool->ICameraKeys(); + return m_gpCameraPool->ICameraKeys(); } QList CCoreCtrl::ICameraKeysOrderByIds() { - return glpCameralPool->ICameraKeysOrderByIds(); + return m_gpCameraPool->ICameraKeysOrderByIds(); } bool CCoreCtrl::ICameraOption(const QString& strSerial, TP_CAMERA_OPTION& camOpt) { - return glpCameralPool->ICameraOption(strSerial, camOpt); + return m_gpCameraPool->ICameraOption(strSerial, camOpt); } bool CCoreCtrl::ICameraOptionByKey(const QString& strSerial, TP_CAMERA_OPTION& camOpt) { - return glpCameralPool->ICameraOptionByKey(strSerial, camOpt); + return m_gpCameraPool->ICameraOptionByKey(strSerial, camOpt); } QList CCoreCtrl::IEnumAvailableCameras(emTpDeviceType camType) { - return glpCameralPool->IEnumAvailableCameras(camType); + return m_gpCameraPool->IEnumAvailableCameras(camType); } void CCoreCtrl::ISetTriggerMode(emTpDeviceTriggerMode triggerMode, long nFrameRate) { - glpCameralPool->ISetTriggerMode(triggerMode, TRIGGER_DIRECT_FOREWARD, nFrameRate); + m_gpCameraPool->ISetTriggerMode(triggerMode, TRIGGER_DIRECT_FOREWARD, nFrameRate); } void CCoreCtrl::IManualTrigger(emTpTriggerDirection direct) { - glpCameralPool->IManualTrigger(direct); + m_gpCameraPool->IManualTrigger(direct); } void CCoreCtrl::ISnapImage(const QStringList& camKeys) { - glpCameralPool->ISnapImage(camKeys); + m_gpCameraPool->ISnapImage(camKeys); } void CCoreCtrl::ISendSoftTrigger(const QStringList& camKeys) { - glpCameralPool->ISendSoftTrigger(camKeys); + m_gpCameraPool->ISendSoftTrigger(camKeys); } -// void CCoreCtrl::IDrawImage(const QString& sKey, QPainter& painter, QRect& rt) -// { -// /* -// tagDrawShowImageParam param; -// param.painter = &painter; -// param.rt = &rt; -// m_showImages.valueCall(sKey, drawShowImage, ¶m);*/ -// } - -//void CCoreCtrl::drawShowImage(const QString& key, QZkShowImage*& v, void* pData) -//{ -// tagDrawShowImageParam* param = (tagDrawShowImageParam*)pData; -// v->DrawToPainter(param->painter, param->rt); -//// param->painter->drawPixmap() -//} - -// int CCoreCtrl::createShowWindows() -// { -// int nCount = 0; -// // QList camWins = glpCameralPool->ICameraWins(); -// // for (int i = 0; i < camWins.size(); ++i) -// // { -// // CShowWindow* pShow = new CShowWindow(camWins[i]); -// // if (NULL == pShow) -// // { -// // continue; -// // } -// // if (m_showWindows.contains(pShow->WindowId())) -// // { -// // delete pShow; -// // continue; -// // } -// // m_showWindows.insert(pShow->WindowId(), pShow); -// // gGuiCallback_FuncCall(IAddWindows, camWins[i]->key, pShow->WindowId()); -// // ++nCount; -// // } -// return nCount; -// } - -// void CCoreCtrl::releaseShowWindow(CShowWindow*& pWin, void* pData) -// { -// delete pWin; -// pWin = NULL; -// } - -// bool CCoreCtrl::IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew) -// { -// if (glpCameralPool->IAddCamWin(strKey, camwinOpt, bNew)) -// { -// if (bNew){ -// QList camWins = glpCameralPool->ICameraWins(); -// for (int i = 0; i < camWins.size(); ++i) -// { -// if (camWins[i]->key.compare(strKey, Qt::CaseInsensitive) == 0){ -// CShowWindow* pShow = new CShowWindow(camWins[i]); -// if (!pShow) return false; -// -// // if (m_showWindows.contains(pShow->WindowId())) -// // { -// // delete pShow; -// // return false; -// // } -// // m_showWindows.insert(pShow->WindowId(), pShow); -// gGuiCallback_FuncCall(IAddWindows, camWins[i]->key, pShow->WindowId()); -// return true; -// } -// } -// } -// return true; -// } -// -// return false; -// } - -// bool CCoreCtrl::IDelCamWin(const QString& strKey) -// { -// TP_CAMERA_WIN optCamWin; -// if (ICamWinOptionByKey(strKey, optCamWin)){ -// QString strWinId = QString(optCamWin.device) + "_" + QString::number(optCamWin.index); -// CShowWindow* pShow = m_showWindows.value(strWinId); -// if (pShow){ -// m_showWindows.remove(strWinId); -// delete pShow; -// pShow = NULL; -// } -// } -// -// return glpCameralPool->IDelCamWin(strKey); -// } - -// QImage CCoreCtrl::IShowImage(const QString& sShowId, int& nFrameNum, QString& szExShow) -// { -// CShowWindow* pWin = m_showWindows.value(sShowId, NULL); -// if (NULL == pWin) -// { -// nFrameNum = -1; -// return QImage(); -// } -// else -// { -// nFrameNum = pWin->FrameNum(); -// szExShow = pWin->ExtendString(); -// return pWin->ShowImage(); -// } -// } - QMap CCoreCtrl::IGetCamShowNames() { - return glpCameralPool->IGetCamShowNames(); + return m_gpCameraPool->IGetCamShowNames(); } -// IAlgorithmOption* CCoreCtrl::IGetAlgorithmOption(int nAlgorithm) -// { -// return glpImgProc->IGetAlgorithmOption(nAlgorithm); -// } - bool CCoreCtrl::ISetCameraOption(const QString& strSerial, const TP_CAMERA_OPTION& camOpt) { - return glpCameralPool->ISetCameraOption(strSerial, camOpt); + return m_gpCameraPool->ISetCameraOption(strSerial, camOpt); } bool CCoreCtrl::IReopenCameraes() { - return glpCameralPool->IOpenDevices(); + return m_gpCameraPool->IOpenDevices(); } -// void CCoreCtrl::ISetVirtualImages(const QString& camera, const QStringList& szImages) -// { -// glpCameralPool->ISetVirtualImages(camera, szImages); -// } - -// QImage CCoreCtrl::IOriginImage(const QString& sShowId) -// { -// CShowWindow* pWin = m_showWindows.value(sShowId, NULL); -// if (NULL == pWin) -// { -// return QImage(); -// } -// else -// { -// return pWin->OriginImage(); -// } -// } - void CCoreCtrl::ISetCameraProperty(const QString& camera, TP_CAMERA_PROPERTY& property) { - return glpCameralPool->ISetCameraProperty(camera, property); + return m_gpCameraPool->ISetCameraProperty(camera, property); } -// void CCoreCtrl::ISetAlgorithmShared(const QString& key, const QVariant& value) -// { -// // m_algShared.SetValue(key, value); -// } - -// void CCoreCtrl::IWriteIo(const TP_IO_OUT_CONTROL& state) -// { -// -// } - -// bool CCoreCtrl::updateCommJson(const QString& sJsonPath) -// { -// return false; -// -// } - bool CCoreCtrl::updateCamJson(const QString& sJsonPath) { int nError; @@ -435,32 +261,6 @@ bool CCoreCtrl::updateCamJson(const QString& sJsonPath) cameraRoot["devices"] = cameraDevs; cameraRoot["pool"] = originObjJson["pool"].toObject(); - - QJsonObject cameraWins; - QList camwinlist = ICamWinKeys(); - foreach(const QString& strCamWinName, camwinlist) - { - TP_CAMERA_WIN camwinOpt; - if (ICamWinOptionByKey(strCamWinName, camwinOpt)) - { - QJsonObject camwinObj; - camwinObj["bitsperpixel"] = camwinOpt.bitsPerPixel; - camwinObj["buffer_h"] = camwinOpt.bufferH; - camwinObj["buffer_w"] = camwinOpt.bufferW; - camwinObj["buffers"] = camwinOpt.buffers; - camwinObj["cache_origin"] = camwinOpt.bCacheOriginImage; - camwinObj["device"] = camwinOpt.device; - camwinObj["images"] = camwinOpt.images; - camwinObj["index"] = camwinOpt.index; - camwinObj["mirror"] = camwinOpt.mirror; - camwinObj["rgb_swapped"] = camwinOpt.bNeedRgbSwapped; - - - cameraWins[camwinOpt.key] = camwinObj; - } - } - cameraRoot["windows"] = cameraWins; - return saveJsonToFile(cameraRoot, sJsonPath); } @@ -477,4 +277,37 @@ bool CCoreCtrl::saveJsonToFile(const QJsonObject& json, const QString& fileFullN saveFile.write(saveDoc.toJson()); return true; -} \ No newline at end of file +} + +bool CCoreCtrl::IRegisterGetVariant(FuncCallBack_VarInt func) +{ + if (func) + { + lpCallBackFunc::instance()->m_GetVariantCallBackFunc = func; + return true; + } + else + return false; +} + +bool CCoreCtrl::IRegisterImageCallBack(FuncCallBack_VarMap callback) +{ + if (callback) + { + lpCallBackFunc::instance()->m_ImageCallBackFunc = callback; + return true; + } + else + return false; +} + +bool CCoreCtrl::IRegisterResultCallBack(FuncCallBack_StrMap callback) +{ + if (callback) + { + lpCallBackFunc::instance()->m_ResultCallBackFunc = callback; + return true; + } + else + return false; +} diff --git a/src/lpCoreCtrl/CoreCtrl.h b/src/lpCoreCtrl/CoreCtrl.h index 8003cb9..f2771b3 100644 --- a/src/lpCoreCtrl/CoreCtrl.h +++ b/src/lpCoreCtrl/CoreCtrl.h @@ -1,101 +1,75 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:CoreCtrl.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/24 - History:24:3:2015 17:21 - *******************************************************************************/ -#ifndef __CORE_CTRL_H +#ifndef __CORE_CTRL_H #define __CORE_CTRL_H #include "iCoreCtrl.h" #include "qtpthreadimage.h" #include "QZkMutexMap.h" #include "AlgorithmResult.h" - +#include "ImgProc.h" +#include "globalCamera.h" +#include "CameraPool.h" class CCoreCtrl : public ICoreCtrl { public: - CCoreCtrl(void); - virtual ~CCoreCtrl(void); - //初始化CoreCtrl - virtual int IInitCore(class IDetectorEngine* pDE = NULL); - //释放CoreCtrl - virtual void IFreeCore(); - - //开始执行算法处理 - virtual void IStartImageProcess(); - virtual void IEndImageProcess(); - -// bool ShowCameraImage(const ZStringA& serial, UINT nFrameNum, QImage& image, INT64 nStamp, int nIndex = 0, const QString& szExtend = NULL); -// void DrawDefectOrg(IImageObject::emTpDefectType defectType, BYTE* pData, int nDataLen, CZkCameraImage* pCamImage); -// void DrawImageOrg(QImage& srcImg, CZkCameraImage* pCamImage); - void AccumulateResult(const QString& key, QVariant& val); - virtual void ISetResult(const QString& key, QVariant& val); - - + CCoreCtrl(void); + CCoreCtrl(void* inParam); + virtual ~CCoreCtrl(void); + //初始化CoreCtrl + virtual int IInitCore(class IDetectorEngine* pDE = NULL); + //释放CoreCtrl + virtual void IFreeCore(); + //开始执行算法处理 + virtual void IStartImageProcess(); + virtual void IEndImageProcess(); + void AccumulateResult(const QString& key, QVariant& val); + virtual void ISetResult(const QString& key, QVariant& val); private: - virtual QList ICameraKeys(); - virtual QList ICameraKeysOrderByIds(); - virtual bool ICameraOption(const QString& strSerial, TP_CAMERA_OPTION& camOpt); - virtual bool ICameraOptionByKey(const QString& strSerial, TP_CAMERA_OPTION& camOpt); - virtual QList IEnumAvailableCameras(emTpDeviceType camType); // try to get available (connected to the computer) by camera type(manufacturer) - virtual void ISetTriggerMode(emTpDeviceTriggerMode triggerMode, long nFrameRate); - virtual emTpDeviceTriggerMode IGetTriggerMode() { return glpCameralPool->IGetTriggerMode(); } - virtual void IManualTrigger(emTpTriggerDirection direct); - virtual void ISnapImage(const QStringList& camKeys); - virtual void ISendSoftTrigger(const QStringList& camKeys); - //virtual void IDrawImage(const QString& sKey, QPainter& painter, QRect& rt); - //virtual QImage IShowImage(const QString& sShowId, int& nFrameNum, QString& szExShow); - virtual QMap IGetCamShowNames(); - //virtual IAlgorithmOption* IGetAlgorithmOption(int nAlgorithm); - virtual bool ISetCameraOption(const QString& strSerial, const TP_CAMERA_OPTION& camOpt); - virtual bool IReopenCameraes(); - //virtual void ISetVirtualImages(const QString& camera, const QStringList& szImages); - //virtual QImage IOriginImage(const QString& sShowId); - virtual void ISetCameraProperty(const QString& camera, TP_CAMERA_PROPERTY& property); - //virtual void ISetAlgorithmShared(const QString& key, const QVariant& value); - //virtual void IWriteIo(const TP_IO_OUT_CONTROL& state); + virtual QList ICameraKeys(); + virtual QList ICameraKeysOrderByIds(); + virtual bool ICameraOption(const QString& strSerial, TP_CAMERA_OPTION& camOpt); + virtual bool ICameraOptionByKey(const QString& strSerial, TP_CAMERA_OPTION& camOpt); + virtual QList IEnumAvailableCameras(emTpDeviceType camType); // try to get available (connected to the computer) by camera type(manufacturer) + virtual void ISetTriggerMode(emTpDeviceTriggerMode triggerMode, long nFrameRate); + virtual emTpDeviceTriggerMode IGetTriggerMode() { return m_gpCameraPool->IGetTriggerMode(); } + virtual void IManualTrigger(emTpTriggerDirection direct); + virtual void ISnapImage(const QStringList& camKeys); + virtual void ISendSoftTrigger(const QStringList& camKeys); + virtual QMap IGetCamShowNames(); + virtual bool ISetCameraOption(const QString& strSerial, const TP_CAMERA_OPTION& camOpt); + virtual bool IReopenCameraes(); + virtual void ISetCameraProperty(const QString& camera, TP_CAMERA_PROPERTY& property); - //camera operate - virtual bool ICreateCamera(const QString& strSerial, int nType) { return glpCameralPool->ICreateCamera(strSerial, nType); } - virtual bool IOpenCamera(const QString& strSerial) { return glpCameralPool->IOpenCamera(strSerial); } - virtual bool ICloseCamera(const QString& strSerial) { return glpCameralPool->ICloseCamera(strSerial); } - virtual bool IStartCamera(const QString& strSerial) { return glpCameralPool->IStartCamera(strSerial); } - virtual bool IStopCamera(const QString& strSerial) { return glpCameralPool->IStopCamera(strSerial); } - virtual bool IDeleteCamera(const QString& strSerial) { return glpCameralPool->IDeleteCamera(strSerial); } - virtual bool IAddCamera(const QString& strName, const TP_CAMERA_OPTION& camOpt, bool bNew, bool bAutoRun = false) { return glpCameralPool->IAddCamera(strName, camOpt, bNew, bAutoRun); } - - //operate camera window - virtual QList ICamWinKeys() { return glpCameralPool->ICamWinKeys(); } - virtual bool ICamWinOptionByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt) { return glpCameralPool->ICamWinOptionByKey(strKey, camwinOpt); } -// virtual bool IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew); -// virtual bool IDelCamWin(const QString& strKey); + //camera operate + virtual bool ICreateCamera(const QString& strSerial, int nType) { return m_gpCameraPool->ICreateCamera(strSerial, nType); } + virtual bool IOpenCamera(const QString& strSerial) { return m_gpCameraPool->IOpenCamera(strSerial); } + virtual bool ICloseCamera(const QString& strSerial) { return m_gpCameraPool->ICloseCamera(strSerial); } + virtual bool IStartCamera(const QString& strSerial) { return m_gpCameraPool->IStartCamera(strSerial); } + virtual bool IStopCamera(const QString& strSerial) { return m_gpCameraPool->IStopCamera(strSerial); } + virtual bool IDeleteCamera(const QString& strSerial) { return m_gpCameraPool->IDeleteCamera(strSerial); } + virtual bool IAddCamera(const QString& strName, const TP_CAMERA_OPTION& camOpt, bool bNew, bool bAutoRun = false) { return m_gpCameraPool->IAddCamera(strName, camOpt, bNew, bAutoRun); } //更新json配置文件 -// virtual bool updateCommJson(const QString& sJsonPath); virtual bool updateCamJson(const QString& sJsonPath); bool saveJsonToFile(const QJsonObject& json, const QString& fileFullName); - virtual bool ICamsStartPush() { return glpCameralPool->ICamsStartPush(); } - virtual bool ICamsPausePush() { return glpCameralPool->ICamsPausePush(); } + virtual bool ICamsStartPush() { return m_gpCameraPool->ICamsStartPush(); } + virtual bool ICamsPausePush() { return m_gpCameraPool->ICamsPausePush(); } - virtual bool ISetCalBack_GetVariantById(Cablack_GetVariantById func) { m_GetVariantFunc = func; return true; } -// private: -// int createShowWindows(); -// static void releaseShowWindow(CShowWindow*& pWin, void* pData); + virtual bool IRegisterGetVariant(FuncCallBack_VarInt func); + virtual bool IRegisterImageCallBack(FuncCallBack_VarMap callback); //获取相机图像回调接口 + virtual bool IRegisterResultCallBack(FuncCallBack_StrMap callback); //获取算法结果回调接口 private: - QList m_imgThdPool; - //QZkMutexMap m_showWindows; - CAlgorithmResult m_algResult; - // CAlgorithmShared m_algShared; - - int m_nCoreCount; - friend class CImageObject; + QList m_imgThdPool; + CAlgorithmResult m_algResult; + int m_nCoreCount; + friend class CImageObject; + friend class QTpThreadImage; - Cablack_GetVariantById m_GetVariantFunc; +private: + CGlobalCoreCtrl* m_gpData{ nullptr }; + CGlobalCamera* m_gpGlobalCameraZZZ{ nullptr }; + ICameraPool* m_gpCameraPool{ nullptr }; + IImgProc* m_gpImgProc{nullptr}; }; #endif \ No newline at end of file diff --git a/src/lpCoreCtrl/ImageObject.cpp b/src/lpCoreCtrl/ImageObject.cpp index 12e5220..2b120bc 100644 --- a/src/lpCoreCtrl/ImageObject.cpp +++ b/src/lpCoreCtrl/ImageObject.cpp @@ -1,6 +1,7 @@ #include "ImageObject.h" #include "CoreCtrl.h" #include "zfunctions.h" +#include "callbackFunc.h" CImageObject::CImageObject(class CCoreCtrl* pCoreCtrl) : m_pCoreCtrl(pCoreCtrl) @@ -95,7 +96,8 @@ void CImageObject::ISetCameroProperty(TP_CAMERA_PROPERTY& property) { if( NULL != m_pCamImg ) { - glpCameralPool->ISetCameraProperty(m_pCamImg->Serial(), property); + m_pCoreCtrl->m_gpCameraPool->ISetCameraProperty(m_pCamImg->Serial(), property); + //glpCameralPool->ISetCameraProperty(m_pCamImg->Serial(), property); } } @@ -123,7 +125,7 @@ void CImageObject::ISafeDataToUI(void* pData, int nDataLen) void CImageObject::ISafeDataToUI(WORD type, void* pData, int nDataLen) { QByteArray data((char*)pData, nDataLen); - emTpUiDataType emType = (emTpUiDataType)(TP_UI_DATA_FROM_ALGORITHM | type); + //emTpUiDataType emType = (emTpUiDataType)(TP_UI_DATA_FROM_ALGORITHM | type); if (NULL != m_pCamImg) { // gGuiCallback_FuncCall(ISafeDataToUI, emType, m_pCamImg->Serial(), data); @@ -235,7 +237,12 @@ IAlgorithmShared* CImageObject::IGetShared() void CImageObject::IVariantMapToUI(const QVariantMap& vMap) { - glpGuiCallback->IVariantMapToUI(TP_UI_DATA_FROM_ALGORITHM, m_pCamImg->Serial(), vMap); + + if (lpCallBackFunc::instance()->m_ResultCallBackFunc) + { + lpCallBackFunc::instance()->m_ResultCallBackFunc(m_pCamImg->Serial(), vMap); + } + //glpGuiCallback->IVariantMapToUI(m_pCamImg->Serial(), vMap); } const ZStringA& CImageObject::ICameraSerial() diff --git a/src/lpCoreCtrl/ImageObject.h b/src/lpCoreCtrl/ImageObject.h index cfe35bb..3e49539 100644 --- a/src/lpCoreCtrl/ImageObject.h +++ b/src/lpCoreCtrl/ImageObject.h @@ -12,7 +12,6 @@ public: ~CImageObject(); bool SetCameraImage(CZkCameraImage* pCamImage); private: -// virtual const TP_IMAGE_NODE& ImageNode() { return m_imgNode; } virtual emTpColorFormat IColorFormat(); //@nBytesPerLine: 0 means there is no valid value virtual BYTE* IImageData(int& nOutW, int& nOutH, int& nOutBitsPerPixel, int& nBytesPerLine); @@ -43,7 +42,6 @@ private: } virtual void IDataToComm(DATA_TO_COMM_HEAD& head, char* pData, int nLen) {}; private: -// TP_IMAGE_NODE m_imgNode; CZkCameraImage* m_pCamImg; class CCoreCtrl* m_pCoreCtrl; }; diff --git a/src/lpCoreCtrl/LoadModule.cpp b/src/lpCoreCtrl/LoadModule.cpp index ccd5220..4003ff5 100644 --- a/src/lpCoreCtrl/LoadModule.cpp +++ b/src/lpCoreCtrl/LoadModule.cpp @@ -1,16 +1,6 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LoadModule.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 17:48 - *******************************************************************************/ -#include "LoadModule.h" +#include "LoadModule.h" CLoadModule::CLoadModule(const char *szLibName, const char *szFuncInit, const char *szFuncFree, const char* szPath /* = NULL */) -// :m_lib(szLibName) { QString dllFile; if( NULL != szPath ) diff --git a/src/lpCoreCtrl/LoadModule.h b/src/lpCoreCtrl/LoadModule.h index c247e9d..8d1c3e1 100644 --- a/src/lpCoreCtrl/LoadModule.h +++ b/src/lpCoreCtrl/LoadModule.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LoadModule.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 17:48 - *******************************************************************************/ -#ifndef __LOAD_MODULE_H +#ifndef __LOAD_MODULE_H #define __LOAD_MODULE_H #include diff --git a/src/lpCoreCtrl/ModulesManager.cpp b/src/lpCoreCtrl/ModulesManager.cpp index 7cfdc14..c27214f 100644 --- a/src/lpCoreCtrl/ModulesManager.cpp +++ b/src/lpCoreCtrl/ModulesManager.cpp @@ -1,107 +1,95 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ModulesManager.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 16:20 - *******************************************************************************/ -#include "ModulesManager.h" -#include "LoadModule.h" -#include "globalCoreCtrl.h" - -#define EXTERN_LIB_FUNC(lib_name) \ - extern "C" void* lib_name##_Init(void* inParam);\ - extern "C" void lib_name##_Free(); - -#ifndef MDL_CAMERA_USE_DLL - EXTERN_LIB_FUNC(Lib_Camera) -#endif - -#ifndef MDL_IMGPROC_USE_DLL - EXTERN_LIB_FUNC(Lib_ImgProc) -#endif - -#ifndef MDL_COMMUNICATE_USE_DLL - EXTERN_LIB_FUNC(Lib_Communicate) -#endif - -inline void* CModulesManager::getModule(const char* szLib, const char* szInit, const char* szFree, void* pInitParam /* = NULL */) -{ - delModule(szLib); - CLoadModule* pLib = new CLoadModule(szLib, szInit, szFree, gpGlobalData->tgdDllPath); - return pLib->ModuleInit(pInitParam); -} - -inline void CModulesManager::delModule(const char* szLib) -{ - CLoadModule* pLib = m_mapLibs.value(szLib, NULL); - if( NULL != pLib ) - { - pLib->ModuleFree(); - delete pLib; - m_mapLibs.remove(szLib); - } -} - -CModulesManager::CModulesManager(void) -{ -} - - -CModulesManager::~CModulesManager(void) -{ -} - -int CModulesManager::LoadModules() -{ - int nRet = 0; - //load "tpCamera" modules - void *pReturn = NULL; - //Load camera library - CAMERA_IN_PARAM camInParam; - camInParam.pCallback = gpCoreCtrlGlobal; - camInParam.pGlobalData = gpGlobalData; -#ifdef MDL_CAMERA_USE_DLL - pReturn = getModule("tpCamera", "Lib_Camera_Init", "Lib_Camera_Free", &camInParam); -#else - pReturn = Lib_Camera_Init(&camInParam); -#endif - if( NULL == pReturn ) - { - return (-nRet); - } - glpCameralPool = (ICameraPool*)pReturn; - ++nRet; - //Load imgproc library - IMGPROC_IN_PARAM imgprocInParam; - imgprocInParam.pGlobalData = gpGlobalData; -#ifdef MDL_IMGPROC_USE_DLL - pReturn = getModule("tpImgProc", "Lib_ImgProc_Init", "Lib_ImpProc_Free", &imgprocInParam); -#else - pReturn = Lib_ImgProc_Init(&imgprocInParam); -#endif - if( NULL == pReturn ) - { - return (-nRet); - } - glpImgProc = (IImgProc*)pReturn; - ++nRet; - - return nRet; -} - -void CModulesManager::FreeModules() -{ -#ifdef MDL_IMGPROC_USE_DLL - delModule("tpImgProc"); -#else - Lib_ImgProc_Free(); -#endif -#ifdef MDL_CAMERA_USE_DLL - delModule("tpCamera"); -#else - Lib_Camera_Free(); -#endif -} \ No newline at end of file +// #include "ModulesManager.h" +// #include "LoadModule.h" +// #include "globalCoreCtrl.h" +// +// #define EXTERN_LIB_FUNC(lib_name) \ +// extern "C" void* lib_name##_Init(void* inParam);\ +// extern "C" void lib_name##_Free(); +// +// #ifndef MDL_CAMERA_USE_DLL +// EXTERN_LIB_FUNC(Lib_Camera) +// #endif +// +// #ifndef MDL_IMGPROC_USE_DLL +// EXTERN_LIB_FUNC(Lib_ImgProc) +// #endif +// +// #ifndef MDL_COMMUNICATE_USE_DLL +// EXTERN_LIB_FUNC(Lib_Communicate) +// #endif +// +// inline void* CModulesManager::getModule(const char* szLib, const char* szInit, const char* szFree, void* pInitParam /* = NULL */) +// { +// delModule(szLib); +// CLoadModule* pLib = new CLoadModule(szLib, szInit, szFree, gpGlobalData->tgdDllPath); +// return pLib->ModuleInit(pInitParam); +// } +// +// inline void CModulesManager::delModule(const char* szLib) +// { +// CLoadModule* pLib = m_mapLibs.value(szLib, NULL); +// if( NULL != pLib ) +// { +// pLib->ModuleFree(); +// delete pLib; +// m_mapLibs.remove(szLib); +// } +// } +// +// CModulesManager::CModulesManager(void) +// { +// } +// +// +// CModulesManager::~CModulesManager(void) +// { +// } +// +// int CModulesManager::LoadModules() +// { +// int nRet = 0; +// //load "tpCamera" modules +// void *pReturn = NULL; +// //Load camera library +// CAMERA_IN_PARAM camInParam; +// camInParam.pCallback = gpCoreCtrlGlobal; +// camInParam.pGlobalData = gpGlobalData; +// +// pReturn = Lib_Camera_Init(&camInParam); +// +// if( NULL == pReturn ) +// { +// return (-nRet); +// } +// +// glpCameralPool = (ICameraPool*)pReturn; +// ++nRet; +// //Load imgproc library +// IMGPROC_IN_PARAM imgprocInParam; +// imgprocInParam.pGlobalData = gpGlobalData; +// +// pReturn = Lib_ImgProc_Init(&imgprocInParam); +// +// if( NULL == pReturn ) +// { +// return (-nRet); +// } +// glpImgProc = (IImgProc*)pReturn; +// ++nRet; +// +// return nRet; +// } +// +// void CModulesManager::FreeModules() +// { +// #ifdef MDL_IMGPROC_USE_DLL +// delModule("tpImgProc"); +// #else +// Lib_ImgProc_Free(); +// #endif +// #ifdef MDL_CAMERA_USE_DLL +// delModule("tpCamera"); +// #else +// Lib_Camera_Free(); +// #endif +// } \ No newline at end of file diff --git a/src/lpCoreCtrl/ModulesManager.h b/src/lpCoreCtrl/ModulesManager.h index 26e1251..aaf1d65 100644 --- a/src/lpCoreCtrl/ModulesManager.h +++ b/src/lpCoreCtrl/ModulesManager.h @@ -1,38 +1,22 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ModulesManager.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 16:20 - *******************************************************************************/ -#ifndef __MODULES_MANAGER_H -#define __MODULES_MANAGER_H - -//modues controls -//#define MDL_CAMERA_USE_DLL //open it if using camera's module as a dll -//#define MDL_IMGPROC_USE_DLL -//#define MDL_COMMUNICATE_USE_DLL - -///////////////////////////////////////// -#include "icamera.h" -#include "iCoreCtrl.h" -#include - -class CModulesManager -{ -public: - CModulesManager(void); - ~CModulesManager(void); - int LoadModules(); - void FreeModules(); -private: - inline void* getModule(const char* szLib, const char* szInit, const char* szFree, void* pInitParam = NULL); - inline void delModule(const char* szLib); -private: - QMap m_mapLibs; - -}; - -#endif \ No newline at end of file +// #ifndef __MODULES_MANAGER_H +// #define __MODULES_MANAGER_H +// +// #include "icamera.h" +// #include "iCoreCtrl.h" +// #include +// +// class CModulesManager +// { +// public: +// CModulesManager(void); +// ~CModulesManager(void); +// int LoadModules(); +// void FreeModules(); +// private: +// inline void* getModule(const char* szLib, const char* szInit, const char* szFree, void* pInitParam = NULL); +// inline void delModule(const char* szLib); +// private: +// QMap m_mapLibs; +// }; +// +// #endif \ No newline at end of file diff --git a/src/lpCoreCtrl/QZkShowImage.cpp b/src/lpCoreCtrl/QZkShowImage.cpp index 82f80e1..3c6ce35 100644 --- a/src/lpCoreCtrl/QZkShowImage.cpp +++ b/src/lpCoreCtrl/QZkShowImage.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:QZkShowImage.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/17 - History:17:4:2015 15:10 - *******************************************************************************/ -#include "QZkShowImage.h" +#include "QZkShowImage.h" #include "ZkCameraImage.h" QZkShowImage::QZkShowImage() diff --git a/src/lpCoreCtrl/QZkShowImage.h b/src/lpCoreCtrl/QZkShowImage.h index bcc6c8e..a5bde5a 100644 --- a/src/lpCoreCtrl/QZkShowImage.h +++ b/src/lpCoreCtrl/QZkShowImage.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:QZkShowImage.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/17 - History:17:4:2015 15:10 - *******************************************************************************/ -#ifndef QZKSHOWIMAGE_H +#ifndef QZKSHOWIMAGE_H #define QZKSHOWIMAGE_H #include diff --git a/src/lpCoreCtrl/ZkCameraImage.cpp b/src/lpCoreCtrl/ZkCameraImage.cpp index bef8e0d..8ed28ec 100644 --- a/src/lpCoreCtrl/ZkCameraImage.cpp +++ b/src/lpCoreCtrl/ZkCameraImage.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ZkCameraImage.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/16 - History:16:4:2015 15:40 - *******************************************************************************/ -#include "ZkCameraImage.h" +#include "ZkCameraImage.h" CZkCameraImage::CZkCameraImage() { diff --git a/src/lpCoreCtrl/ZkCameraImage.h b/src/lpCoreCtrl/ZkCameraImage.h index e14511c..70cddaf 100644 --- a/src/lpCoreCtrl/ZkCameraImage.h +++ b/src/lpCoreCtrl/ZkCameraImage.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ZkCameraImage.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/16 - History:16:4:2015 15:39 - *******************************************************************************/ -#ifndef ZKCAMERAIMAGE_H +#ifndef ZKCAMERAIMAGE_H #define ZKCAMERAIMAGE_H #include "baseDefine.h" @@ -25,35 +16,22 @@ public: ~CZkCameraImage(); int CopyCameraObject(ICameraObject* pCamObj); int CopyCameraObject2(ICameraObject* pCamObj);//no combine and maybe use QImage -// bool CopyImageData(const BYTE* pData, int nW, int nH, int nBits, emTpColorFormat nColorFormat); -// bool CopyQImage(const QImage& image); - //void SetSerial(const char* szSerial) { - // m_strSerial = szSerial; - //} + const ZStringA& Serial() { return m_strSerial; } uint GetId() { return m_nId; } - //void SetId(long nId) { - // m_nId = nId; - //} - //void SetFrameNum(long nFrameNum) { - // m_nFrameNum = nFrameNum; - //} + ULONG FrameNumber() { return m_nFrameNum; } - //void SetColorFormat(emTpColorFormat nColorFormat) { - // m_colorFormat = nColorFormat; - //} + emTpColorFormat ColorFormat() { return m_colorFormat; } - //void SetTriggerCount(long nTriggers) { - // m_nTriggerCount = nTriggers; - //} + long TriggerCount() { return m_nTriggerCount; } @@ -71,9 +49,6 @@ public: long Algorithm() { return m_nAlgorithm; } - //void SetFileName(const ZStringA& strName) { - // m_fileName = strName; - //} const ZStringA& FileName() { return m_fileName; } @@ -92,9 +67,6 @@ public: INT64 Stamp() { return m_nTimeStamp; } - //void SetDllSuffix(const ZStringA& strName) { - // m_dllSuffix = strName; - //} const ZStringA& DllSuffix() { return m_dllSuffix; } diff --git a/src/lpCoreCtrl/ZkImage.cpp b/src/lpCoreCtrl/ZkImage.cpp index e8bf6d5..860274b 100644 --- a/src/lpCoreCtrl/ZkImage.cpp +++ b/src/lpCoreCtrl/ZkImage.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ZkImage.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/16 - History:16:4:2015 11:06 - *******************************************************************************/ -#include "ZkImage.h" +#include "ZkImage.h" CZkImage::CZkImage() { diff --git a/src/lpCoreCtrl/ZkImage.h b/src/lpCoreCtrl/ZkImage.h index 1ed84c9..a544353 100644 --- a/src/lpCoreCtrl/ZkImage.h +++ b/src/lpCoreCtrl/ZkImage.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ZkImage.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/16 - History:16:4:2015 11:06 - *******************************************************************************/ -#ifndef ZKIMAGE_H +#ifndef ZKIMAGE_H #define ZKIMAGE_H #include "baseDefine.h" diff --git a/src/lpCoreCtrl/callbackFunc.h b/src/lpCoreCtrl/callbackFunc.h new file mode 100644 index 0000000..83d6250 --- /dev/null +++ b/src/lpCoreCtrl/callbackFunc.h @@ -0,0 +1,20 @@ +#ifndef _H_CALLBACKFUNC_H_ +#define _H_CALLBACKFUNC_H_ + +#include "lp_singleton_base.h" +#include "iCoreCtrl.h" +/*ȫֻصָ*/ +class lpCallBackFunc : public lp_singleton_base< lpCallBackFunc> +{ + +public: + lpCallBackFunc() {}; + ~lpCallBackFunc() {}; + +public: + FuncCallBack_VarInt m_GetVariantCallBackFunc;//㷨亯 + FuncCallBack_StrMap m_ResultCallBackFunc;//ص + FuncCallBack_VarMap m_ImageCallBackFunc;//ͼȡص +}; + +#endif diff --git a/src/lpCoreCtrl/globalCoreCtrl.h b/src/lpCoreCtrl/globalCoreCtrl.h index 4d6c094..4e5f1a6 100644 --- a/src/lpCoreCtrl/globalCoreCtrl.h +++ b/src/lpCoreCtrl/globalCoreCtrl.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:globalCoreCtrl.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/24 - History:24:3:2015 17:30 - *******************************************************************************/ -#ifndef __GLOBAL_CORE_CTRL_H +#ifndef __GLOBAL_CORE_CTRL_H #define __GLOBAL_CORE_CTRL_H #include "baseInclude.h" @@ -34,9 +25,7 @@ public: CGlobalCoreCtrl(const CORE_CTRL_IN_PARAM* pParam){ m_pCameraPool = NULL; m_pImageProc = NULL; - m_pGuiCallback = pParam->pGuiCb; m_pGlobalData = pParam->pGlobalData; - // m_pCoreSetting = pParam->pCoreSetting; readCoreCtrlCfg(); } ~CGlobalCoreCtrl() {} @@ -49,25 +38,21 @@ public: TP_GLOBAL_DATA* m_pGlobalData; TP_CORE_SETTING m_coreSetting; ICameraPool* m_pCameraPool; - IGuiCallback* m_pGuiCallback; IImgProc* m_pImageProc; }; -extern CGlobalCoreCtrl* gpData; - -#define gpCoreCtrlGlobal gpData - -#define gpGlobalData ((TP_GLOBAL_DATA*)(gpData->m_pGlobalData)) -#define gCoreSetting gpData->m_coreSetting -#define glpCameralPool gpData->m_pCameraPool -//#define glpMainPath NULL != gpData ? gpData->tgdMainPath : ".\\" -// #define gcallCameraPool(fc) if( NULL != glpCameralPool ) glpCameralPool->##fc##() -// #define gcallCameraPoolParam(fc, ...) if( NULL != glpCameralPool) glpCameralPool->##fc##(__VA_VRGS__) -#define glpGuiCallback gpData->m_pGuiCallback -#define gfcbGuiSetImage(...) if( NULL != glpGuiCallback ) glpGuiCallback->ISetCameraImage(__VA_ARGS__) -#define gGuiCallback_FuncCall(fun, ...) if( NULL != glpGuiCallback ) glpGuiCallback->##fun##(__VA_ARGS__) - -#define glpImgProc gpData->m_pImageProc +// extern CGlobalCoreCtrl* gpData; +// +// #define gpCoreCtrlGlobal gpData +// +// #define gpGlobalData ((TP_GLOBAL_DATA*)(gpData->m_pGlobalData)) +// #define gCoreSetting gpData->m_coreSetting +// #define glpCameralPool gpData->m_pCameraPool +// #define glpGuiCallback gpData->m_pGuiCallback +// #define gfcbGuiSetImage(...) if( NULL != glpGuiCallback ) glpGuiCallback->ISetCameraImage(__VA_ARGS__) +// #define gGuiCallback_FuncCall(fun, ...) if( NULL != glpGuiCallback ) glpGuiCallback->##fun##(__VA_ARGS__) +// +// #define glpImgProc gpData->m_pImageProc #endif \ No newline at end of file diff --git a/src/lpCoreCtrl/iCameraObject.h b/src/lpCoreCtrl/iCameraObject.h index 860c619..2a99251 100644 --- a/src/lpCoreCtrl/iCameraObject.h +++ b/src/lpCoreCtrl/iCameraObject.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:iCameraObject.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/05/25 - History:25:5:2015 15:52 - *******************************************************************************/ -#ifndef _I_CAMERA_OBJECT_H +#ifndef _I_CAMERA_OBJECT_H #define _I_CAMERA_OBJECT_H #include @@ -18,7 +9,6 @@ #include "QZkMutexList.h" #include #include -//#define _USE_CAMERA_SERIAL_ENCRYPTO class CSaveImgTask : public QRunnable { diff --git a/src/lpCoreCtrl/qtpthreadbase.cpp b/src/lpCoreCtrl/qtpthreadbase.cpp index 73539c1..c5a5749 100644 --- a/src/lpCoreCtrl/qtpthreadbase.cpp +++ b/src/lpCoreCtrl/qtpthreadbase.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:qtpthreadbase.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 17:06 - *******************************************************************************/ -#include "qtpthreadbase.h" +#include "qtpthreadbase.h" QTpThreadBase::QTpThreadBase(QObject *parent) : QThread(parent) diff --git a/src/lpCoreCtrl/qtpthreadbase.h b/src/lpCoreCtrl/qtpthreadbase.h index 2bbc6f3..cdad542 100644 --- a/src/lpCoreCtrl/qtpthreadbase.h +++ b/src/lpCoreCtrl/qtpthreadbase.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:qtpthreadbase.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 17:06 - *******************************************************************************/ -#ifndef QTPTHREADBASE_H +#ifndef QTPTHREADBASE_H #define QTPTHREADBASE_H #include "baseInclude.h" diff --git a/src/lpCoreCtrl/qtpthreadimage.cpp b/src/lpCoreCtrl/qtpthreadimage.cpp index 6b6d873..a4dc8b4 100644 --- a/src/lpCoreCtrl/qtpthreadimage.cpp +++ b/src/lpCoreCtrl/qtpthreadimage.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:qtpthreadimage.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 17:10 - *******************************************************************************/ -#include "qtpthreadimage.h" +#include "qtpthreadimage.h" #include "globalCoreCtrl.h" #include "CoreCtrl.h" #include @@ -18,7 +9,7 @@ QTpThreadImage::QTpThreadImage(class CCoreCtrl* pCtrl, class IDetectorEngine* pD , m_objImage(pCtrl) , m_pDE(pDE) { -// LOG_SPIDER::InitLog("", "log.txt"); + } QTpThreadImage::~QTpThreadImage() @@ -31,7 +22,7 @@ bool QTpThreadImage::loop() QTime timespan; timespan.start(); - CZkCameraImage* pCamImage = glpCameralPool->IPopCameraImage(); + CZkCameraImage* pCamImage = m_pCoreCtrl->m_gpCameraPool->IPopCameraImage(); int span = timespan.elapsed(); if (span > 100) { @@ -60,14 +51,14 @@ bool QTpThreadImage::loop() // Algorithm process image timespan.restart(); m_objImage.SetCameraImage(pCamImage); - glpImgProc->IImageProcess(&m_objImage, m_pDE); + m_pCoreCtrl->m_gpImgProc->IImageProcess(&m_objImage, m_pDE); qDebug() << "Process Image(ID:" << pCamImage->FrameNumber() << ") cost " << timespan.elapsed() << " MSecs" << " - " __FUNCTION__; } //release CameraImage m_objImage.SetCameraImage(NULL); - glpCameralPool->IFreeCameraImage(pCamImage); + m_pCoreCtrl->m_gpCameraPool->IFreeCameraImage(pCamImage); } else { diff --git a/src/lpCoreCtrl/qtpthreadimage.h b/src/lpCoreCtrl/qtpthreadimage.h index 2334f35..aced8b5 100644 --- a/src/lpCoreCtrl/qtpthreadimage.h +++ b/src/lpCoreCtrl/qtpthreadimage.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:qtpthreadimage.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 17:10 - *******************************************************************************/ -#ifndef QTPTHREADIMAGE_H +#ifndef QTPTHREADIMAGE_H #define QTPTHREADIMAGE_H #include "qtpthreadbase.h" diff --git a/src/lpCoreCtrl/tpCamera/CameraPool.cpp b/src/lpCoreCtrl/tpCamera/CameraPool.cpp index 02ed05c..12c4106 100644 --- a/src/lpCoreCtrl/tpCamera/CameraPool.cpp +++ b/src/lpCoreCtrl/tpCamera/CameraPool.cpp @@ -1,19 +1,10 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:CameraPool.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/25 - History:25:3:2015 11:28 - *******************************************************************************/ -#include "CameraPool.h" +#include "CameraPool.h" #include +#include "callbackFunc.h" CCameraPool::CCameraPool(void) : m_thdTrigger(this) - , m_libs(gpGlobalData->tgdDllPath) -// :m_mutexImgQueue(QMutex::Recursive) + , m_libs("") { m_nTriggerMode = DEV_TRIGGER_MODE_STOP; m_nFrameRate = 0; @@ -41,14 +32,14 @@ void CCameraPool::FreePool() int CCameraPool::ICreateCameraes() { - QList keys = gpGlobalCamera->CameraKeys();//cameraes.keys(); + QList keys;// = gpGlobalCamera->CameraKeys();//cameraes.keys(); for (int i = 0; i < keys.size(); ++i) { if (m_cameraes.contains(keys[i])) { continue; } - ICameraObject* pObject = m_libs.Create(gpGlobalCamera->CameraOption(keys[i]), this); + ICameraObject* pObject;// = m_libs.Create(gpGlobalCamera->CameraOption(keys[i]), this); if (NULL == pObject) { continue; @@ -128,7 +119,7 @@ bool CCameraPool::IDeleteCamera(const QString& strSerial) m_libs.Delete(pCamera); } m_cameraes.remove(strSerial); - gpGlobalCamera->delCameraOption(strSerial); + // gpGlobalCamera->delCameraOption(strSerial); return true; } @@ -141,10 +132,10 @@ bool CCameraPool::IAddCamera(const QString& strName, const TP_CAMERA_OPTION& cam if (!bret) return bret; } - gpGlobalCamera->updateCameraOption(strName, camOpt); + //gpGlobalCamera->updateCameraOption(strName, camOpt); if (bNew){ - ICameraObject* pCamObj = m_libs.Create(gpGlobalCamera->CameraOption(strName), this); + ICameraObject* pCamObj;// = m_libs.Create(gpGlobalCamera->CameraOption(strName), this); if (pCamObj) { pCamObj->m_pCamOpt->status = TP_CAMERA_STATUS_INITED; @@ -338,27 +329,27 @@ void CCameraPool::DeviceLost(const QString& strName) QList CCameraPool::ICameraKeys() { - return gpGlobalCamera->CameraKeys(); + return QList();// gpGlobalCamera->CameraKeys(); } QList CCameraPool::ICameraKeysOrderByIds() { - return gpGlobalCamera->CameraKeysOrderByIds(); + return QList();// gpGlobalCamera->CameraKeysOrderByIds(); } bool CCameraPool::ICameraOption(const QString& strSerial, TP_CAMERA_OPTION& camOpt) { - return gpGlobalCamera->CameraOption(strSerial, camOpt); + return false;// gpGlobalCamera->CameraOption(strSerial, camOpt); } bool CCameraPool::ICameraOptionByKey(const QString& strSerial, TP_CAMERA_OPTION& camOpt) { - return gpGlobalCamera->CameraOptionByKey(strSerial, camOpt); + return false;//gpGlobalCamera->CameraOptionByKey(strSerial, camOpt); } bool CCameraPool::ISetCameraOption(const QString& strSerial, const TP_CAMERA_OPTION& camOpt) { - bool bRet = gpGlobalCamera->SetCameraOption(strSerial, camOpt); + bool bRet = false;//gpGlobalCamera->SetCameraOption(strSerial, camOpt); if (bRet) { ICameraObject* pCam = m_cameraes.value(strSerial, NULL); @@ -396,15 +387,15 @@ QList CCameraPool::IEnumAvailableCameras(emTpDeviceType camType) void CCameraPool::ISetTriggerMode(emTpDeviceTriggerMode mode, emTpTriggerDirection nDirection /* = TRIGGER_DIRECT_FOREWARD */, long nFrameRate /* = 0 */) { - gGlobalPoolOption.triggerMode = mode; - gGlobalPoolOption.triggerDirection = nDirection; - gGlobalPoolOption.frameRate = nFrameRate; - gGlobalPoolOption.fixedFrames = nFrameRate; - m_nTriggerMode = mode; - m_nFrameRate = nFrameRate; - //set every device's trigger - m_thdTrigger.LockWorked(); - m_cameraes.iterateCall(cameraSetTriggerMode, &gGlobalPoolOption); +// gGlobalPoolOption.triggerMode = mode; +// gGlobalPoolOption.triggerDirection = nDirection; +// gGlobalPoolOption.frameRate = nFrameRate; +// gGlobalPoolOption.fixedFrames = nFrameRate; +// m_nTriggerMode = mode; +// m_nFrameRate = nFrameRate; +// //set every device's trigger +// m_thdTrigger.LockWorked(); +// m_cameraes.iterateCall(cameraSetTriggerMode, &gGlobalPoolOption); IStartDevices(); m_thdTrigger.UnlockWorked(); //begin or end trigger's thread @@ -422,7 +413,6 @@ void CCameraPool::ISetTriggerMode(emTpDeviceTriggerMode mode, emTpTriggerDirecti } } - void CCameraPool::IManualTrigger(emTpTriggerDirection nDirection /* = TRIGGER_DIRECT_FOREWARD */) { if( DEV_TRIGGER_MODE_OUT != m_nTriggerMode ) @@ -525,55 +515,22 @@ void CCameraPool::cameraSetProperty(class ICameraObject*& pCam, void* pData) pCam->ISetProperty((TP_CAMERA_PROPERTY*)pData); } -//ICameraObject* CCameraPool::CreateCamera(TP_CAMERA_OPTION* pCamOpt) -//{ -// if( NULL == pCamOpt ) -// { -// return NULL; -// } -// ICameraObject* pObj = NULL; -// if( DEV_CAMERA == pCamOpt->deviceType ) -// { -// //pObj = new CGigeCamera(pCamOpt, this); -// } -// else if( DEV_VIRTUAL == pCamOpt->deviceType ) -// { -// //pObj = new CVirtualCamera(pCamOpt, this); -// } -// else if( DEV_BITFLOW == pCamOpt->deviceType ) -// { -// //pObj = new CBitflowCameraBi(pCamOpt, this); -// } -// return pObj; -//} - -QList CCameraPool::ICameraWins() -{ - return gpGlobalCamera->CameraWins(); -} - CZkCameraImage* CCameraPool::IPopCameraImage() { return m_imagesList.takeFirst(NULL); - /*CZkCameraImage *pCamImg = m_imagesList.takeFirst(NULL); - if (NULL != pCamImg) - { - - } - return pCamImg;*/ } ////////////////////////////////////////////////////////////////////////////////////////////// int CCameraPool::createDeviceByOptiones() { - QList keys = gpGlobalCamera->CameraKeys();//cameraes.keys(); + QList keys;// = gpGlobalCamera->CameraKeys();//cameraes.keys(); for( int i = 0; i < keys.size(); ++i ) { if( m_cameraes.contains(keys[i]) ) { continue; } - ICameraObject* pObject = m_libs.Create(gpGlobalCamera->CameraOption(keys[i]), this); + ICameraObject* pObject;// = m_libs.Create(gpGlobalCamera->CameraOption(keys[i]), this); if( NULL == pObject ) { continue; @@ -721,12 +678,19 @@ int CCameraPool::IPushCameraData(ICameraObject* pCamObj) if (NULL != pImage) { // - if (!gpGlobalCamCallback){ - delete pImage; - return 0; - } +// if (!gpGlobalCamCallback){ +// delete pImage; +// return 0; +// } try{ - pImage->SetVarFromUI(gpGlobalCamCallback->IGetVariantById(pCamObj->m_pCamOpt->id)); + + if (lpCallBackFunc::instance()->m_GetVariantCallBackFunc) + { + QVariant val = lpCallBackFunc::instance()->m_GetVariantCallBackFunc(pCamObj->m_pCamOpt->id); + pImage->SetVarFromUI(val); + } +// else +// pImage->SetVarFromUI(gpGlobalCamCallback->IGetVariantById(pCamObj->m_pCamOpt->id)); //QVariantMap map; //map.clear(); @@ -811,7 +775,12 @@ int CCameraPool::IPushCameraData2(ICameraObject* pCamObj) return 0; } - pImage->SetVarFromUI(gpGlobalCamCallback->IGetVariantById(pCamObj->m_pCamOpt->id)); + if (lpCallBackFunc::instance()->m_GetVariantCallBackFunc) + { + QVariant val = lpCallBackFunc::instance()->m_GetVariantCallBackFunc(pCamObj->m_pCamOpt->id); + pImage->SetVarFromUI(val); + } + //pImage->SetVarFromUI(gpGlobalCamCallback->IGetVariantById(pCamObj->m_pCamOpt->id)); m_imagesList.append(pImage); // if (pCamObj->NeedStopping()) @@ -823,7 +792,7 @@ int CCameraPool::IPushCameraData2(ICameraObject* pCamObj) char* CCameraPool::IGetMainPath() { - return gpGlobalCamera->m_pGlobalData->tgdMainPath; + return nullptr;// gpGlobalCamera->m_pGlobalData->tgdMainPath; } void CCameraPool::IFreeCameraImage(CZkCameraImage *pCamImg) { @@ -832,7 +801,7 @@ void CCameraPool::IFreeCameraImage(CZkCameraImage *pCamImg) QMap CCameraPool::IGetCamShowNames() { - return gpGlobalCamera->GetCamShowNames(); + return QMap();// gpGlobalCamera->GetCamShowNames(); } void CCameraPool::ISetCameraEncode(INT64 code, INT64 rate) @@ -861,23 +830,3 @@ void CCameraPool::cameraSetVirtuleImages(class ICameraObject*& pCam, void* pData } } -QList CCameraPool::ICamWinKeys() -{ - return gpGlobalCamera->camWinKeys(); -} - -bool CCameraPool::ICamWinOptionByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt) -{ - - return gpGlobalCamera->camWinByKey(strKey, camwinOpt); -} - -bool CCameraPool::IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew) -{ - return gpGlobalCamera->addCamWin(strKey, camwinOpt, bNew); -} - -bool CCameraPool::IDelCamWin(const QString& strKey) -{ - return gpGlobalCamera->delCamWin(strKey); -} \ No newline at end of file diff --git a/src/lpCoreCtrl/tpCamera/CameraPool.h b/src/lpCoreCtrl/tpCamera/CameraPool.h index 4d5af2c..a3269b7 100644 --- a/src/lpCoreCtrl/tpCamera/CameraPool.h +++ b/src/lpCoreCtrl/tpCamera/CameraPool.h @@ -1,19 +1,9 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:CameraPool.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/25 - History:25:3:2015 11:26 - *******************************************************************************/ -#ifndef __CAMERA_POOL_H_20150325 +#ifndef __CAMERA_POOL_H_20150325 #define __CAMERA_POOL_H_20150325 #include "icamera.h" #include #include -//#include #include #include "triggerthread.h" #include "QZkMutexList.h" @@ -21,7 +11,6 @@ #include "iCameraObject.h" #include "LibCameraes.h" - class CCameraPool : public ICameraPool, public IPoolCallback { public: @@ -74,7 +63,7 @@ private: virtual void IManualTrigger( emTpTriggerDirection nDirection = TRIGGER_DIRECT_FOREWARD); virtual void ISnapImage(const QStringList& camKeys); virtual void ISendSoftTrigger(const QStringList& camKeys); - virtual QList ICameraWins(); +// virtual QList ICameraWins(); virtual CZkCameraImage* IPopCameraImage(); virtual int ICameraImages() { return m_imagesList.size(); @@ -87,24 +76,15 @@ private: virtual void ISetCameraEncode(INT64 code, INT64 rate); virtual void ISetVirtualImages(const QString& camera, const QStringList& szImages); - //operate camera window - virtual QList ICamWinKeys(); - virtual bool ICamWinOptionByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt); - virtual bool IAddCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew); - virtual bool IDelCamWin(const QString& strKey); - virtual bool ICamsStartPush(); virtual bool ICamsPausePush(); /////////////////////////////////////////////////////////////////////////////////////////// -// ICameraObject* CreateCamera(TP_CAMERA_OPTION* pCamOpt); void calRelyOn(); /////////////////////////////////////////////////////////////////////////////////////////////// void releaseImagesList() { - //m_imagesList.iterateCall(iterateCallImageErase, NULL); m_imagesList.clear(iterateCallImageErase, NULL); m_imagesMerging.clear(iterateCallImageErase, NULL); - //m_imagesCache.clear(iterateCallImageErase, NULL); } static void iterateCallImageErase(class CZkCameraImage*& pImage, void* pData) { delete pImage; @@ -136,7 +116,6 @@ private: //**the key is unique name, not serial number** QZkMutexMap m_imagesMerging; QZkMutexList m_imagesList; - //QZkMutexMap m_imagesCache; CTriggerThread m_thdTrigger; emTpDeviceTriggerMode m_nTriggerMode; long m_nFrameRate; diff --git a/src/lpCoreCtrl/tpCamera/LibCameraes.cpp b/src/lpCoreCtrl/tpCamera/LibCameraes.cpp index 7b1fa6d..084861b 100644 --- a/src/lpCoreCtrl/tpCamera/LibCameraes.cpp +++ b/src/lpCoreCtrl/tpCamera/LibCameraes.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LibCameraes.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/05/26 - History:26:5:2015 16:34 - *******************************************************************************/ -#include "LibCameraes.h" +#include "LibCameraes.h" #include #include diff --git a/src/lpCoreCtrl/tpCamera/LibCameraes.h b/src/lpCoreCtrl/tpCamera/LibCameraes.h index 5e7ba68..1afd502 100644 --- a/src/lpCoreCtrl/tpCamera/LibCameraes.h +++ b/src/lpCoreCtrl/tpCamera/LibCameraes.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LibCameraes.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/05/26 - History:26:5:2015 16:34 - *******************************************************************************/ -#ifndef LIBCAMERAES_H +#ifndef LIBCAMERAES_H #define LIBCAMERAES_H #include "iCameraObject.h" diff --git a/src/lpCoreCtrl/tpCamera/globalCamera.cpp b/src/lpCoreCtrl/tpCamera/globalCamera.cpp index c3867e8..a869af0 100644 --- a/src/lpCoreCtrl/tpCamera/globalCamera.cpp +++ b/src/lpCoreCtrl/tpCamera/globalCamera.cpp @@ -1,24 +1,11 @@ -/****************************************************************************** -Copyright(C):2015~2018 hzleaper -FileName:globalCamera.cpp -Author:zhikun wu -Email:zk.wu@hzleaper.com -Tools:vs2010 pc on company -Created:2015/04/09 -History:9:4:2015 13:23 -*******************************************************************************/ -#include +#include #include "globalCamera.h" #include "ZkCameraImage.h" #include #include -#ifdef _USE_CAMERA_SERIAL_ENCRYPTO -#include "QZkSerialNumbers.h" -#endif const char CGlobalCamera::cs_szCfgName[] = "camera"; - CGlobalCamera::CGlobalCamera(const CAMERA_IN_PARAM* pInParam) :m_mtxCam(QMutex::Recursive) { @@ -101,8 +88,8 @@ void CGlobalCamera::readConfig() { int nError; //read config from ".json" file - QString szFileName(m_pGlobalData->tgdMainPath); - szFileName.append(m_pGlobalData->tgdFolderNames[TP_FOLDER_NAME_CONFIG]).append(cs_szCfgName).append(TP_STR::cszJsonSuffix); + QString szFileName(""/*m_pGlobalData->tgdMainPath*/); + szFileName.append("./config/"/*m_pGlobalData->tgdFolderNames[TP_FOLDER_NAME_CONFIG]*/).append(cs_szCfgName).append(TP_STR::cszJsonSuffix); // szFileName.append(TP_STR::cszCfgFolder) QMutexLocker locker(&m_mtxCam); QJsonObject objJson = m_jsonCamera = QZkJsonParser::ReadJsonObject(szFileName, &nError); @@ -220,35 +207,6 @@ void CGlobalCamera::readConfig() m_cameraesOption.insert(pCamOpt->uniqueName, pCamOpt); } } - objTmp = objJson["windows"].toObject(); - if (!objTmp.isEmpty()) - { - for (QJsonObject::Iterator it = objTmp.begin(); it != objTmp.end(); ++it) - { - QJsonObject objWin = it.value().toObject(); - if (objWin.isEmpty()) - { - continue; - } - TP_CAMERA_WIN* pWin = new TP_CAMERA_WIN; - if (NULL == pWin) - { - continue; - } - pWin->key = it.key(); - pWin->device = objWin.value("device").toString(); - pWin->images = objWin.value("images").toInt(1); - pWin->buffers = objWin.value("buffers").toInt(2); - pWin->bitsPerPixel = objWin.value("bitsperpixel").toInt(32); - pWin->index = objWin.value("index").toInt(0); - pWin->bufferW = objWin.value("buffer_w").toInt(0); - pWin->bufferH = objWin.value("buffer_h").toInt(0); - pWin->mirror = objWin.value("mirror").toInt(0); - pWin->bCacheOriginImage = objWin.value("cache_origin").toBool(); - pWin->bNeedRgbSwapped = objWin.value("rgb_swapped").toBool(); - m_cameraWins.append(pWin); - } - } } void CGlobalCamera::checkFolder(QString& sFolder) @@ -266,7 +224,7 @@ void CGlobalCamera::checkFolder(QString& sFolder) void CGlobalCamera::releaseConfig(const QString& key /* = NULL */) { m_cameraesOption.clear(releaseCameraOption); - m_cameraWins.clear(releaseCameraWin, NULL); + } void CGlobalCamera::releaseCameraOption(const QString& key, TP_CAMERA_OPTION*& pCamOpt, void* pData) @@ -274,11 +232,6 @@ void CGlobalCamera::releaseCameraOption(const QString& key, TP_CAMERA_OPTION*& p delete pCamOpt; } -void CGlobalCamera::releaseCameraWin(tagTP_CAMERA_WIN*& pWin, void* pData) -{ - delete pWin; -} - QList CGlobalCamera::CameraKeysOrderByIds() { QList options = m_cameraesOption.values(); @@ -303,13 +256,6 @@ QMap CGlobalCamera::GetCamShowNames() { knMap.insert(it.key(), it.value()->showName); } - //for (QZkMutexList::Iterator it = m_cameraWins.begin(); it != m_cameraWins.end(); ++it) - //{ - // if (0 == (*it)->index && m_cameraesOption.contains((*it)->device)) - // { - // knMap.insert((*it)->device, (*it)->key); - // } - //} return knMap; } @@ -362,75 +308,6 @@ void CGlobalCamera::updateCameraOption(const QString& serials, const TP_CAMERA_O m_cameraesOption.insert(pCamOpt->uniqueName, pCamOpt); } -QList CGlobalCamera::camWinKeys() -{ - QMutexLocker locker(&m_mtxCam); - - QList ret; - QZkMutexList::const_iterator it = m_cameraWins.constBegin(); - for (; it != m_cameraWins.constEnd(); ++it) - { - ret.append((*it)->key); - } - return ret; -} - -bool CGlobalCamera::camWinByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt) -{ - QMutexLocker locker(&m_mtxCam); - QZkMutexList::const_iterator it = m_cameraWins.constBegin(); - for (; it != m_cameraWins.constEnd(); ++it) - { - TP_CAMERA_WIN* pOpt = *it; - if (pOpt->key.compare(strKey, Qt::CaseInsensitive) == 0){ - camwinOpt = *pOpt; - return true; - } - } - return false; -} - -bool CGlobalCamera::addCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew) -{ - QMutexLocker locker(&m_mtxCam); - - // update if exist, otherwise new one. - QZkMutexList::iterator it = m_cameraWins.begin(); - for (; it != m_cameraWins.end(); ++it) - { - TP_CAMERA_WIN* pOpt = *it; - if (pOpt->key.compare(strKey, Qt::CaseInsensitive) == 0){ - *pOpt = camwinOpt; - return true; - } - } - - TP_CAMERA_WIN* pOpt = new TP_CAMERA_WIN; - if (NULL == pOpt) return false; - - *pOpt = camwinOpt; - m_cameraWins.append(pOpt); - - return true; -} - -bool CGlobalCamera::delCamWin(const QString& strKey) -{ - QMutexLocker locker(&m_mtxCam); - QZkMutexList::iterator it = m_cameraWins.begin(); - for (; it != m_cameraWins.end(); ++it) - { - TP_CAMERA_WIN* pOpt = *it; - if (pOpt->key.compare(strKey, Qt::CaseInsensitive) == 0){ - m_cameraWins.removeOne(pOpt); - delete pOpt; - pOpt = NULL; - return true; - } - } - return true; -} - QJsonObject CGlobalCamera::getAppJsonUser() { QJsonObject userJson; @@ -457,4 +334,4 @@ QJsonObject CGlobalCamera::getAppJsonUser() userJson = objJson["user"].toObject(); return userJson; -} \ No newline at end of file +} diff --git a/src/lpCoreCtrl/tpCamera/globalCamera.h b/src/lpCoreCtrl/tpCamera/globalCamera.h index 6effc86..d03ada6 100644 --- a/src/lpCoreCtrl/tpCamera/globalCamera.h +++ b/src/lpCoreCtrl/tpCamera/globalCamera.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:globalCamera.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/04/07 - History:7:4:2015 8:53 - *******************************************************************************/ -#ifndef __GLOBAL_CAMERA_H_20150407 +#ifndef __GLOBAL_CAMERA_H_20150407 #define __GLOBAL_CAMERA_H_20150407 #include "icamera.h" @@ -19,8 +10,6 @@ #include "QZkMutexMap.h" #include "QZkMutexList.h" - - class CGlobalCamera { public: @@ -36,23 +25,13 @@ public: return m_cameraesOption.keys(); } QList CameraKeysOrderByIds(); - QList CameraWins() { - return m_cameraWins; - } QMap GetCamShowNames(); bool SaveCameraOption(const TP_CAMERA_OPTION& camOpt); void delCameraOption(const QString& serials); void updateCameraOption(const QString& serials, const TP_CAMERA_OPTION& camOpt); - - QList camWinKeys(); - bool camWinByKey(const QString& strKey, TP_CAMERA_WIN& camwinOpt); - bool addCamWin(const QString& strKey, const TP_CAMERA_WIN& camwinOpt, bool bNew); - bool delCamWin(const QString& strKey); - public: - TP_GLOBAL_DATA* m_pGlobalData; +// TP_GLOBAL_DATA* m_pGlobalData; ICameraCallback* m_pCallback; -// QHash m_cfgCameraes; TP_CAMERAPOOL_OPTION m_optPool; private: void readConfig(); @@ -65,33 +44,20 @@ private: static bool copyCameraOptionBySerial(const QString& key, TP_CAMERA_OPTION*& pCamOpt, void* pData); static void copyCameraOptionByKey(const QString& key, TP_CAMERA_OPTION*& pCamOpt, void* pData); static bool optionCompare(TP_CAMERA_OPTION* op1, TP_CAMERA_OPTION* op2); - static void releaseCameraWin(tagTP_CAMERA_WIN*& pWin, void* pData); private: QMutex m_mtxCam; const static char cs_szCfgName[]; QZkMutexMap m_cameraesOption; - QZkMutexList m_cameraWins; QJsonObject m_jsonCamera; QStringList m_serialsList; }; -//const char CGlobalCamera::m_szCfgFile[] = "camera"; - -///////////////////////////////////////////////////////////////////////////////////////////////////////////// -//***inline functions*** - - - -extern class CGlobalCamera* gpGlobalCameraZZZ; - -#define gpGlobalCamera gpGlobalCameraZZZ - -//#define gpMainPath gpGlobalCamera->m_pszMainPath -#define gpGlobalData gpGlobalCamera->m_pGlobalData -#define gpGlobalCamCallback gpGlobalCamera->m_pCallback -#define callCamCallback(fc, defaultReturn, ...) (NULL != gpGlobalCamCallback) ? gpGlobalCamCallback->##fc##(__VA_ARGS__) : defaultReturn -// #define callGlobalCamera(fc, dValue, ...) (NULL != gpGlobalCamera ) ? gpGlobalCamera->##fc##(__VA_ARGS__) : dValue -// #define callGlobalCameraNoP(fc, dValue) (NULL != gpGlobalCamera ) ? gpGlobalCamera->##fc##() : dValue -//#define gpCameraesHash() (NULL != gpGlobalCamera) ? gpGlobalCamera->m_cfgCameraes : QHash() -#define gGlobalPoolOption gpGlobalCamera->m_optPool +// extern class CGlobalCamera* gpGlobalCameraZZZ; +// +// #define gpGlobalCamera gpGlobalCameraZZZ +// +// #define gpGlobalData gpGlobalCamera->m_pGlobalData +// #define gpGlobalCamCallback gpGlobalCamera->m_pCallback +// #define callCamCallback(fc, defaultReturn, ...) (NULL != gpGlobalCamCallback) ? gpGlobalCamCallback->##fc##(__VA_ARGS__) : defaultReturn +// #define gGlobalPoolOption gpGlobalCamera->m_optPool #endif \ No newline at end of file diff --git a/src/lpCoreCtrl/tpCamera/tpCamera.cpp b/src/lpCoreCtrl/tpCamera/tpCamera.cpp index 23d6822..8b9195a 100644 --- a/src/lpCoreCtrl/tpCamera/tpCamera.cpp +++ b/src/lpCoreCtrl/tpCamera/tpCamera.cpp @@ -1,60 +1,51 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:tpCamera.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/23 - History:23:3:2015 16:31 - *******************************************************************************/ -#include "CameraPool.h" -#include "globalCamera.h" - -#ifdef TPCAMERA_EXPORTS -#define TPCAMERA_API extern "C" __declspec(dllexport) -#else -#define TPCAMERA_API extern "C" -#endif - -CGlobalCamera* gpGlobalCameraZZZ = NULL; -CCameraPool *gpCameraPool = NULL; - - -//don't change the names of these global functions -TPCAMERA_API void* Lib_Camera_Init(void* inParam) -{ - CAMERA_IN_PARAM cinParam = {0}; - if( NULL != inParam ) - { - std::memcpy(&cinParam, inParam, sizeof(CAMERA_IN_PARAM)); - } - if( NULL == gpGlobalCamera ) - { - gpGlobalCamera = new CGlobalCamera(&cinParam); - } - // - if( NULL == gpCameraPool ) - { - gpCameraPool = new CCameraPool(); - } - if( NULL != gpCameraPool ) - { - gpCameraPool->InitPool(); - } - return gpCameraPool; -} - -TPCAMERA_API void Lib_Camera_Free() -{ - if( NULL != gpCameraPool ) - { - gpCameraPool->FreePool(); - delete gpCameraPool; - gpCameraPool = NULL; - } - if( NULL != gpGlobalCamera ) - { - delete gpGlobalCamera; - gpGlobalCamera = NULL; - } -} +// #include "CameraPool.h" +// #include "globalCamera.h" +// +// #ifdef TPCAMERA_EXPORTS +// #define TPCAMERA_API extern "C" __declspec(dllexport) +// #else +// #define TPCAMERA_API extern "C" +// #endif +// +// CGlobalCamera* gpGlobalCameraZZZ = NULL; +// CCameraPool *gpCameraPool = NULL; +// +// +// //don't change the names of these global functions +// TPCAMERA_API void* Lib_Camera_Init(void* inParam) +// { +// CAMERA_IN_PARAM cinParam = {0}; +// if( NULL != inParam ) +// { +// std::memcpy(&cinParam, inParam, sizeof(CAMERA_IN_PARAM)); +// } +// if( NULL == gpGlobalCamera ) +// { +// gpGlobalCamera = new CGlobalCamera(&cinParam); +// } +// // +// if( NULL == gpCameraPool ) +// { +// gpCameraPool = new CCameraPool(); +// } +// if( NULL != gpCameraPool ) +// { +// gpCameraPool->InitPool(); +// } +// return gpCameraPool; +// } +// +// TPCAMERA_API void Lib_Camera_Free() +// { +// if( NULL != gpCameraPool ) +// { +// gpCameraPool->FreePool(); +// delete gpCameraPool; +// gpCameraPool = NULL; +// } +// if( NULL != gpGlobalCamera ) +// { +// delete gpGlobalCamera; +// gpGlobalCamera = NULL; +// } +// } diff --git a/src/lpCoreCtrl/tpCamera/triggerthread.cpp b/src/lpCoreCtrl/tpCamera/triggerthread.cpp index ba61f0f..13e92e0 100644 --- a/src/lpCoreCtrl/tpCamera/triggerthread.cpp +++ b/src/lpCoreCtrl/tpCamera/triggerthread.cpp @@ -49,7 +49,7 @@ bool CTriggerThread::loop() if (nIntervals >= m_msecOfInterval) { CCameraPool::tagCOMMIT_TRIGGER_PARAM prm; - prm.direct = gGlobalPoolOption.triggerDirection; + //prm.direct = gGlobalPoolOption.triggerDirection; prm.count = ++m_nTriggerCount; prm.bFromMenual = false; m_pPool->IntervalCaptureImages(prm); diff --git a/src/lpCoreCtrl/tpCoreCtrl.cpp b/src/lpCoreCtrl/tpCoreCtrl.cpp index d415292..e03cf15 100644 --- a/src/lpCoreCtrl/tpCoreCtrl.cpp +++ b/src/lpCoreCtrl/tpCoreCtrl.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:tpCoreCtrl.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/24 - History:24:3:2015 12:46 - *******************************************************************************/ -#include "CoreCtrl.h" +#include "CoreCtrl.h" #ifdef TPCORECTRL_EXPORTS #define TPCORECTRL_API extern "C" __declspec(dllexport) @@ -19,40 +10,29 @@ #include "globalCoreCtrl.h" #include -CModulesManager gMdlesMgr; -CGlobalCoreCtrl* gpData = NULL; +//CModulesManager gMdlesMgr; +//CGlobalCoreCtrl* gpData = NULL; class CCoreCtrl* gpCoreCtrl = NULL; TPCORECTRL_API void* Lib_CoreCtrl_Init(void* inParam) { - CORE_CTRL_LOG("Lib_CoreCtrl_Init start!"); - //create and initialize the global data(class CGlobalCoreCtrl's object) - CORE_CTRL_IN_PARAM* pCciParam = (CORE_CTRL_IN_PARAM*)inParam; - gpData = new CGlobalCoreCtrl(pCciParam); - if( NULL == gpData ) - { - return NULL; - } - // - CORE_CTRL_INIT(gpGlobalData->tgdMainPath, gpGlobalData->tgdMainPath); - // - if( gMdlesMgr.LoadModules() <= 0 ) - { - return NULL; - } +// CORE_CTRL_IN_PARAM* pCciParam = (CORE_CTRL_IN_PARAM*)inParam; +// gpData = new CGlobalCoreCtrl(pCciParam); +// if( NULL == gpData ) +// { +// return NULL; +// } + +// if( gMdlesMgr.LoadModules() <= 0 ) +// { +// return NULL; +// } ////////////////////////////////////////////////////////////////// if( NULL == gpCoreCtrl ) { - gpCoreCtrl = new CCoreCtrl(); + gpCoreCtrl = new CCoreCtrl(inParam); } - /* - if( NULL != gpCoreCtrl ) - { - gpCoreCtrl->IInitCore(); - } - */ - CORE_CTRL_LOG("Lib_CoreCtrl_Init finished!"); return gpCoreCtrl; } @@ -65,11 +45,10 @@ TPCORECTRL_API void Lib_CoreCtrl_Free() gpCoreCtrl = NULL; } ///////////////////////////////////////////////// - gMdlesMgr.FreeModules(); - CORE_CTRL_FREE(); - if( NULL != gpData ) - { - delete gpData; - gpData = NULL; - } +// gMdlesMgr.FreeModules(); +// if( NULL != gpData ) +// { +// delete gpData; +// gpData = NULL; +// } } diff --git a/src/lpCoreCtrl/tpImgProc/ImgProc.cpp b/src/lpCoreCtrl/tpImgProc/ImgProc.cpp index 67a409a..4f69c0d 100644 --- a/src/lpCoreCtrl/tpImgProc/ImgProc.cpp +++ b/src/lpCoreCtrl/tpImgProc/ImgProc.cpp @@ -1,27 +1,14 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ImgProc.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 18:03 - *******************************************************************************/ -#include "ImgProc.h" +#include "ImgProc.h" #include "baseConstant.h" #include #include #include "QZkJsonParser.h" #include "zfunctions.h" -/////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// const char CImgProc::cs_strCfgName[] = "algorithm"; TP_GLOBAL_DATA* CImgProc::s_pGlobalData = NULL; CImgProc::CImgProc(IMGPROC_IN_PARAM* pParam) - // : m_dbAlg(pParam->pGlobalData->tgdUserPath) { s_pGlobalData = pParam->pGlobalData; m_bIsInited = false; @@ -37,10 +24,6 @@ CImgProc::~CImgProc(void) int CImgProc::InitProc() { m_pDefAlgorithmDll = createAlgorithmDll("0", NULL); - //if (NULL == m_pDefAlgorithmDll) - //{ - // return 0; - //} m_bIsInited = true; return 1; } @@ -52,9 +35,8 @@ void CImgProc::FreeProc() { QThread::msleep(25); } - // m_algorithms.clear(releaseAlgorithm); + m_threadAlgorithms.clear(releaseAlgorithmApis); -// m_algorithmOptions.clear(releaseAlgorithmOption); m_algorithmDlls.clear(releaseAlgorithmDlls); if (NULL != m_pDefAlgorithmDll) { @@ -69,21 +51,6 @@ void CImgProc::releaseAlgorithm(const Qt::HANDLE& k, IAlgorithm*& v, void* pData //FREE_ALGORITHM(v); } -// void CImgProc::releaseAlgorithmOption(const int& k, CAlgorithmOption*& v, void* pData) -// { -// delete v; -// } -// -// CAlgorithmOption* CImgProc::createAlgorithmOption(const int& k, void* pData) -// { -// // CImgProc* pThis = (CImgProc*)pData; -// // QString szFileName(s_pGlobalData->tgdMainPath); -// // szFileName.append(s_pGlobalData->tgdFolderNames[TP_FOLDER_NAME_CONFIG]).append(cs_strCfgName); -// // CAlgorithmOption* pv = new CAlgorithmOption(szFileName, k, &pThis->m_dbAlg); -// // return pv; -// return nullptr; -// } - int CImgProc::IImageProcess(class IImageObject* pImgObj, class IDetectorEngine* pDE /*= NULL*/) { if (NULL == pImgObj || !m_bIsInited) diff --git a/src/lpCoreCtrl/tpImgProc/ImgProc.h b/src/lpCoreCtrl/tpImgProc/ImgProc.h index 47944b0..478a47e 100644 --- a/src/lpCoreCtrl/tpImgProc/ImgProc.h +++ b/src/lpCoreCtrl/tpImgProc/ImgProc.h @@ -1,21 +1,9 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:ImgProc.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 18:03 - *******************************************************************************/ -#include "iImgProc.h" -/*#include "ImageAlgorithm.h"*/ +#include "iImgProc.h" #include "QZkMutexMap.h" #include "baseClass.h" #include #include #include "LoadAlgorithm.h" -//#include "AlgorithmOption.h" -#include "LoadAlgorithm.h" class CImgProc : public IImgProc { diff --git a/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.cpp b/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.cpp index e2dcfc3..94acab9 100644 --- a/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.cpp +++ b/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.cpp @@ -1,19 +1,6 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LoadAlgorithm.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/05/21 - History:21:5:2015 14:33 - *******************************************************************************/ -#include "LoadAlgorithm.h" +#include "LoadAlgorithm.h" #include -//CLoadAlgorithm::Func_Alg_Create CLoadAlgorithm::sf_AlgCreata = NULL; -//CLoadAlgorithm::Func_Alg_Delete CLoadAlgorithm::sf_AlgDelete = NULL; -//class QLibrary* CLoadAlgorithm::s_pLib = NULL; - CLoadAlgorithm::CLoadAlgorithm() { m_pLib = NULL; diff --git a/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.h b/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.h index 9546ea3..8e53436 100644 --- a/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.h +++ b/src/lpCoreCtrl/tpImgProc/LoadAlgorithm.h @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:LoadAlgorithm.h - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/05/21 - History:21:5:2015 14:33 - *******************************************************************************/ -#ifndef LOADALGORITHM_H +#ifndef LOADALGORITHM_H #define LOADALGORITHM_H #include "iAlgorithm.h" @@ -29,7 +20,4 @@ private: class QLibrary* m_pLib; }; -//#define ALLOC_ALGORITHM() (NULL == CLoadAlgorithm::sf_AlgCreata) ? NULL : CLoadAlgorithm::sf_AlgCreata() -//#define FREE_ALGORITHM(obj) if ( NULL != CLoadAlgorithm::sf_AlgDelete) CLoadAlgorithm::sf_AlgDelete(obj) - #endif // LOADALGORITHM_H diff --git a/src/lpCoreCtrl/tpImgProc/tpImgProc.cpp b/src/lpCoreCtrl/tpImgProc/tpImgProc.cpp index ae29644..8929f7c 100644 --- a/src/lpCoreCtrl/tpImgProc/tpImgProc.cpp +++ b/src/lpCoreCtrl/tpImgProc/tpImgProc.cpp @@ -1,13 +1,4 @@ -/****************************************************************************** - Copyright(C):2015~2018 hzleaper - FileName:tpImgProc.cpp - Author:zhikun wu - Email:zk.wu@hzleaper.com - Tools:vs2010 pc on company - Created:2015/03/26 - History:26:3:2015 17:56 - *******************************************************************************/ -#include "ImgProc.h" +#include "ImgProc.h" #include "LoadAlgorithm.h" #ifdef TPIMGPROC_EXPORTS @@ -21,16 +12,6 @@ CImgProc* gpImgProc = NULL; TPIMGPROC_API void* Lib_ImgProc_Init(void* inParam) { IMGPROC_IN_PARAM* pParam = (IMGPROC_IN_PARAM*)inParam; - /* - char szDllName[260]; - strcpy(szDllName, pParam->pGlobalData->tgdDllPath); -#ifdef _DEBUG - strcat(szDllName, "tpAlgorithmd"); -#else - strcat(szDllName, "tpAlgorithm"); -#endif - CLoadAlgorithm::LoadAlg(szDllName); - */ if( NULL == gpImgProc ) { gpImgProc = new CImgProc((IMGPROC_IN_PARAM*)pParam); diff --git a/src/lpbdesigner/DsgRoiDlg.cpp b/src/lpbdesigner/DsgRoiDlg.cpp index 4f6c125..e493b98 100644 --- a/src/lpbdesigner/DsgRoiDlg.cpp +++ b/src/lpbdesigner/DsgRoiDlg.cpp @@ -45,9 +45,9 @@ CDsgRoiDlg::CDsgRoiDlg(QWidget *parent) : QDialog(parent), ui(new Ui::RoiDlg) SystemStateInfo::rgb = QColor(255, 0, 0).rgb(); connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(OnOk())); connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(OnCancel())); - connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(OnRectangle())); + //connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(OnRectangle())); connect(ui->pushButton_7, SIGNAL(clicked()), this, SLOT(OnCircle())); - connect(ui->pushButton_4, SIGNAL(clicked()), this, SLOT(OnEllipse())); + //connect(ui->pushButton_4, SIGNAL(clicked()), this, SLOT(OnEllipse())); connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnShowColorDlg())); ui->pushButton_8->setAutoDefault(false); diff --git a/src/lpbdesigner/RoiDlg.ui b/src/lpbdesigner/RoiDlg.ui index 59a73d3..2dce40d 100644 --- a/src/lpbdesigner/RoiDlg.ui +++ b/src/lpbdesigner/RoiDlg.ui @@ -171,44 +171,6 @@ - - - - - 0 - 30 - - - - - 130 - 16777215 - - - - 矩形 - - - - - - - - 0 - 30 - - - - - 130 - 16777215 - - - - 椭圆 - - - diff --git a/src/lpbengine/Algorithm.cpp b/src/lpbengine/Algorithm.cpp index 1bf2aa7..cc9f0f0 100644 --- a/src/lpbengine/Algorithm.cpp +++ b/src/lpbengine/Algorithm.cpp @@ -1,6 +1,6 @@ #include "Algorithm.h" #include - +#pragma execution_character_set("utf-8") CDetectorAlgorithm::CDetectorAlgorithm() : m_mutex(QReadWriteLock::Recursive) { m_nID = LP_DETECTOR_INVALID_ID; @@ -1470,7 +1470,7 @@ bool CDetectorAlgorithm::Exec() PLP_ALGORITHM_PARAM p = *iter; if (p && !p->bIsLock && p->nSrcAlgoID != LP_DETECTOR_INVALID_ID && p->nSrcParamID != LP_DETECTOR_INVALID_ID) { - qWarning() << "handle rely algo"; + //qWarning() << "handle rely algo"; IDetectorAlgorithm* pAlgo = m_pTask->GetAlgorithm(p->nSrcAlgoID); if (pAlgo) { @@ -1513,7 +1513,7 @@ bool CDetectorAlgorithm::Exec() } m_dExecTime = (cv::getTickCount() - start) / cv::getTickFrequency() * 1000; - qDebug("algo name:%s, algo exec time: %.4f", m_tAlgorithmInfo.strName.toLocal8Bit().data(), m_dExecTime); + qDebug()< + @@ -45,7 +46,6 @@ - diff --git a/tpvs17/lpCoreCtrl/lpCoreCtrl.vcxproj.filters b/tpvs17/lpCoreCtrl/lpCoreCtrl.vcxproj.filters index 4a469d9..c761fff 100644 --- a/tpvs17/lpCoreCtrl/lpCoreCtrl.vcxproj.filters +++ b/tpvs17/lpCoreCtrl/lpCoreCtrl.vcxproj.filters @@ -139,9 +139,6 @@ tpCoreCtrl - - tpCoreCtrl - tpCoreCtrl @@ -160,5 +157,8 @@ tpCamera + + Header Files + \ No newline at end of file diff --git a/tpvs17/lpMain/CMainWin.cpp b/tpvs17/lpMain/CMainWin.cpp index eb366da..3078c9b 100644 --- a/tpvs17/lpMain/CMainWin.cpp +++ b/tpvs17/lpMain/CMainWin.cpp @@ -165,9 +165,9 @@ CMainWin::~CMainWin() lpSysLog::uninstance(); } -void CMainWin::IVariantMapToUI(emTpUiDataType dataType, const QString& camKey, const QVariantMap& vMap) +void CMainWin::IVariantMapToUI(const QString& camKey, const QVariantMap& vMap) { - qDebug() << "variant 2 ui, start"; + //qDebug() << "variant 2 ui, start"; if (!m_pWfCtrl) { qWarning() << "VariantMapToUI, WFctrl is null"; return; @@ -710,12 +710,20 @@ bool CMainWin::onInitCoreCtrl() //load coretrl if (NULL == m_pDllCoreCtrl) { - m_pDllCoreCtrl = new CDllCoreCtrl(QStringList(), this, m_pDetectorEngine); + m_pDllCoreCtrl = new CDllCoreCtrl(QStringList(), nullptr, m_pDetectorEngine); if (NULL == m_pDllCoreCtrl) { return false; } m_pCoreCtrl = m_pDllCoreCtrl->m_pCoreCtrl; + + + FuncCallBack_VarInt getVarfunc = std::bind(&CMainWin::IGetVariantById, this, std::placeholders::_1); + m_pCoreCtrl->IRegisterGetVariant(getVarfunc); + + FuncCallBack_StrMap strMapfunc = std::bind(&CMainWin::IVariantMapToUI, this, std::placeholders::_1,std::placeholders::_2); + m_pCoreCtrl->IRegisterResultCallBack(strMapfunc); + } m_pDllDetectorEngine->Initialize(m_pCoreCtrl); diff --git a/tpvs17/lpMain/CMainWin.h b/tpvs17/lpMain/CMainWin.h index fed461e..f6e926c 100644 --- a/tpvs17/lpMain/CMainWin.h +++ b/tpvs17/lpMain/CMainWin.h @@ -26,7 +26,7 @@ struct StationInfo bool m_bRunEnable{ false }; QString strModelName; }; -class CMainWin : public QMainWindow, public IGuiCallback +class CMainWin : public QMainWindow//, public IGuiCallback { Q_OBJECT @@ -34,23 +34,9 @@ public: CMainWin(QWidget *parent = Q_NULLPTR); ~CMainWin(); -// virtual void IOnReady() {} -// virtual void IUpdateShow(const QString& skey) {}; virtual void INewCameraImage(const QVariantMap& vMap) {}; -// virtual void IAddWindows(const QString& sWinName, const QString& sShowId) {}; -// virtual void ISendDataToUI(emTpUiDataType dataType, const QString& camKey, void* pData) {}//ãIVariantMapToUI() -// virtual void ICameraTrigger(bool bStartOrStop) {};//ãICommInterval() -// virtual void IDrawDefectToScene(const QString& szWinName, IImageObject::emTpDefectType defectType, QByteArray& data) {}; -// virtual void ISafeDataToUI(emTpUiDataType dataType, const QString& camKey, const QByteArray& data) {}; -// virtual void IWarning(int nWarningCode, void* data, int nDataLen) {}; -// virtual void ICommInterval(const char* szCom, int nCmd, BYTE* pData, int nDataLen) {}; -// virtual void IAlgorithmResult(const QVariantMap& varMap) {}; - virtual void IVariantMapToUI(emTpUiDataType dataType, const QString& camKey, const QVariantMap& vMap); + virtual void IVariantMapToUI(const QString& camKey, const QVariantMap& vMap); virtual QVariant IGetVariantById(int id); - -// virtual void IIoStatesChanged(int nOldState, int nNewState) {}; -// virtual void ICommAchieved(const char* szCom, int nCmd, BYTE* pData, int nDataLen) {}; -// virtual WORD IGetWorkState() { return 0; };//з͵Ƿ񴥷ֵ01 public: Q_SLOT void onAppanalysis(SComFrame frame); void onHeartComm(SComFrame &frame);