Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
 public double getCostWay(TravelEdge way)
 {
     return(_graph.GetCost(way));
 }
Exemplo n.º 4
0
 public bool isClear(TravelEdge way)
 {
     return(!_fireWays.Contains(way));
 }