示例#1
0
        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);
        }