@VisibleForTesting List<Quadrant> quadrantsByDepth(NodeId node, final int maxDepth) { final Envelope nodeBounds = node.value(); List<Integer> bucketsByDepth = bucketsByDepth(nodeBounds, maxDepth); List<Quadrant> quads = new ArrayList<>(bucketsByDepth.size()); for (int depthIndex = 0; depthIndex < bucketsByDepth.size(); depthIndex++) { int bucket = bucketsByDepth.get(depthIndex).intValue(); if (bucket == unpromotableBucketIndex(depthIndex)) { break; } Quadrant quad = Quadrant.VALUES[bucket]; quads.add(quad); } return quads; }
@VisibleForTesting List<Quadrant> quadrantsByDepth(NodeId node, final int maxDepth) { final Envelope nodeBounds = node.value(); List<Integer> bucketsByDepth = bucketsByDepth(nodeBounds, maxDepth); List<Quadrant> quads = new ArrayList<>(bucketsByDepth.size()); for (int depthIndex = 0; depthIndex < bucketsByDepth.size(); depthIndex++) { int bucket = bucketsByDepth.get(depthIndex).intValue(); if (bucket == unpromotableBucketIndex(depthIndex)) { break; } Quadrant quad = Quadrant.VALUES[bucket]; quads.add(quad); } return quads; }
final long size = original.size(); final Envelope treeBounds = RevObjects.boundsOf(original); final List<Integer> quadrantsByDepth = bucketsByDepth(treeBounds, maxDepth); TreeId targetId; if (quadrantsByDepth.size() <= dagId.depthLength()) {
final long size = original.size(); final Envelope treeBounds = SpatialOps.boundsOf(original); final List<Integer> quadrantsByDepth = bucketsByDepth(treeBounds, maxDepth); TreeId targetId; if (quadrantsByDepth.size() <= dagId.depthLength()) {
List<Integer> bucketsByDepth = strategy.bucketsByDepth(promotableBounds, testMaxDepth); assertEquals("[2, 0, 1, 2, 0, 2, 2, 2]", bucketsByDepth.toString()); support.putNodes(strategy, promotables);
final TreeId sourceBucketId = TreeId.valueOf(builder.bucketsByDepth(geomBounds, maxDepth)); final TreeId targetBucketId = TreeId .valueOf(builder.bucketsByDepth(updateBounds, maxDepth));
final TreeId sourceBucketId = TreeId.valueOf(builder.bucketsByDepth(geomBounds, maxDepth)); final TreeId targetBucketId = TreeId .valueOf(builder.bucketsByDepth(updateBounds, maxDepth));
List<Integer> bucketsByDepth = strategy.bucketsByDepth(promotableBounds, testMaxDepth); assertEquals("[2, 0, 1, 2, 0, 2, 2, 2]", bucketsByDepth.toString()); support.putNodes(strategy, promotables);