#pragma once #include "ModuleStatus.h" #include "CHReviewSetting/AlignCalibrator.h" class CCoordCalibrator : public CAlignCalibrator { public: CCoordCalibrator(); virtual ~CCoordCalibrator(void); void GetTransDirection(int& nDirectionX, int& nDirectionY) const; void TransGlass2Motor(const SCoordInfo* pCoordInfo, double& dPositionX, double& dPositionY) const; void TransMotor2Glass(const SCoordInfo* pCoordInfo, SMotorPosition* pMotorPosition) const; void SetARMotorInfo(int nDirX, int nDirY, double dDistX, double dDistY); void TransAOI2Review(const SCoordInfo* pCoordInfo, double dAOIPosX, double dAOIPosY, double& dReviewPosX, double& dReviewPosY) const; void TransReview2AOI(const SCoordInfo* pCoordInfo, double dReviewPosX, double dReviewPosY, double& dAOIPosX, double& dAOIPosY) const; void TransMain2Sub(const SCoordInfo* pCoordInfo, double dMainPosX, double dMainPosY, double& dSubPosX, double& dSubPosY) const; void TransSub2Main(const SCoordInfo* pCoordInfo, double dSubPosX, double dSubPosY, double& dMainPosX, double& dMainPosY) const; void ResetAlignResult(); void SetRotationInfo(double dMotorPosX, double dMotorPosY, double dGlassPosX, double dGlassPosY, double dDegree); void SetOriginMotorPosition(double dPosX, double dPosY); void SetTransDirection(int nDirectionX, int nDirectionY); protected: double m_dRotateCenterX; double m_dRotateCenterY; double m_dRotateDegree; double m_dRotateRadian; double m_dOriginMotorX; double m_dOriginMotorY; // AOI-Review Axis BOOL m_bUseAOICam; int m_nARDirX; // AOI-Review 사이의 x축 방향 int m_nARDirY; // AOI-Review 사이의 y축 방향 double m_dARDistX; // AOI-Review 사이의 x 거리 (모터 좌표) double m_dARDistY; // AOI-Review 사이의 y 거리 (모터 좌표) };