#pragma once #include "XMLSerialization.h" namespace OTSDATA { // CSEMDataMsr command target class __declspec(dllexport) CSEMDataMsr : public xmls::ISlo { public: CSEMDataMsr(); // constructor CSEMDataMsr(const CSEMDataMsr&); // copy constructor CSEMDataMsr(CSEMDataMsr*); // copy constructor CSEMDataMsr& operator=(const CSEMDataMsr&); // =operator BOOL operator==(const CSEMDataMsr&); // ==operator virtual ~CSEMDataMsr(); // destructor // serialization virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // scan field size (micros) int GetScanFieldSize() { return m_nScanFieldSize; } int GetScanFieldHeight() { return m_nScanFieldHeight; } void SetScanFieldHeight(int value) { m_nScanFieldHeight = value; } void SetScanFieldSize(int a_nScanFieldSize) { m_nScanFieldSize = a_nScanFieldSize; } double GetMagnification(); void SetMagnification(double a_dMag); // scan field size 100 (micros) int GetScanFieldSize100() { return m_nScanFieldSize100; } void SetScanFieldSize100(int a_nScanFieldSize100) { m_nScanFieldSize100 = a_nScanFieldSize100; } // working distance double GetWorkingDistance() { return m_dWorkingDistance; } void SetWorkingDistance(double a_dWorkingDistance) { m_dWorkingDistance = a_dWorkingDistance; } // total fields int GetTotalFields() { return m_nTotalFields; } void SetTotalFields(int a_nTotalFields) { m_nTotalFields = a_nTotalFields; } protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CSEMDataMsr& a_oSource); // scan field size (micros) int m_nScanFieldSize; int m_nScanFieldHeight; // scan field size at 100 (micros) int m_nScanFieldSize100; // working distance double m_dWorkingDistance; // total fields int m_nTotalFields; }; typedef std::shared_ptr __declspec(dllexport) CSEMDataMsrPtr; }