From 91d0042017e6c46f2c9f5d42d438836efa6d53e4 Mon Sep 17 00:00:00 2001 From: Arturs Artamonovs Date: Fri, 7 Aug 2026 02:01:40 +0100 Subject: Added 3 views. Added basic beam drawing and basic calculations for width and length + beam drawing --- ShedCalc/ParamModel.swift | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ShedCalc/ParamModel.swift (limited to 'ShedCalc/ParamModel.swift') diff --git a/ShedCalc/ParamModel.swift b/ShedCalc/ParamModel.swift new file mode 100644 index 0000000..4935bcd --- /dev/null +++ b/ShedCalc/ParamModel.swift @@ -0,0 +1,37 @@ +// +// ParamModel.swift +// ShedCalc +// +// Created by Jacky Jack on 01/08/2026. +// +import Combine +import SwiftUI +import Observation + +@Observable +class ParamModel { + var width: Float = 1.0 + var height: Float = 1.0 + var length: Float = 1.0 + var beamSpace: Float = 0.6 + + func floorArea() -> Float { + return width*length + } + + func roofArea() -> Float { + return width*length + } + + func dimensions() -> SIMD3 { + return [width,length,height] + } + + func widthBeamNum() -> Int { + return Int(width/beamSpace) + 1 + } + + func lengthBeamNum() -> Int { + return Int(length/beamSpace) + 1 + } +} -- cgit v1.2.3