SDC C-Project CF Review 프로그램
LYW
2022-07-26 73f77c34a0d680de9e562a7e572764ffc746fbac
ReviewSystem/ReviewSystem/DitGlassRawStruct.h
@@ -8,6 +8,8 @@
#define RAWMESSENGER_MAXCAMNUM 30
#define RAWMESSENGER_MAXSCANNUM 20
#define RAWMESSENGER_MAXHLINUM 8
#define RAW_CODE_MAX 10
#define MAX_ZONE_NUM 16
@@ -60,6 +62,11 @@
   int m_nGlassSizeWidth;
   int m_nGlassSizeHeight;
    /* <KYH 211129 : #3796 ADD Start> */
   int         m_nDefectNumJudgeND;
   /* <KYH 211129 : #3796 ADD End> */
   //DUMY DATA
   int         Dumy_int[9];
   //설비정보
   char m_strLine[32];
@@ -110,6 +117,9 @@
   int         m_nDefectNumTypeMD;
   int         m_nDefectNumTypeCD;
   int         m_nDefectNumTypeMC;
   /* <LJC 20220422 : #3957 ADD Start> */
   int         m_nDefectCode[RAW_CODE_MAX];
   /* <LJC 20220422 : #3957 ADD End> */
   int         m_nDefectNumJudgeOKWhite;
   int         m_nDefectNumJudgeOKBlack;
@@ -119,7 +129,9 @@
   int         m_nDefectNumJudgeRV;
   int         m_nDefectNumJudgeTR;
   int         m_nDefectNumJudgePR;
   /*< LHS 20211029 - #3783 MOD Start >*/
   int         m_nDefectNumJudgeLine;
   /*< LHS 20211029 - #3783 MOD End >*/
   int         m_nDefectNumStackTD;
   int         m_nDefectNumStackSD;
   int         m_nDefectNumStackPD;
@@ -129,9 +141,9 @@
   //카메라/스캔 정보 [김태현 2018/12/5]
   short      m_nCameraNum;
   short      m_nScanNum;
   unsigned char m_nGrayLevelAvg[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM];
   unsigned char m_nGrayLevelMin[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM];
   unsigned char m_nGrayLevelMax[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM];
   unsigned char m_nGrayLevelAvg[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM];
   unsigned char m_nGrayLevelMin[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM];
   unsigned char m_nGrayLevelMax[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM];
   //얼라인 정보 um[김태현 2018/12/10]
   double   m_nAlignCcdTheta;
@@ -143,6 +155,9 @@
   double   m_nAlignBasicTheta;
   double   m_nAlignBasicShitftX;
   double   m_nAlignBasicShitftY;
   char   m_strAlignFirst[64];
   char   m_strAlignSecond[64];
//    char   m_strAlignPath[256];
   //CSOT용 물류 정보 [김태현 2018/12/5]
   char m_strCassetteSequenceNo[16];
@@ -171,7 +186,7 @@
   char m_strFlowHistory[2];
   char m_strCount1[2];
   char m_strCount2[2];
   char m_StrMergeList[10][12];
   //Mura Data 0412 nwh
   char m_strMaxAvgGray[12];
   char m_strMaxPortion[12];
@@ -191,13 +206,26 @@
   int m_nStackNum;
   BOOL m_bStackRead;
   /*< KJG 20211024 - #3487 ADD Start >*/
   int m_nRawMergeNum;
   BOOL m_bRawMergeRead;
   /*< KJG 20211024 - #3487 ADD End >*/
   //210203 CJH - CutOff 대상 결함 수
   int m_nCutOffDefectNum;
   //210323 CJH - Server/Frame Shrink 정보 추가
   char m_strShrinked[6];
   //210326 CJH - RAW 입력 Defect 수량 상한 사용여부
   BOOL m_bRawCutoff;
   //210907 KJG - EdgeCrack 검사 사용 유무
   BOOL m_bEdgeCrackUse;
   BOOL m_bRawMergeUse;
   /* < KJG 20220225 - #3850 ADD Start >*/
   char m_strRawMergeStepID[32];
   /* < KJG 20220225 - #3850 ADD End >*/
   /* < KMH 20220614 : #3957 ADD Start > */
   char m_strRawDefectCode[RAW_CODE_MAX][5];   // 4글자만 표기
   /* < KMH 20220614 : #3957 ADD End > */
};
struct _grmBlockData
{
@@ -251,17 +279,56 @@
   int         m_nDefectNumTypeMD;
   int         m_nDefectNumTypeCD;
   int         m_nDefectNumTypeMC;
   /* <KYH 211129 : #3796 ADD Start> */
   int         m_nDefectNumJudgeND;
   /* <KYH 211129 : #3796 ADD End> */
   /* <LJC 20220422 : #3957 ADD Start> */
   int         m_nDefectCode[RAW_CODE_MAX];
   /* <LJC 20220422 : #3957 ADD End> */
   //DUMY DATA
   int         Dumy_int[9];
   //Mura Data nwh 0404 
   char      m_strProImage[32];
   char      m_strAvgGray_0[12];
   char      m_strPortion_0[12];
   //kyh Mura Data 추가 0622
   char      m_strCorner_Gray_0[12];
   char      m_strAvgAmp_0[12];
   char      m_strFFTVar_0[12];
   char      m_strFFTVah_0[12];
   char      m_strFFTVaq_0[12];
   char      m_strFFTPK_0[12];
   char      m_strAvgGray_1[12];
   char      m_strPortion_1[12];
   //kyh Mura Data 추가 0622
   char      m_strCorner_Gray_1[12];
   char      m_strAvgAmp_1[12];
   char      m_strFFTVar_1[12];
   char      m_strFFTVah_1[12];
   char      m_strFFTVaq_1[12];
   char      m_strFFTPK_1[12];
   char      m_strAvgGray_2[12];
   char      m_strPortion_2[12];
   //kyh Mura Data 추가 0622
   char      m_strCorner_Gray_2[12];
   char      m_strAvgAmp_2[12];
   char      m_strFFTVar_2[12];
   char      m_strFFTVah_2[12];
   char      m_strFFTVaq_2[12];
   char      m_strFFTPK_2[12];
   char      m_strAvgGray_3[12];
   char      m_strPortion_3[12];
   //kyh Mura Data 추가 0622
   char      m_strCorner_Gray_3[12];
   char      m_strAvgAmp_3[12];
   char      m_strFFTVar_3[12];
   char      m_strFFTVah_3[12];
   char      m_strFFTVaq_3[12];
   char      m_strFFTPK_3[12];
   int         m_nDefectNumJudgeOKWhite;
   int         m_nDefectNumJudgeOKBlack;
@@ -271,7 +338,9 @@
   int         m_nDefectNumJudgeRV;
   int         m_nDefectNumJudgeTR;
   int         m_nDefectNumJudgePR;
   /*< LHS 20211029 - #3783 MOD Start >*/
   int         m_nDefectNumJudgeLine;
   /*< LHS 20211029 - #3783 MOD End >*/
   int         m_nReflowResult[8];         // 0: Reflow X 1: Reflow OK 2: Reflow NG
   // Filtering된 Stack별 수
@@ -306,6 +375,7 @@
   float      m_fManification;
   float      m_fManificResoultion;
   char      m_strRevImageName[256];
   char      m_strRevImagePath[256];
   //////////////////////////////////////////////////////////////////////////
   // Measure 영역
@@ -353,7 +423,11 @@
   int            m_nPixelConv;            // pixel 단위 좌표
   int            m_nPixelScan;            // pixel 단위 좌표
   short                     m_nPixelSize;            // 결함크기      ---------------------------------PS
   /* < KMH 20220707 : #4230 MOD Start > */
   // 범위 벗어나서 음수로 표기되면 D_Col Fail
   //short                     m_nPixelSize;            // 결함크기      ---------------------------------PS
   int               m_nPixelSize;            // 결함크기      ---------------------------------PS
   /* < KMH 20220707 : #4230 MOD End > */
   short/*SERVER_DefectType*/      m_DefectType;            // 결함 타입   ---------------------------------DT
   short/*SERVER_DefectSubType*/   m_DefectSubType;         // 결함의 판정상태.
   short/*SERVER_DefectBDType*/   m_DefectBDType;            // 결함 타입 - Bright, Dark, Both
@@ -379,6 +453,7 @@
   int            m_nPixelGlassStart;         // Glass 시작 픽셀
   short         m_sDefectLoc;
   short         m_sZoneClassPixelCount[16];
   short         m_sZonePixelCount[16];   // Zone별 결함 Pixel 수
   short         m_sZoneValueMin[16];   // Zone별 결함 Min
   short         m_sZoneValueMax[16];   // Zone별 결함 Max
@@ -412,6 +487,7 @@
   int            m_nUMCellY;               // 셀 원점 기준 y 좌표
   short         m_nModelIdx;            // 몇 번째 모델인가?
   short         m_nCellIdx;               // 몇번째 셀인가?
   char         m_strCellName[32];         // 셀 이름                     /* < KMH 20220609 : #4183 ADD  > */
   short         m_nCellGate;            // 셀별 Gate라인(얼라인 보정 전)
   short         m_nCellData;            // 셀별 Data라인(얼라인 보정 전)
   short         m_nCellGateAlign;         // 셀별 Gate라인(얼라인 보정 후)
@@ -431,7 +507,10 @@
   short         m_nStackStepCount;         // Stack 수
   short         m_nStackColorIdx;         // Color를 선택하는 인덱스.
   //CString         m_strStackStep[CFDEFECT_STACKCOUNT];         // Stack Step.
   char         m_strStackFirst[60];         // Stack Step. //201221 CJH - 최대 사이즈 60bytes
/* < KMH 20220712 : #4230 MOD Start > */
   //   char         m_strStackFirst[60];         // Stack Step. //201221 CJH - 최대 사이즈 60bytes
   char         m_strStackFirst[400];         // Stack Step. // 400 bytes 확장요청 : SDC 채승석P
/* < KMH 20220712 : #4230 MOD End > */
   char         m_strUnitID[16];            // 유닛아이디
   int            m_ClassificationType;            // enum ClassificationType         { ClassType_None= 0, ClassType_PI_Over= 1, ClassType_PI_Under= 2, ClassType_TFE_Circle= 3, ClassType_Bubble, ClassType_Scratch, ClassType_Particle}; Classification Type, PI나 TFE등 추가 분류  알고리즘 적용 결과.
@@ -466,8 +545,18 @@
   BOOL         m_bShrinked;            //210323 CJH - Frame Shrink 정보 추가
   char         m_strAoiImagePath[255];
   char         m_strReviewImagePath[255];
   //리뷰 디펙 정보 [김태현 2019/1/19]
   int            m_nAlignRectLeft;
   int            m_nAlignRectTop;
   int            m_nAlignRectBottom;
   int            m_nAlignRectRight;
   /*< LHS 20211029 - #3783 MOD Start >*/
   char         m_strLNDefectCode[12];
   short/*LineDefectType*/ m_LineDefectType;
   /*< LHS 20211029 - #3783 MOD End >*/
   _grmDefectReviewData m_ReviewDefect;
};
@@ -490,6 +579,8 @@
   grcWriteBin = 201,
   grcReadBin = 202,
   grcReviewWriteBIn = 301,
   grcGlassRawCommand
};
@@ -517,6 +608,9 @@
   int m_nCellMaxDataNum;
   int m_nDefectMaxDataNum;
   int m_nStackMaxDataNum;
   /*< KJG 20211024 - #3487 ADD Start >*/
   int m_nRawMergeMaxDataNum;
   /*< KJG 20211024 - #3487 ADD End >*/
   //Char 기준 자료가 있는 시작 위치 [김태현 2018/11/12]
   int m_nGlassDataPoint;
@@ -524,12 +618,18 @@
   int m_nCellDataPoint;
   int m_nDefectDataPoint;
   int m_nStackDataPoint;
   /*< KJG 20211024 - #3487 ADD Start >*/
   int m_nRawMergeDataPoint;
   /*< KJG 20211024 - #3487 ADD End >*/
   int m_nSizeOfGlassData;
   int m_nSizeOfBlockData;
   int m_nSizeOfCellData;
   int m_nSizeOfDefectData;
   int m_nSizeOfStackData;
   /*< KJG 20211024 - #3487 ADD Start >*/
   int m_nSizeOfRawMergeData;
   /*< KJG 20211024 - #3487 ADD End >*/
};
struct _grmDitGlassRawInfo : public _grmDitMemInfo, public _grmDitCommand
{