protected override void SolveInstance(IGH_DataAccess DA) { double gammaMU = 0.0, gammaMAs = 0.0, kdefU = 0.0, kdefSq = 0.0, kdefSf = 0.0, kdefSc = 0.0, systemFactor = 1.0; int serviceClass = 1; if (!DA.GetData("Gamma mu", ref gammaMU)) { return; } if (!DA.GetData("Gamma ma", ref gammaMAs)) { return; } if (!DA.GetData("kdef U", ref kdefU)) { return; } if (!DA.GetData("kdef Sq", ref kdefSq)) { return; } if (!DA.GetData("kdef Sf", ref kdefSf)) { return; } if (!DA.GetData("kdef Sc", ref kdefSc)) { return; } if (!DA.GetData("serviceClass", ref serviceClass)) { return; } if (!DA.GetData("systemFactor", ref systemFactor)) { return; } // parse enum // test value if (!Enum.IsDefined(typeof(FemDesign.Materials.TimberServiceClassEnum), serviceClass - 1)) { throw new System.ArgumentException($"Incorrect service class value: {serviceClass}. Value should be 1, 2 or 3"); } // set enum if exception was not thrown var sClass = (FemDesign.Materials.TimberServiceClassEnum)(serviceClass - 1); // create object FemDesign.Materials.TimberFactors obj = new Materials.TimberFactors(gammaMU, gammaMAs, kdefU, kdefSq, kdefSf, kdefSc, sClass, systemFactor); // return DA.SetData(0, obj); }
protected override void SolveInstance(IGH_DataAccess DA) { Materials.CltPanelLibraryType cltPanelLibraryType = null; if (!DA.GetData("CltPanelLibraryType", ref cltPanelLibraryType)) { return; } Materials.TimberFactors factors = null; if (!DA.GetData("TimberFactors", ref factors)) { return; } bool shearCoupling = true, gluedNarrowSides = true; DA.GetData("ShearCoupling", ref shearCoupling); DA.GetData("GluedNarrowSides", ref gluedNarrowSides); FemDesign.Materials.TimberPanelType obj = new Materials.TimberPanelType(cltPanelLibraryType, factors, shearCoupling, gluedNarrowSides); DA.SetData(0, obj); }