#include "StdAfx.h"
|
#include "GlassRawBase.h"
|
|
#include "akLoggerExt.h"
|
|
CGlassRawBase::CGlassRawBase(void)
|
{ /* <LJC 20211122 : #3820 ADD Start> */
|
b_EnableFtpAck = FALSE;
|
/* <LJC 20211122 : #3820 ADD End> */
|
}
|
|
CGlassRawBase::~CGlassRawBase(void)
|
{
|
}
|
|
BOOL CGlassRawBase::WriteBinFile( CgrmGlassRawData* pData )
|
{
|
AKLOG("WriteBinFile Start");
|
CString strFileName;
|
strFileName.Format("%s\\%s", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName);
|
FILE* pf = fopen(strFileName.GetBuffer(0), "wb");
|
if(pf)
|
{
|
fwrite(pData->GetMemInfo(), sizeof(_grmDitMemInfo), 1, pf);
|
|
fwrite(pData->GetGlassData(), pData->GetMemInfo()->m_nSizeOfGlassData, sizeof(char), pf);
|
|
for(int i=0; i<pData->GetGlassData()->m_nCellNum; i++)
|
{
|
fwrite(pData->GetCellData(i), pData->GetMemInfo()->m_nSizeOfCellData, sizeof(char), pf);
|
}
|
|
for(int i=0; i<pData->GetGlassData()->m_nDefectNum; i++)
|
{
|
fwrite(pData->GetDefectData(i), pData->GetMemInfo()->m_nSizeOfDefectData, sizeof(char), pf);
|
}
|
|
fclose(pf);
|
}
|
else
|
{
|
AKLOG("WriteBinFile Fail");
|
return FALSE;
|
}
|
AKLOG("WriteBinFile Finish");
|
return TRUE;
|
}
|
|
BOOL CGlassRawBase::ReadBinFile( CgrmGlassRawData* pData )
|
{
|
CString strFileName;
|
strFileName.Format("%s\\%s", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName);
|
FILE* pf = fopen(strFileName.GetBuffer(0), "rb");
|
if(pf)
|
{
|
_grmDitMemInfo MemInfo;
|
fread(&MemInfo, sizeof(_grmDitMemInfo), 1, pf);
|
|
//pData->ImportGlassRaw(pData->GetMemInfo(), NULL);
|
BOOL bFileFormDiff = FALSE;
|
bFileFormDiff = FALSE;
|
{
|
if(pData->GetMemInfo()->m_nSizeOfGlassData != MemInfo.m_nSizeOfGlassData) bFileFormDiff |= TRUE;
|
if(pData->GetMemInfo()->m_nSizeOfBlockData != MemInfo.m_nSizeOfBlockData) bFileFormDiff |= TRUE;
|
if(pData->GetMemInfo()->m_nSizeOfCellData != MemInfo.m_nSizeOfCellData) bFileFormDiff |= TRUE;
|
if(pData->GetMemInfo()->m_nSizeOfDefectData != MemInfo.m_nSizeOfDefectData) bFileFormDiff |= TRUE;
|
|
//if(pData->m_nCellMaxDataNum < m_pGlassData->m_nCellNum) return FALSE;
|
//if(pData->m_nDefectMaxDataNum < m_pGlassData->m_nDefectNum) return FALSE;
|
|
if(bFileFormDiff) {fclose(pf); return FALSE;}
|
}
|
|
fread(pData->GetGlassData(), pData->GetMemInfo()->m_nSizeOfGlassData, sizeof(char), pf);
|
|
bFileFormDiff = FALSE;
|
{
|
if(pData->GetMemInfo()->m_nCellMaxDataNum < pData->GetGlassData()->m_nCellNum) bFileFormDiff |= TRUE;
|
if(pData->GetMemInfo()->m_nDefectMaxDataNum < pData->GetGlassData()->m_nDefectNum) bFileFormDiff |= TRUE;
|
|
if(bFileFormDiff) {fclose(pf); return FALSE;}
|
}
|
|
for(int i=0; i<pData->GetGlassData()->m_nCellNum; i++)
|
{
|
fread(pData->GetCellData(i), pData->GetMemInfo()->m_nSizeOfCellData, sizeof(char), pf);
|
}
|
|
for(int i=0; i<pData->GetGlassData()->m_nDefectNum; i++)
|
{
|
fread(pData->GetDefectData(i), pData->GetMemInfo()->m_nSizeOfDefectData, sizeof(char), pf);
|
}
|
|
fclose(pf);
|
}
|
else
|
{
|
return FALSE;
|
}
|
|
return TRUE;
|
}
|
|
BOOL CGlassRawBase::ReviewWriteBin(CgrmGlassRawData* pData)
|
{
|
CString strFileName;
|
strFileName.Format("D:\\DIT_ResultData\\RawBin\\%s", pData->GetGlassData()->m_strFileName);
|
FILE* pf = fopen(strFileName.GetBuffer(0), "wb");
|
if (pf)
|
{
|
fwrite(pData->GetMemInfo(), sizeof(_grmDitMemInfo), 1, pf);
|
|
fwrite(pData->GetGlassData(), pData->GetMemInfo()->m_nSizeOfGlassData, sizeof(char), pf);
|
|
for (int i = 0; i < pData->GetGlassData()->m_nCellNum; i++)
|
{
|
fwrite(pData->GetCellData(i), pData->GetMemInfo()->m_nSizeOfCellData, sizeof(char), pf);
|
}
|
|
for (int i = 0; i < pData->GetGlassData()->m_nDefectNum; i++)
|
{
|
fwrite(pData->GetDefectData(i), pData->GetMemInfo()->m_nSizeOfDefectData, sizeof(char), pf);
|
}
|
|
fclose(pf);
|
}
|
else
|
{
|
return FALSE;
|
}
|
|
return TRUE;
|
}
|