public void AddContainedItems(HashSet <T> set, Rect rect) { NodeTopLeft.AddContainedItems(set, rect); NodeTopRight.AddContainedItems(set, rect); NodeBottomLeft.AddContainedItems(set, rect); NodeBottomRight.AddContainedItems(set, rect); }
public void AddIntersectingItems(HashSet <T> set, Rect rect) { NodeTopLeft.AddIntersectingItems(set, rect); NodeTopRight.AddIntersectingItems(set, rect); NodeBottomLeft.AddIntersectingItems(set, rect); NodeBottomRight.AddIntersectingItems(set, rect); }
public IQuadTreeNode AddItem(T item) { var bounding = _getBounding(item); if (NodeTopLeft.Rect.Intersects(bounding)) { NodeTopLeft = NodeTopLeft.AddItem(item); } if (NodeTopRight.Rect.Intersects(bounding)) { NodeTopRight = NodeTopRight.AddItem(item); } if (NodeBottomLeft.Rect.Intersects(bounding)) { NodeBottomLeft = NodeBottomLeft.AddItem(item); } if (NodeBottomRight.Rect.Intersects(bounding)) { NodeBottomRight = NodeBottomRight.AddItem(item); } return(this); }