public IEnumerable <Waypoint> GetNeighboursOf(Waypoint waypoint) { WaypointRouteNode tarNode = null; foreach (var node in Nodes) { if (waypoint == node.Waypoint) { tarNode = node; break; } } if (tarNode == null) { throw new Exception("Waypoint is not in the route"); } List <Waypoint> waypoints = new List <Waypoint>(); foreach (var item in tarNode.Neighbours) { waypoints.Add(item.Waypoint); } return(waypoints); }
public void AddWaypoint(Waypoint parent, Waypoint newWaypoint) { var newNode = new WaypointRouteNode(newWaypoint); foreach (var item in Nodes) { if (item.Waypoint == parent) { item.Neighbours.Add(newNode); break; } } this.Nodes.Add(newNode); newWaypoint.ParentRoute = this; }