public MatSimLink GetClosestLink(float x, float y) { MatSimLink closest = null; var min = double.MaxValue; var point = new double[] { x, y }; foreach (var link in links) { if (min > LinkToPointDistance(link, point)) { closest = link; } } return(closest); }
double LinkToPointDistance(MatSimLink link, double[] point) { return(MatSimUtils.LineToPointDistance2D(GetNode(link.from).Point, GetNode(link.to).Point, point)); }