public ImageMatchProvider GetImageMatchProvider(IFillProvider <IImageData> fillProvider, IImageDataSorter imageDataSorter) { IFillProviderFactory <IImageData, IImageData> fillProviderFactory = new FilteredFillProviderFactory <IImageData, IImageData>(fillProvider, _filterStrategyFactory); IMatchProvider <IImageData, ImageMatch> matchProvider = new MatchProvider <IImageData, IImageData, ImageMatch>( _matchStrategy, fillProviderFactory); IMatchEngine <IImageData, ImageMatch> matchEngine = new MatchEngine <IImageData, ImageMatch>(matchProvider, _matchFilter); return(new ImageMatchProvider(matchEngine)); }
public FilteredFillProvider(IFillProvider <TFill> fillProvider, IFilterStrategy <TFill> filterStrategy) { _fillProvider = fillProvider; _filter = new ParallelFilter <TFill>(filterStrategy); }
public MatchEngineFactory(IMatchStrategy <THole, TFill, TMatch> matchStrategy, IFillProvider <TFill> fillProvider, IFilterStrategyFactory <THole, TFill> filterStrategyProvider, IFilter <TMatch> matchFilter) { _matchFilter = matchFilter; var fillProviderFactory = new FilteredFillProviderFactory <THole, TFill>(fillProvider, filterStrategyProvider); _matchProvider = new MatchProvider <THole, TFill, TMatch>(matchStrategy, fillProviderFactory); }
public FilteredFillProviderFactory(IFillProvider<TFill> fillProvider, IFilterStrategyFactory<THole, TFill> filterStrategyProvider) { _fillProvider = fillProvider; _filterStrategyProvider = filterStrategyProvider; }