#pragma once #include "otsdataconst.h" #include "IntRange.h" // CSEMStageData command target namespace OTSDATA { // CSEMStageData command target class __declspec(dllexport) CSEMStageData : public xmls::ISlo { public: CSEMStageData(); // constructor CSEMStageData(const CSEMStageData&); // copy constructor CSEMStageData(CSEMStageData*); // copy constructor CSEMStageData& operator=(const CSEMStageData&); // =operator BOOL operator==(const CSEMStageData&); // =operator virtual ~CSEMStageData(); // destructor // serialization virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // 100 scan filed size (micros) int GetScanFieldSize100() { return m_nScanFieldSize100; } void SetScanFieldSize100(int a_nScanFieldSize100) { m_nScanFieldSize100 = a_nScanFieldSize100; } // x axis direction OTS_X_AXIS_DIRECTION GetXAxisDir() const { return m_bXAxisDir; } void SetXAxisDir(OTS_X_AXIS_DIRECTION a_bXAxisDir) { m_bXAxisDir = a_bXAxisDir; } // y axis direction OTS_Y_AXIS_DIRECTION GetYAxisDir() const { return m_bYAxisDir; } void SetYAxisDir(OTS_Y_AXIS_DIRECTION a_bYAxisDir) { m_bYAxisDir = a_bYAxisDir; } // x axis CIntRangePtr GetXAxis() const { return m_oXAxis; } void SetXAxis(CIntRangePtr a_pXAxis) { m_oXAxis = a_pXAxis; } // y axis CIntRangePtr GetYAxis() const { return m_oYAxis; } void SetYAxis(CIntRangePtr a_pYAxis) { m_oYAxis = a_pYAxis; } // minimum mag double GetMinMag() { return m_dMinMag; } void SetMinMag(double a_dMinMag) { m_dMinMag = a_dMinMag; } protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CSEMStageData& a_oSource); // 100 scan filed size (micros) int m_nScanFieldSize100; // x axis direction OTS_X_AXIS_DIRECTION m_bXAxisDir; // y axis direction OTS_Y_AXIS_DIRECTION m_bYAxisDir; // x axis (micros) CIntRangePtr m_oXAxis; // y axis (micros) CIntRangePtr m_oYAxis; // minimum mag double m_dMinMag; }; typedef std::shared_ptr __declspec(dllexport) CSEMStageDataPtr; typedef std::vector __declspec(dllexport) CSEMStageDataList; }