#pragma once
|
|
|
// CDlgAlignCamera 대화 상자입니다.
|
|
#include "CameraViewAlign.h"
|
#include "CameraControlAlign.h"
|
#include "CHCommonControls/GradientStatic.h"
|
#include "CHCommonControls/FontStatic.h"
|
#include "SharedImageData.h"
|
#include "afxwin.h"
|
#include "CHCommonControls/GridCtrl.h"
|
#include "CHReviewSetting/AlignCalibrator.h"
|
#include "CoordCalibrator.h"
|
|
#include "akControlPack/akGroupCtrl.h"
|
#include "akControlPack/akButtonColorCtrl.h"
|
#include "akControlPack/akStaticTextCtrl.h"
|
#include "akControlPack/akRadio.h"
|
|
|
interface IDialogAlignCamera2Parent
|
{
|
virtual BOOL DAC2P_GetAlignImage(int nType, int nIndex, CCHImageData* pImageData) = 0;
|
virtual void DAC2P_SetLightLevel(int nModuleIndex, int nValue) = 0;
|
virtual void DAC2P_ManualAlignProcess() = 0;
|
virtual void DAC2P_SaveAlignTempImage() = 0;
|
virtual CCoordCalibrator* DAC2P_GetCoordCalibrator() = 0;
|
virtual void DAC2P_SetActiveAlignCameraDialog() = 0;
|
};
|
|
class CDlgAlignCamera : public CDialog, public IUpdateProcessStatus
|
{
|
DECLARE_DYNAMIC(CDlgAlignCamera)
|
|
public:
|
CDlgAlignCamera(CWnd* pParent = NULL); // 표준 생성자입니다.
|
virtual ~CDlgAlignCamera();
|
void Reset();
|
void SetDAC2P(IDialogAlignCamera2Parent* pDAC2P) { m_pDAC2P = pDAC2P; }
|
void SetAlignResult(int nResultCode, double dDX, double dDy, double dTheta);
|
|
virtual void UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult);
|
|
// LJY-20180905
|
void UpdateAlignResult(const CGlassResult* pGlassResult);
|
|
// 대화 상자 데이터입니다.
|
enum { IDD = IDD_DLG_ALIGN_CAMERA };
|
|
protected:
|
void InitGridAlignInfo();
|
void InitGridOriginInfo();
|
void SetGridAlignInfo();
|
void SetGridOriginInfo();
|
void SetImageMode(int nMode);
|
|
protected:
|
CakGroupCtrl m_ctrlGroupCtrl;
|
CakGroupCtrl m_ctrlGroupCtrlAlign;
|
CakButtonColorCtrl m_ctrlGetTempleteImage;
|
CakButtonColorCtrl m_ctrlButtonColorCtrl;
|
|
|
IDialogAlignCamera2Parent* m_pDAC2P;
|
|
CGradientStatic m_ctrlAlignResult;
|
CFontStatic m_ctrlAlignAngle;
|
CFontStatic m_ctrlAlignDx;
|
CFontStatic m_ctrlAlignDy;
|
CFontStatic m_ctrlAlignOx;
|
CFontStatic m_ctrlAlignOy;
|
|
VectorCameraImageView m_vecCameraImageView;
|
CComboBox m_ctrlViewMode;
|
CRITICAL_SECTION m_csImageCaptured;
|
CSharedImageData m_SharedImageData;
|
|
CGridCtrl m_ctrlAlignInfo;
|
CGridCtrl m_ctrlOriginInfo;
|
|
int m_nImageMode;
|
CAlignRecipe m_AlignRecipe;
|
CAlignResult m_AlignResult;
|
SAlignResult m_sPreAlignResult;
|
SAlignResult m_sPostAlignResult;
|
|
void UpdateCameraView();
|
void UpdateCameraView(int nCameraIndex);
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
|
DECLARE_MESSAGE_MAP()
|
public:
|
afx_msg void OnBnClickedOk();
|
afx_msg void OnBnClickedCancel();
|
virtual BOOL OnInitDialog();
|
afx_msg void OnCbnSelchangeComboViewMode();
|
virtual BOOL DestroyWindow();
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
afx_msg void OnBnClickedButtonAlignProcess();
|
CButton m_ctrlImageMode;
|
afx_msg void OnBnClickedRadioImageMode();
|
afx_msg LRESULT OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam);
|
|
afx_msg void OnBnClickedButtonGetTempleteImage();
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
};
|