From a77d6ce255f35f57b5580ecef0bc5723c4a59f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Franze=CC=81n?= <tomas@tomasf.se> Date: Sat, 21 Sep 2024 20:03:28 +0200 Subject: [PATCH] Make GeometryAlignment init public --- Sources/SwiftSCAD/Operations/Alignment/Alignment.swift | 4 ++-- Sources/SwiftSCAD/Values/Axis/Axis.swift | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Sources/SwiftSCAD/Operations/Alignment/Alignment.swift b/Sources/SwiftSCAD/Operations/Alignment/Alignment.swift index fd06bc7..9713238 100644 --- a/Sources/SwiftSCAD/Operations/Alignment/Alignment.swift +++ b/Sources/SwiftSCAD/Operations/Alignment/Alignment.swift @@ -18,7 +18,7 @@ public struct GeometryAlignment2D: Equatable, Sendable { internal let x: AxisAlignment? internal let y: AxisAlignment? - internal init(x: AxisAlignment? = nil, y: AxisAlignment? = nil) { + public init(x: AxisAlignment? = nil, y: AxisAlignment? = nil) { self.x = x self.y = y } @@ -38,7 +38,7 @@ public struct GeometryAlignment3D: Equatable, Sendable { internal let y: AxisAlignment? internal let z: AxisAlignment? - internal init(x: AxisAlignment? = nil, y: AxisAlignment? = nil, z: AxisAlignment? = nil) { + public init(x: AxisAlignment? = nil, y: AxisAlignment? = nil, z: AxisAlignment? = nil) { self.x = x self.y = y self.z = z diff --git a/Sources/SwiftSCAD/Values/Axis/Axis.swift b/Sources/SwiftSCAD/Values/Axis/Axis.swift index 80c45d5..9e816a9 100644 --- a/Sources/SwiftSCAD/Values/Axis/Axis.swift +++ b/Sources/SwiftSCAD/Values/Axis/Axis.swift @@ -12,6 +12,13 @@ public enum Axis3D: Int, CaseIterable, Sendable { case y case z + public init(_ axis: Axis2D) { + switch axis { + case .x: self = .x + case .y: self = .y + } + } + /// The unit vector pointing in the direction of the axis. /// /// This property returns a `Vector3D` representing the direction of the axis with a magnitude of 1. It is useful for operations that require understanding or manipulating the orientation of geometry in 3D space.