// protocol for control SevenOcean's Machine // ////////////////////////////////////////////////////////////////////// #ifndef SO7_INTERFACE_H_INCLUDED_ #define SO7_INTERFACE_H_INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 typedef void (_cdecl*PRO_CMD)(int nCmd,LPARAM value); typedef int (_cdecl*GET_LASER_STORED_DATA)(float *GetStorageData,int *GetStorageNumber); typedef int (_cdecl*PAUSE_SCAN_AND_GET_LASER_DATA)(float *GetStorageData,int *GetStorageNumber); typedef void (_cdecl*GET_SCAN_LASER_STORAGE_STATUS)(int& _bStatus,int& _StorageNumber); typedef int (_cdecl*FITTING_SURFACE)(MY3DPoint* pArr,int n, double* Coe, double* Error, double& dis, double& dis2, double& dis3); typedef int (_cdecl*FITTING_SURFACE_PCD)(MY3DPoint* pArr,int n, double* Coe, double* N, double *Error,double& dis1, double& dis2, double& dis3,double & d_max,double & d_min,int & i_max,int & i_min); //====================================================================================== class CSo7_Interface { protected: HMODULE m_hImageDLL; HMODULE m_hFitDLL; Dev_Info Image_Info; public: CSo7_Interface(); ~CSo7_Interface(); //获取数据的函数指针 PRO_CMD Pro_cmd; GET_LASER_STORED_DATA m_pGET_LASER_STORED_DATA; PAUSE_SCAN_AND_GET_LASER_DATA m_pPAUSE_SCAN_AND_GET_LASER_DATA; GET_SCAN_LASER_STORAGE_STATUS m_pGET_SCAN_LASER_STORAGE_STATUS; FITTING_SURFACE g_FitFace; FITTING_SURFACE_PCD g_FitFace_PCD; void InitDll(); void StartStoreData(); void StopStoreData(); void GetStorageStatus(); void GetStoredData(); void PauseScanAndGetData(); int Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis); }; #endif