feat: Adding improvements to pressure estimations feature.
This commit is contained in:
@@ -9,7 +9,7 @@ public struct SharedPressureEstimationState: Equatable, Sendable {
|
||||
public var equipmentMeasurement: EquipmentMeasurement?
|
||||
public var equipmentMetadata: EquipmentMetadata
|
||||
public var flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement?
|
||||
public var flaggedEstimations: IdentifiedArrayOf<FlaggedMeasurementContainer>
|
||||
public var flaggedEstimations: IdentifiedArrayOf<FlaggedEstimationContainer>
|
||||
public var heatingCapacity: Double?
|
||||
public var manufacturersIncludedFilterPressureDrop: Double?
|
||||
|
||||
@@ -18,7 +18,7 @@ public struct SharedPressureEstimationState: Equatable, Sendable {
|
||||
equipmentMeasurement: EquipmentMeasurement? = nil,
|
||||
equipmentMetadata: EquipmentMetadata = .init(),
|
||||
flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement? = nil,
|
||||
flaggedEstimations: IdentifiedArrayOf<FlaggedMeasurementContainer> = [],
|
||||
flaggedEstimations: IdentifiedArrayOf<FlaggedEstimationContainer> = [],
|
||||
heatingCapacity: Double? = nil,
|
||||
manufacturersIncludedFilterPressureDrop: Double? = nil
|
||||
) {
|
||||
@@ -36,7 +36,8 @@ public struct SharedPressureEstimationState: Equatable, Sendable {
|
||||
set { equipmentMetadata[keyPath: keyPath] = newValue }
|
||||
}
|
||||
|
||||
public struct FlaggedMeasurementContainer: Equatable, Identifiable, Sendable {
|
||||
#warning("Needs to hold onto estimation state, so it can be editable")
|
||||
public struct FlaggedEstimationContainer: Equatable, Identifiable, Sendable {
|
||||
public let id: UUID
|
||||
public var flaggedMeasurement: EquipmentMeasurement.FlaggedMeasurement
|
||||
public var name: String
|
||||
@@ -50,6 +51,44 @@ public struct SharedPressureEstimationState: Equatable, Sendable {
|
||||
self.name = name
|
||||
self.flaggedMeasurement = flaggedMeasurement
|
||||
}
|
||||
|
||||
public struct EstimationState: Equatable, Sendable {
|
||||
public var cfm: CFMContainer
|
||||
public var filterPressureDrop: Double?
|
||||
public var name: String?
|
||||
|
||||
public init(
|
||||
cfm: CFMContainer,
|
||||
filterPressureDrop: Double? = nil,
|
||||
name: String? = nil
|
||||
) {
|
||||
self.cfm = cfm
|
||||
self.filterPressureDrop = filterPressureDrop
|
||||
self.name = name
|
||||
}
|
||||
|
||||
var displayName: String {
|
||||
guard let name else {
|
||||
return "@\(Int(cfm.airflow)) CFM"
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
public enum CFMContainer: Equatable, Sendable {
|
||||
case cfm(Int)
|
||||
case cfmPerTon(Int, EquipmentMetadata.CoolingCapacity)
|
||||
|
||||
var airflow: Double {
|
||||
switch self {
|
||||
case let .cfm(cfm):
|
||||
return Double(cfm)
|
||||
case let .cfmPerTon(cfmPerTon, capacity):
|
||||
return Double(cfmPerTon) * capacity.rawValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user