Example #1
0
        /// <summary>
        /// Removes an item from the index.
        /// </summary>
        /// <param name="item">The item to remove.</param>
        public override Boolean Remove(TItem item)
        {
            ISpatialIndexNode <IExtents, TItem> itemNode = findNodeForItem(item, Root);

            bool removed = itemNode != null && itemNode.Remove(item);

            if (itemNode.IsPrunable)
            {
                ISpatialIndexNode <IExtents, TItem> parent = findParentNode(itemNode, Root);
                parent.Remove(itemNode);
            }

            return(removed);
        }