public static string DefaultConstructionName(this ApertureType apertureType, bool @internal = false) { if (apertureType == ApertureType.Undefined) { return(null); } GlobalConstructionSet globalConstructionSet = GlobalConstructionSet.Default; if (globalConstructionSet == null) { return(null); } switch (apertureType) { case ApertureType.Window: return(@internal ? globalConstructionSet.ApertureSet.InteriorConstruction : globalConstructionSet.ApertureSet.OperableConstruction); case ApertureType.Door: return(@internal ? globalConstructionSet.DoorSet.InteriorConstruction : globalConstructionSet.DoorSet.ExteriorConstruction); } return(null); }
public static AnyOf <EnergyMaterial, EnergyMaterialNoMass, EnergyWindowMaterialGlazing, EnergyWindowMaterialGas> DefaultMaterial(this string name) { if (string.IsNullOrWhiteSpace(name)) { return(null); } GlobalConstructionSet globalConstructionSet = GlobalConstructionSet.Default; if (globalConstructionSet == null) { return(null); } List <AnyOf <EnergyMaterial, EnergyMaterialNoMass, EnergyWindowMaterialGlazing, EnergyWindowMaterialGas> > materials = globalConstructionSet.Materials; if (materials == null) { return(null); } foreach (AnyOf <EnergyMaterial, EnergyMaterialNoMass, EnergyWindowMaterialGlazing, EnergyWindowMaterialGas> material in materials) { if (material.Obj is EnergyMaterial) { if (name.Equals(((EnergyMaterial)material.Obj).Identifier)) { return(material); } } else if (material.Obj is EnergyMaterialNoMass) { if (name.Equals(((EnergyMaterialNoMass)material.Obj).Identifier)) { return(material); } } else if (material.Obj is EnergyWindowMaterialGlazing) { if (name.Equals(((EnergyWindowMaterialGlazing)material.Obj).Identifier)) { return(material); } } else if (material.Obj is EnergyWindowMaterialGas) { if (name.Equals(((EnergyWindowMaterialGas)material.Obj).Identifier)) { return(material); } } } return(null); }
public static string DefaultConstructionName(this PanelType panelType) { if (panelType == PanelType.Undefined) { return(null); } GlobalConstructionSet globalConstructionSet = GlobalConstructionSet.Default; if (globalConstructionSet == null) { return(null); } switch (panelType) { case PanelType.Floor: return(globalConstructionSet.FloorSet?.InteriorConstruction); case PanelType.Air: return(globalConstructionSet.AirBoundaryConstruction); case PanelType.UndergroundSlab: return(globalConstructionSet.FloorSet.ExteriorConstruction); case PanelType.UndergroundWall: return(globalConstructionSet.WallSet.ExteriorConstruction); case PanelType.Undefined: return(null); case PanelType.FloorExposed: return(globalConstructionSet.FloorSet.ExteriorConstruction); case PanelType.Shade: return(globalConstructionSet.WallSet.InteriorConstruction); case PanelType.Roof: return(globalConstructionSet.RoofCeilingSet.ExteriorConstruction); case PanelType.WallExternal: return(globalConstructionSet.WallSet.ExteriorConstruction); case PanelType.Ceiling: return(globalConstructionSet.RoofCeilingSet.InteriorConstruction); case PanelType.WallInternal: return(globalConstructionSet.WallSet.InteriorConstruction); case PanelType.SlabOnGrade: return(globalConstructionSet.FloorSet.GroundConstruction); } return(null); }
public static AnyOf <OpaqueConstructionAbridged, WindowConstructionAbridged, ShadeConstruction, AirBoundaryConstructionAbridged> DefaultConstruction(this PanelType panelType) { string name = DefaultConstructionName(panelType); if (string.IsNullOrEmpty(name)) { return(null); } GlobalConstructionSet globalConstructionSet = GlobalConstructionSet.Default; if (globalConstructionSet == null) { return(null); } List <AnyOf <OpaqueConstructionAbridged, WindowConstructionAbridged, ShadeConstruction, AirBoundaryConstructionAbridged> > constructions = globalConstructionSet.Constructions; foreach (AnyOf <OpaqueConstructionAbridged, WindowConstructionAbridged, ShadeConstruction, AirBoundaryConstructionAbridged> construction in constructions) { string name_Temp = null; if (construction.Obj is OpaqueConstructionAbridged) { name_Temp = ((OpaqueConstructionAbridged)construction.Obj).Identifier; } else if (construction.Obj is WindowConstructionAbridged) { name_Temp = ((WindowConstructionAbridged)construction.Obj).Identifier; } else if (construction.Obj is ShadeConstruction) { name_Temp = ((ShadeConstruction)construction.Obj).Identifier; } else if (construction.Obj is AirBoundaryConstructionAbridged) { name_Temp = ((AirBoundaryConstructionAbridged)construction.Obj).Identifier; } if (string.IsNullOrWhiteSpace(name)) { continue; } if (name.Equals(name_Temp)) { return(construction); } } return(null); }