SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
#pragma once
 
#include "CHReviewRecipe/RcpPlanInfo.h"
#include "CHReviewRecipe/RcpPriorityInfo.h"
#include "CHReviewRecipe/RcpLightInfo.h"
#include "CHReviewRecipe/RcpAFMRecipeInfo.h"
#include "CHReviewRecipe/RcpUserDefectInfo.h"
#include "CHReviewRecipe/RcpFilteringInfo.h"
#include "CHReviewRecipe/RcpSortingInfo.h"
#include "CHReviewRecipe/RcpSchedulingInfo.h"
#include "CHReviewRecipe/RcpJudgeInfo.h"
#include "CHReviewRecipe/RsRcpDefectFindInfo.h"
#include "CHReviewRecipe/RcpZoneInfo.h"
#include "CHReviewRecipe/RcpZoneFilteringInfo.h"
 
class AFX_EXT_CLASS CRsRcpReviewInfo
{
public:
    CRsRcpReviewInfo(void);
    virtual ~CRsRcpReviewInfo(void);
    void operator=(const CRsRcpReviewInfo& rhs);
 
public:
    void    Reset();
    void    SetInfo(const CRsRcpReviewInfo& rhs);
    void    GetInfo(CRsRcpReviewInfo& rhs);
 
    BOOL    GetAutoLight() const;
    BOOL    GetWsiAutoLight() const;
    int        GetGlassTypeIdx() const;
 
    // single
    CRcpSchedulingInfo*                GetRcpSchedulingInfo();
    CRcpSortingInfo*                GetRcpReviewSortInfo();
    CRcpSortingInfo*                GetRcpWSISortInfo();
 
    const CRcpSchedulingInfo*        GetRcpSchedulingInfo() const;
    const CRcpSortingInfo*            GetRcpReviewSortInfo() const;
    const CRcpSortingInfo*            GetRcpWSISortInfo() const;
 
    // multi
    int        GetRcpPlanInfoCount() const;
    int        GetRcpPriorityInfoCount() const;
    int        GetRcpWsiPriorityInfoCount() const;
    int        GetRcpLightInfoCount() const;
    int        GetRcpAFMRecipeInfoCount() const;
    int        GetRcpWsiLightInfoCount() const;;
    int        GetRcpWsiAFMRecipeInfoCount() const;
    int        GetRcpUserLightInfoCount() const;;
    int        GetRcpUserAFMRecipeInfoCount() const;
    int        GetRcpReflowParameterCount() const;
    int        GetRcpUserDefectInfoCount() const;
    int        GetRcpReviewFilterInfoCount() const;
    int        GetRcpWSIFilterInfoCount() const;
 
    int     GetRcpZoneFilterInfoCount();
    int        GetRcpJudgeCellDefectCount() const;
    int        GetRcpJudgeGlassDefectCount() const;
    int        GetRcpJudgeGlassCellCount() const;
    int     GetRcpZoneFilterInfoCount_PR();
    int     GetRcpZoneFilterInfoCount_CODE();
 
    void    SetRcpPlanInfoCount(int nCount);
    void    SetRcpPriorityInfoCount(int nCount);
    void    SetRcpWsiPriorityInfoCount(int nCount);
    void    SetRcpLightInfoCount(int nCount);
    void    SetRcpAFMRecipeInfoCount(int nCount);
    void    SetRcpReflowParameterCount(int nCount);
    void    SetRcpUserDefectInfoCount(int nCount);
    void    SetRcpWsiLightInfoCount(int nCount);
    void    SetRcpWsiAFMRecipeInfoCount(int nCount);
    void    SetRcpUserLightInfoCount(int nCount);
    void    SetRcpUserAFMRecipeInfoCount(int nCount);
 
 
    void    SetRcpZoneFilterInfoCount(int nCount);
    void    SetRcpZoneFilterInfoCount_PR(int nCount);
    void    SetRcpZoneFilterInfoCount_CODE(int nCount);
    void    SetRcpZoneInfoCount(int nCount);
    void    SetRcpJudgeCellDefectCount(int nCount);
    void    SetRcpJudgeGlassDefectCount(int nCount);
    void    SetRcpJudgeGlassCellCount(int nCount);
 
    void    SetRcpReviewFilterInfoCount(int nCount);
    void    SetRcpWSIFilterInfoCount(int nCount);
 
    void    SetRcpFilterCount(int nCount)            {m_nFilterCount = nCount;}
    int        GetRcpFilterCount()    const                { return m_nFilterCount;}
 
    void    SetRcpFilterCountWsi(int nCount)        {m_nFilterCountWsi = nCount;}
    int        GetRcpFilterCountWsi() const            { return m_nFilterCountWsi;}
 
    void        SetTopReview(BOOL bData)                {m_bTopReview = bData; }
    BOOL        GetTopReview()                        {return m_bTopReview; }
 
    BOOL        GetDefocusUse()                        {return m_bDefocusUse; }
    void        SetDefocusUse(BOOL bUse)                        { m_bDefocusUse =bUse; }    
 
    double        GetDefocusValue()                        {return m_dDefocusValue; }
    void        SetDefocusValue(double dValue)                        { m_dDefocusValue = dValue; }    
    
    CRcpPlanInfo*                    GetRcpPlanInfo(int nIndex);
    CRcpPriorityInfo*                GetRcpPriorityInfo(int nIndex);
    CRcpPriorityInfo*                GetRcpWsiPriorityInfo(int nIndex);
    CRcpLightInfo*                    GetRcpLightInfo    (int nIndex);
    CRcpAFMRecipeInfo*                GetRcpAFMRecipeInfo(int nIndex);
    CRcpReflowParameter*            GetRcpReflowParameter(int nIndex);
    CRcpUserDefectInfo*                GetRcpUserDefectInfo(int nIndex);
    CRcpLightInfo*                    GetRcpWsiLightInfo    (int nIndex);
    CRcpAFMRecipeInfo*                GetRcpWsiAFMRecipeInfo(int nIndex);
    CRcpLightInfo*                    GetRcpUserLightInfo    (int nIndex);
    CRcpAFMRecipeInfo*                GetRcpUserAFMRecipeInfo(int nIndex);
 
    CRcpFilteringInfo*                GetRcpReviewFilterInfo(int nIndex);
    CRcpFilteringInfo*                GetRcpWSIFilterInfo(int nIndex);
 
    CRcpZoneFilteringInfo*            GetRcpZoneFilteringInfo(int nIndex);
    CRcpZoneFilteringInfo*            GetRcpZoneFilteringInfo_PR(int nIndex);
    CRcpZoneFilteringInfo*            GetRcpZoneFilteringInfo_CODE(int nIndex);
    CRcpZoneInfo*                    GetRcpZoneInfo(int nIndex);
    CRcpJudgeInfo*                    GetRcpJudgeCellDefectInfo(int nIndex);
    CRcpJudgeInfo*                    GetRcpJudgeGlassDefectInfo(int nIndex);
    CRcpJudgeInfo*                    GetRcpJudgeGlassCellInfo(int nIndex);
    
    int GetRcpZoneInfoCount();
 
    const CRcpPlanInfo*                GetRcpPlanInfo(int nIndex) const;
    const CRcpPriorityInfo*            GetRcpPriorityInfo(int nIndex) const;
    const CRcpPriorityInfo*            GetRcpWsiPriorityInfo(int nIndex) const;
    const CRcpLightInfo*            GetRcpLightInfo    (int nIndex) const;
    const CRcpAFMRecipeInfo*        GetRcpAFMRecipeInfo(int nIndex) const;
    const CRcpReflowParameter*        GetRcpReflowParameter(int nIndex) const;
    const CRcpUserDefectInfo*        GetRcpUserDefectInfo(int nIndex) const;
    const CRcpLightInfo*            GetRcpWsiLightInfo    (int nIndex) const;
    const CRcpAFMRecipeInfo*        GetRcpWsiAFMRecipeInfo(int nIndex) const;
    const CRcpLightInfo*            GetRcpUserLightInfo    (int nIndex) const;
    const CRcpAFMRecipeInfo*        GetRcpUserAFMRecipeInfo(int nIndex) const;
 
     const CRcpFilteringInfo*        GetRcpReviewFilterInfo(int nIndex) const;
     const CRcpFilteringInfo*        GetRcpWSIFilterInfo(int nIndex) const;
 
 
    const CRcpJudgeInfo*            GetRcpJudgeCellDefectInfo(int nIndex) const;
    const CRcpJudgeInfo*            GetRcpJudgeGlassDefectInfo(int nIndex) const;
    const CRcpJudgeInfo*            GetRcpJudgeGlassCellInfo(int nIndex) const;
 
    //210215
    int GetJudgeFilterAoiFixel() const { return m_nJudgeFilterAoiPixel; }
public:
    CString                            m_strRecipeName;
    BOOL                            m_bAutoLight;                    // ÀÚµ¿Á¶¸í »ç¿ë À¯¹«
    BOOL                            m_bAutoLightWsi;                // ÀÚµ¿Á¶¸í »ç¿ë À¯¹«
    
    int                                m_nGlassTypeIdx;                // ±Û¶ó½º À妽º
    int                                m_nGlassOrigion;                // ±Û¶ó½º ¿øÁ¡
 
    int                                m_nRsFilterMaxSize;
    int                                m_nRsFilterMInSize;
 
    BOOL                            m_bDefocusUse;
    double                            m_dDefocusValue;
 
 
    //WSI Judge ÇÒ¶§ AOI Size ÇÊÅÍ//210215
    int                                m_nJudgeFilterAoiPixel;
 
protected:
    // multi
    VectorRcpPlanInfo                m_vecRcpPlanInfo;                // ¸®ºä Ç÷£
    VectorRcpPriorityInfo            m_vecRcpPriorityInfo;            // ¸®ºä ¿ì¼±¼øÀ§ Á¤º¸
    VectorRcpPriorityInfo            m_vecRcpWSIPriorityInfo;        // WSI ¿ì¼±¼øÀ§ Á¤º¸
 
    VectorRcpLightInfo                m_vecRcpLightInfo;                // Á¶¸í Á¤º¸
    VectorRcpAFMRecipeInfo            m_vecRcpAFMRecipeInfo;            // AFM ·¹½ÃÇÇ Á¤º¸
 
    VectorRcpLightInfo                m_vecRcpLightInfoWsi;            // Á¶¸í Á¤º¸ WSI
    VectorRcpAFMRecipeInfo            m_vecRcpAFMRecipeInfoWsi;        // AFM ·¹½ÃÇÇ Á¤º¸ WSI
 
    VectorCRcpReflowParameter        m_vecRcpReflowParameter;        // Reflow parameter
    VectorRcpUserDefectInfo            m_vecRcpUserDefectInfo;            // »ç¿ëÀÚ °áÇÔ Á¤º¸
    VectorRcpLightInfo                m_vecRcpLightInfoUser;            // Á¶¸í Á¤º¸ User
 
    VectorRcpAFMRecipeInfo            m_vecRcpAFMRecipeInfoUser;        // AFM ·¹½ÃÇÇ Á¤º¸ User
 
    int                                m_nFilterCount;                    // ÇÊÅÍ Ä«¿îÆ® Á¤º¸4
    int                                m_nFilterCountWsi;
    VectorRcoFilteringInfo            m_vecRcpReviewFilterInfo;        // ¸®ºä ÇÊÅÍ Á¤º¸
    VectorRcoFilteringInfo            m_vecRcpWSIFilterInfo;            // WSI ÇÊÅÍ Á¤º¸
 
    // single
    CRcpSortingInfo                    m_RcpReviewSortInfo;            // ¸®ºä ¼ÒÆÃ Á¤º¸
    CRcpSortingInfo                    m_RcpWSISortInfo;                // WSI ¼ÒÆÃ Á¤º¸
    CRcpSchedulingInfo                m_RcpSchedulingInfo;            // ½ºÄÉÁì Á¤º¸
 
    BOOL        m_bTopReview;                        // SI ¼³ºñ¿¡¼­ÀÇ Top review ¿©ºÎ
 
    VectorRcpZoneFilteringInfo            m_vecRcpZoneFilteringInfo_TR;
    VectorRcpZoneFilteringInfo            m_vecRcpZoneFilteringInfo_PR;
    VectorRcpZoneFilteringInfo            m_vecRcpZoneFilteringInfo_CODE;
    VectorRcpZoneInfo                m_vecRcpZoneInfo;                // Zone ÅؽºÆ® Á¤º¸
    VectorRcpJudgeInfo                m_vecRcpJudgeCellDefect;        // cell judge (defect)
    VectorRcpJudgeInfo                m_vecRcpJudgeGlassDefect;        // glass judge (defect)
    VectorRcpJudgeInfo                m_vecRcpJudgeGlassCell;            // glass judge (cell)
};
 
inline void CRsRcpReviewInfo::operator=(const CRsRcpReviewInfo& rhs)
{
    if (this != &rhs)
    {
        m_bAutoLight                    = rhs.m_bAutoLight;
        m_bAutoLightWsi                    = rhs.m_bAutoLightWsi;
        m_nGlassTypeIdx                    = rhs.m_nGlassTypeIdx;
        m_nGlassOrigion                    = rhs.m_nGlassOrigion;
 
        m_vecRcpPlanInfo                = rhs.m_vecRcpPlanInfo;
        m_vecRcpPriorityInfo            = rhs.m_vecRcpPriorityInfo;
        m_vecRcpWSIPriorityInfo            = rhs.m_vecRcpWSIPriorityInfo;
        m_vecRcpLightInfo                = rhs.m_vecRcpLightInfo;
        m_vecRcpAFMRecipeInfo            = rhs.m_vecRcpAFMRecipeInfo;
        m_vecRcpUserDefectInfo            = rhs.m_vecRcpUserDefectInfo;
        m_vecRcpLightInfoWsi            = rhs.m_vecRcpLightInfoWsi;
        m_vecRcpAFMRecipeInfoWsi        = rhs.m_vecRcpAFMRecipeInfoWsi;
        m_vecRcpLightInfoUser            = rhs.m_vecRcpLightInfoUser;
        m_vecRcpAFMRecipeInfoUser        = rhs.m_vecRcpAFMRecipeInfoUser;
 
        m_vecRcpReviewFilterInfo        = rhs.m_vecRcpReviewFilterInfo;
        m_vecRcpWSIFilterInfo            = rhs.m_vecRcpWSIFilterInfo;
 
        m_RcpReviewSortInfo                = rhs.m_RcpReviewSortInfo;
        m_RcpWSISortInfo                = rhs.m_RcpWSISortInfo;
        m_RcpSchedulingInfo                = rhs.m_RcpSchedulingInfo;
 
        m_nFilterCount                    = rhs.m_nFilterCount;
        m_nFilterCountWsi                = rhs.m_nFilterCountWsi;
        m_strRecipeName                = rhs.m_strRecipeName;
 
        m_bTopReview                    = rhs.m_bTopReview;
    }
}