From c6e24163c3c852b4ac3e45d100b9253b3db0e182 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 15 八月 2025 16:59:00 +0800
Subject: [PATCH] 1. 保存数据优化,提取公共区域,方便后期修改和扩展
---
EdgeInspector_App/Data/DefectStorage.cpp | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/EdgeInspector_App/Data/DefectStorage.cpp b/EdgeInspector_App/Data/DefectStorage.cpp
index 20497cd..65bae73 100644
--- a/EdgeInspector_App/Data/DefectStorage.cpp
+++ b/EdgeInspector_App/Data/DefectStorage.cpp
@@ -410,3 +410,42 @@
MyLock.Unlock();
return m_nDefect;
}
+
+int CDefectControl::ExtractDefect_RipThickness(DimensionDir emDim, int iCam, int iScan, const CDefect_Info& defectInfo, double dMeasured_um, double dSpecDiff_um)
+{
+ if (m_pGrabber == NULL) {
+ return m_nDefect;
+ }
+
+ CSingleLock MyLock(&m_csDefect);
+ MyLock.Lock();
+
+ if (m_nDefect >= m_maxDefect) {
+ MyLock.Unlock();
+ return m_nDefect;
+ }
+
+ CDefect* pDefect = GetDefect(m_nDefect);
+ if (pDefect == NULL) {
+ MyLock.Unlock();
+ return m_nDefect;
+ }
+
+ pDefect->Reset();
+ pDefect->m_bJudge_NG = TRUE; // RIP 鍘氬害寮傚父鍗� NG
+ pDefect->m_nJudge_X_um = dMeasured_um; // 璁板綍娴嬪緱鍘氬害
+ pDefect->m_nJudge_Y_um = dSpecDiff_um; // 璁板綍涓庤鏍煎樊鍊�
+ pDefect->m_DefectInfo = defectInfo;
+
+ int nXStart = defectInfo.m_ptDefectPos_pxl.x - (DEFECTIMAGE_WIDTH / 2);
+ int nYStart = defectInfo.m_ptDefectPos_pxl.y - (DEFECTIMAGE_HEIGHT / 2);
+ if (!m_pGrabber->GetSmallImage(iScan, pDefect->m_Image, nXStart, nYStart, DEFECTIMAGE_WIDTH, DEFECTIMAGE_HEIGHT, FALSE)) {
+ MyLock.Unlock();
+ return m_nDefect;
+ }
+
+ m_nDefect++;
+
+ MyLock.Unlock();
+ return m_nDefect;
+}
\ No newline at end of file
--
Gitblit v1.9.3