/** * Create a new {@code double} tree backed by the the specified tree. * Note that the backing tree's dimensionality must be a multiple of 2. * * @param tree the backing tree * @param pre a preprocessor instance */ public PhTreeSolidF(PhTree<T> tree, PreProcessorRangeF pre) { this.dims = tree.getDim()/2; if (dims*2 != tree.getDim()) { throw new IllegalArgumentException("The backing tree's DIM must be a multiple of 2"); } this.pht = tree; this.pre = pre; this.dist = new PhDistanceSFEdgeDist(pre, dims); //this.dist = new PhDistanceSFCenterDist(pre, dims); qMIN = new double[dims]; Arrays.fill(qMIN, Double.NEGATIVE_INFINITY); qMAX = new double[dims]; Arrays.fill(qMAX, Double.POSITIVE_INFINITY); }