예제 #1
0
 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);
        }