/// <summary> /// Constructor /// </summary> /// <param name="start">Node to start plan</param> /// <param name="goal">Node to end plan</param> /// <param name="removed">Nodes to not plan over</param> public aStar(INavigableNode start, INavigableNode goal, List<NavigableEdge> removed) { // initialize OPEN and CLOSED lists this.open = new PriorityHeap(); this.closed = new Dictionary<string, INavigableNode>(CoreCommon.RoadNetwork.ArbiterWaypoints.Count); // set start and null backpointer this.start = start; this.start.Previous = null; this.start.ResetPlanningCosts(); // set goal and null backpointer this.goal = goal; this.goal.Previous = null; this.goal.ResetPlanningCosts(); // set removed this.removedEdges = removed; }
/// <summary> /// Constructor /// </summary> /// <param name="start">Node to start plan</param> /// <param name="goal">Node to end plan</param> /// <param name="removed">Nodes to not plan over</param> public aStar(INavigableNode start, INavigableNode goal, List <NavigableEdge> removed) { // initialize OPEN and CLOSED lists this.open = new PriorityHeap(); this.closed = new Dictionary <string, INavigableNode>(CoreCommon.RoadNetwork.ArbiterWaypoints.Count); // set start and null backpointer this.start = start; this.start.Previous = null; this.start.ResetPlanningCosts(); // set goal and null backpointer this.goal = goal; this.goal.Previous = null; this.goal.ResetPlanningCosts(); // set removed this.removedEdges = removed; }