SDC C-Project CF Review 프로그램
LYW
2021-08-10 8ac7359b04409c2a1426f9a179c00b1c966d0146
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#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);
};