From 59f05a357b604f41fe050f8f52d587e071f18623 Mon Sep 17 00:00:00 2001 From: Sandeep Kumar Date: Fri, 31 Jan 2025 16:45:34 +0530 Subject: [PATCH] GSAGH-499: split function --- .../4_Analysis/CreateAnalysisTask.cs | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs b/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs index aa5db2225..107413ac5 100644 --- a/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs +++ b/GsaGH/Components/4_Analysis/CreateAnalysisTask.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using GH_IO.Serialization; +using GH_IO.Types; using Grasshopper.Kernel; using Grasshopper.Kernel.Parameters; @@ -244,29 +245,32 @@ protected override void SolveInternal(IGH_DataAccess da) { da.SetData(0, new GsaAnalysisTaskGoo(gsaAnalysisTask)); } + private bool StaticAndPdeltaCases(List objectWrapper, ref List analysisCases) { + analysisCases = new List(); + for (int i = 0; i < objectWrapper.Count; i++) { + GH_ObjectWrapper ghTypeWrapper = objectWrapper[i]; + if (ghTypeWrapper == null) { + this.AddRuntimeWarning($"Analysis Case input (index: {i}) is null and has been ignored"); + continue; + } + if (ghTypeWrapper.Value is GsaAnalysisCaseGoo goo) { + analysisCases.Add(goo.Value.Duplicate()); + } else { + UnsupportedValueError(ghTypeWrapper); + return false; + } + } + return true; + } private bool GetAnalysisCases(IGH_DataAccess da, out List cases) { cases = null; switch (_analysisTaskType) { case AnalysisTaskType.Static: case AnalysisTaskType.StaticPDelta: var ghTypes = new List(); - if (da.GetDataList(_casesParamIndex, ghTypes)) { - cases = new List(); - for (int i = 0; i < ghTypes.Count; i++) { - GH_ObjectWrapper ghTypeWrapper = ghTypes[i]; - if (ghTypeWrapper == null) { - this.AddRuntimeWarning($"Analysis Case input (index: {i}) is null and has been ignored"); - continue; - } - - if (ghTypeWrapper.Value is GsaAnalysisCaseGoo goo) { - cases.Add(goo.Value.Duplicate()); - } else { - UnsupportedValueError(ghTypeWrapper); - return false; - } - } + if (da.GetDataList(_casesParamIndex, ghTypes) && !StaticAndPdeltaCases(ghTypes, ref cases)) { + return false; } break; case AnalysisTaskType.Footfall: