From 7a7f5a677f5bddb571273c8f490ca88ca9653d67 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 월, 18 10월 2021 18:25:48 +0900 Subject: [PATCH] Ongoing90 #3684 CF AOI Review 전설비 Review History Defect이미지 클릭시 Offset 자동 계산 기능 추가 --- ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp index b607bc7..d58cbe4 100644 --- a/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp +++ b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp @@ -54,6 +54,11 @@ CReveiwHistoryDlg::CReveiwHistoryDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DLG_REVIEWHISTORY, pParent) , m_nFileCount(0) + , m_nEditCamIdx(0) + , m_nEditScanIdx(0) + , m_dEditOffsetX(0) + , m_dEditOffsetY(0) + , m_strGantryIdx(_T("")) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); @@ -73,6 +78,10 @@ m_nImageCount = 0; m_nCellCount = 0; m_bAsending = FALSE; + /*< LYW 20211018 - #3684 ADD Start >*/ + m_dCurDefectIdx = 0; + m_dCurDefectID = 0; + /*< LYW 20211018 - #3684 ADD End >*/ for (int i = 0; i < 105; i++) { @@ -97,6 +106,11 @@ DDX_Text(pDX, IDC_EDIT_FILE_COUNT, m_nFileCount); DDX_Control(pDX, IDC_EDIT_FILE_COUNT, m_ctlFileCount); DDX_Control(pDX, IDC_PROGRESS_LOAD, m_ctlProgress); + DDX_Text(pDX, IDC_EDIT_OFFSET_CAM_IDX, m_nEditCamIdx); + DDX_Text(pDX, IDC_EDIT_OFFSET_SCAN_IDX, m_nEditScanIdx); + DDX_Text(pDX, IDC_EDIT_OFFSET_X, m_dEditOffsetX); + DDX_Text(pDX, IDC_EDIT_OFFSET_Y, m_dEditOffsetY); + DDX_Text(pDX, IDC_EDIT_DFFSET_GANTRY_IDX, m_strGantryIdx); } BEGIN_MESSAGE_MAP(CReveiwHistoryDlg, CDialogEx) @@ -109,6 +123,7 @@ ON_BN_CLICKED(IDC_BUTTON_MAPVIEW_FIT, &CReveiwHistoryDlg::OnBnClickedButtonMapviewFit) ON_MESSAGE(UM_FORMMAP_DEFECTSELECT, OnMapDefectSelected) ON_MESSAGE(UM_FORMMAP_DEFECTMOUSEOVER, OnMapDefectMouseOver) + ON_MESSAGE(UM_FORMMAP_IMAGEMOUSECLICK, OnImageClick) ON_COMMAND(ID_OPTION_PATHSETTING, &CReveiwHistoryDlg::OnOptionPathsetting) ON_COMMAND(ID_VIEW_ALLDEFECT, &CReveiwHistoryDlg::OnViewAlldefect) ON_COMMAND(ID_VIEW_REVIEWDEFECT, &CReveiwHistoryDlg::OnViewReviewdefect) @@ -1220,6 +1235,61 @@ return 0; } +/*< LYW 20211018 - #3684 ADD Start >*/ +LRESULT CReveiwHistoryDlg::OnImageClick(WPARAM wParam, LPARAM lParam) +{ + CPathSettingDlg* lpDlg = CPathSettingDlg::GetMgr(); + if (lpDlg == NULL) return 0; + + _akDefect *pDefect; + pDefect = &m_Formation.m_vecDefects[m_dCurDefectIdx]; + if (pDefect == NULL) return 0; + + CPoint Point; + Point.x = GET_X_LPARAM(lParam); + Point.y = GET_Y_LPARAM(lParam); + + int dOffsetDrectionX; + int dOffsetDrectionY; + + if (lpDlg->m_comboDirectionX.GetCurSel() == 1) dOffsetDrectionX = -1; + else dOffsetDrectionX = 1; + + if (lpDlg->m_comboDirectionY.GetCurSel() == 1) dOffsetDrectionY = -1; + else dOffsetDrectionY = 1; + + if (pDefect->m_nDefectID == m_dCurDefectID) + { + m_nEditCamIdx = pDefect->m_nCameraID; + m_nEditScanIdx = pDefect->m_nScanIdx; + if (pDefect->m_nModelIdx == 0) + { + m_strGantryIdx = _T("Left"); + m_dEditOffsetX = (double)(dOffsetDrectionX * (Point.x / 5)) / 1000; + m_dEditOffsetY = (double)-(dOffsetDrectionY * (Point.y / 5)) / 1000; + } + else if (pDefect->m_nModelIdx == 1) + { + m_strGantryIdx = _T("Right"); + m_dEditOffsetX = (double)-(dOffsetDrectionX * (Point.x / 5)) / 1000; + m_dEditOffsetY = (double)-(dOffsetDrectionY * (Point.y / 5)) / 1000; + } + else AfxMessageBox(_T("寃먰듃由� �씤�뜳�뒪媛� 鍮꾩젙�긽 �엯�땲�떎."), MB_OK | MB_ICONWARNING); + } + + else + { + if (IDOK == AfxMessageBox(_T("�씠誘몄� �씤�뜳�뒪媛� �씪移섑븯吏� �븡�뒿�땲�떎."), MB_OK | MB_ICONWARNING)) + { + return 0; + } + } + + UpdateData(FALSE); + return 0; +} +/*< LYW 20211018 - #3684 ADD End >*/ + LRESULT CReveiwHistoryDlg::OnMapDefectMouseOver(WPARAM wParam, LPARAM lParam) { int nSelectDefect = static_cast<int>(wParam); @@ -2022,6 +2092,13 @@ } } _akReviewList* pImageInfo = &m_Formation.m_vecImage[nIndex]; + m_dCurDefectID = pImageInfo->m_nDefectID; + m_dCurDefectIdx = nIndex; +// _akDefect *pDefect; +// pDefect = &m_Formation.m_vecDefects[nIndex]; +// m_dCurDefectCam = pDefect->m_nCameraID; +// m_dCurDefectModuleIdx = pDefect->m_nModelIdx; +// m_dCurDefectScan = pDefect->m_nScanIdx; //紐� 踰덉㎏ �씤吏� �뜕吏꾨떎. CString wekfjlwe = pImageInfo->m_strReviewImageName; -- Gitblit v1.9.3