// Note that objects T may be returned multiple times (in different KDTreeEntry public List <T> AllUnique() { queryId++; List <T> res = new List <T>(); node.All(res, queryId); return(res); }
public void All(List <T> res, int id) { if (values != null) { foreach (KDTreeValue v in values) { if (id > v.label) { v.label = id; res.Add(v.value); } } } if (left != null) { left.All(res, id); } if (right != null) { right.All(res, id); } }