SDC C-Project CF Review 프로그램
LYW
2021-07-01 668b40db8e394058c7e0abad2fbe539a631043c2
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
#pragma once
 
#include "WsiControlInfo.h"
#include <vector>
 
typedef std::vector<int>            VectorInteger;
typedef std::vector<double>            VectorDouble;
 
class AFX_EXT_CLASS CWsiControl
{
public:
    CWsiControl(int nIndex);
    virtual ~CWsiControl(void);
    void SetWC2P(IWsiControl2Parnet* pWC2P)            { m_pWC2P = pWC2P; }
 
    virtual int Connect(const CWsiControlInfo& controlInfo) = 0;
    virtual void Disconnect() = 0;
    virtual void ClearResult();
    
    // interface
    virtual BOOL    SetWsiReady(const CString& strGlassID, const CString& strRecipeID, int nMagIndex, int nType=WsiMode_None,int nAfmHome=1) = 0;
    virtual BOOL    SetMultiShotWsiReady(const CString& strGlassID, const CString& strRecipeID, int nMagIndex, int nType=WsiMode_None,int nAfmHome=1,int nMultiShotFlag=0,int nShotCount=0,double dMargin=0)=0;
    virtual BOOL    SetWsiStart(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType) = 0;
    virtual BOOL    SetWsiStart_CPJT(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType, const VectorInteger& nModelIndex) = 0;
    virtual BOOL    SetMultiShotWsiStart(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType,int nMeasurePoint,int nMeasureShotNumber) =0;
    virtual BOOL    SetWsiMotionEnd(int nResultIndex, int nUMOriginX, int nUMOriginY) = 0;
    virtual BOOL    SetWsiEnd() = 0;
    virtual BOOL    SetWsiTimeOver() = 0;
 
    virtual BOOL    SetSystemTime(SYSTEMTIME stCurrentTime);
    virtual BOOL    SetWsiReflowStart(int nPointCount, const VectorInteger& vectorPointIndex, const VectorInteger& vectorPosX, const VectorInteger& vectorPosY, int nWsiType=1) = 0;            // 181129 SJB, Reflow WSI 추가
 
    virtual BOOL    SendWsiAfmSafePosMove()=0;
 
    // getter
    virtual int                        GetConnected() const;
    virtual int                        GetResultCount() const;
    virtual SWsiResult*                GetResult(int nIndex);
    virtual const SWsiResult*        GetResult(int nIndex) const;
    virtual VectorWsiResult*        GetVectorWsiResult();
    virtual const VectorWsiResult*    GetVectorWsiResult() const;    
 
protected:
    int                        m_nIndex;
    IWsiControl2Parnet*        m_pWC2P;
    CWsiControlInfo            m_Controlinfo;
 
    int                        m_nConnected;
    int                        m_nResultCount;
    int                        m_nResultIndex;
    VectorWsiResult            m_vecWsiResult;
};