buildTree method

IntervalRTreeNode buildTree()

Implementation

IntervalRTreeNode buildTree() {
  // sort the leaf nodes
  leaves.sort(nodeComparator);

  // now group nodes into blocks of two and build tree up recursively
  List src = leaves;
  List? temp = null;
  List dest = [];

  while (true) {
    buildLevel(src, dest);
    if (dest.length == 1) return dest[0];

    temp = src;
    src = dest;
    dest = temp;
  }
}