Пример #1
0
        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);
        }
Пример #2
0
        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;
        }