SDC C-Project CF Review 프로그램
DitGlassRawMessenger/Extern/DitGlassRawClient.cpp
@@ -6,11 +6,16 @@
{
   m_hMapBasicInfo = NULL;
   m_hMapGlassData = NULL;
   m_pDitGlassClient =NULL;
   m_pGlassRawInfo = NULL;
   m_pGlassRawData = NULL;
   m_nLastCommandIdx = -1;
   m_pGlassData = NULL;
   m_pBlockData = NULL;
   m_pCellData = NULL;
   m_pDefectData = NULL;
}
CDitGlassRawClient::~CDitGlassRawClient(void)
@@ -100,6 +105,7 @@
   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];
   m_pRawMergeData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nRawMergeDataPoint];
   return TRUE;
}
@@ -132,14 +138,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;
@@ -166,6 +172,7 @@
   if(isConnect() == FALSE) return FALSE;
   m_pGlassRawInfo->m_ClientProcStep = APS_GlassLoading;
   m_pGlassData->m_bStackRead = FALSE;
   m_pGlassData->m_bRawMergeRead = FALSE;
   return SetCommand(grcSequenceGlassLoading);
}
@@ -197,10 +204,20 @@
   return SetCommand(grcSequenceCustomReviewDataRead);
}
CDitGlassRawClient* CDitGlassRawClient::GetInstance()
{
   if(m_pDitGlassClient == NULL)
   {
      m_pDitGlassClient = new CDitGlassRawClient;
   }
   return m_pDitGlassClient;
}
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--)
   {
@@ -221,3 +238,5 @@
   m_pGlassData->m_nDefectNum = nDefectNum-nDefectDeleteNum;
}
CDitGlassRawClient* CDitGlassRawClient::m_pDitGlassClient;