X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Farc.cpp;h=e4a6b6f4788de7b89f1196fa75a8018217fad421;hb=921bf050ffe5fc81a9ab377e634180e659ee5d5d;hp=f7cde5283c8befbf01926979e787d9afa1aa8c6b;hpb=67fbc130b4b6b4d253f69a9c32980d3d3306def5;p=architektonas diff --git a/src/arc.cpp b/src/arc.cpp index f7cde52..e4a6b6f 100644 --- a/src/arc.cpp +++ b/src/arc.cpp @@ -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);