ParticleSTD.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include "element.h"
  5. #include <map>
  6. #include "PartSTDRuleItem.h"
  7. #include "ZeroElementRule.h"
  8. #include "MaxEDSRule.h"
  9. using namespace std;
  10. using namespace OTSDATA;
  11. class ParticleSTD:public xmls::ISlo
  12. {
  13. public:
  14. ParticleSTD() {};
  15. ~ParticleSTD() {};
  16. //void AddItem();
  17. std::vector<PartSTDRuleItemPtr> GetSTDRuleItems();
  18. ZeroElementRuleList GetZeroRules();
  19. MaxEDSRuleList GetMaxEDSRules();
  20. bool LoadItemsFromFile();
  21. void PartSTDItemListClear();
  22. void ZeroElementRuleListClear();
  23. void MaxEDSRuleListClear();
  24. void ConstantsMapClear();
  25. void setSTDList(PartSTDRuleItemList listSTDItem);
  26. void setZeroElementRuleList(ZeroElementRuleList listZeroElementRuleItem);
  27. void setMaxEDSRuleList(MaxEDSRuleList listMaxEDSRuleItem);
  28. void setConstantsMap(map<std::string, double> listConstantsItem);
  29. std::map<std::string, double>& GetMapConstants();
  30. virtual void Serialize(bool isStoring, tinyxml2::XMLDocument *classDoc, tinyxml2::XMLElement *rootNode) override;
  31. PartSTDRuleItemPtr GetSTDItemById(int id);
  32. PartSTDRuleItemList m_stdRuleItems;
  33. ZeroElementRuleList m_zeroRules;
  34. std::map<std::string, double> m_mapConstants;
  35. MaxEDSRuleList m_MaxRules;
  36. };
  37. typedef std::shared_ptr<ParticleSTD> ParticleSTDPtr;
  38. typedef std::vector<ParticleSTDPtr> ParticleSTDList;