From 344c17c8fcceea4c72e26ef1b4b9a11abfd0f3c4 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 목, 11 11월 2021 17:57:01 +0900
Subject: [PATCH] Merge branch 'feature/#3766_CF_AOI_Review_전설비_설정한_기준치_이상_Offset_적용시_경고_기능_추가' into feature/#3662_CF_AOI_Review_전설비_알람_발생_조치

---
 ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp |   91 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 81 insertions(+), 10 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp
index bb41f16..3c34066 100644
--- a/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp
+++ b/ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp
@@ -89,6 +89,7 @@
 	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++)
 	{
@@ -126,6 +127,7 @@
 	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)
@@ -155,6 +157,7 @@
 	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 硫붿떆吏� 泥섎━湲�
@@ -228,13 +231,6 @@
 	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);
@@ -260,6 +256,11 @@
 
 	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瑜� 諛섑솚�빀�땲�떎.
 }
@@ -344,6 +345,10 @@
 		{
 			dc.SetStretchBltMode(COLORONCOLOR);
 			m_AlignSecend.Draw(dc, m_Align_rect2);
+		}
+		if (m_CheckInsViewCenterLine.GetCheck() == TRUE)
+		{
+			DrawInsViewCenterLine(&dc);
 		}
 		CDialogEx::OnPaint();
 	}
@@ -1834,6 +1839,25 @@
 
 }
 
+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()
 {
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
@@ -2685,8 +2709,10 @@
 	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++)
 	{
@@ -4031,6 +4057,7 @@
 {
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	SaveOffset();
+	SendMsg2ReviewSystem();
 }
 
 BOOL CReveiwHistoryDlg::LoadOffset(CString strFilePath)
@@ -4046,6 +4073,10 @@
 	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;
@@ -4126,6 +4157,14 @@
 	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;
@@ -4177,6 +4216,25 @@
 	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)
@@ -4367,6 +4425,7 @@
 DWORD RunThreadReviewHistory(LPVOID param)
 {
 	MSG msg;
+	CString strPath = _T("");
 	CReveiwHistoryDlg* pDlg = (CReveiwHistoryDlg*)param;
 	while (GetMessage(&msg, NULL, 0, 0))
 	{
@@ -4379,10 +4438,22 @@
 			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 >*/
\ No newline at end of file
+/*< LYW 20211029 - #3684 ADD End >*/
+
+void CReveiwHistoryDlg::OnBnClickedCheckInsViewCenterLine()
+{
+	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
+	Invalidate(TRUE);
+	
+}

--
Gitblit v1.9.3