PointResamplerBase
StockSharp.Xaml.Charting.Numerics
Implements: IPointResampler
Methods
ReducePointUnevenImpl
private static void ReducePointUnevenImpl(UncheckedList<double> xValues, UncheckedList<double> yValues, Point2DSeries reducedPoints, int startIndexInclusive, int endIndexInclusive, double minXInclusive, double maxXInclusive, int viewportWidth, bool isCategoryAxis)
PointResamplerBase.ReducePointUnevenImpl(xValues, yValues, reducedPoints, startIndexInclusive, endIndexInclusive, minXInclusive, maxXInclusive, viewportWidth, isCategoryAxis)
This needs to be implemented for each supported pair of TX,TY. Maybe use T4 templates? For optimal performance, this method should be implemented in C++/ASM and not just the GetMinMaxValuesForPixel method (this avoid per-pixel unmanaged call transitions). However, that would also require that reducedPoints is passed as pre-allocated buffer and not as a Point2DSeries. NaN handling makes it a bit difficult to pre-allocate though (since NaNs can cause multiple lines per pixel).
ReducePointUnevenImpl``2
private static void ReducePointUnevenImpl<TX, TY>(UncheckedList<TX> xValues, UncheckedList<TY> yValues, Point2DSeries reducedPoints, int startIndexInclusive, int endIndexInclusive, double minXInclusive, double maxXInclusive, int viewportWidth, bool isCategoryAxis)
PointResamplerBase.ReducePointUnevenImpl(xValues, yValues, reducedPoints, startIndexInclusive, endIndexInclusive, minXInclusive, maxXInclusive, viewportWidth, isCategoryAxis)
Generic implementation where an unchecked list has been retrieved for x- and y-values.