verticalSlices method

List<List> verticalSlices(
  1. List childBoundables,
  2. int sliceCount
)

@param childBoundables Must be sorted by the x-value of the envelope midpoints

Implementation

List<List> verticalSlices(List childBoundables, int sliceCount) {
  int sliceCapacity = (childBoundables.length / sliceCount.toDouble()).ceil();
  List<List> slices = []; //..length = sliceCount;
  Iterator i = childBoundables.iterator;
  for (int j = 0; j < sliceCount; j++) {
    slices.add([]);
    // slices[j] = [];
    int boundablesAddedToSlice = 0;
    while (boundablesAddedToSlice < sliceCapacity && i.moveNext()) {
      Boundable childBoundable = i.current as Boundable;
      slices[j].add(childBoundable);
      boundablesAddedToSlice++;
    }
  }
  return slices;
}