새 파일 |
| | |
| | | #include "StdAfx.h" |
| | | #include "GlassRawBase.h" |
| | | |
| | | #include "akLoggerExt.h" |
| | | |
| | | CGlassRawBase::CGlassRawBase(void) |
| | | { |
| | | } |
| | | |
| | | 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; |
| | | } |