From 2771fff79ac9c3c09b70f4668e7142b2e944d1f2 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 25 Apr 2019 01:25:41 -0300 Subject: Matpower Importer and power quality calculation Power quality in implementation --- Project/FileHanding.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'Project/FileHanding.cpp') diff --git a/Project/FileHanding.cpp b/Project/FileHanding.cpp index 91ddcfe..7120063 100644 --- a/Project/FileHanding.cpp +++ b/Project/FileHanding.cpp @@ -232,6 +232,17 @@ void FileHanding::SaveProject(wxFileName path) elementID++; } //} + + //{ HarmCurrent + auto harmCurrentNode = XMLParser::AppendNode(doc, elementsNode, "HarmCurrentList"); + auto harmCurrentList = allElements.GetHarmCurrentList(); + elementID = 0; + for(auto it = harmCurrentList.begin(), itEnd = harmCurrentList.end(); it != itEnd; ++it) { + (*it)->SetID(elementID); + (*it)->SaveElement(doc, harmCurrentNode); + elementID++; + } + //} //{ Text auto textsNode = XMLParser::AppendNode(doc, elementsNode, "TextList"); @@ -333,6 +344,7 @@ bool FileHanding::OpenProject(wxFileName path) std::vector syncGeneratorList; std::vector syncMotorList; std::vector transformerList; + std::vector harmCurrentList; std::vector textList; // List of parents @@ -480,6 +492,20 @@ bool FileHanding::OpenProject(wxFileName path) transfomerNode = transfomerNode->next_sibling("Transfomer"); } //} + + //{ Transformer + auto harmCurrentListNode = elementsNode->first_node("HarmCurrentList"); + if(!harmCurrentListNode) return false; + auto harmCurrentNode = harmCurrentListNode->first_node("HarmCurrent"); + while(harmCurrentNode) { + HarmCurrent* harmCurrent = new HarmCurrent(); + + if(!harmCurrent->OpenElement(harmCurrentNode, parentList)) return false; + elementList.push_back(harmCurrent); + harmCurrentList.push_back(harmCurrent); + + harmCurrentNode = harmCurrentNode->next_sibling("HarmCurrent"); + } //} m_workspace->SetElementList(elementList); @@ -531,6 +557,10 @@ bool FileHanding::OpenProject(wxFileName path) Transformer* transformer = transformerList[text->GetElementNumber()]; text->SetElement(transformer); } break; + case TYPE_HARMCURRENT: { + HarmCurrent* harmCurrent = harmCurrentList[text->GetElementNumber()]; + text->SetElement(harmCurrent); + } break; } textList.push_back(text); -- cgit