← Back to team overview

kicad-developers team mailing list archive

Angle representation in ARC_GEOM_MANAGER



the comments for the methods setting the start and end angles say that
these angles are normalized to 0..2pi, but the only thing that happens is
conditionally adding 2pi if the angle is negative. Also, apparently both
start and end angle being identical (tested with operator== on floating
point values) is wrong.

 - Is (0, 2pi) a valid configuration?
 - Should the test use a more appropriate comparison?

This is one of the candidates I'd like to replace with an auto-wrapping
class that can only take values between 0 and 2*PI, exclusively, and that
tests with a bit of slack even around the wrap, i.e.

    0.0 == 2*M_PI - 0.000000001

is true.