summaryrefslogtreecommitdiffstats
path: root/Project/FileHanding.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2019-07-18 09:22:27 -0300
committerGitHub <noreply@github.com>2019-07-18 09:22:27 -0300
commit8357c081eb75147bb8f94d8b6e367d88ea3898ed (patch)
tree9d9726fdcefb917475d6b33344d2b832d4e78ef8 /Project/FileHanding.cpp
parent295b775ad53eb1e128b705e6028f9690dc6fa640 (diff)
parent7f46d390b8cc1d5f37560f52b222198dbc5e1225 (diff)
downloadPSP.git-8357c081eb75147bb8f94d8b6e367d88ea3898ed.tar.gz
PSP.git-8357c081eb75147bb8f94d8b6e367d88ea3898ed.tar.xz
PSP.git-8357c081eb75147bb8f94d8b6e367d88ea3898ed.zip
Merge pull request #50 from Thales1330/wip/induction-motor
Wip/induction motor
Diffstat (limited to 'Project/FileHanding.cpp')
-rw-r--r--Project/FileHanding.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/Project/FileHanding.cpp b/Project/FileHanding.cpp
index 91ddcfe..ed747a8 100644
--- a/Project/FileHanding.cpp
+++ b/Project/FileHanding.cpp
@@ -60,6 +60,8 @@ void FileHanding::SaveProject(wxFileName path)
XMLParser::SetNodeValue(doc, contCalcFault, simulationData.faultAfterPowerFlow);
auto contCalcSCPower = XMLParser::AppendNode(doc, contCalc, "SCPower");
XMLParser::SetNodeValue(doc, contCalcSCPower, simulationData.scPowerAfterPowerFlow);
+ auto contCalcTHD = XMLParser::AppendNode(doc, contCalc, "HarmonicDistortion");
+ XMLParser::SetNodeValue(doc, contCalcTHD, simulationData.harmDistortionAfterPowerFlow);
auto powerFlowPropNode = XMLParser::AppendNode(doc, simulationPropNode, "PowerFlow");
auto solutionMethod = XMLParser::AppendNode(doc, powerFlowPropNode, "SolutionMethod");
@@ -233,6 +235,17 @@ void FileHanding::SaveProject(wxFileName path)
}
//}
+ //{ 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");
auto textList = m_workspace->GetTextList();
@@ -278,6 +291,8 @@ bool FileHanding::OpenProject(wxFileName path)
auto contCalc = general->first_node("ContinuousCalculation");
simData.faultAfterPowerFlow = XMLParser::GetNodeValueInt(contCalc, "Fault");
simData.scPowerAfterPowerFlow = XMLParser::GetNodeValueInt(contCalc, "SCPower");
+ int harmDistortionAfterPowerFlow = XMLParser::GetNodeValueInt(contCalc, "HarmonicDistortion");
+ simData.harmDistortionAfterPowerFlow = harmDistortionAfterPowerFlow != -1 ? harmDistortionAfterPowerFlow : false;
// Power flow
auto powerFlow = simPropertiesNode->first_node("PowerFlow");
@@ -333,6 +348,7 @@ bool FileHanding::OpenProject(wxFileName path)
std::vector<SyncGenerator*> syncGeneratorList;
std::vector<SyncMotor*> syncMotorList;
std::vector<Transformer*> transformerList;
+ std::vector<HarmCurrent*> harmCurrentList;
std::vector<Text*> textList;
// List of parents
@@ -481,6 +497,21 @@ bool FileHanding::OpenProject(wxFileName path)
transfomerNode = transfomerNode->next_sibling("Transfomer");
} //}
+ //{ HarmCurrent
+ auto harmCurrentListNode = elementsNode->first_node("HarmCurrentList");
+ if(harmCurrentListNode) {
+ 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);
//{ Text
@@ -531,6 +562,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);