#pragma once #include "..\OTSControl\OTSSemBase.h" #include "OTSOxfordImpl.h" namespace OTSController { class COTSSEMOxford : public COTSSemBase { public: COTSSEMOxford(void); virtual ~COTSSEMOxford(void); public: virtual OTSSEMController::SEM_ID GetType() override { return OTSSEMController::SEM_ID::OXFORD; } virtual BOOL IsConnected(void) override; virtual BOOL Connect(void) override; virtual BOOL Disconnect(void) override { if (!m_oxfordImpl) { m_oxfordImpl = OxfordImpl::GetInstance(); return m_oxfordImpl->DisConnect(); } return true; };// do nothing for this controller virtual BOOL GetBeamBlank(long& a_nBeamBlank) override; virtual BOOL SetBeamBlank(long a_nBeamBlank) override; virtual BOOL GetBrightness(double& /*a_dBrightness*/) override { return true; } virtual BOOL SetBrightness(double /*a_dBrightness*/) override { return true; } virtual BOOL GetContrast(double& /*a_dContrast*/) override { return true; } virtual BOOL SetContrast(double /*a_dContrast*/) override { return true; } virtual BOOL GetWorkingDistance(double& a_dWorkingDistance) override; virtual BOOL SetWorkingDistance(double a_dWorkingDistance) override; virtual BOOL GetHighTension(double& a_dKV) override; virtual BOOL SetHighTension(double a_dKV) override; virtual BOOL GetMagnification(double& a_dMagnification) override; virtual BOOL SetMagnification(double a_dMagnification) override; virtual BOOL GetScanFieldSize(double& a_dScanFieldSizeX, double& a_dScanFieldSizeY) override; virtual BOOL SetScanFieldSizeX(double a_dScanFieldSizeX) override; virtual BOOL GetHTOnOff(BOOL& /*a_bHTValue*/) override { return TRUE; } virtual BOOL SetHTOnOff(BOOL /*a_bHTValue*/) override { return true; } virtual BOOL GetPositionXY(double& a_dPositionX, double& a_dPositionY, double& a_dPositionR) override; virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY, double a_dPositionR) override; virtual BOOL GetSpotSize(double& /*a_dSpotSize*/) override { return true; } virtual BOOL SetSpotSize(double /*a_dSpotSize*/) override { return true; } virtual BOOL GetScanMode(long& /*a_nScanMode*/) override { return true; } virtual BOOL SetScanMode(long /*a_nScanMode*/) override { return true; } virtual BOOL SetScanExternal(BOOL a_bExternal) override; virtual int GetExternalMode() override { return 1; }; protected: std::shared_ptr m_oxfordImpl; }; }