#pragma once #include "CHImageControls/CHImageData.h" interface ITotalPitchMeasure2Parnet { virtual void ITP2P_DisplayMessage(int nIndex, const TCHAR* lpstrFormat, ...) = 0; virtual BOOL ITP2P_GetAlignMarkPosition(double &dPositionX, double &dPositionY) = 0; virtual BOOL ITP2P_GetGlassSize(double &dGlassSizeX, double &dGlassSizeY) = 0; virtual BOOL ITP2P_GetAlignMarkCenterPosition(double &dPositionX, double &dPositionY) = 0; virtual BOOL ITP2P_GetMotionEnable() = 0; virtual BOOL ITP2P_MoveMotorGlassPosition(int nModuleIndex, double dPositionX, double dPositionY) = 0; virtual BOOL ITP2P_StartTemplateMatching(double &dPosX, double &dPosY) = 0; virtual BOOL ITP2P_GetAlignTemplateCenterPosition(int nIdx, double &dPositionX, double &dPositionY) = 0; virtual BOOL ITP2P_SetMinMagChange(int nModuleIndex) = 0; virtual double ITP2P_GetCurrentResolution() = 0; }; class AFX_EXT_CLASS CTotalPitchMeasure { public: CTotalPitchMeasure(); virtual ~CTotalPitchMeasure(); void SetTP2P(ITotalPitchMeasure2Parnet* pTP2P) { m_pTP2P = pTP2P; } void Reset(); public: BOOL StartTotalPitchMeasure(); BOOL GetMotorEnable(); double GetGlassSizeWidth() { return m_dGlassSizeWidth; } double GetGlassSizeHeight() { return m_dGlassSizeHeight; } double GetStandardAlignPosX() { return m_dStandardAlignMarkGlassPositionX; } double GetStandardAlignPosY() { return m_dStandardAlignMarkGlassPositionY; } double GetAlignMarkCenterPosX() { return m_dAlignMarkCenterPositionX; } double GetAlignMarkCenterPosY() { return m_dAlignMarkCenterPositionY; } double GetAlignMarkPosX(const int nIdx) { return m_dAlignMarkPositionX[nIdx]; } double GetAlignMarkPosY(const int nIdx) { return m_dAlignMarkPositionY[nIdx]; } double GetTotalPitchAB() { return m_dTotlaPitchAB; } double GetTotalPitchCD() { return m_dTotlaPitchCD; } double GetTotalPitchAC() { return m_dTotlaPitchAC; } double GetTotalPitchBD() { return m_dTotlaPitchBD; } double GetAlignShortDistance() { return m_dAlignMarkShortDistance; } double GetAlignLongDistance() { return m_dAlignMarkLongDistance; } protected: BOOL GetAlignMarkCenterPosition(); BOOL CalculateAlignMarkPosition(); BOOL MoveAlignMarkPosition(const int nMarkIndx); BOOL GetAlignMarkImageMatching(const int nMarkIndx); void SetGlassSizeWidth(double dSize) { m_dGlassSizeWidth = dSize;} void SetGlassSizeHeight(double dSize) { m_dGlassSizeHeight = dSize;} void SetStandardAlignPosX(double dPos) { m_dStandardAlignMarkGlassPositionX = dPos; } void SetStandardAlignPosY(double dPos) { m_dStandardAlignMarkGlassPositionY = dPos; } void SetAlignMarkCenterPosX(double dPos) { m_dAlignMarkCenterPositionX = dPos; } void SetAlignMarkCenterPosY(double dPos) { m_dAlignMarkCenterPositionY = dPos; } void SetTotalPitchAB(double dData) { m_dTotlaPitchAB = dData; } void SetTotalPitchCD(double dData) { m_dTotlaPitchCD = dData; } void SetTotalPitchAC(double dData) { m_dTotlaPitchAC = dData; } void SetTotalPitchBD(double dData) { m_dTotlaPitchBD = dData; } void SetAlignShortDistance(double dData) { m_dAlignMarkShortDistance = dData; } void SetAlignLongDistance(double dData) { m_dAlignMarkLongDistance = dData; } BOOL TotalPitchMeasure(); protected: ITotalPitchMeasure2Parnet* m_pTP2P; double m_dAlignMarkPositionX[4]; double m_dAlignMarkPositionY[4]; double m_dAlignMarkCenterPosX[4]; double m_dAlignMarkCenterPosY[4]; double m_dGlassSizeWidth; double m_dGlassSizeHeight; double m_dStandardAlignMarkGlassPositionX; double m_dStandardAlignMarkGlassPositionY; double m_dAlignMarkCenterPositionX; double m_dAlignMarkCenterPositionY; double m_dAlignMarkShortDistance; double m_dAlignMarkLongDistance; CCHImageData* m_pAlignTempImage; //Result -> º°µµ ±¸Á¶·Î ±¸¼ºÇسõÁö ¾Ê°ÚÀ½ 4°³·Î Fix double m_dTotlaPitchAB; double m_dTotlaPitchCD; double m_dTotlaPitchAC; double m_dTotlaPitchBD; };