BACKGROUND:
Building on the work of #957 and #959, I'd like to be able to build arcs by three points. IFCIndexedPolyCurve requires this and the ability to build an arc by three points is generally useful.
DESCRIPTION:
Implements Arc.ByThreePoints.
Creates internal versions of angle calculation methods that return radians, so that we don't have to convert internally.
Refactors Fillet into a static method Arc.Fillet and makes the fillet code capable of creating fillets between any two lines, not just those that lie in the XY plane.
TESTING:
Is there a scenario where we shouldn't be able to create an arc by three points? Here's the ones I've captured with tests.
Three colinear points.
Three coincident points.
FUTURE WORK:
This is a naive implementation using only ootb methods. It's quite possible there's a more efficient way to do this.
This PR requires #957.
BACKGROUND: Building on the work of #957 and #959, I'd like to be able to build arcs by three points.
IFCIndexedPolyCurve
requires this and the ability to build an arc by three points is generally useful.DESCRIPTION:
Arc.ByThreePoints
.Fillet
into a static methodArc.Fillet
and makes the fillet code capable of creating fillets between any two lines, not just those that lie in the XY plane.TESTING: Is there a scenario where we shouldn't be able to create an arc by three points? Here's the ones I've captured with tests.
FUTURE WORK:
REQUIRED:
CHANGELOG.md
.This change is