public void AddWay(int p1, int p2, double cost, bool clear) { var edge = new TravelEdge(p1, p2); _graph.AddEdge(edge, cost); if (!clear) { _fireWays.Add(edge); } }
public TravelPath getClearPath(int start, TravelEdge fire) { var path = getClearPath(start, fire.Source); int beforeLst = path.ElementAt(path.Count - 2); if (beforeLst == fire.Target) { return(path); } else { return(getClearPath(start, fire.Target)); } }
public double getCostWay(TravelEdge way) { return(_graph.GetCost(way)); }
public bool isClear(TravelEdge way) { return(!_fireWays.Contains(way)); }