// Note that objects T may be returned multiple times (in different KDTreeEntry public List <KDTreeEntry> Query(Bounds b) { List <KDTreeEntry> res = new List <KDTreeEntry>(); node.Query(b, res); return(res); }
public void Query(Bounds b, List <KDTreeEntry> res) { if (values == null) { if (split <= b.max[splittingAxis]) { left.Query(b, res); } if (split >= b.min[splittingAxis]) { right.Query(b, res); } } else { res.Add(this); } }