docs: void considerConnect(SquareNode node0, SquareNode node1) {
  		// Find the side on each line which intersects the line connecting the two centers
  		lineA.a = node0.center;
  		lineA.b = node1.center;
  
  		int intersection0 = graph.findSideIntersect(node0,lineA,intersection,lineB);
  		connectLine.a.set(intersection);
  		int intersection1 = graph.findSideIntersect(node1,lineA,intersection,lineB);
  		connectLine.b.set(intersection);
  
  		if( intersection1 < 0 || intersection0 < 0 ) {
  			return;
  		}
  
  		double side0 = node0.sideLengths[intersection0];
  		double side1 = node1.sideLengths[intersection1];
  
  		// it should intersect about in the middle of the line
  
  		double sideLoc0 = connectLine.a.distance(node0.square.get(intersection0))/side0;
  		double sideLoc1 = connectLine.b.distance(node1.square.get(intersection1))/side1;
  
  		if( Math.abs(sideLoc0-0.5)>0.35 || Math.abs(sideLoc1-0.5)>0.35 )
  			return;
  
  		// see if connecting sides are of similar size
  		if( Math.abs(side0-side1)/Math.max(side0,side1) > 0.25 ) {
  			return;
  		}
  
  		// Checks to see if the two sides selected above are closest to being parallel to each other.
  		// Perspective distortion will make the lines not parallel, but will still have a smaller
  		// acute angle than the adjacent sides
  		if( !graph.almostParallel(node0, intersection0, node1, intersection1)) {
  			return;
  		}
  
  		double ratio = Math.max(node0.smallestSide/node1.largestSide ,
  				node1.smallestSide/node0.largestSide);
  
  //		System.out.println("ratio "+ratio);
  		if( ratio > 1.3 )
  			return;
  
  		double angle = graph.acuteAngle(node0, intersection0, node1, intersection1);
  		double score = lineA.getLength()*(1.0+angle/0.1);
  
  		graph.checkConnect(node0,intersection0,node1,intersection1,score);
  	}