protected void orderNode(SquareNode target, SquareNode node, boolean pointingX) {

		int index0 = findIntersection(target,node);
		int index1 = (index0+1)%4;

		int index2 = (index0+2)%4;
		int index3 = (index0+3)%4;

		if( index0 < 0 )
			throw new RuntimeException("Couldn't find intersection.  Probable bug");

		lineCenters.a = target.center;
		lineCenters.b = node.center;
		UtilLine2D_F64.convert(lineCenters,general);

		Polygon2D_F64 poly = target.square;
		if( pointingX ) {
			if (sign(general, poly.get(index0)) > 0) {
				ordered[1] = poly.get(index1);
				ordered[2] = poly.get(index0);
			} else {
				ordered[1] = poly.get(index0);
				ordered[2] = poly.get(index1);
			}
			if (sign(general, poly.get(index2)) > 0) {
				ordered[3] = poly.get(index2);
				ordered[0] = poly.get(index3);
			} else {
				ordered[3] = poly.get(index3);
				ordered[0] = poly.get(index2);
			}
		} else {
			if (sign(general, poly.get(index0)) > 0) {
				ordered[2] = poly.get(index1);
				ordered[3] = poly.get(index0);
			} else {
				ordered[2] = poly.get(index0);
				ordered[3] = poly.get(index1);
			}
			if (sign(general, poly.get(index2)) > 0) {
				ordered[0] = poly.get(index2);
				ordered[1] = poly.get(index3);
			} else {
				ordered[0] = poly.get(index3);
				ordered[1] = poly.get(index2);
			}
		}
	}
protected void orderNode ( SquareNode target , SquareNode node , boolean pointingX ) { int index0 = findIntersection ( target , node ) ; int index1 = ( index0 + 1 ) % 4 ; int index2 = ( index0 + 2 ) % 4 ; int index3 = ( index0 + 3 ) % 4 ; if ( index0 < 0 ) throw new RuntimeException ( "Couldn't find intersection.  Probable bug" ) ; lineCenters . a = target . center ; lineCenters . b = node . center ; UtilLine2D_F64 . convert ( lineCenters , general ) ; Polygon2D_F64 poly = target . square ; if ( pointingX ) { if ( sign ( general , poly . get ( index0 ) ) > 0 ) { ordered [ 1 ] = poly . get ( index1 ) ; ordered [ 2 ] = poly . get ( index0 ) ; } else { ordered [ 1 ] = poly . get ( index0 ) ; ordered [ 2 ] = poly . get ( index1 ) ; } if ( sign ( general , poly . get ( index2 ) ) > 0 ) { ordered [ 3 ] = poly . get ( index2 ) ; ordered [ 0 ] = poly . get ( index3 ) ; } else { ordered [ 3 ] = poly . get ( index3 ) ; ordered [ 0 ] = poly . get ( index2 ) ; } } else { if ( sign ( general , poly . get ( index0 ) ) > 0 ) { ordered [ 2 ] = poly . get ( index1 ) ; ordered [ 3 ] = poly . get ( index0 ) ; } else { ordered [ 2 ] = poly . get ( index0 ) ; ordered [ 3 ] = poly . get ( index1 ) ; } if ( sign ( general , poly . get ( index2 ) ) > 0 ) { ordered [ 0 ] = poly . get ( index2 ) ; ordered [ 1 ] = poly . get ( index3 ) ; } else { ordered [ 0 ] = poly . get ( index3 ) ; ordered [ 1 ] = poly . get ( index2 ) ; } } }
Fills the ordered list with the corners in target node in canonical order.

@param pointingX true if 'node' is pointing along the x-axis from target.  false for point along y-axis