summaryrefslogtreecommitdiffstats
path: root/Project/Transformer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Transformer.cpp')
-rw-r--r--Project/Transformer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp
index 3c3edd8..024a851 100644
--- a/Project/Transformer.cpp
+++ b/Project/Transformer.cpp
@@ -718,3 +718,15 @@ bool Transformer::OpenElement(rapidxml::xml_node<>* elementNode, std::vector<Ele
return true;
}
+
+void Transformer::SetBestPositionAndRotation()
+{
+ wxPoint2DDouble p1 = m_pointList[0];
+ wxPoint2DDouble p2 = m_pointList[m_pointList.size() - 1];
+ wxPoint2DDouble mid = (p1 + p2) / 2.0;
+ StartMove(m_position);
+ Move(mid);
+ double bestAngle = wxRadToDeg(std::atan2(p2.m_y - p1.m_y, p2.m_x - p1.m_x));
+ bool clockwise = bestAngle > 0 ? true : false;
+ while(std::abs(m_angle) < std::abs(bestAngle)) { Rotate(clockwise); }
+}