public void Insert(T toInsert) { if (depth == maxDepth) { elements.Add(toInsert); } else { if (rNW.Contains(toInsert.AABounds)) { CreateSubDivisions(); nw.Insert(toInsert); } else if (rNE.Contains(toInsert.AABounds)) { CreateSubDivisions(); ne.Insert(toInsert); } else if (rSW.Contains(toInsert.AABounds)) { CreateSubDivisions(); sw.Insert(toInsert); } else if (rSE.Contains(toInsert.AABounds)) { CreateSubDivisions(); se.Insert(toInsert); } else { elements.Add(toInsert); } } numEContained++; }
public void Insert(T toInsert) { if (!worldBounds.Contains(toInsert.AABounds)) { System.Diagnostics.Debug.WriteLine("Invalid rectangle to insert."); } rootNode.Insert(toInsert); }