#pragma once #include "OneDimMatrix.h" #define FIRST_TIP_MATRIX_INDEX 1 namespace ns_mat { struct NozzleParam { XY_DOUBLE_STRUCT position{ 0,0 }; NozzleCalibParam calibParam; }; class TipMatrix { public: static TipMatrix* GetInstance(); LONG LoadMatrixParam(); LONG GetNozzlePosition(int index, XY_DOUBLE_STRUCT& position); LONG GetBHRCalibTempID(int nozzleIndex, int& tempID); LONG SetBHRCalibTempID(int nozzleIndex, int tempID); LONG GetWHCTDNozzleTempID(int nozzleIndex, int& tempID); LONG SetWHCTDNozzleTempID(int nozzleIndex, int tempID); LONG GetBHRotCenter(int index, XY_DOUBLE_STRUCT& center); LONG SetNozzleRotCenter(int index, XY_DOUBLE_STRUCT center); LONG GetBHHighCameraToNozzle(int index, XY_DOUBLE_STRUCT& dis); LONG SetBHHighCameraToNozzle(int index, XY_DOUBLE_STRUCT CameraToNozzle); LONG GetBHLowCameraToNozzle(int index, XY_DOUBLE_STRUCT& dis); LONG SetBHLowCameraToNozzle(int index, XY_DOUBLE_STRUCT CameraToNozzle); LONG GetWHCameraToNozzle(int index, XY_DOUBLE_STRUCT& cameraToNozzle); LONG SetWHCameraToNozzle(int index, XY_DOUBLE_STRUCT cameraToNozzle); private: TipMatrix(); ~TipMatrix(); void DataChangNotice(string strDbName, string strTableName); void SetParam(); private: OneDimMatrix* m_pPosMatrix = nullptr; std::map m_mapNozzleParam; CMachineCalibration* m_pCalibrationDB = nullptr; CProduct* m_pProduct = nullptr; CManageDB* m_pCManageDB = nullptr; int m_nMatrixID = 1; std::string m_sName = "TipMatrix"; }; }