#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;
|
};
|