package routing

import 

type idealTurnAxis struct {
	isX bool
	val float64
}

// idealTurnAxes returns the midpoint axes where a route can turn between two
// node boxes without adding avoidable distance.
func idealTurnAxes(,  *layoutgraph.Node) []idealTurnAxis {
	 := .TopLeft.X
	 := .TopLeft.Y
	 := .TopLeft.X + .Width
	 := .TopLeft.Y + .Height

	 := .TopLeft.X
	 := .TopLeft.Y
	 := .TopLeft.X + .Width
	 := .TopLeft.Y + .Height

	 :=  < 
	 :=  < 
	 :=  < 
	 :=  < 

	 := make([]idealTurnAxis, 0)
	switch {
	case  && :
		 = append(,
			idealTurnAxis{isX: true, val: ( + ) / 2},
			idealTurnAxis{isX: false, val: ( + ) / 2},
		)
	case  && :
		 = append(,
			idealTurnAxis{isX: true, val: ( + ) / 2},
			idealTurnAxis{isX: false, val: ( + ) / 2},
		)
	case  && :
		 = append(,
			idealTurnAxis{isX: true, val: ( + ) / 2},
			idealTurnAxis{isX: false, val: ( + ) / 2},
		)
	case  && :
		 = append(,
			idealTurnAxis{isX: true, val: ( + ) / 2},
			idealTurnAxis{isX: false, val: ( + ) / 2},
		)
	case :
		 = append(, idealTurnAxis{isX: true, val: ( + ) / 2})
	case :
		 = append(, idealTurnAxis{isX: true, val: ( + ) / 2})
	case :
		 = append(, idealTurnAxis{isX: false, val: ( + ) / 2})
	case :
		 = append(, idealTurnAxis{isX: false, val: ( + ) / 2})
	}

	return 
}