private List<GridPoint> getEdgePoints(GridPoint p1, GridPoint p2, int routingCol) {
		List<GridPoint> points = new ArrayList<GridPoint>();

		points.add(p1);

		if (routingCol == p1.col) {
			if (routingCol != p2.col) {
				points.add(new GridPoint(p2.row - 1, p1.col));
				points.add(new GridPoint(p2.row - 1, p2.col));
			}
		}
		else {
			points.add(new GridPoint(p1.row + 1, p1.col));
			points.add(new GridPoint(p1.row + 1, routingCol));
			if (routingCol != p2.col) {
				points.add(new GridPoint(p2.row - 1, routingCol));
				points.add(new GridPoint(p2.row - 1, p2.col));
			}
		}
		points.add(p2);
		return points;
	}
Sets a function that can be used to prevent edges from being routed in  a range of columns.
One use of this is to prevent back edges from intersecting any child trees in its ancestor
hierarchy between the start vertex and the end vertex.  
@param excludedColumnsFunction the function to call to compute a range of columns to 
prevent routing edges.
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/layout/flowchart/OrthogonalEdgeRouter.java