From 44a7475053ea042bfca9cd31998ddb5b16910688 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Wed, 18 Jan 2017 14:11:20 -0200 Subject: Power elements methods migrated to correct class --- Project/Workspace.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'Project/Workspace.cpp') diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp index d09efad..d055377 100644 --- a/Project/Workspace.cpp +++ b/Project/Workspace.cpp @@ -203,7 +203,7 @@ void Workspace::OnLeftClickDown(wxMouseEvent& event) } else { bool clickPickbox = false; for(auto it = m_elementList.begin(), itEnd = m_elementList.end(); it != itEnd; ++it) { - Element* element = *it; + PowerElement* element = *it; element->ResetPickboxes(); // Reset pickbox state. // Set movement initial position (not necessarily will be moved). @@ -277,7 +277,7 @@ void Workspace::OnLeftDoubleClick(wxMouseEvent& event) bool redraw = false; for(auto it = m_elementList.begin(); it != m_elementList.end(); ++it) { - Element* element = *it; + PowerElement* element = *it; // Click in an element. if(element->Contains(m_camera->ScreenToWorld(event.GetPosition()))) { @@ -332,7 +332,7 @@ void Workspace::OnLeftDoubleClick(wxMouseEvent& event) for(auto it = m_textList.begin(); it != m_textList.end(); ++it) { Text* text = *it; if(text->Contains(m_camera->ScreenToWorld(event.GetPosition()))) { - text->ShowForm(this, m_elementList); + text->ShowForm(this, GetElementList()); redraw = true; } } @@ -1075,7 +1075,7 @@ void Workspace::Fit() { wxPoint2DDouble leftUpCorner(0, 0); wxPoint2DDouble rightDownCorner(0, 0); - std::vector elementList = m_elementList; + std::vector elementList = GetElementList(); for(auto it = m_textList.begin(), itEnd = m_textList.end(); it != itEnd; ++it) { elementList.push_back(*it); } @@ -1134,7 +1134,7 @@ void Workspace::ValidateBusesVoltages(Element* initialBus) void Workspace::ValidateElementsVoltages() { for(auto it = m_elementList.begin(); it != m_elementList.end(); it++) { - Element* child = *it; + PowerElement* child = *it; std::vector nominalVoltage; std::vector nominalVoltageUnit; @@ -1151,7 +1151,7 @@ void Workspace::ValidateElementsVoltages() bool Workspace::RunPowerFlow() { - PowerFlow pf(m_elementList); + PowerFlow pf(GetElementList()); bool result = pf.RunGaussSeidel(); if(!result) { wxMessageDialog msgDialog(this, pf.GetErrorMessage(), _("Error"), wxOK | wxCENTRE | wxICON_ERROR); @@ -1234,7 +1234,7 @@ bool Workspace::Paste() if(copy) { pastedElements.push_back(copy); pastedBusList.push_back(static_cast(copy)); - m_elementList.push_back(copy); + m_elementList.push_back(static_cast(copy)); } } @@ -1277,7 +1277,7 @@ bool Workspace::Paste() } pastedElements.push_back(copy); - m_elementList.push_back(copy); + m_elementList.push_back(static_cast(copy)); } } } @@ -1392,7 +1392,8 @@ void Workspace::SetTextList(std::vector textList) void Workspace::SetElementList(std::vector elementList) { m_elementList.clear(); - for(auto it = elementList.begin(), itEnd = elementList.end(); it != itEnd; ++it) m_elementList.push_back(*it); + for(auto it = elementList.begin(), itEnd = elementList.end(); it != itEnd; ++it) + m_elementList.push_back(static_cast(*it)); } void Workspace::OnIdle(wxIdleEvent& event) @@ -1417,7 +1418,7 @@ std::vector Workspace::GetAllElements() const bool Workspace::RunFault() { - Fault fault(m_elementList); + Fault fault(GetElementList()); bool result = fault.RunFaultCalculation(100e6); if(!result) { wxMessageDialog msgDialog(this, fault.GetErrorMessage(), _("Error"), wxOK | wxCENTRE | wxICON_ERROR); @@ -1429,3 +1430,10 @@ bool Workspace::RunFault() return result; } + +std::vector Workspace::GetElementList() const +{ + std::vector elementList; + for(auto it = m_elementList.begin(), itEnd = m_elementList.end(); it != itEnd; ++it) elementList.push_back(*it); + return elementList; +} -- cgit