diff options
author | Thales1330 <thaleslima.ufu@gmail.com> | 2016-10-01 17:33:43 -0300 |
---|---|---|
committer | Thales1330 <thaleslima.ufu@gmail.com> | 2016-10-01 17:33:43 -0300 |
commit | 0ad4701a05a1fb267ee58c3da89d897eba1d91ee (patch) | |
tree | 3f741c478ca8860db22c3c1c2e00093c9d9c7dc9 /Project/Workspace.cpp | |
parent | f6718ac24553ac99bf90f99a33543d6d6b96999b (diff) | |
download | PSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.tar.gz PSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.tar.xz PSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.zip |
Nominal voltage bug fixed
Diffstat (limited to 'Project/Workspace.cpp')
-rw-r--r-- | Project/Workspace.cpp | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp index 698ae81..bfcfb89 100644 --- a/Project/Workspace.cpp +++ b/Project/Workspace.cpp @@ -949,27 +949,40 @@ void Workspace::ValidateBusesVoltages(Element* initialBus) Element* child = *it; if(typeid(*child) == typeid(Line)) { - BusElectricalData data1 = ((Bus*)child->GetParentList()[0])->GetEletricalData(); - BusElectricalData data2 = ((Bus*)child->GetParentList()[1])->GetEletricalData(); + if(child->GetParentList()[0] && child->GetParentList()[1]) { + BusElectricalData data1 = ((Bus*)child->GetParentList()[0])->GetEletricalData(); + BusElectricalData data2 = ((Bus*)child->GetParentList()[1])->GetEletricalData(); - if(data1.nominalVoltage != data2.nominalVoltage || - data1.nominalVoltageUnit != data2.nominalVoltageUnit) - { - data1.nominalVoltage = nominalVoltage; - data2.nominalVoltage = nominalVoltage; - data1.nominalVoltageUnit = nominalVoltageUnit; - data2.nominalVoltageUnit = nominalVoltageUnit; + if(data1.nominalVoltage != data2.nominalVoltage || + data1.nominalVoltageUnit != data2.nominalVoltageUnit) + { + data1.nominalVoltage = nominalVoltage; + data2.nominalVoltage = nominalVoltage; + data1.nominalVoltageUnit = nominalVoltageUnit; + data2.nominalVoltageUnit = nominalVoltageUnit; + + ((Bus*)child->GetParentList()[0])->SetElectricalData(data1); + ((Bus*)child->GetParentList()[1])->SetElectricalData(data2); - ((Bus*)child->GetParentList()[0])->SetElectricalData(data1); - ((Bus*)child->GetParentList()[1])->SetElectricalData(data2); - - it = m_elementList.begin();// Restart search. + it = m_elementList.begin(); // Restart search. + } } } } + + ValidateElementsVoltages(); } void Workspace::ValidateElementsVoltages() { - //continua... + for(auto it = m_elementList.begin(); it != m_elementList.end(); it++) { + Element* child = *it; + for(int i = 0; i < (int)child->GetParentList().size(); i++) { + Bus* parent = (Bus*)child->GetParentList()[i]; + if(parent) { + child->SetNominalVoltage(parent->GetEletricalData().nominalVoltage, + parent->GetEletricalData().nominalVoltageUnit); + } + } + } } |