public override void SolveInstance(IGH_DataAccess DA, out string msg, out GH_RuntimeMessageLevel level) { msg = ""; level = GH_RuntimeMessageLevel.Blank; var point = new Point3d(); var noIndex = 0; var comment = ""; var rFNode = new RFNode(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; //int newNo = 0; var dataprovided = false; if (DA.GetData(3, ref inRFEM)) { rFNode = new RFNode((RFNode)inRFEM.Value); dataprovided = true; } if (DA.GetData(0, ref point)) { rFNode.RefObjectNo = 0; rFNode.X = point.X; rFNode.Y = point.Y; rFNode.Z = point.Z; rFNode.Location = point; dataprovided = true; } if (!dataprovided) { msg = "Insufficient input parameters. Provide either Input Point or existing RFNode Object. "; level = GH_RuntimeMessageLevel.Warning; return; } if (DA.GetData(1, ref noIndex)) { rFNode.No = noIndex; } if (DA.GetData(4, ref mod)) { rFNode.ToModify = mod; //if (!(rFNode.No>0)) //{ // AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Index nummer required in order to modify or delete RFEM objects."); //} } if (DA.GetData(5, ref del)) { rFNode.ToDelete = del; } if (DA.GetData(2, ref comment)) { rFNode.Comment = comment; } DA.SetData(0, rFNode); }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object can be used to retrieve data from input parameters and /// to store data in output parameters.</param> protected override void SolveInstance(IGH_DataAccess DA, EvaluationUnit unit) { var point = new Point3d(); var noIndex = 0; var comment = ""; var rFNode = new RFNode(); var inRFEM = new GH_RFEM(); var mod = false; var del = false; //int newNo = 0; var dataprovided = false; if (DA.GetData(3, ref inRFEM)) { rFNode = new RFNode((RFNode)inRFEM.Value); dataprovided = true; } if (DA.GetData(0, ref point)) { rFNode.RefObjectNo = 0; rFNode.X = point.X; rFNode.Y = point.Y; rFNode.Z = point.Z; rFNode.Location = point; dataprovided = true; } if (!dataprovided) { return; } if (DA.GetData(1, ref noIndex)) { rFNode.No = noIndex; } if (DA.GetData(4, ref mod)) { rFNode.ToModify = mod; //if (!(rFNode.No>0)) //{ // AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Index nummer required in order to modify or delete RFEM objects."); //} } if (DA.GetData(5, ref del)) { rFNode.ToDelete = del; } if (DA.GetData(2, ref comment)) { rFNode.Comment = comment; } DA.SetData(0, rFNode); }