// funkcija za konektovanje naseg cvora sa novim uz odgovarajuce provere public void connect(int newNodeID) { var connectedNode = Platno.nodes.First(y => y.ID == newNodeID); // ukoliko smo vec konektovani a pokusavamo opet znaci da zapravo // pokusavamo da diskonektujemo nas cvor sa drugim cvorom // pa to ovde i radimo foreach (var x in Connected) { if (newNodeID == x) { Connected.Remove(newNodeID); weights.Remove(weights.Find(k => k.Key == newNodeID)); connectionColors.Remove(connectionColors.Find(l => l.Key == newNodeID)); return; } } // racunamo poziciju gde ce se prikazati tezina date grane i konektujemo sa tim cvorom nas cvor // ubacujemo i boje i tezinu double length = Math.Sqrt(Math.Pow(Position.X - connectedNode.Position.X, 2) + Math.Pow(Position.Y - connectedNode.Position.Y, 2)) / 8; Connected.Add(newNodeID); weights.Add(new KeyValuePair <int, double>(newNodeID, length)); connectionColors.Add(new KeyValuePair <int, Color>(newNodeID, Color.ForestGreen)); }