public OctreeNode AddPoint(Point point) { OctreeNode leafNode; while (!rootNode.AddPoint(point, out leafNode)) { Grow(point.Position - rootNode.Center); } return(leafNode); }