OTSSemSim.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #pragma once
  2. #include "../OTSSemBase.h"
  3. namespace OTSController {
  4. const double g_dScanfieldSizeXDef = 1024;
  5. const double g_dScanfieldSizeYDef = 800;
  6. class COTSSemSim: public COTSSemBase
  7. {
  8. public:
  9. COTSSemSim();
  10. ~COTSSemSim();
  11. public:
  12. virtual OTSSEMController::SEM_ID GetType() { return OTSSEMController::SEM_ID::OFFLINE; }
  13. virtual BOOL Connect(void) override { m_bConnected = true; return TRUE; }
  14. virtual BOOL Disconnect(void) override { m_bConnected = TRUE; return TRUE; }
  15. virtual BOOL IsConnected(void) override{ return m_bConnected; }
  16. virtual BOOL GetBeamBlank(long& a_nBeamBlank) override { a_nBeamBlank = m_nBeamBlank; return TRUE; }
  17. virtual BOOL SetBeamBlank(long a_nBeamBlank) override { m_nBeamBlank = a_nBeamBlank; return TRUE; }
  18. virtual BOOL GetBrightness(double& a_dBrightness) override { a_dBrightness = m_dBrightness; return TRUE; }
  19. virtual BOOL SetBrightness(double a_dBrightness) override { m_dBrightness = a_dBrightness; return TRUE; }
  20. virtual BOOL GetContrast(double& a_dContrast) override { a_dContrast = m_dContrast; return TRUE; }
  21. virtual BOOL SetContrast(double a_dContrast) override { m_dContrast = a_dContrast; return TRUE; }
  22. virtual BOOL GetWorkingDistance(double& a_dWorkingDistance) override { a_dWorkingDistance = m_dWorkingDistance; return TRUE; }
  23. virtual BOOL SetWorkingDistance(double a_dWorkingDistance) override { m_dWorkingDistance = a_dWorkingDistance; return TRUE; }
  24. virtual BOOL GetHighTension(double& a_dKV) override { a_dKV = m_dKV; return TRUE; }
  25. virtual BOOL SetHighTension(double a_dKV) override { m_dKV = a_dKV; return TRUE; }
  26. virtual BOOL GetMagnification(double& a_dMag) override { a_dMag = m_dMagnification; return TRUE; }
  27. virtual BOOL SetMagnification(double a_dMag) override { m_dMagnification = a_dMag; return TRUE; }
  28. virtual BOOL GetScanFieldSize(double& a_dX, double& a_dY) override
  29. {
  30. a_dX = m_dScanFieldSizeX; a_dY = m_dScanFieldSizeY; return TRUE;
  31. }
  32. virtual BOOL SetScanFieldSizeX(double a_dX) override { m_dScanFieldSizeX = a_dX; return TRUE; }
  33. virtual BOOL GetScreenMetrics(double& a_dX, double& a_dY)
  34. {
  35. a_dX = g_dScanfieldSizeXDef; a_dY = g_dScanfieldSizeYDef; return TRUE;
  36. }
  37. virtual BOOL GetHTOnOff(BOOL& a_bOnOff) override { a_bOnOff = m_bBeamOn; return TRUE; }
  38. virtual BOOL SetHTOnOff(BOOL a_bOnOff) override { m_bBeamOn = a_bOnOff; return TRUE; }
  39. virtual BOOL GetPositionXY(double& a_dPositionX, double& a_dPositionY, double& a_dRotation) override
  40. {
  41. a_dPositionX = m_dCurrentPositionX;
  42. a_dPositionY = m_dCurrentPositionY;
  43. a_dRotation = m_dCurrentPositionR;
  44. return TRUE;
  45. }
  46. virtual BOOL SetPositionXY(double a_dPositionX, double a_dPositionY, double a_dRotation) override
  47. {
  48. m_dCurrentPositionX = a_dPositionX;
  49. m_dCurrentPositionY = a_dPositionY;
  50. m_dCurrentPositionR = a_dRotation;
  51. return TRUE;
  52. }
  53. virtual BOOL GetSpotSize(double& a_dSpotSize) override { a_dSpotSize = m_dSpotSize; return TRUE; }
  54. virtual BOOL SetSpotSize(double a_dSpotSize) override { m_dSpotSize = a_dSpotSize; return TRUE; }
  55. virtual BOOL GetScanMode(long& a_nScanMode) override { a_nScanMode = m_nScanMode; return TRUE; }
  56. virtual BOOL SetScanMode(long a_nScanMode) override { m_nScanMode = a_nScanMode; return TRUE; }
  57. virtual BOOL SetScanExternal(BOOL a_bExternal) override { SetScanMode(a_bExternal ? 1 : 0); return TRUE; }
  58. inline virtual int GetExternalMode() override { return 1; };
  59. private:
  60. BOOL m_bConnected;
  61. BOOL m_bBeamOn;
  62. long m_nBeamBlank;
  63. double m_dBrightness;
  64. double m_dContrast;
  65. double m_dSpotSize;
  66. double m_dMagnification;
  67. double m_dWorkingDistance;
  68. double m_dKV;
  69. double m_dCurrentPositionX;
  70. double m_dCurrentPositionY;
  71. double m_dCurrentPositionR;
  72. double m_dScanFieldSizeX;
  73. double m_dScanFieldSizeY;
  74. long m_nScanMode;
  75. };
  76. }