public void run() { for (int g = start; g <= end; ++g) { root[g] = new TreeNode(points.length); for (int i = 0; i < points.length; ++i) { double r = Rp / 2; double[] center = createPoint(dimensions, r); TreeNode currentTreeNode = root[g]; for (int j = 0; j < levels; ++j) { int index = cellFinder(points[i], center, grids[g], r / 2); currentTreeNode = currentTreeNode.createChild(index); r /= 2; } } } }
/* * create Quad-trees with no parallelization */ private void createQuadTree() { root = new TreeNode[grids.length]; for (int g = 0; g < grids.length; ++g) { root[g] = new TreeNode(points.length); for (int i = 0; i < points.length; ++i) { double r = Rp / 2; double[] center = createPoint(dimensions, r); TreeNode currentTreeNode = root[g]; for (int j = 0; j < levels; ++j) { int index = cellFinder(points[i], center, grids[g], r / 2); currentTreeNode = currentTreeNode.createChild(index); r /= 2; } } } }