Ejemplo n.º 1
0
        public static List <bool> UpdateSurfaceOutputSpecs(this TBD.TBDDocument tBDDocument, IEnumerable <SurfaceOutputSpec> surfaceOutputSpecs)
        {
            if (tBDDocument == null || surfaceOutputSpecs == null)
            {
                return(null);
            }

            TBD.Building building = tBDDocument.Building;
            if (building == null)
            {
                return(null);
            }

            List <bool> result = new List <bool>();

            List <TBD.SurfaceOutputSpec> surfaceOutputSpecs_TBD = building?.SurfaceOutputSpecs();

            foreach (TBD.SurfaceOutputSpec surfaceOutputSpec_TBD in surfaceOutputSpecs_TBD)
            {
                tBDDocument.DeleteObjectByName(surfaceOutputSpec_TBD.name);
            }
            surfaceOutputSpecs_TBD.Clear();

            foreach (SurfaceOutputSpec surfaceOutputSpec in surfaceOutputSpecs)
            {
                if (surfaceOutputSpec == null)
                {
                    continue;
                }

                TBD.SurfaceOutputSpec surfaceOutputSpec_TBD = surfaceOutputSpecs_TBD.Find(x => x.name == surfaceOutputSpec.Name);
                if (surfaceOutputSpec_TBD == null)
                {
                    surfaceOutputSpec_TBD = building.AddSurfaceOutputSpec();

                    if (surfaceOutputSpec.Name != null)
                    {
                        surfaceOutputSpec_TBD.name = surfaceOutputSpec.Name;
                    }
                }

                surfaceOutputSpec_TBD.description  = surfaceOutputSpec.Description;
                surfaceOutputSpec_TBD.apertureData = surfaceOutputSpec.ApertureData ? 1 : 0;
                surfaceOutputSpec_TBD.condensation = surfaceOutputSpec.Condensation ? 1 : 0;
                surfaceOutputSpec_TBD.convection   = surfaceOutputSpec.Convection ? 1 : 0;
                surfaceOutputSpec_TBD.solarGain    = surfaceOutputSpec.SolarGain ? 1 : 0;
                surfaceOutputSpec_TBD.conduction   = surfaceOutputSpec.Conduction ? 1 : 0;
                surfaceOutputSpec_TBD.longWave     = surfaceOutputSpec.LongWave ? 1 : 0;
                surfaceOutputSpec_TBD.dryBulbTemp  = surfaceOutputSpec.Temperature ? 1 : 0;
            }

            return(result);
        }
Ejemplo n.º 2
0
        public static List <TBD.SurfaceOutputSpec> SurfaceOutputSpecs(this TBD.Building building)
        {
            List <TBD.SurfaceOutputSpec> result = new List <TBD.SurfaceOutputSpec>();

            int index = 0;

            TBD.SurfaceOutputSpec surfaceOutputSpec = building.GetSurfaceOutputSpec(index);
            while (surfaceOutputSpec != null)
            {
                result.Add(surfaceOutputSpec);
                index++;

                surfaceOutputSpec = building.GetSurfaceOutputSpec(index);
            }

            return(result);
        }
Ejemplo n.º 3
0
        public static bool AssignSurfaceOutputSpecs(this TBD.TBDDocument tBDDocument, string name)
        {
            if (tBDDocument == null)
            {
                return(false);
            }

            TBD.Building building = tBDDocument.Building;
            if (building == null)
            {
                return(false);
            }

            List <TBD.SurfaceOutputSpec> surfaceOutputSpecs_TBD = building?.SurfaceOutputSpecs();

            if (surfaceOutputSpecs_TBD == null || surfaceOutputSpecs_TBD.Count == 0)
            {
                return(false);
            }

            TBD.SurfaceOutputSpec surfaceOutputSpec = surfaceOutputSpecs_TBD.Find(x => x.name == name);
            if (surfaceOutputSpec == null)
            {
                return(false);
            }

            List <TBD.buildingElement> buildingElements = building.BuildingElements();

            if (buildingElements == null || buildingElements.Count == 0)
            {
                return(false);
            }

            foreach (TBD.buildingElement buildingElement in buildingElements)
            {
                buildingElement.AssignSurfaceOutputSpec(surfaceOutputSpec);
            }

            return(true);
        }
Ejemplo n.º 4
0
 internal SurfaceOutputSpec(TBD.SurfaceOutputSpec SurfaceOutputSpec)
 {
     pSurfaceOutputSpec = SurfaceOutputSpec;
 }