diff options
author | Thales1330 <thaleslima.ufu@gmail.com> | 2016-12-29 19:03:16 -0200 |
---|---|---|
committer | Thales1330 <thaleslima.ufu@gmail.com> | 2016-12-29 19:03:16 -0200 |
commit | 7aed88dbcf9d37a1f40c8cad115f055c4d69e7a9 (patch) | |
tree | f8c67b159a77c61b1a67ffa8ae8f39959cdfbb0f /Project/Shunt.cpp | |
parent | c5343c718cf80620c2fc7452a4315f7ddb9e5826 (diff) | |
download | PSP.git-7aed88dbcf9d37a1f40c8cad115f055c4d69e7a9.tar.gz PSP.git-7aed88dbcf9d37a1f40c8cad115f055c4d69e7a9.tar.xz PSP.git-7aed88dbcf9d37a1f40c8cad115f055c4d69e7a9.zip |
Parent/child optimization implemented
And others bugfixes.
Diffstat (limited to 'Project/Shunt.cpp')
-rw-r--r-- | Project/Shunt.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Project/Shunt.cpp b/Project/Shunt.cpp index d932abd..0cd5736 100644 --- a/Project/Shunt.cpp +++ b/Project/Shunt.cpp @@ -34,8 +34,11 @@ void Shunt::MoveNode(Element* element, wxPoint2DDouble position) } else { if(m_activeNodeID == 1) { m_pointList[0] = m_movePts[0] + position - m_moveStartPt; - m_parentList[0] = NULL; - m_online = false; + if(m_parentList[0]) { + m_parentList[0]->RemoveChild(this); + m_parentList[0] = NULL; + m_online = false; + } } } @@ -109,6 +112,7 @@ void Shunt::UpdateNodes() 10 + 2.0 * m_borderSize, 10 + 2.0 * m_borderSize); if(!m_parentList[0]->Intersects(nodeRect)) { + m_parentList[0]->RemoveChild(this); m_parentList[0] = NULL; m_online = false; UpdateSwitchesPosition(); |