Esempio n. 1
0
 private void Query(Box2 bounds, QuadNode node, List <T> results)
 {
     lock (syncLock)
     {
         if (node == null)
         {
             return;
         }
         if (bounds.Overlap(node.BBox))
         {
             foreach (T quadObject in node.Objects)
             {
                 if (bounds.Overlap(quadObject.GetBBox()))
                 {
                     results.Add(quadObject);
                 }
             }
             foreach (QuadNode childNode in node.Nodes)
             {
                 Query(bounds, childNode, results);
             }
         }
     }
 }