#pragma once #include #include #include "element.h" #include #include "PartSTDRuleItem.h" #include "ZeroElementRule.h" #include "MaxEDSRule.h" using namespace std; using namespace OTSDATA; class ParticleSTD:public xmls::ISlo { public: ParticleSTD() {}; ~ParticleSTD() {}; //void AddItem(); std::vector GetSTDRuleItems(); ZeroElementRuleList GetZeroRules(); MaxEDSRuleList GetMaxEDSRules(); bool LoadItemsFromFile(); void PartSTDItemListClear(); void ZeroElementRuleListClear(); void MaxEDSRuleListClear(); void ConstantsMapClear(); void setSTDList(PartSTDRuleItemList listSTDItem); void setZeroElementRuleList(ZeroElementRuleList listZeroElementRuleItem); void setMaxEDSRuleList(MaxEDSRuleList listMaxEDSRuleItem); void setConstantsMap(map listConstantsItem); std::map& GetMapConstants(); virtual void Serialize(bool isStoring, tinyxml2::XMLDocument *classDoc, tinyxml2::XMLElement *rootNode) override; PartSTDRuleItemPtr GetSTDItemById(int id); PartSTDRuleItemList m_stdRuleItems; ZeroElementRuleList m_zeroRules; std::map m_mapConstants; MaxEDSRuleList m_MaxRules; }; typedef std::shared_ptr ParticleSTDPtr; typedef std::vector ParticleSTDList;