SDC C-Project CF Review 프로그램
LYW
2021-10-14 e8ba1e78e72f3f7ec2841f55fd90253b4dc414df
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
#pragma once
 
class AFX_EXT_CLASS CAlignRecipe
{
public:
    CAlignRecipe();
    virtual ~CAlignRecipe();
    void Reset();
 
public:
    // glass setting
    int        nRecipeIndex;
    CString strTemplateName[2];
 
    double    dOriginPixelX[2];
    double    dOriginPixelY[2];
    double    dOriginPositionX[2];    // origin Motor Pos X (mm)
    double    dOriginPositionY[2];    // origin Motor Pos Y (mm)
    double  dGlassPositionX[2];        // (mm)
    double  dGlassPositionY[2];        // (mm)
 
    // align camera  Á¤º¸
    int        nCameraDirX[2];
    int        nCameraDirY[2];
    double    dCameraResolution[2];
 
    // align motor position
    int     m_nUseAlignPosMove;
 
 
 
//     double    dMatchingThreshold;
//     int        nAlignThreshold;
//     int        nAlignMergeRange;
 
    // Align Skip Mode
    BOOL    bAlignSkipMode;
    BOOL    bUseTotalPitchMeasure;
 
    // image matching
    BOOL    bUseImage;
    double    dMatchingRate;
    CString strFirstImageFile;
    CString strSecondImageFile;
    /*< LYW 20211012 - #3671 ADD Start >*/
    CString strFirstAssistantImageFile;
    CString strSecondAssistantImageFile;
    /*< LYW 20211012 - #3671 ADD End >*/
    CString strTotalPitchImageFile;
 
    // edge find param
    BOOL    bUseEdge;
    int        nEdgeWidth;
    int        nEdgeHeight;
    int        nEdgeThreshold;
    int        nMergeRange;
    double    dEdgeRate;
    int        nAlignMarkPosition;
        
    // manual light control
    BOOL    bManualProcess;
    double    dFirstCamExposure;
    double    dSecondCamExposure;
 
    // auto light control
    BOOL    bAutoProcess;
    double    dTargetMin;
    double    dTargetMax;
    double    dExposureMin;
    double    dExposureMax;
 
    // rotate 
    BOOL    bRotateProcess;
    int        nRetryCount;
    double    dGlassAngleMin;
    double    dGlassAngleMax;
};
 
class AFX_EXT_CLASS CAlignResult
{
public:
    CAlignResult(void);
    virtual ~CAlignResult(void);
    void Reset();
    void SetFindResult(const CAlignRecipe& alignRecipe);
    BOOL AlignFindEnd();
    int GetResultCode();
 
public:
    int        nFindCount;
    int        nResultCode;
    int        nFindAlign[2];
    int        nControlLightLevel[2];
 
    double    dFindPixelX[2];            // pixel
    double    dFindPixelY[2];            // pixel
    double    dFindScore[2];            // score (0~1)
 
    double    dFindPositionX[2];        // find motor pos mm
    double    dFindPositionY[2];        // find motor pos mm
 
    int        nAutoLightResult[2];
    double    dExposureTime[2];
    CString strAlignFirest;
    CString strAlignSecond;
};