private void FindNearItems(List <Item> allItems) { ItemDistanceTo _IDT = new ItemDistanceTo(); if (allItems != null) { for (int i = 0; i < allItems.Count; i++) { if (!allItems[i].Equals(CurrentPoint)) {//смотрим пересекаются ли круги у точек if (this.CurrentCircle.Intersection(allItems[i].CurrentCircle)) { _IDT.distance = this.GetDistanceTo(allItems[i]); //добавляем в ближние к данной точке итую точку _IDT.CurrentItem = allItems[i]; NearItems.Add(_IDT); //добавляем в ближайшие к итой точке данную точку _IDT.CurrentItem = this; allItems[i].NearItems.Add(_IDT); } } } } }
private void DifferenceNears(List <ItemDistanceTo> listFixed) { foreach (var itemFixed in listFixed) { NearItems.Remove(itemFixed); ItemDistanceTo.RemoveItem(itemFixed.CurrentItem.NearItems, this); } }