public static BHR.SimulationResult FromTAS(this TSD.SurfaceData tsdData, BHR.ProfileResultUnit unitType, BHR.ProfileResultType resultType, int hour, int day) { TSD.tsdSurfaceArray?srfType = resultType.ToTASSurfaceType(); if (srfType == null) { BH.Engine.Base.Compute.RecordError("That Result Type is not valid for Building Element results - please choose a different result type"); return(null); } List <double> results = new List <double>(); switch (unitType) { case BHR.ProfileResultUnit.Yearly: object yearRes = tsdData.GetAnnualSurfaceResult((int)srfType.Value); results = ToDoubleList(yearRes); break; case BHR.ProfileResultUnit.Daily: if (day < 1 || day > 365) { BH.Engine.Base.Compute.RecordError("Please set a day between 1 and 365 inclusive"); return(null); } object dayRes = tsdData.GetDailySurfaceResult(day, (int)srfType.Value); results = ToDoubleList(dayRes); break; case BHR.ProfileResultUnit.Hourly: if (hour < 1 || hour > 24) { BH.Engine.Base.Compute.RecordError("Please set an hour between 1 and 24 inclusive"); return(null); } results.Add(tsdData.GetHourlySurfaceResult(hour, (int)srfType.Value)); break; default: BH.Engine.Base.Compute.RecordError("That unit type is not valid for pulling results from TAS TSD. Please select a different result unit type"); return(null); } BHR.SimulationResult result = new BHR.SimulationResult(); result.SimulationResultType = BHR.SimulationResultType.SpaceResult; result.SimulationResults.Add(new BHR.ProfileResult { Name = tsdData.BEName, Type = resultType, Unit = unitType, Results = results }); return(result); }
/// <summary> /// Gets Surfaces Data for Zone Data /// </summary> /// <param name="ZoneData">TAS Zone Data</param> /// <returns name="SurfaceData">Surface Data List</returns> /// <search> /// TAS, Surface Data, Zone Data, zonedata, zone data, surfacedata, surface data /// </search> public static List <SurfaceData> SurfaceData(ZoneData ZoneData) { List <SurfaceData> aSurfaceDataList = new List <SurfaceData>(); int aIndex = 1; TSD.SurfaceData aSurfaceData = ZoneData.pZoneData.GetSurfaceData(aIndex); while (aSurfaceData != null) { aSurfaceDataList.Add(new SurfaceData(aSurfaceData)); aIndex++; aSurfaceData = ZoneData.pZoneData.GetSurfaceData(aIndex); } return(aSurfaceDataList); }
internal SurfaceData(TSD.SurfaceData SurfaceData) { pSurfaceData = SurfaceData; }