public static global::OpenStudio.Material ToOSM(this BHM.Material material, global::OpenStudio.Model modelReference, double thickness = 0.0, bool isGlazed = false) { List <BHM.IMaterialProperties> environmentMaterialProperties = material.Properties.Where(x => x is BHEM.IEnvironmentMaterial).ToList(); if (environmentMaterialProperties.Count > 0) { if (environmentMaterialProperties[0].GetType() == typeof(BHEM.SolidMaterial)) { if (material.IsTransparent()) { return(material.ToOSMGlazing(thickness, modelReference)); } else { return(material.ToOSMOpaqueMaterial((environmentMaterialProperties[0] as BHEM.IEnvironmentMaterial).Roughness, thickness, modelReference)); } } else if (environmentMaterialProperties[0].GetType() == typeof(BHEM.GasMaterial)) { if (isGlazed) { return(material.ToOSMGas(thickness, modelReference)); } else { return(material.ToOSMAirGap(modelReference)); } } } return(null); }
public static TBD.MaterialTypes ToTASType(this BHPM.Material material) { BHM.IEnvironmentMaterial envMaterial = material.Properties.Where(x => x.GetType() == typeof(BHM.IEnvironmentMaterial)).FirstOrDefault() as BHM.IEnvironmentMaterial; if (envMaterial == null) { return(TBD.MaterialTypes.tcdOpaqueLayer); } if (envMaterial.GetType() == typeof(BHM.GasMaterial)) { return(TBD.MaterialTypes.tcdGasLayer); } else if (material.IsTransparent()) { return(TBD.MaterialTypes.tcdTransparentLayer); } else { return(TBD.MaterialTypes.tcdOpaqueLayer); } }