#pragma once #include "STDItem.h" #include "XMLSerialization.h" //#include "Element.h" namespace OTSClassifyEngine { using namespace OTSDATA; typedef enum class __declspec(dllexport) SYS_STD_TYPE { INVALID = -1, MIN = 0, GENERAL = 0, SPECIAL1 = 1, SPECIAL2 = 2, SPECIAL3 = 3, SPECIAL4 = 4, SPECIAL5 = 5, SPECIAL6 = 6, SPECIAL7 = 7, MAX = 7, USERSTD = 0, SYSTEMSTD = 1, SIMPLEOXIDE = 10000, COMPOSITEOXIDE = 10100, SULFIDE = 10200, NITRIDES = 10300, PHOSPHIDE = 10400 } SYS_STD_TYPE; //STD MIN&MAX Value //最小用户标准ID const int MIN_USER = 1000; //最大用户标准ID const int MAX_USER = 10000; //最小系统标准ID const int MIN_SYS = 9999; //最小简单氧化物ID const int MIN_SIMPLEOXIDE = 9999; //最大简单氧化物ID const int MAX_SIMPLEOXIDE = 10100; //最小复合氧化物ID const int MIN_COMPOSITEOXIDE = 10099; //最大复合氧化物ID const int MAX_COMPOSITEOXIDE = 10200; //最小硫化物ID const int MIN_SULFIDE = 10199; //最大硫化物ID const int MAX_SULFIDE = 10300; //最小磷化物ID const int MIN_PHOSPHIDE = 10299; //最大磷化物ID const int MAX_PHOSPHIDE = 10400; //最小氮化物ID const int MIN_NITRIDES = 10299; //最大氮化物ID const int MAX_NITRIDES = 10400; //最小摩尔比值 const double MIN_MOLARRATIO = 0.09f; // CPartSTDData command target // particle analysis standard file mark const int PART_STD_FILE_MARK = 'P' + 'A' + 'R' + 'T' + 'S' + 'T' + 'D'; // particle analysis standard file version string const CString PART_STD_FILE_VERSION = _T("1.1.1"); // particle analysis standard file const CString STD_FILE_EXT = _T(".std"); const CString STD_FILE_FILTER = _T("Particle Analysis Standard Files (*.std)|*.std||"); class __declspec(dllexport) CInclutionSTDData : public xmls::ISlo { public: CInclutionSTDData(); // constructor CInclutionSTDData(const CInclutionSTDData&); // copy constructor CInclutionSTDData(CInclutionSTDData*); // copy constructor CInclutionSTDData& operator=(const CInclutionSTDData&); // =operator BOOL operator==(const CInclutionSTDData&); // ==operator virtual ~CInclutionSTDData(); // destructor // serialization void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // version void SetFileVersion(CString a_strVersion) { m_strVersion = a_strVersion; } CString GetFileVersion() { return m_strVersion; } // library name CString GetName() { return m_strName; } void SetName(CString a_strName) { m_strName = a_strName; } // elements list CElementsList& GetElementsList() { return m_listElements; } void SetElementsList(CElementsList& a_listElements, BOOL a_bClear); // std items list CSTDItemsList& GetSTDItemsList() { return m_listSTDItems; } void SetSTDItemsList(CSTDItemsList& a_listSTDItems, BOOL a_bClear); // std item CSTDItemPtr GetSTDItemById(int a_nId); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CInclutionSTDData& a_oSource); // version CString m_strVersion; // library name CString m_strName; // elements list CElementsList m_listElements; // std items list CSTDItemsList m_listSTDItems; }; typedef std::shared_ptr __declspec(dllexport) CInclutionSTDDataPtr; typedef std::vector __declspec(dllexport) CInclutionSTDDataList; }