public void Overlap(OcTreeObject obj, List <OcTreeObject> result) { foreach (var item in Objects) { if (obj.Intersect(item)) { result.Add(item); } } foreach (var node in Nodes) { if (node.NodeBox.Intersect(obj.Box)) { node.Overlap(obj, result); } } }
public bool Intersect(OcTreeObject obj) { foreach (var item in Objects) { if (obj.LinkedObject != item.LinkedObject && obj.Intersect(item)) { return(true); } } foreach (var node in Nodes) { if (node.NodeBox.Intersect(obj.Box)) { if (node.Intersect(obj)) { return(true); } } } return(false); }