From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 월, 26 12월 2022 15:04:42 +0900
Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선  - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경  - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경  - 물류 정보 읽기 처리 후 1000ms Delay 삭제  - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요)  - ReadRawFile 처리 시작 전 500ms Delay 삭제  - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정  - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewSystem/ReviewSystem/DefectMap.cpp |   88 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 82 insertions(+), 6 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/DefectMap.cpp b/ReviewSystem/ReviewSystem/DefectMap.cpp
index 249d9f0..db2f55e 100644
--- a/ReviewSystem/ReviewSystem/DefectMap.cpp
+++ b/ReviewSystem/ReviewSystem/DefectMap.cpp
@@ -77,11 +77,14 @@
 	m_RowColor[2]		= RGB(220,20,220);
 	m_RowColor[3]		= RGB(20,220,220);
 	m_RowColor[4]       = RGB(220, 20, 80);
-	for (int i=0; i<5; i++)
+	m_RowColor[5]		= RGB(255, 128, 0);
+	for (int i=0; i<6; i++)
 	{
 		m_pDefectPen[i].CreatePen(PS_SOLID, 1, m_RowColor[i]); 
 		m_pDefectBrush[i].CreateSolidBrush(m_RowColor[i]); 
 	}
+// 	m_pOffsetPen.CreatePen(PS_SOLID, 1, RGB(100, 200, 80));
+// 	m_pOffsetBrush.CreateSolidBrush(RGB(100, 200, 80));
 
 	m_nPlanIndex		= 0;
 	m_bHistoryEnable = TRUE;
@@ -491,6 +494,28 @@
 	 nCamSacnIndex = nScanidx;
 	 nGlassMax = nXpos;
 	 nGlassMin = nYpos;
+}
+
+void CDefectMap::SetOffsetparm(int nCamidx, int nScanidx, BOOL bUse)
+{
+	CDC *MemDC = GetDC();
+
+	nOffSetMode = bUse;
+	nCamIndex = nCamidx;
+	nCamSacnIndex = nScanidx;
+
+	if (bUse == TRUE)
+	{
+		DrawDefect(MemDC);
+		DrawReviewDefect(MemDC);
+		//DrawWsiDefect(&MemDC);
+	}
+
+	nOffSetMode = FALSE;
+	nCamIndex = -1;
+	nCamSacnIndex = -1;
+
+	//Invalidate(TRUE);
 }
 
 void CDefectMap::OnPaint()
@@ -1585,7 +1610,7 @@
 			return 3;
 		}
 		break;
-
+		//蹂�寃� �븘�슂
 	case DefectType_Judge:
 		if (defectFilter.bJudgeOK && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_OK))
 		{
@@ -1600,6 +1625,11 @@
 		if (defectFilter.bJudgePR && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_PR))
 		{
 			return 2;
+		}
+
+		if (defectFilter.bJudgeND && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_ND))
+		{
+			return 3;
 		}
 		break;
 
@@ -1737,6 +1767,11 @@
 		{
 			return 2;
 		}
+
+		if (defectFilter.bJudgeND)
+		{
+			return 3;
+		}
 		break;
 
 	case DefectType_Process:
@@ -1818,13 +1853,36 @@
 			continue;
 		}
 
-		pOldPen = pDC->SelectObject(&m_pDefectPen[nColorIdx]);
-		pDC->SelectStockObject(BLACK_PEN);
-		pOldBrush = pDC->SelectObject(&m_pDefectBrush[nColorIdx]);
+		if (nOffSetMode == TRUE)
+		{
+			if (pDefectResult->nAOICameraIdx == nCamIndex && pDefectResult->nAOIScanIdx == nCamSacnIndex)
+			{
+				pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+				//pDC->SelectStockObject(BLACK_PEN);
+				pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+			}
+			else
+			{
+				pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+				pDC->SelectStockObject(BLACK_PEN);
+				pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+				pDC->SelectStockObject(BLACK_BRUSH);
+			}
+
+		}
+
+		else
+		{
+			pOldPen = pDC->SelectObject(&m_pDefectPen[nColorIdx]);
+			pDC->SelectStockObject(BLACK_PEN);
+			pOldBrush = pDC->SelectObject(&m_pDefectBrush[nColorIdx]);
+		}
 
 		nPosX = pDefectResult->nUMOriginX;
 		nPosY = pDefectResult->nUMOriginY;
 		TransformGlass2Map(nPosX, nPosY);
+
+
 
 		pDC->Rectangle(nPosX - m_nDefectSize, nPosY - m_nDefectSize, nPosX + m_nDefectSize, nPosY + m_nDefectSize);
 	}
@@ -2226,7 +2284,25 @@
 
 		for(constVectorSReviewResultIt its=pReviewResult->m_vecSReviewResult.begin(); its!=pReviewResult->m_vecSReviewResult.end();its++)
 		{
-			if(its->nResultCode > ReviewResult_Process_Fail)
+			if (nOffSetMode == TRUE)
+			{
+				if (its->nAOICameraIdx == nCamIndex && its->nAOIScanIdx == nCamSacnIndex)
+				{
+					pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+					//pDC->SelectStockObject(BLACK_PEN);
+					pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+					//pDC->SelectStockObject(BLACK_BRUSH);
+				}
+				else
+				{
+					pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+					pDC->SelectStockObject(BLACK_PEN);
+					pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+					pDC->SelectStockObject(BLACK_BRUSH);
+				}
+
+			}
+			else if(its->nResultCode > ReviewResult_Process_Fail)
 			{
 				pOldPen = pDC->SelectObject(&reviewedPen);
 				pOldBrush = pDC->SelectObject(&reviewedBrush);

--
Gitblit v1.9.3