public void Init(TilePropagator propagator) { var oddPathTiles = PathSpec.Exits.Where(x => x.Value.Count() % 2 == 1).Select(x => x.Key).ToList(); oddPathTilesSet = propagator.CreateTileSet(oddPathTiles); oddPathTracker = oddPathTiles.Count > 0 ? propagator.CreateSelectedTracker(oddPathTilesSet) : null; pathView = (EdgedPathView)PathSpec.MakeView(propagator); this.propagator = propagator; this.topology = propagator.Topology; }
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; }
public void Init(WavePropagator wavePropagator) { filteredIndexPicker.Init(wavePropagator); // TODO: It's a pity this isn't shared with the path constraint edgedPathView = (EdgedPathView)edgedPathSpec.MakeView(propagator); }