| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | #pragma once#include "SEMCommonConst.h"#include "SEMDataMsr.h"#include "SEMDataGnr.h"namespace OTSController {	using namespace OTSDATA;	const long WAITING_INVERAL = 500;	const int SCREEN_SIZE_DEFAULT_MAG100_X = 1142;	const int SCREEN_SIZE_DEFAULT_MAG100_Y = 856;          //SCREEN_SIZE_DEFAULT_MAG100_Y = SCREEN_SIZE_DEFAULT_MAG100_X * 0.75	// Base of SEM Function	class __declspec(dllexport) COTSSemBase	{	public:		COTSSemBase();		~COTSSemBase();	public:		// move SEM to the given point		virtual BOOL MoveSEMToPoint(const CPoint& a_poiPosition, const double& a_dRotation);		// SEM data measure		virtual BOOL GetSEMDataMsr(CSEMDataMsrPtr a_pSEMDataMsr);		virtual BOOL SetSEMDataMsr(CSEMDataMsrPtr a_pSEMDataMsr);		// SEM data general		virtual BOOL GetSEMDataGnr(CSEMDataGnrPtr a_pSEMDataGnr);		virtual BOOL SetSEMDataGnr(CSEMDataGnrPtr a_pSEMDataGnr);		// SEM Controller type ID		virtual OTSSEMController::SEM_ID GetType() = 0;			// calls the SEM to create a connection		virtual BOOL Connect(void) = 0;		// disconnects from the SEM		virtual BOOL Disconnect(void) = 0;		// connect test		virtual BOOL IsConnected(void) = 0;		// beam blank 		virtual BOOL GetBeamBlank(long& a_nBeamBlank) = 0;		virtual BOOL SetBeamBlank(long a_nBeamBlank) = 0;		// brightness		virtual BOOL GetBrightness(double& a_dBrightness) = 0;		virtual BOOL SetBrightness(double a_dBrightness) = 0;		// contrast		virtual BOOL GetContrast(double& a_dContrast) = 0;		virtual BOOL SetContrast(double a_dContrast) = 0;		// working distance 		virtual BOOL GetWorkingDistance(double& a_dWorkingDistance) = 0;		virtual BOOL SetWorkingDistance(double a_dWorkingDistance) = 0;		//high tension		virtual BOOL GetHighTension(double& a_dKV) = 0;		virtual BOOL SetHighTension(double a_dKV) = 0;		// magnification		virtual BOOL GetMagnification(double& a_dMagnification) = 0;		virtual BOOL SetMagnification(double a_dMagnification) = 0;		// scan field size		virtual BOOL GetScanFieldSize(double& a_dScanFieldSizeX, double& a_dScanFieldSizeY) = 0;		virtual BOOL SetScanFieldSizeX(double a_dScanFieldSizeX) = 0;		// HT		virtual BOOL GetHTOnOff(BOOL& a_bHTValue) = 0;		virtual BOOL SetHTOnOff(BOOL a_bHTValue) = 0;		virtual BOOL SetBeamCurrent(BOOL a_bValue) = 0;//bvalue=true			// spot size		virtual BOOL GetSpotSize(double& a_dSpotSize) = 0;		virtual BOOL SetSpotSize(double a_dSpotSize) = 0;		// external mode		virtual int GetExternalMode() = 0;		virtual BOOL SetScanExternal(BOOL externalOn) = 0;		// position 		virtual BOOL GetPositionXY(double& a_dPositionX, double& a_dPositionY, double& a_dRotation) = 0;		virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY, double a_dRotation) = 0;		virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY) = 0;		// scan field100		virtual CSize GetScanField100() { return m_oScanField100; }		virtual void SetScanField100(const CSize& a_oScanField100) { m_oScanField100 = a_oScanField100; }		// rotation flag		BOOL GetRotationFlag() { return m_bAllowRotation; }		void SetRotationFlag(BOOL a_bAllowRotation) { m_bAllowRotation = a_bAllowRotation; }	protected:		// convert scan field size to magnification		BOOL ScanFieldSizeToMag(double& a_dMagnification, double a_dScanFieldSizeX);		// convert magnification to scan field size.		BOOL MagToScanFieldSize(double a_dMagnification, double& a_dScanFieldSizeX, double& a_dScanFieldSizeY);		// The scan field at 100 mag		CSize m_oScanField100;		// rotation flag		BOOL m_bAllowRotation;	};	typedef std::shared_ptr<COTSSemBase> __declspec(dllexport) CSemBasePtr;}
 |