OTSSEMOxford.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #pragma once
  2. #include "..\OTSControl\OTSSemBase.h"
  3. #include "OTSOxfordImpl.h"
  4. namespace OTSController {
  5. class COTSSEMOxford : public COTSSemBase
  6. {
  7. public:
  8. COTSSEMOxford(void);
  9. virtual ~COTSSEMOxford(void);
  10. public:
  11. virtual OTSSEMController::SEM_ID GetType() override { return OTSSEMController::SEM_ID::OXFORD; }
  12. virtual BOOL IsConnected(void) override;
  13. virtual BOOL Connect(void) override;
  14. virtual BOOL Disconnect(void) override
  15. {
  16. if (!m_oxfordImpl)
  17. {
  18. return false;
  19. }
  20. m_oxfordImpl = OxfordImpl::GetInstance();
  21. return m_oxfordImpl->DisConnect();
  22. return true;
  23. };// do nothing for this controller
  24. virtual BOOL GetBeamBlank(long& a_nBeamBlank) override;
  25. virtual BOOL SetBeamBlank(long a_nBeamBlank) override;
  26. virtual BOOL GetBrightness(double& /*a_dBrightness*/) override { return true; }
  27. virtual BOOL SetBrightness(double /*a_dBrightness*/) override { return true; }
  28. virtual BOOL GetContrast(double& /*a_dContrast*/) override { return true; }
  29. virtual BOOL SetContrast(double /*a_dContrast*/) override { return true; }
  30. virtual BOOL GetWorkingDistance(double& a_dWorkingDistance) override;
  31. virtual BOOL SetWorkingDistance(double a_dWorkingDistance) override;
  32. virtual BOOL GetHighTension(double& a_dKV) override;
  33. virtual BOOL SetHighTension(double a_dKV) override;
  34. virtual BOOL GetMagnification(double& a_dMagnification) override;
  35. virtual BOOL SetMagnification(double a_dMagnification) override;
  36. virtual BOOL GetScanFieldSize(double& a_dScanFieldSizeX, double& a_dScanFieldSizeY) override;
  37. virtual BOOL SetScanFieldSizeX(double a_dScanFieldSizeX) override;
  38. virtual BOOL GetHTOnOff(BOOL& /*a_bHTValue*/) override { return TRUE; }
  39. virtual BOOL SetHTOnOff(BOOL /*a_bHTValue*/) override { return true; }
  40. virtual BOOL SetBeamCurrent(BOOL a_nBeamBlank) override;
  41. virtual BOOL GetPositionXY(double& a_dPositionX, double& a_dPositionY, double& a_dPositionR) override;
  42. virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY, double a_dPositionR) override;
  43. virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY) override;
  44. virtual BOOL GetSpotSize(double& /*a_dSpotSize*/) override { return true; }
  45. virtual BOOL SetSpotSize(double /*a_dSpotSize*/) override { return true; }
  46. virtual BOOL GetScanMode(long& /*a_nScanMode*/) override { return true; }
  47. virtual BOOL SetScanMode(long /*a_nScanMode*/) override { return true; }
  48. virtual BOOL SetScanExternal(BOOL a_bExternal) override;
  49. virtual int GetExternalMode() override { return 1; };
  50. protected:
  51. std::shared_ptr<OxfordImpl> m_oxfordImpl;
  52. };
  53. }