SEMStageData.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #pragma once
  2. #include "otsdataconst.h"
  3. #include "IntRange.h"
  4. // CSEMStageData command target
  5. namespace OTSDATA
  6. {
  7. // CSEMStageData command target
  8. class __declspec(dllexport) CSEMStageData : public xmls::ISlo
  9. {
  10. public:
  11. CSEMStageData(); // constructor
  12. CSEMStageData(const CSEMStageData&); // copy constructor
  13. CSEMStageData(CSEMStageData*); // copy constructor
  14. CSEMStageData& operator=(const CSEMStageData&); // =operator
  15. BOOL operator==(const CSEMStageData&); // =operator
  16. virtual ~CSEMStageData(); // destructor
  17. // serialization
  18. virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  19. // 100 scan filed size (micros)
  20. int GetScanFieldSize100() { return m_nScanFieldSize100; }
  21. void SetScanFieldSize100(int a_nScanFieldSize100) { m_nScanFieldSize100 = a_nScanFieldSize100; }
  22. // x axis direction
  23. OTS_X_AXIS_DIRECTION GetXAxisDir() const { return m_bXAxisDir; }
  24. void SetXAxisDir(OTS_X_AXIS_DIRECTION a_bXAxisDir) { m_bXAxisDir = a_bXAxisDir; }
  25. // y axis direction
  26. OTS_Y_AXIS_DIRECTION GetYAxisDir() const { return m_bYAxisDir; }
  27. void SetYAxisDir(OTS_Y_AXIS_DIRECTION a_bYAxisDir) { m_bYAxisDir = a_bYAxisDir; }
  28. // x axis
  29. CIntRangePtr GetXAxis() const { return m_oXAxis; }
  30. void SetXAxis(CIntRangePtr a_pXAxis) { m_oXAxis = a_pXAxis; }
  31. // y axis
  32. CIntRangePtr GetYAxis() const { return m_oYAxis; }
  33. void SetYAxis(CIntRangePtr a_pYAxis) { m_oYAxis = a_pYAxis; }
  34. // minimum mag
  35. double GetMinMag() { return m_dMinMag; }
  36. void SetMinMag(double a_dMinMag) { m_dMinMag = a_dMinMag; }
  37. protected:
  38. // cleanup
  39. void Cleanup();
  40. // initialization
  41. void Init();
  42. // duplication
  43. void Duplicate(const CSEMStageData& a_oSource);
  44. // 100 scan filed size (micros)
  45. int m_nScanFieldSize100;
  46. // x axis direction
  47. OTS_X_AXIS_DIRECTION m_bXAxisDir;
  48. // y axis direction
  49. OTS_Y_AXIS_DIRECTION m_bYAxisDir;
  50. // x axis (micros)
  51. CIntRangePtr m_oXAxis;
  52. // y axis (micros)
  53. CIntRangePtr m_oYAxis;
  54. // minimum mag
  55. double m_dMinMag;
  56. };
  57. typedef std::shared_ptr<CSEMStageData> __declspec(dllexport) CSEMStageDataPtr;
  58. typedef std::vector<CSEMStageDataPtr> __declspec(dllexport) CSEMStageDataList;
  59. }