Esempio n. 1
0
 public void ClearObjects()
 {
     while (ObjectsInView.Count > 0)
     {
         ObjectsInView.RemoveAt(ObjectsInView.Count - 1);
     }
     Objects.Clear();
 }
Esempio n. 2
0
 public void AddObject(GeoObject obj)
 {
     if (!Objects.Contains(obj))
     {
         Objects.Add(obj);
         if (ObjectIsInViewRegion(obj))
         {
             ObjectsInView.Add(obj);
         }
     }
 }
Esempio n. 3
0
 private void ResetObjectsInView()
 {
     while (ObjectsInView.Count > 0)
     {
         ObjectsInView.RemoveAt(ObjectsInView.Count - 1);
     }
     foreach (var o in Objects.Where(ObjectIsInViewRegion))
     {
         ObjectsInView.Add(o);
     }
 }
Esempio n. 4
0
 private void OnPositionChanged(GeoObject obj)
 {
     if (!ObjectFilter(obj))
     {
         return;
     }
     // TODO optimize with indexing
     if (ObjectIsInViewRegion(obj))
     {
         if (!ObjectsInView.Contains(obj))
         {
             ObjectsInView.Add(obj);
         }
     }
     else
     {
         ObjectsInView.Remove(obj);
     }
 }
Esempio n. 5
0
 public void RemoveObject(GeoObject obj)
 {
     ObjectsInView.Remove(obj);
     Objects.Remove(obj);
 }