We want to allow users to construct Arcs with apparently decreasing angle domains, in order to have intuitive control over arc direction.
DESCRIPTION:
Updates Arc constructors to ensure that EndAngle is always greater than StartAngle.
TESTING:
I added a test for every modified constructor, to verify that for any pair of angles A,B, arc(A,B) looked just like arc(B,A), but parameterized in the opposite direction.
I added a test to construct an IndexedPolycurve containing an arc which runs "clockwise" with respect to its circle / the Z axis, to ensure consistency in direction of the overall polycurve:
I added a test for issue #994's original complaint, and visually verified that it worked.
All tests pass.
FUTURE WORK:
We may need to introduce a notion of SenseAgreement as STEP does for more complex curves, such that a subcurve could act like it was running in the opposite direction from its basis curve. Or maybe not ¯\_(ツ)_/¯
BACKGROUND:
DESCRIPTION:
EndAngle
is always greater thanStartAngle
.TESTING:
IndexedPolycurve
containing an arc which runs "clockwise" with respect to its circle / the Z axis, to ensure consistency in direction of the overall polycurve:FUTURE WORK:
SenseAgreement
as STEP does for more complex curves, such that a subcurve could act like it was running in the opposite direction from its basis curve. Or maybe not¯\_(ツ)_/¯
REQUIRED:
CHANGELOG.md
.This change is