public CachingLinearWeightsProviderFactory2(IScatteredPointContextBasedLinearWeightProviderOnSphere <TContext> weightsProvider, IAsyncMap <INodes, TContext> contextProvider) { result = new AsyncLazy <IScatteredPointsLinearInterpolatorOnSphere>(async() => { var contextProvidingFactory = new AsyncMapCacheDecoratingFactory <INodes, TContext>(new HashBasedEquatibleINodesConverter(), contextProvider); var cachingDecorator = await contextProvidingFactory.CreateAsync(); var adapter = new CellRequestToPointsAdapter <TContext>(weightsProvider); var facade = new TwoPhaseScatteredPointsLenearInterpolatorFacade <TContext>(cachingDecorator, adapter); return(facade); }); }
public CachingLinearWeightsProviderFactory(IScatteredPointContextBasedLinearWeightProviderOnSphere <TContext> weightsProvider, IAsyncMap <INodes, TContext> contextProvider) { this.weightsProvider = weightsProvider; this.contextProvidingFactory = new AsyncMapCacheDecoratingFactory <INodes, TContext>(converter, contextProvider); }