]> Shamusworld >> Repos - architektonas/blobdiff - src/arc.cpp
Added rotation tool.
[architektonas] / src / arc.cpp
index f7cde5283c8befbf01926979e787d9afa1aa8c6b..e4a6b6f4788de7b89f1196fa75a8018217fad421 100644 (file)
@@ -456,6 +456,18 @@ same reference number.
 }
 
 
+/*virtual*/ void Arc::Rotate(Point point, double angle)
+{
+       Point c1 = Geometry::RotatePointAroundPoint(position, point, angle);
+       Point ap1(cos(startAngle), sin(startAngle));
+       Point angleStartPoint = (ap1 * radius) + position;
+       Point c2 = Geometry::RotatePointAroundPoint(angleStartPoint, point, angle);
+
+       position = c1;
+       startAngle = Vector(c2, c1).Angle();
+}
+
+
 /*virtual*/ void Arc::Mirror(Point p1, Point p2)
 {
        Point c1 = Geometry::MirrorPointAroundLine(position, p1, p2);