Example #1
0
        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);
                        }
                    }
                }
            }
        }
Example #2
0
 private void DifferenceNears(List <ItemDistanceTo> listFixed)
 {
     foreach (var itemFixed in listFixed)
     {
         NearItems.Remove(itemFixed);
         ItemDistanceTo.RemoveItem(itemFixed.CurrentItem.NearItems, this);
     }
 }