//змінити, щоб викликалась подія зміни текст-боксу 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; } }
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(); } } }
//обрання початкових кластерХедів 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); }