/// <summary> /// Строит индекс для списка объектов. /// </summary> /// <param name="objects">Перечислитель объектов, для которых требуется построить индекс</param> public void Build <T>(IEnumerable <T> objects) where T : IIndexable { Clear(); List <T> list = new List <T>(); foreach (T obj in objects) { if (IndexedSpace.ContainsRectangle(obj.BoundingRectangle)) { list.Add(obj); } else { throw new ArgumentException("At least one object goes beyond the indexed space", "objects"); } } _root.Build(list); }