/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="dataAccess">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess dataAccess) { Panel panel = null; if (!dataAccess.GetData(0, ref panel) || panel == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Invalid data"); return; } bool offsetAperturesOnEdge = true; dataAccess.GetData(1, ref offsetAperturesOnEdge); if (offsetAperturesOnEdge) { panel = Create.Panel(panel); panel.OffsetAperturesOnEdge(0.1); } HoneybeeSchema.Face face = Analytical.LadybugTools.Convert.ToLadybugTools_Face(panel); HoneybeeSchema.Shade shade = Analytical.LadybugTools.Convert.ToLadybugTools_Shade(panel); dataAccess.SetData(0, face?.ToJson()); dataAccess.SetData(1, shade?.ToJson()); }
public static double CalArea(this HoneybeeSchema.Face face) { return(face.Geometry.CalArea()); }