#pragma once #include "WsiControlInfo.h" #include typedef std::vector VectorInteger; typedef std::vector 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; };