SEMDataMsr.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. int GetScanFieldHeight() { return m_nScanFieldHeight; }
  19. void SetScanFieldHeight(int value) { m_nScanFieldHeight = value; }
  20. void SetScanFieldSize(int a_nScanFieldSize) { m_nScanFieldSize = a_nScanFieldSize; }
  21. double GetMagnification();
  22. void SetMagnification(double a_dMag);
  23. // scan field size 100 (micros)
  24. int GetScanFieldSize100() { return m_nScanFieldSize100; }
  25. void SetScanFieldSize100(int a_nScanFieldSize100) { m_nScanFieldSize100 = a_nScanFieldSize100; }
  26. // working distance
  27. double GetWorkingDistance() { return m_dWorkingDistance; }
  28. void SetWorkingDistance(double a_dWorkingDistance) { m_dWorkingDistance = a_dWorkingDistance; }
  29. // total fields
  30. int GetTotalFields() { return m_nTotalFields; }
  31. void SetTotalFields(int a_nTotalFields) { m_nTotalFields = a_nTotalFields; }
  32. protected:
  33. // cleanup
  34. void Cleanup();
  35. // initialization
  36. void Init();
  37. // duplication
  38. void Duplicate(const CSEMDataMsr& a_oSource);
  39. // scan field size (micros)
  40. int m_nScanFieldSize;
  41. int m_nScanFieldHeight;
  42. // scan field size at 100 (micros)
  43. int m_nScanFieldSize100;
  44. // working distance
  45. double m_dWorkingDistance;
  46. // total fields
  47. int m_nTotalFields;
  48. };
  49. typedef std::shared_ptr<CSEMDataMsr> __declspec(dllexport) CSEMDataMsrPtr;
  50. }