SDC C-Project CF Review 프로그램
KEJ
2024-06-27 ce2731b82636ca893693575810e7ed5ee8cc5e2e
ReviewSystem/ReviewSystem/DitGlassRawClient.cpp
@@ -2,7 +2,7 @@
#include "DitGlassRawClient.h"
CDitGlassRawClient::CDitGlassRawClient(void)
   : m_mxCommandProcess(FALSE, MUTEX_RAWMESSENGER)
: m_mxCommandProcess(FALSE, MUTEX_RAWMESSENGER)
{
   m_hMapBasicInfo = NULL;
   m_hMapGlassData = NULL;
@@ -77,7 +77,7 @@
}
BOOL CDitGlassRawClient::ConnectGlassRawData()
{
{
   SIZE_T nGlassRawSharedSize = m_pGlassRawInfo->m_nGlassRawDataSize;
   if(m_hMapGlassData == NULL)
@@ -105,7 +105,9 @@
   m_pCellData   = (_grmCellData*)&m_pGlassRawData[m_pGlassRawInfo->m_nCellDataPoint];
   m_pDefectData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nDefectDataPoint];
   m_pStackData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nStackDataPoint];
   /*< KJG 20211024 - #3487 ADD Start >*/
   m_pRawMergeData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nRawMergeDataPoint];
   /*< KJG 20211024 - #3487 ADD End >*/
   return TRUE;
}
@@ -138,14 +140,14 @@
   int nCmdId = (m_pGlassRawInfo->m_nCommandIdxWrite+1) % COMMAND_MAXCOUNT;
   if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId)//���� ���ٴ°��� ��ŧ�� ���۰� �ѹ��� ���Ҵٴ°�!! [������ 2018/11/12]
   if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId)//둘이 같다는것은 서큘러 버퍼가 한바퀴 돌았다는것!! [김태현 2018/11/12]
   {
      m_pGlassRawInfo->m_nCommandIdxRead++;//占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占쏙옙占?占싹놂옙占쏙옙 占쏙옙占쏙옙占싼댐옙. [占쏙옙占쏙옙占쏙옙 2018/11/12]
      m_pGlassRawInfo->m_nCommandIdxRead++;//가장 오래된 명령 하나를 삭제한다. [김태현 2018/11/12]
   }
   m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nCommand = (short)nCmd;
   m_pGlassRawInfo->m_nCommandBuffer[nCmdId].strParam;
   m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1; //-1������, 0����, 1���� [������ 2018/11/13]
   m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1; //-1수행전, 0실패, 1성공 [김태현 2018/11/13]
   m_nLastCommandIdx = m_pGlassRawInfo->m_nCommandIdxWrite = nCmdId;
@@ -154,6 +156,30 @@
   return TRUE;
}
/* < KJG 20240620 - #4942 ADD Start >*/
void CDitGlassRawClient::ResetClientResultStep()
{
   if (isConnect() == FALSE) return;
   if (m_pGlassRawInfo)
   {
      m_pGlassRawInfo->m_ClientResultStep = APS_RES_None;
   }
}
emClientResult CDitGlassRawClient::GetClientResultStep()
{
   if (isConnect() == FALSE) return APS_RES_None;
   if (m_pGlassRawInfo)
   {
      return m_pGlassRawInfo->m_ClientResultStep;
   }
   return APS_RES_None;
}
/* < KJG 20240620 - #4942 ADD End >*/
emAOIProcStep CDitGlassRawClient::GetProcessStep()
{
@@ -172,7 +198,9 @@
   if(isConnect() == FALSE) return FALSE;
   m_pGlassRawInfo->m_ClientProcStep = APS_GlassLoading;
   m_pGlassData->m_bStackRead = FALSE;
   /*< KJG 20211024 - #3487 ADD Start >*/
   m_pGlassData->m_bRawMergeRead = FALSE;
   /*< KJG 20211024 - #3487 ADD End >*/
   return SetCommand(grcSequenceGlassLoading);
}
@@ -192,7 +220,7 @@
BOOL CDitGlassRawClient::SetReviewEnd()
{
    if(isConnect() == FALSE) return FALSE;
   if(isConnect() == FALSE) return FALSE;
   m_pGlassRawInfo->m_ClientProcStep = APS_ReviewEnd;
   return SetCommand(grcSequenceReviewEnd);
}
@@ -217,7 +245,7 @@
void CDitGlassRawClient::RemoveReviewDefects()
{
   int nDefectNum = m_pGlassData->m_nDefectNum;
   int nRightDefectNum = 0;//������ �����ʿ� ��ġ�� ���� ����
   int nRightDefectNum = 0;//기준점 오른쪽에 위치한 결함 갯수
   int nDefectDeleteNum = 0;
   for(int i=nDefectNum-1; i>=0; i--)
   {