diff --git a/common/geometry/shape_arc.cpp b/common/geometry/shape_arc.cpp index 3c22a8c23f..aef384eb8d 100644 --- a/common/geometry/shape_arc.cpp +++ b/common/geometry/shape_arc.cpp @@ -259,7 +259,7 @@ const SHAPE_LINE_CHAIN SHAPE_ARC::ConvertToPolyline( double aAccuracy ) const double a = sa; if( n != 0 ) - a = m_centralAngle * (double) i / (double) n; + a += m_centralAngle * (double) i / (double) n; double x = c.x + r * cos( a * M_PI / 180.0 ); double y = c.y + r * sin( a * M_PI / 180.0 ); diff --git a/qa/common/geometry/test_shape_arc.cpp b/qa/common/geometry/test_shape_arc.cpp index 9c159a46ec..fb445097fa 100644 --- a/qa/common/geometry/test_shape_arc.cpp +++ b/qa/common/geometry/test_shape_arc.cpp @@ -337,10 +337,8 @@ bool ArePolylineMidPointsNearCircle( return GEOM_TEST::ArePointsNearCircle( points, aCentre, aRad, aTolMidPts ); } -#ifdef HAVE_EXPECTED_FAILURES -// Start and end point check fail for the 3 non-zero radius cases -BOOST_AUTO_TEST_CASE( ArcToPolyline, *boost::unit_test::expected_failures( 3 * 2 ) ) +BOOST_AUTO_TEST_CASE( ArcToPolyline ) { const std::vector cases = { { @@ -416,6 +414,5 @@ BOOST_AUTO_TEST_CASE( ArcToPolyline, *boost::unit_test::expected_failures( 3 * 2 } } -#endif BOOST_AUTO_TEST_SUITE_END()