From 5cc675212e96d87ebbf00f4fd7a8106b06a490ff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 13 八月 2025 14:00:50 +0800
Subject: [PATCH] 1. 侧面检功能添加优化(主要是现场获取图像问题)

---
 EdgeInspector_App/Define/StatusMonitor.cpp |   58 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/EdgeInspector_App/Define/StatusMonitor.cpp b/EdgeInspector_App/Define/StatusMonitor.cpp
index d3b61b9..92f9435 100644
--- a/EdgeInspector_App/Define/StatusMonitor.cpp
+++ b/EdgeInspector_App/Define/StatusMonitor.cpp
@@ -1,17 +1,19 @@
 锘�#include "StdAfx.h"
 #include "StatusMonitor.h"
 
+#define VALID_IDX(i, max)     ((unsigned)(i) < (unsigned)(max))
+#define VALID_CAM(c)          VALID_IDX((c), MAX_CAMERA_COUNT)
+#define VALID_SCAN(s)         VALID_IDX((s), MAX_SCAN_COUNT)
+#define VALID_CAM_SCAN(c, s)  (VALID_CAM(c) && VALID_SCAN(s))
 
 //////////////////////////////////////////////////////////////////////////
 
 CStatusMonitor::CStatusMonitor(void)
 {
 	m_iScanIdx = -1;
-
-	for(int iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
+	for (int iCam = 0; iCam < MAX_CAMERA_COUNT; iCam++) {
 		m_pFrameBuffer[iCam] = NULL;
-
-	InitGlassLoading();
+	}
 
 	m_pControlInterface		= NULL;
 	m_pLightManager			= NULL;
@@ -21,6 +23,8 @@
 	m_pHWSettings			= NULL;
 	m_pLanguageControl		= NULL;
 	m_pLicenseChecker		= NULL;
+
+	InitGlassLoading();
 }
 
 CStatusMonitor::~CStatusMonitor(void)
@@ -29,35 +33,31 @@
 
 void CStatusMonitor::InitGlassLoading()
 {	
-	for(int i=0;i<MAX_SCAN_COUNT;i++)
-	{
-		m_nGrabFrame[i] = 0;
-		m_bGrabEnd[i] = FALSE;
+	ZeroMemory(m_nGrabFrame, sizeof(m_nGrabFrame));
+	ZeroMemory(m_bGrabEnd, sizeof(m_bGrabEnd));
+}
+
+int	CStatusMonitor::GetGrabFrameCount(int nCamera, int iScan)
+{
+	if (VALID_CAM_SCAN(nCamera, iScan)) {
+		return m_nGrabFrame[nCamera][iScan];
+	}
+
+	return 0;
+}
+
+void CStatusMonitor::SetGrabEnd(int nCamera, int iScan)
+{
+	if (VALID_CAM_SCAN(nCamera, iScan)) {
+		m_bGrabEnd[nCamera][iScan] = TRUE;
 	}
 }
 
-int	CStatusMonitor::GetGrabFrameCount(int iScan)
+void CStatusMonitor::SetGrabFrametoScan(int nCamera, int iScan,int nFrame)
 {
-	if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
-		return 0;
-
-	return m_nGrabFrame[iScan];
-}
-
-void CStatusMonitor::SetGrabEnd(int iScan)
-{
-	if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
-		return;
-
-	m_bGrabEnd[iScan] = TRUE;
-}
-
-void CStatusMonitor::SetGrabFrametoScan(int iScan,int nFrame)
-{
-	if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
-		return;
-
-	m_nGrabFrame[iScan] = nFrame;
+	if (VALID_CAM_SCAN(nCamera, iScan)) {
+		m_nGrabFrame[nCamera][iScan] = nFrame;
+	}
 }
 
 BOOL CStatusMonitor::DeleteFolder(const CString &strFolder)

--
Gitblit v1.9.3