Example #1
0
 internal IPickHeuristic GetHeuristic(
     IRandomPicker randomPicker,
     Func <double> randomDouble,
     TilePropagator propagator,
     TileModelMapping tileModelMapping,
     IPickHeuristic fallbackHeuristic)
 {
     return(new FollowPathHeuristic(
                randomPicker, randomDouble, propagator, tileModelMapping, fallbackHeuristic, this));
 }
 public FollowPathHeuristic(
     IRandomPicker randomPicker,
     Func <double> randomDouble,
     TilePropagator propagator,
     TileModelMapping tileModelMapping,
     IPickHeuristic fallbackHeuristic,
     EdgedPathView edgedPathView)
 {
     this.randomPicker      = randomPicker;
     this.randomDouble      = randomDouble;
     this.propagator        = propagator;
     this.tileModelMapping  = tileModelMapping;
     this.fallbackHeuristic = fallbackHeuristic;
     this.edgedPathView     = edgedPathView;
 }
 internal IPickHeuristic GetHeuristic(
     IRandomPicker randomPicker,
     Func <double> randomDouble,
     TilePropagator propagator,
     TileModelMapping tileModelMapping,
     IPickHeuristic fallbackHeuristic)
 {
     pathView        = PathSpec.MakeView(propagator);
     pathViewIsFresh = true;
     if (pathView is EdgedPathView epv)
     {
         return(new FollowPathHeuristic(
                    randomPicker, randomDouble, propagator, tileModelMapping, fallbackHeuristic, epv));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
 public MultiDirectionsTasksFactory(IRandomPicker randomPicker, ITaskValidator taskValidator, ISynonymSelector synonymSelector)
     : base(randomPicker, taskValidator, synonymSelector)
 {
 }
 public RandomPickerHeuristic(IRandomPicker randomPicker, Func <double> randomDouble)
 {
     this.randomPicker = randomPicker;
     this.randomDouble = randomDouble;
 }