Example #1
0
 /// <summary>
 /// Creates a new updatable QuadTree instance
 /// </summary>
 /// <param name="insertStrategy">Strategy used to insert new entries into the index.</param>
 /// <param name="nodeSplitStrategy">Strategy used to split nodes when they are full.</param>
 /// <param name="heuristic">Heuristics used to build the index and keep it balanced.</param>
 public DynamicQuadTree(IGeometryFactory geoFactory, IItemInsertStrategy <IExtents, TItem> insertStrategy, INodeSplitStrategy <IExtents, TItem> nodeSplitStrategy, DynamicQuadTreeBalanceHeuristic heuristic)
     : base(geoFactory)
 {
     _insertStrategy    = insertStrategy;
     _nodeSplitStrategy = nodeSplitStrategy;
     _heuristic         = heuristic;
 }
        public ISpatialIndexNode <IExtents, TItem> SplitNode(ISpatialIndexNode <IExtents, TItem> node, IndexBalanceHeuristic heuristic)
        {
            if (node == null)
            {
                return(null);
            }

            QuadTreeNode <TItem>            quadTreeNode      = node as QuadTreeNode <TItem>;
            DynamicQuadTreeBalanceHeuristic quadTreeHeuristic = heuristic as DynamicQuadTreeBalanceHeuristic;

            throw new NotImplementedException();
        }