SEMDataMsr.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #pragma once
  2. #include "XMLSerialization.h"
  3. namespace OTSDATA {
  4. // CSEMDataMsr command target
  5. class __declspec(dllexport) CSEMDataMsr : public xmls::ISlo
  6. {
  7. public:
  8. CSEMDataMsr(); // constructor
  9. CSEMDataMsr(const CSEMDataMsr&); // copy constructor
  10. CSEMDataMsr(CSEMDataMsr*); // copy constructor
  11. CSEMDataMsr& operator=(const CSEMDataMsr&); // =operator
  12. BOOL operator==(const CSEMDataMsr&); // ==operator
  13. virtual ~CSEMDataMsr(); // destructor
  14. // serialization
  15. virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  16. // scan field size (micros)
  17. int GetScanFieldSize() { return m_nScanFieldSize; }
  18. void SetScanFieldSize(int a_nScanFieldSize) { m_nScanFieldSize = a_nScanFieldSize; }
  19. double GetMagnification();
  20. void SetMagnification(double a_dMag);
  21. // scan field size 100 (micros)
  22. int GetScanFieldSize100() { return m_nScanFieldSize100; }
  23. void SetScanFieldSize100(int a_nScanFieldSize100) { m_nScanFieldSize100 = a_nScanFieldSize100; }
  24. // working distance
  25. double GetWorkingDistance() { return m_dWorkingDistance; }
  26. void SetWorkingDistance(double a_dWorkingDistance) { m_dWorkingDistance = a_dWorkingDistance; }
  27. // total fields
  28. int GetTotalFields() { return m_nTotalFields; }
  29. void SetTotalFields(int a_nTotalFields) { m_nTotalFields = a_nTotalFields; }
  30. protected:
  31. // cleanup
  32. void Cleanup();
  33. // initialization
  34. void Init();
  35. // duplication
  36. void Duplicate(const CSEMDataMsr& a_oSource);
  37. // scan field size (micros)
  38. int m_nScanFieldSize;
  39. // scan field size at 100 (micros)
  40. int m_nScanFieldSize100;
  41. // working distance
  42. double m_dWorkingDistance;
  43. // total fields
  44. int m_nTotalFields;
  45. };
  46. typedef std::shared_ptr<CSEMDataMsr> __declspec(dllexport) CSEMDataMsrPtr;
  47. }