| | |
| | | HANDLE hThread = CreateThread(NULL, 0, RunThreadReviewHistory, this, 0, &dwThreadId); |
| | | m_ThreadId = dwThreadId; |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | m_CheckInsViewCenterLine.SetCheck(FALSE); |
| | | |
| | | for (int i = 0; i < 105; i++) |
| | | { |
| | |
| | | DDX_Text(pDX, IDC_EDIT_OFFSET_Y, m_dEditOffsetY); |
| | | DDX_Text(pDX, IDC_EDIT_DFFSET_GANTRY_IDX, m_strGantryIdx); |
| | | DDX_Text(pDX, IDC_STATIC_LAST_SAVE_OFFSET_TIME, m_TextLastSaveOffsetTime); |
| | | DDX_Control(pDX, IDC_CHECK_INS_VIEW_CENTER_LINE, m_CheckInsViewCenterLine); |
| | | } |
| | | |
| | | BEGIN_MESSAGE_MAP(CReveiwHistoryDlg, CDialogEx) |
| | |
| | | ON_WM_KEYDOWN() |
| | | ON_BN_CLICKED(IDC_BUTTON_OFFSET_APPLY, &CReveiwHistoryDlg::OnBnClickedButtonOffsetApply) |
| | | ON_BN_CLICKED(IDC_BUTTON_OFFSET_SAVE, &CReveiwHistoryDlg::OnBnClickedButtonOffsetSave) |
| | | ON_BN_CLICKED(IDC_CHECK_INS_VIEW_CENTER_LINE, &CReveiwHistoryDlg::OnBnClickedCheckInsViewCenterLine) |
| | | END_MESSAGE_MAP() |
| | | |
| | | // CReveiwHistoryDlg 메시지 처리기 |
| | |
| | | InitGridDefectLIst(&m_gridDefectInfo, IDC_STATIC_GRID_DEFECT); |
| | | InitGridGlassLIst(&m_gridGlassInfo, IDC_STATIC_GRID_GLASS_INFO); |
| | | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | CString strPath = _T(""); |
| | | InitDataInfo(); |
| | | strPath.Format(_T("%s%s"), REVIEW_OFFSET_CONFIGFILE_PATH, REVIEW_OFFSET_CONFIGFILE_NAME); |
| | | LoadOffset(strPath); |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | OnViewReviewdefect(); |
| | | |
| | | m_chkReviewDefect.SetCheck(TRUE); |
| | |
| | | |
| | | m_ctlProgress.SetRange(0, 100); |
| | | m_ctlProgress.ShowWindow(FALSE); |
| | | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | InitDataInfo(); |
| | | PostThreadMessage(m_ThreadId, UM_THREAD_LOADING_OFFSET, 0, 0); |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | return TRUE; // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다. |
| | | } |
| | |
| | | { |
| | | dc.SetStretchBltMode(COLORONCOLOR); |
| | | m_AlignSecend.Draw(dc, m_Align_rect2); |
| | | } |
| | | if (m_CheckInsViewCenterLine.GetCheck() == TRUE) |
| | | { |
| | | DrawInsViewCenterLine(&dc); |
| | | } |
| | | CDialogEx::OnPaint(); |
| | | } |
| | |
| | | //ImageShow(pDefectInfo->m_nDefectID); |
| | | if (!m_bDefectAll) |
| | | { |
| | | ImageShow(pDispInfo->item.row - 1); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(pDefectInfo->m_nDefectID); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //origin |
| | | //ImageShow(pDispInfo->item.row - 1); |
| | | } |
| | | else |
| | | { |
| | |
| | | //정렬 순서를 사용자가 원하는 순으로 하자 |
| | | if (!m_bDefectAll) |
| | | { |
| | | m_sldImg.SetPos(pDispInfo->item.row - 1); |
| | | |
| | | int nPos = m_sldImg.GetPos(); |
| | | CString strPos; |
| | | strPos.Format(_T("%d"), nPos); |
| | | m_ctrCount.SetWindowText(strPos); |
| | | /*< LYW 20211221 - #5000 Delete Start >*/ |
| | | |
| | | // m_sldImg.SetPos(pDispInfo->item.row - 1); |
| | | // |
| | | // int nPos = m_sldImg.GetPos(); |
| | | // CString strPos; |
| | | // strPos.Format(_T("%d"), nPos); |
| | | // m_ctrCount.SetWindowText(strPos); |
| | | /*< LYW 20211221 - #5000 Delete End >*/ |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (m_Formation.m_vecImage[i].m_nDefectID == nSelectDefect) |
| | | { |
| | | ImageShow(i); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(nSelectDefect); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //origin |
| | | //ImageShow(i); |
| | | break; |
| | | } |
| | | } |
| | |
| | | SetScrollSetting(); |
| | | } |
| | | /*< LYW 20211028 - #3684 ADD Start >*/ |
| | | HWND hWnd = GetSafeHwnd(); |
| | | PostThreadMessage(m_ThreadId, UM_THREAD_WARNING_OFFSET, 0, 0); |
| | | if (m_LastSaveOffsetTime >= m_CurrentResultFileTime) |
| | | { |
| | | PostThreadMessage(m_ThreadId, UM_THREAD_WARNING_OFFSET, 0, 0); |
| | | } |
| | | /*< LYW 20211028 - #3684 ADD End >*/ |
| | | } |
| | | |
| | |
| | | |
| | | m_ConfigOption.m_nSelectRawType = 3; |
| | | |
| | | } |
| | | |
| | | void CReveiwHistoryDlg::DrawInsViewCenterLine(CPaintDC * pDC) |
| | | { |
| | | if (m_picture_rect2.Width() == 0 || m_picture_rect2.Height() == 0) return; |
| | | |
| | | CRect rtDraw = m_picture_rect2; |
| | | |
| | | CPen pen, *pPen = NULL; |
| | | pen.CreatePen(PS_DOT, 1, RGB(255, 0, 0)); |
| | | pDC->SelectObject(&pen); |
| | | |
| | | //pDC->SelectStockObject(WHITE_PEN); |
| | | |
| | | // center line |
| | | pDC->MoveTo((rtDraw.Width() / 2) + rtDraw.left, 0 + rtDraw.top); |
| | | pDC->LineTo((rtDraw.Width() / 2) + rtDraw.left, rtDraw.Height() + rtDraw.top); |
| | | pDC->MoveTo(0 + rtDraw.left, (rtDraw.Height() / 2) + rtDraw.top); |
| | | pDC->LineTo(rtDraw.Width() + rtDraw.left, (rtDraw.Height() / 2) + rtDraw.top); |
| | | } |
| | | |
| | | void CReveiwHistoryDlg::OnBnClickedBtnFindBin() |
| | |
| | | |
| | | if (!m_bDefectAll) |
| | | { |
| | | nIndex = nDefectID; |
| | | break; |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | if (pImage->m_nDefectID == nDefectID) |
| | | { |
| | | nIndex = i; |
| | | break; |
| | | } |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //Origin |
| | | // nIndex = nDefectID; |
| | | // break; |
| | | } |
| | | else |
| | | { |
| | |
| | | _akReviewList* pImageInfo = &m_Formation.m_vecImage[nPos]; |
| | | |
| | | m_FormationMap.setSelectDefect(pImageInfo->m_nDefectID); |
| | | //ImageShow(pImageInfo->m_nDefectID/*nPos*/); |
| | | ImageShow(nPos); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(pImageInfo->m_nDefectID/*nPos*/); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //Origin |
| | | //ImageShow(nPos); |
| | | setDefectShow(pImageInfo->m_nDefectID, 1); |
| | | } |
| | | } |
| | |
| | | int center_y = (SrcImage.GetHeight() / 2); // 회전 중심점 |
| | | |
| | | double seta = 3.14 / (180.0 / degree); // 라디안 |
| | | double CosSeta = cos(seta); |
| | | double SinSeta = sin(seta); |
| | | double CosSeta = -1; |
| | | double SinSeta = 0; |
| | | // double CosSeta = cos(seta); |
| | | // double SinSeta = sin(seta); |
| | | |
| | | for (int y = 0; y < Height; y++) |
| | | { |
| | |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | SaveOffset(); |
| | | SendMsg2ReviewSystem(); |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::LoadOffset(CString strFilePath) |
| | |
| | | macroFile.GetItem(_T("CAMERA_COUNT"), m_nCameraCount, 0); |
| | | macroFile.GetItem(_T("SCAN_COUNT"), m_nScanCount, 0); |
| | | macroFile.GetItem(_T("XPOS_COUNT"), m_XposCount, 0); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | macroFile.GetItem(_T("WARN_STANDARD"), m_dWarnStandard, 0); |
| | | macroFile.GetItem(_T("HARD_STANDARD"), m_dHardStandard, 0); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | CString strItem = _T(""); |
| | | double dXoffset = 0; |
| | | double dYoffset = 0; |
| | |
| | | strItem.Format(_T("XPOS_COUNT")); |
| | | macroFile.SetItem(strItem, m_XposCount); |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | strItem.Format(_T("WARN_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dWarnStandard); |
| | | |
| | | strItem.Format(_T("HARD_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dHardStandard); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | |
| | | CString strData; |
| | | double dData = 0; |
| | |
| | | |
| | | bReturn = macroFile.Write(strFilePath); |
| | | |
| | | /*< LYW 20220525 - #4158 ADD Start >*/ |
| | | CString strRTMSBackUpFilePath; |
| | | strRTMSBackUpFilePath.Format(_T("%s\\%s"), _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT, REVIEW_OFFSET_CONFIGFILE_NAME); |
| | | |
| | | if (bReturn) |
| | | { |
| | | CopyFile(REVIEW_OFFSET_CONFIGFILE_FULL_PATHNAME, strRTMSBackUpFilePath, FALSE); |
| | | } |
| | | /*< LYW 20220525 - #4158 ADD End >*/ |
| | | |
| | | if (bReturn) |
| | | { |
| | | /*< LYW 20211028 - #3684 ADD Start >*/ |
| | |
| | | else AfxMessageBox(_T("OFFSET SAVE FAIL"), MB_OK | MB_ICONHAND); |
| | | |
| | | return bReturn; |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::SendMsg2ReviewSystem() |
| | | { |
| | | HWND hWnd = ::FindWindow(NULL, _T("ReviewSystem")); |
| | | |
| | | if (hWnd) |
| | | { |
| | | COPYDATASTRUCT cds; |
| | | cds.dwData = COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM; |
| | | cds.cbData = 0; |
| | | cds.lpData = 0; |
| | | |
| | | ::SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM)(LPVOID)&cds); |
| | | |
| | | return TRUE; |
| | | } |
| | | |
| | | return FALSE; |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::ApplyOffset(int nModuleidx, int nCamIndex, int ScanIndex, double dXOffsetValue, double dYOffsetValue) |
| | |
| | | DWORD RunThreadReviewHistory(LPVOID param) |
| | | { |
| | | MSG msg; |
| | | CString strPath = _T(""); |
| | | CReveiwHistoryDlg* pDlg = (CReveiwHistoryDlg*)param; |
| | | while (GetMessage(&msg, NULL, 0, 0)) |
| | | { |
| | |
| | | pDlg->PostMessage(UM_WARNING_OFFSET); |
| | | break; |
| | | |
| | | case UM_THREAD_LOADING_OFFSET: |
| | | strPath.Format(_T("%s%s"), REVIEW_OFFSET_CONFIGFILE_PATH, REVIEW_OFFSET_CONFIGFILE_NAME); |
| | | pDlg->LoadOffset(strPath); |
| | | break; |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | return 0; |
| | | } |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | |
| | | void CReveiwHistoryDlg::OnBnClickedCheckInsViewCenterLine() |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | Invalidate(TRUE); |
| | | |
| | | } |