public new DynamicArc GenerateReverse() { var a = new DynamicArc(this.Destination, this.Origin, this.Weight); a.AutoAttach(); return(a); }
private void DenyArc(DynamicArc arc) { arc.UpdateWeight(); if (!modifiedArcs.Contains(arc)) { modifiedArcs.Add(arc); } }
private void ModifyArcWeightAtPosition(ShortestPath p, int i) { Node origin = p.OrderedNodes[i]; Node destination = p.OrderedNodes[i + 1]; DynamicArc arc = (DynamicArc)(p.OrderedArcs.Find(a => a.Origin.Equals(origin) && a.Destination.Equals(destination))); DenyArc(arc); }