Exemplo n.º 1
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            GH_Structure <GH_Point> TempPtsTree = new GH_Structure <GH_Point>();

            Point3d StartPt = Point3d.Origin;
            double  ExtendX = default(double), ExtendY = default(double);
            int     TotalNum = default(int), ColumnNum = default(int);

            if (!DA.GetData(0, ref StartPt))
            {
                return;
            }
            if (!DA.GetData(1, ref ExtendX))
            {
                return;
            }
            if (!DA.GetData(2, ref ExtendY))
            {
                return;
            }
            if (!DA.GetData(3, ref TotalNum))
            {
                return;
            }
            if (!DA.GetData(4, ref ColumnNum))
            {
                return;
            }

            double StartX = StartPt.X, StartY = StartPt.Y, StartZ = StartPt.Z, CurrentY = 0;
            double RowNum      = TotalNum / ColumnNum;
            int    TotalColumn = Convert.ToInt32((TotalNum % ColumnNum == 0) ? RowNum : (RowNum + 1));

            for (int Column = 0; Column < TotalColumn; Column++)
            {
                List <GH_Point> TempList = new List <GH_Point>();
                int             leftNum  = TotalNum - Column * ColumnNum;
                ColumnNum = leftNum < ColumnNum ? leftNum: ColumnNum;
                CurrentY  = StartY;

                for (int j = 0; j < ColumnNum; j++)
                {
                    Point3d Temp_Pt = new Point3d(StartX, CurrentY, StartZ);
                    TempList.Add(new GH_Point(Temp_Pt));
                    CurrentY += ExtendY;
                }
                TempPtsTree.AppendRange(TempList, new GH_Path(Column));
                StartX += ExtendX;
            }
            TempPtsTree.Flatten();
            DA.SetDataList(0, TempPtsTree);
        }
Exemplo n.º 2
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            bool run = false;

            DA.GetData(2, ref run);

            if (run)
            {
                List <FD_Group>          FD_G_list = new List <FD_Group>();
                GH_Structure <GH_String> undelete  = new GH_Structure <GH_String>();

                DA.GetDataList(0, FD_G_list);
                DA.GetDataTree(1, out undelete);

                undelete.Flatten();

                FD_Commander.Select();
                foreach (GH_String item in undelete.Branches[0])
                {
                    FD_Commander.Unselect(item.ToString());
                }
                FD_Commander.Delete();

                int counter = 0;

                ids = new GH_Structure <GH_String>();

                foreach (FD_Group item in FD_G_list)
                {
                    GH_Path path = new GH_Path(counter);

                    item.Create_Set();
                    foreach (FD_Object sub_item in item.Members)
                    {
                        ids.Append(new GH_String(sub_item.ID), path);
                    }

                    counter++;
                }

                Message = "Done";

                DA.SetData(0, Message);
            }

            DA.SetDataTree(1, ids);
        }
Exemplo n.º 3
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            GH_Structure <GH_Integer> id_tree = new GH_Structure <GH_Integer>();

            DA.GetDataTree(0, out id_tree);

            id_tree.Flatten();

            List <string> ids = new List <string>();

            foreach (GH_Integer id in id_tree.Branches[0])
            {
                ids.Add(id.ToString());
            }

            Tools.ids_in_loop = ids;
        }
Exemplo n.º 4
0
        public GH_Structure <GH_Number> DataTree()
        {
            GH_Structure <GH_Number>  dataTree = new GH_Structure <GH_Number>();
            GH_Structure <GH_Integer> indices  = new GH_Structure <GH_Integer>();

            for (int i = 0; i < trainedVectors.GetLength(0); i++)
            {
                GH_Path p = new GH_Path(Utils.ReverseArray(this.adressBook[i]));
                indices.Append(new GH_Integer(i), p);
            }
            indices.Flatten();
            dataTree = new GH_Structure <GH_Number>();
            GH_Structure <GH_Number> valueTree = Utils.MultidimensionalArrayToGHTree(trainedVectors);

            for (int i = 0; i < indices.DataCount; i++)
            {
                dataTree.AppendRange(valueTree.Branches[indices.Branches[0][i].Value], new GH_Path(this.adressBook[i]));
            }
            return(dataTree);
        }
Exemplo n.º 5
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            Message = "Waiting...";

            bool write = false;

            DA.GetData(5, ref write);

            if (write)
            {
                List <FD_Group>          FD_G_list = new List <FD_Group>();
                GH_Structure <GH_String> undelete  = new GH_Structure <GH_String>();

                DA.GetDataList(2, FD_G_list);
                DA.GetDataTree(1, out undelete);

                undelete.Flatten();

                FD_Commander.Select();
                foreach (GH_String item in undelete.Branches[0])
                {
                    FD_Commander.Unselect(item.ToString());
                }
                FD_Commander.Delete();

                ids = new GH_Structure <GH_String>();

                int counter = 0;

                foreach (FD_Group item in FD_G_list)
                {
                    GH_Path path = new GH_Path(counter);

                    item.Create_Set();
                    foreach (FD_Object sub_item in item.Members)
                    {
                        ids.Append(new GH_String(sub_item.ID), path);
                    }

                    counter++;
                }

                List <FD_Setting> setlist = new List <FD_Setting>();
                DA.GetDataList(0, setlist);

                foreach (FD_Setting set in setlist)
                {
                    set.Update();
                }

                Message = "Ready";

                string folder = "";
                string file   = "";

                DA.GetData(3, ref folder);
                DA.GetData(4, ref file);

                if (folder.Substring(folder.Length - 1, 1) != @"\")
                {
                    folder += @"\";
                }

                string saveas = "menu file saveas \"" + folder + file + ".fdp\" 0";
                string excn   = "menu file export cn silent \"" + folder + file + ".cn\"";

                FD_Commander.Excute(saveas);
                FD_Commander.Excute(excn);

                Message = "Done";

                DA.SetData(1, Message);
            }

            DA.SetDataTree(0, ids);
        }
Exemplo n.º 6
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            Message = "Waiting...";

            bool write = false;

            DA.GetData(3, ref write);

            if (write)
            {
                List <FD_Group>          FD_G_list = new List <FD_Group>();
                GH_Structure <GH_String> undelete  = new GH_Structure <GH_String>();

                DA.GetDataList(2, FD_G_list);
                DA.GetDataTree(1, out undelete);

                undelete.Flatten();

                FD_Commander.Select();
                foreach (GH_String item in undelete.Branches[0])
                {
                    FD_Commander.Unselect(item.ToString());
                }
                FD_Commander.Delete();

                ids = new GH_Structure <GH_String>();

                int counter = 0;

                foreach (FD_Group item in FD_G_list)
                {
                    GH_Path path = new GH_Path(counter);

                    item.Create_Set();
                    foreach (FD_Object sub_item in item.Members)
                    {
                        ids.Append(new GH_String(sub_item.ID), path);
                    }

                    counter++;
                }

                List <FD_Setting> setlist = new List <FD_Setting>();
                DA.GetDataList(0, setlist);

                foreach (FD_Setting set in setlist)
                {
                    set.Update();
                }

                Message = "Ready";

                DA.SetData(1, Message);
            }

            DA.SetDataTree(0, ids);

            bool run = false;

            DA.GetData(4, ref run);

            if (run)
            {
                FD_Commander.Excute("menu analysis forward");
                Message = "Done";
            }
        }