#ifndef HD_3DCAMERALMI_MODULE_H #define HD_3DCAMERALMI_MODULE_H #include"base.h" #include #include #include #include #include #include #include #pragma comment(lib, "winmm.lib") #pragma comment(lib,"GoSdk.lib") #pragma comment(lib,"kApi.lib") using namespace std; using namespace cv; #pragma region LMI enum LmiStatus { UnInit = 0, OK = 1, Grab = 2, }; #define NM_TO_MM(VALUE) (((k64f)(VALUE))/1000000.0) #define UM_TO_MM(VALUE) (((k64f)(VALUE))/1000.0) #define INVALID_RANGE_16BIT ((signed short)0x8000) // gocator transmits range data as 16-bit signed integers. 0x8000 signifies invalid range data. #define DOUBLE_MAX ((k64f)1.7976931348623157e+308) // 64-bit double - largest positive value. #define INVALID_RANGE_DOUBLE ((k64f)-DOUBLE_MAX) // floating point value to represent invalid range data. struct MyTiff { unsigned short* Tiff; int w; int h; }; struct MyBmp { unsigned char* Bmp; int w; int h; }; struct DataContext { k32u count; }; #pragma endregion class Hd_CameraModule_3DLMI:public Base { Q_OBJECT public: Hd_CameraModule_3DLMI(); virtual ~Hd_CameraModule_3DLMI(); //从类中读数据到实例对象 bool Hd_CameraModule_3DLMI::readData(std::vector& vecPic, QByteArray& data); //实例对象把数据写入到类 bool writeData(std::vector&,QByteArray& qbyte); bool initParas(QByteArray&); bool run(); bool checkStatus(); }; extern "C" { Q_DECL_EXPORT Hd_CameraModule_3DLMI * create(); Q_DECL_EXPORT void destory(Hd_CameraModule_3DLMI * ptr); } #endif // HD_3DCAMERALMI_MODULE_H