示例#1
0
        //змінити, щоб викликалась подія зміни текст-боксу
        private void NodeView_Load(object sender, EventArgs e)
        {
            //початкове заповнення
            currentNode.Text = "1";
            fillForm(network.get_Node(0));
            maxNumNodeLabel.Text = Convert.ToString(network.get_numNodes());

            //ховає 3Д лейбли, якщо мережа не підтримує
            if (!network.get_3D())
            {
                zLabel.Visible      = false;
                has3D_first.Visible = false;
            }
        }
示例#2
0
        private void draw()
        {
            Node node;
            int  num = network.get_numNodes();

            if (radioButton_2D.Checked == true)
            {
                int x = 0, y = 0;
                int width = network.get_width(), height = network.get_height();
                for (int i = 0; i < num; i++)
                {
                    node = network.get_Node(i);
                    SolidBrush brush;
                    Graphics   g = Graphics.FromHwnd(pictureBox_scene.Handle);
                    if (node.getType() == 1)
                    {
                        brush = new SolidBrush(Color.Black);
                    }
                    else if (node.getType() == 2)
                    {
                        brush = new SolidBrush(Color.Green);
                    }
                    else
                    {
                        brush = new SolidBrush(Color.Red);
                    }

                    x = node.get_X() * 1000 / width;
                    y = node.get_Y() * 800 / height;

                    Point dPoint = new Point(x, (pictureBox_scene.Height - y));
                    dPoint.X -= 5;
                    dPoint.Y -= 5;

                    RectangleF rect = new RectangleF(dPoint, new Size(10, 10));
                    // g.FillRectangle(brush, rect);

                    g.FillEllipse(brush, rect);
                    g.Dispose();
                }
            }
        }
示例#3
0
        //обрання початкових кластерХедів
        private int firstClasters()
        {
            Random rand       = new Random();
            int    numClaster = network.get_numNodes() / 5 + 1;

            for (int counter = 0; counter < numClaster;)
            {
                int i = rand.Next(network.get_numNodes() - 1);

                if (network.get_Node(i).getType() != 1)
                {
                    continue;
                }
                else
                {
                    SolidBrush brush = new SolidBrush(Color.GreenYellow);
                    drawPoint(network.get_Node(i).get_X(), network.get_Node(i).get_Y(), brush);
                    counter++;
                    network.get_Node(i).setType(2);
                }
            }
            return(numClaster);
        }