From 7e90664147c73c58dfaa5585fca65892b3aaf44a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Franze=CC=81n?= Date: Thu, 7 Mar 2024 22:07:31 +0100 Subject: [PATCH] Add support for arcminutes and arcseconds in Angle init --- Sources/SwiftSCAD/Values/Angle/Angle.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Sources/SwiftSCAD/Values/Angle/Angle.swift b/Sources/SwiftSCAD/Values/Angle/Angle.swift index eccb6da..b005261 100644 --- a/Sources/SwiftSCAD/Values/Angle/Angle.swift +++ b/Sources/SwiftSCAD/Values/Angle/Angle.swift @@ -11,9 +11,10 @@ public struct Angle { self.radians = radians } - /// Create an angle from degrees - public init(degrees: Double) { - self.init(radians: degrees * .pi / 180.0) + /// Create an angle from degrees, and optionally, arcminutes and arcseconds + public init(degrees: Double, arcmins: Double = 0, arcsecs: Double = 0) { + let totalDegrees = degrees + arcmins / 60.0 + arcsecs / 3600.0 + self.init(radians: totalDegrees * .pi / 180.0) } /// The angle expressed in degrees