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);
     });
 }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="component"></param>
 /// <param name="cellDivisionNum">the cell will be approximated as cellDivisionNum*cellDivisionNum regular grid</param>
 public CellRequestToPointsAdapter(IScatteredPointContextBasedLinearWeightProviderOnSphere <TContext> component, int cellDivisionNum = 2)
 {
     this.component       = component;
     this.cellDivisionNum = cellDivisionNum;
 }
 public CachingLinearWeightsProviderFactory(IScatteredPointContextBasedLinearWeightProviderOnSphere <TContext> weightsProvider, IAsyncMap <INodes, TContext> contextProvider)
 {
     this.weightsProvider         = weightsProvider;
     this.contextProvidingFactory = new AsyncMapCacheDecoratingFactory <INodes, TContext>(converter, contextProvider);
 }