feat: Begins room-pressure calculator
This commit is contained in:
31
Sources/Routes/Models/ClimateZone.swift
Normal file
31
Sources/Routes/Models/ClimateZone.swift
Normal file
@@ -0,0 +1,31 @@
|
||||
public enum ClimateZone: String, Codable, Equatable, Sendable {
|
||||
case dry
|
||||
case hotHumid
|
||||
case marine
|
||||
case moist
|
||||
|
||||
public var zoneIdentifiers: [String] {
|
||||
switch self {
|
||||
case .dry:
|
||||
return ["2B", "3B", "4B", "5B", "6B", "7B"]
|
||||
case .hotHumid:
|
||||
return ["1A", "2A"]
|
||||
case .marine:
|
||||
return ["3C", "4C"]
|
||||
case .moist:
|
||||
return ["3A", "4A", "5A", "6A", "7A"]
|
||||
}
|
||||
}
|
||||
|
||||
public var cfmPerTon: Int {
|
||||
switch self {
|
||||
case .dry: return 450
|
||||
case .hotHumid: return 350
|
||||
case .marine, .moist: return 400
|
||||
}
|
||||
}
|
||||
|
||||
public var label: String {
|
||||
return "\(rawValue.capitalized) (\(zoneIdentifiers.joined(separator: ",")))"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user