SDC C-Project CF Review 프로그램
KYH
2021-06-07 fe67777d8335fb6adb3601e5ef1b31ff22ea6792
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
#pragma once
 
#include <vector>
#include "CHReviewSetting/CameraControlInfo_Plus.h"
#include "CHLightControls/LightControlInfo.h"
#include "CHAfmControls/AfmControlInfo.h"
#include "CHWsiControls/WsiControlInfo.h"
#include "CHLensChangeControls/LensChangeControl.h"
 
typedef std::vector<CCameraControlInfo_Plus>                            VectorCameraInfo;
typedef std::vector<CCameraControlInfo_Plus>::iterator                    VectorCameraInfoIt;
typedef std::vector<CLightControlInfo>                                    VectorLightInfo;
typedef std::vector<CLightControlInfo>::iterator                        VectorLightInfoIt;
typedef std::vector<CLensChangeControlInfo>                                VectorRevolverInfo;
typedef std::vector<CLensChangeControlInfo>::iterator                    VectorRevolverInfoIt;
typedef std::vector<CAfmControlInfo>                                    VectorAFMInfo;
typedef std::vector<CAfmControlInfo>::iterator                            VectorAFMInfoIt;
typedef std::vector<CWsiControlInfo>                                    VectorWsiInfo;
typedef std::vector<CWsiControlInfo>::iterator                            VectorWsiInfoIt;
 
class AFX_EXT_CLASS CMagnificInfo
{
public:
    CMagnificInfo(void);
    virtual ~CMagnificInfo(void);
 
public:
    void Reset();
    void SetInfo(const CMagnificInfo& rhs);
    void GetInfo(CMagnificInfo& rhs);
 
public:
    CString m_strMagnificName;        // ¹èÀ² ¸íĪ.
    double    m_dMagnification;        // ¹èÀ²
    
    double    m_dMagnificOffsetX;        // ¹èÀ² X¿É¼Â(mm)
    double    m_dMagnificOffsetY;        // ¹èÀ² Y¿É¼Â(mm)
 
    double    m_dTestOffsetX;        // ¹èÀ² X¿É¼Â(mm) cmark 
    double    m_dTestOffsetY;        // ¹èÀ² Y¿É¼Â(mm)
 
    int        m_nMsgHomePosition;        // AFM Msg  È¨Æ÷Áö¼Ç
};
 
typedef std::vector<CMagnificInfo>                    VectorMagnificInfo;
typedef std::vector<CMagnificInfo>::iterator        VectorMagnificInfoIt;
typedef std::vector<CMagnificInfo>::const_iterator    constVectorMagnificInfoIt;
 
 
// enum ModuleType        { ModuleType_Review=1, ModuleType_Measure=2, ModuleType_Wsi=4 };
// enum LensType        { LensType_SingleTube=0, LensType_DualTube, LensType_Count };
 
class AFX_EXT_CLASS CHeaderInfo
{
public:
    CHeaderInfo(void);
    virtual ~CHeaderInfo(void);
 
public:
    void Reset();
    
    // getter
    void    GetInfo(CHeaderInfo& rhs);
    int        GetCameraInfoCount() const            { return (int)m_vecCameraInfo.size(); }
    int        GetLightInfoCount() const            { return (int)m_vecLightInfo.size(); }
    int        GetRevolverInfoCount() const        { return (int)m_vecRevolverInfo.size(); }
    int        GetAFMInfoCount() const                { return (int)m_vecAFMInfo.size(); }
    int        GetWsiInfoCount() const                { return (int)m_vecWsiInfo.size(); }
    int        GetMagnificInfoCount() const        { return (int)m_vecMagnificInfo.size(); }
 
    CCameraControlInfo_Plus*            GetCameraInfo(int nIndex);
    const CCameraControlInfo_Plus*    GetCameraInfo(int nIndex) const;
    
    CLightControlInfo* GetLightInfo(int nIndex);
    const CLightControlInfo* GetLightInfo(int nIndex) const;
    
    CLensChangeControlInfo* GetRevolverInfo(int nIndex);
    const CLensChangeControlInfo* GetRevolverInfo(int nIndex) const;
 
    CAfmControlInfo* GetAFMInfo(int nIndex);
    const CAfmControlInfo* GetAFMInfo(int nIndex) const;
 
    CWsiControlInfo* GetWsiInfo(int nIndex);
    const CWsiControlInfo* GetWsiInfo(int nIndex) const;
 
    CMagnificInfo* GetMagnificInfo(int nIndex);
    const CMagnificInfo* GetMagnificInfo(int nIndex) const;
 
    // setter
    void    SetInfo(const CHeaderInfo& rhs);
    void    SetCameraInfoCount(int nCount)                { m_vecCameraInfo.resize(nCount); }
    void    SetLightInfoCount(int nCount)                { m_vecLightInfo.resize(nCount); }
    void    SetRevolverInfoCount(int nCount)            { m_vecRevolverInfo.resize(nCount); }
    void    SetAFMInfoCount(int nCount)                    { m_vecAFMInfo.resize(nCount); }
    void    SetWSIInfoCount(int nCount)                    { m_vecWsiInfo.resize(nCount); }
    void    SetMagnificInfoCount(int nCount)            { m_vecMagnificInfo.resize(nCount); }
 
public:
    int                    m_nModuleType;
    int                    m_nLensType;
    BOOL                m_bStandardHeader;
    CString                m_strYAxisName;
    CString                m_strZAxisName;
 
    int                    m_nLightIndex;
    int                    m_nLightChannel;
    int                    m_nRevolverIndex;
    int                    m_nRevolverChannel;
    int                    m_nAFMIndex;
    int                    m_nAFMChannel;
    int                    m_nWSIIndex;
    int                    m_nWSIChannel;
 
protected:
    VectorCameraInfo    m_vecCameraInfo;
    VectorLightInfo        m_vecLightInfo;
    VectorRevolverInfo    m_vecRevolverInfo;
    VectorAFMInfo        m_vecAFMInfo;
    VectorWsiInfo        m_vecWsiInfo;
    VectorMagnificInfo    m_vecMagnificInfo;
};