protected void processIntersectionsSplitHorizontal ( ) { boolean change ; do { Vector < Separator > newsep = new Vector < Separator > ( hsep . size ( ) ) ; change = false ; for ( Separator hs : hsep ) { boolean split = false ; for ( Separator vs : vsep ) { if ( hs . intersects ( vs ) ) { Separator nhs = hs . hsplit ( vs ) ; newsep . add ( hs ) ; if ( nhs != null ) newsep . add ( nhs ) ; split = true ; change = true ; break ; //do not try other vertical seps } } if ( ! split ) newsep . add ( hs ) ; } hsep = newsep ; } while ( change ) ; }
Processes the separators so that they do not intersect . The vertical separators are left untouched the horizontal separators are split by the vertical ones when necessary .