public SplitSorting topologicalSplit() {
    if(node.getNumEntries() < 2) {
      throw new IllegalArgumentException("Splitting less than two entries is pointless.");
    }
    int minEntries = (node.getEntry(0) instanceof LeafEntry ? tree.getLeafMinimum() : tree.getDirMinimum());
    int maxEntries = (node.getEntry(0) instanceof LeafEntry ? tree.getLeafCapacity() - 1 : tree.getDirCapacity() - 1);
    if(node.getNumEntries() < maxEntries) {
      throw new IllegalArgumentException("This entry list has not yet reached the maximum limit: " + node.getNumEntries() + "<=" + maxEntries);
    }

    maxEntries = maxEntries + 1 - minEntries;

    chooseSplitAxis(new IntegerRangeIterator(0, node.getEntry(0).getDimensionality()), minEntries, maxEntries);
    return chooseMinimumOverlapSplit(splitAxis, minEntries, maxEntries, false);
  }
public SplitSorting topologicalSplit ( ) { if ( node . getNumEntries ( ) < 2 ) { throw new IllegalArgumentException ( "Splitting less than two entries is pointless." ) ; } int minEntries = ( node . getEntry ( 0 ) instanceof LeafEntry ? tree . getLeafMinimum ( ) : tree . getDirMinimum ( ) ) ; int maxEntries = ( node . getEntry ( 0 ) instanceof LeafEntry ? tree . getLeafCapacity ( ) - 1 : tree . getDirCapacity ( ) - 1 ) ; if ( node . getNumEntries ( ) < maxEntries ) { throw new IllegalArgumentException ( "This entry list has not yet reached the maximum limit: " + node . getNumEntries ( ) + "<=" + maxEntries ) ; } maxEntries = maxEntries + 1 - minEntries ; chooseSplitAxis ( new IntegerRangeIterator ( 0 , node . getEntry ( 0 ) . getDimensionality ( ) ) , minEntries , maxEntries ) ; return chooseMinimumOverlapSplit ( splitAxis , minEntries , maxEntries , false ) ; }
Perform a topological (R*-Tree) split of a list of node entries.
<p>
Only distributions that have between <code>m</code> and <code>M-m+1</code>
entries in the first group will be tested.

@return chosen split distribution; note that this method returns null, if
the minimum overlap split has a volume which is larger than the
allowed <code>maxOverlap</code> ratio of #tree