Click or drag to resize

ParameterizedMotionEvaluatorWithDerivativeType7TParameter1, TParameter2, TParameter3, TParameter4, TParameter5, TParameter6, TParameter7, TResult, TResultDerivativeGetCachingWrapper Method

Gets a version of this evaluator that caches the previously computed value so that if it is evaluated twice at the same date the computation is done only once.

Namespace:  AGI.Foundation.Infrastructure
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 19.1.398.0 (19.1.398.0)
public IEvaluator GetCachingWrapper()

Return Value

Type: IEvaluator
A caching version of this evaluator. If a caching version is not available, or if this object does its own caching, this should be returned by this method.



This method is called by EvaluatorGroup to create a caching version of an evaluator that is shared between multiple computations.

To implement this method in your own evaluator, construct and return a caching version of the evaluator's base class. For example, if your evaluator implements IEvaluatorT directly, return an instance of CachingEvaluatorT. In many cases, such as when implementing a PointEvaluator this method does not need to be overridden because the default implementation returns an appropriate caching wrapper already. If you do not want the last value computed by your evaluator to ever be cached, or if your evaluator does its own caching internally, this method can return this.

Shows an example implementation in an evaluator that implements IEvaluatorT directly, where T is double.
public override IEvaluator GetCachingWrapper()
    return new CachingEvaluator<double>(this);
See Also