scichart 2.0.2195 → 2.1.2261

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -0
  2. package/Charting/ChartModifiers/CursorModifier.js +10 -0
  3. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  4. package/Charting/ChartModifiers/RolloverModifier.d.ts +30 -3
  5. package/Charting/ChartModifiers/RolloverModifier.js +46 -80
  6. package/Charting/Drawing/BrushCache.d.ts +8 -2
  7. package/Charting/Drawing/BrushCache.js +16 -8
  8. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  9. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  10. package/Charting/LayoutManager/BaseAxisLayoutStrategy.d.ts +2 -0
  11. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +33 -0
  12. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  13. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +19 -2
  14. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +18 -2
  15. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +18 -2
  16. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  17. package/Charting/Model/BaseDataSeries.js +77 -28
  18. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  19. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  20. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  21. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  22. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  23. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  24. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  25. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  26. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  27. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  28. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  29. package/Charting/Model/IDataSeries.d.ts +37 -5
  30. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  31. package/Charting/Model/OhlcDataSeries.js +47 -44
  32. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  33. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  34. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  35. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  36. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  37. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  38. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  39. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  40. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  41. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  42. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  43. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  44. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  45. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  46. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  47. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  48. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  49. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  50. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  51. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  52. package/Charting/Model/XyDataSeries.d.ts +3 -2
  53. package/Charting/Model/XyDataSeries.js +26 -26
  54. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  55. package/Charting/Model/XyyDataSeries.js +30 -27
  56. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  57. package/Charting/Model/XyzDataSeries.js +30 -27
  58. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  59. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  60. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  61. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  62. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  63. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  64. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  66. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  67. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  68. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  69. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  70. package/Charting/Services/RenderPassData.d.ts +6 -1
  71. package/Charting/Services/RenderPassData.js +5 -1
  72. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  73. package/Charting/Services/RenderPassInfo.js +14 -0
  74. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  75. package/Charting/Services/SciChartRenderer.js +127 -31
  76. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  77. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -0
  78. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +6 -0
  79. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.d.ts +5 -0
  80. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +12 -1
  81. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.d.ts +6 -8
  82. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +12 -9
  83. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +7 -2
  84. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -0
  85. package/Charting/Visuals/Axis/AxisBase2D.js +71 -24
  86. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  87. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  88. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  89. package/Charting/Visuals/Axis/AxisRenderer.js +37 -10
  90. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +51 -0
  91. package/Charting/Visuals/Axis/CategoryAxisBase.js +85 -20
  92. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  93. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +2 -2
  94. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +9 -4
  95. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  96. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  97. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  98. package/Charting/Visuals/Axis/constants.js +1 -0
  99. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  100. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  101. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  102. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  103. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  104. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  105. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  106. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  107. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  108. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  109. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  110. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  111. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  112. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  113. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  114. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  115. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +131 -22
  116. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  117. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  118. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  119. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  120. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  121. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  122. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  123. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  124. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  125. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  126. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  127. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  128. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +16 -15
  129. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  130. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  131. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  132. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  133. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  134. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  135. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  136. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  138. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  139. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  140. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  141. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  142. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  143. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  144. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  145. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  146. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  147. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  148. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  149. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  150. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  151. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  152. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  153. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  154. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  155. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  156. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  157. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  158. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  159. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  160. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  161. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +0 -6
  162. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  163. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  164. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  165. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  166. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  167. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  168. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  169. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  170. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  171. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  172. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  173. package/Charting/Visuals/SciChartDefaults.js +9 -1
  174. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +1 -0
  175. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +7 -2
  176. package/Charting/Visuals/SciChartSurface.d.ts +4 -4
  177. package/Charting/Visuals/SciChartSurface.js +18 -11
  178. package/Charting/Visuals/SciChartSurfaceBase.d.ts +3 -2
  179. package/Charting/Visuals/SciChartSurfaceBase.js +4 -4
  180. package/Charting/Visuals/createMaster.d.ts +1 -1
  181. package/Charting/Visuals/createMaster.js +11 -6
  182. package/Charting/Visuals/createSingle.d.ts +1 -1
  183. package/Charting/Visuals/createSingle.js +2 -2
  184. package/Charting/Visuals/licenseManager2D.js +24 -21
  185. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  186. package/Charting/Visuals/licenseManager2dState.js +12 -0
  187. package/Charting/Visuals/loader.js +2 -0
  188. package/Charting/Visuals/sciChartInitCommon.d.ts +2 -2
  189. package/Charting/Visuals/sciChartInitCommon.js +22 -12
  190. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  191. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  192. package/Charting3D/Visuals/SciChart3DSurface.d.ts +2 -2
  193. package/Charting3D/Visuals/SciChart3DSurface.js +3 -3
  194. package/Charting3D/Visuals/createMaster3d.d.ts +1 -1
  195. package/Charting3D/Visuals/createMaster3d.js +11 -6
  196. package/Charting3D/Visuals/createSingle3d.d.ts +1 -1
  197. package/Charting3D/Visuals/createSingle3d.js +2 -2
  198. package/Core/BuildStamp.d.ts +1 -1
  199. package/Core/BuildStamp.js +2 -2
  200. package/Core/NumberRange.d.ts +1 -0
  201. package/Core/NumberRange.js +8 -0
  202. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  203. package/Core/OneTimePerformanceWarning.js +19 -0
  204. package/Core/storage/localStorageApi.d.ts +9 -0
  205. package/Core/storage/localStorageApi.js +32 -0
  206. package/_wasm/scichart.browser.js +1 -1
  207. package/_wasm/scichart2d.js +95 -95
  208. package/_wasm/scichart2d.wasm +0 -0
  209. package/_wasm/scichart3d.js +96 -96
  210. package/_wasm/scichart3d.wasm +0 -0
  211. package/constants/performanceWarnings.d.ts +5 -0
  212. package/constants/performanceWarnings.js +8 -0
  213. package/package.json +1 -1
  214. package/types/NumberArray.d.ts +1 -0
  215. package/types/NumberArray.js +5 -1
  216. package/types/SearchMode.d.ts +21 -0
  217. package/types/SearchMode.js +25 -0
  218. package/types/TSciChart.d.ts +144 -40
  219. package/types/TSciChart3D.d.ts +66 -28
  220. package/types/TStackedAxisLength.d.ts +4 -0
  221. package/types/TStackedAxisLength.js +4 -0
  222. package/utils/array.d.ts +7 -0
  223. package/utils/array.js +19 -1
  224. package/utils/calcAverage.d.ts +2 -2
  225. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  226. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  227. package/utils/hash.d.ts +7 -0
  228. package/utils/hash.js +35 -0
  229. package/utils/tooltip.d.ts +42 -0
  230. package/utils/tooltip.js +119 -0
  231. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  232. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
@@ -3,12 +3,17 @@ import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/Anim
3
3
  import { EventHandler } from "../../../Core/EventHandler";
4
4
  import { NumberRange } from "../../../Core/NumberRange";
5
5
  import { ESeriesType } from "../../../types/SeriesType";
6
- import { DoubleVector, TSciChart } from "../../../types/TSciChart";
6
+ import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
7
7
  import { ELineDrawMode, WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D";
8
8
  import { SeriesInfo } from "../../Model/ChartData/SeriesInfo";
9
9
  import { IDataSeries } from "../../Model/IDataSeries";
10
10
  import { IPaletteProvider } from "../../Model/IPaletteProvider";
11
+ import { IPointSeries } from "../../Model/PointSeries/IPointSeries";
12
+ import { XyPointSeriesResampled } from "../../Model/PointSeries/XyPointSeriesResampled";
11
13
  import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
14
+ import { ExtremeResamplerHelper } from "../../Numerics/Resamplers/ExtremeResamplerHelper";
15
+ import { EResamplingMode } from "../../Numerics/Resamplers/ResamplingMode";
16
+ import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams";
12
17
  import { RenderPassData } from "../../Services/RenderPassData";
13
18
  import { IThemeProvider } from "../../Themes/IThemeProvider";
14
19
  import { AxisCore } from "../Axis/AxisCore";
@@ -63,7 +68,10 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
63
68
  protected dataSeriesProperty: IDataSeries;
64
69
  protected animationFSM: SeriesAnimationFiniteStateMachine;
65
70
  protected animationQueue: SeriesAnimation[];
71
+ protected paletteProviderProperty: IPaletteProvider;
66
72
  protected typeMap: Map<string, string>;
73
+ protected resamplerHelper: ExtremeResamplerHelper;
74
+ protected pointSeries: XyPointSeriesResampled;
67
75
  private xAxisIdProperty;
68
76
  private yAxisIdProperty;
69
77
  private strokeThicknessProperty;
@@ -73,10 +81,12 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
73
81
  private drawNaNAsProperty;
74
82
  private isVisibleProperty;
75
83
  private effectProperty;
76
- private paletteProviderProperty;
77
84
  private isDigitalLineProperty;
78
85
  private isSelectedProperty;
79
86
  private isHoveredProperty;
87
+ private currentRenderPassData;
88
+ private resamplingModeProperty;
89
+ private resamplingPrecisionProperty;
80
90
  /**
81
91
  * Creates an instance of the {@link BaseRenderableSeries}
82
92
  * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing
@@ -142,6 +152,8 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
142
152
  get dataSeries(): IDataSeries;
143
153
  /** @inheritDoc */
144
154
  set dataSeries(dataSeries: IDataSeries);
155
+ /** @inheritDoc */
156
+ get enableDrawingOptimisations(): boolean;
145
157
  /**
146
158
  * Gets an optional {@link ShaderEffect} for modifying the render output of this {@link IRenderableSeries}
147
159
  * @remarks Options include {@link GlowEffect} and {@link ShadowEffect}. Apply an effect to see how it modifies rendering!
@@ -152,6 +164,16 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
152
164
  * @remarks Options include {@link GlowEffect} and {@link ShadowEffect}. Apply an effect to see how it modifies rendering!
153
165
  */
154
166
  set effect(effect: ShaderEffect);
167
+ /**
168
+ * Gets or Sets the resamplingMode {@link EResamplingMode}
169
+ */
170
+ get resamplingMode(): EResamplingMode;
171
+ set resamplingMode(value: EResamplingMode);
172
+ /**
173
+ * Gets or Sets the resamplingPrecision
174
+ */
175
+ get resamplingPrecision(): number;
176
+ set resamplingPrecision(value: number);
155
177
  /** @inheritDoc */
156
178
  get isSpline(): boolean;
157
179
  /** @inheritDoc */
@@ -189,11 +211,11 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
189
211
  /** @inheritDoc */
190
212
  getDataSeriesName(): string;
191
213
  /** @inheritDoc */
192
- getNativeXValues(): DoubleVector;
214
+ getNativeXValues(): SCRTDoubleVector;
193
215
  /**
194
216
  * Returns the {@link IDataSeries.getNativeYValues} for the associated {@link dataSeries}
195
217
  */
196
- getNativeYValues(): DoubleVector;
218
+ getNativeYValues(): SCRTDoubleVector;
197
219
  /** @inheritDoc */
198
220
  checkIsOutOfDataRange(xValue: number, yValue: number): boolean;
199
221
  /**
@@ -211,7 +233,7 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
211
233
  /** @inheritDoc */
212
234
  runAnimation(animation: SeriesAnimation): void;
213
235
  /**
214
- * Sets a start up animation class, a child class for {@link BaseAnimation}
236
+ * Sets a start up animation class, a child class for {@link SeriesAnimation}
215
237
  */
216
238
  set animation(value: SeriesAnimation);
217
239
  /** @inheritDoc */
@@ -222,6 +244,19 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
222
244
  get isRunningDataAnimation(): boolean;
223
245
  /** @inheritDoc */
224
246
  onAnimate(timeElapsed: number): void;
247
+ /** @inheritDoc */
248
+ toPointSeries(rp?: ResamplingParams): IPointSeries;
249
+ /** @inheritDoc */
250
+ getIndicesRange(xRange: NumberRange, isCategoryData?: boolean): NumberRange;
251
+ /** @inheritDoc */
252
+ getCurrentRenderPassData(): RenderPassData;
253
+ /** @inheritDoc */
254
+ get supportsResampling(): boolean;
255
+ /**
256
+ * Used internally to check if resampling is needed for the renderable series
257
+ * @protected
258
+ */
259
+ needsResampling(rp: ResamplingParams): boolean;
225
260
  /**
226
261
  * Sets initial and end animation vectors
227
262
  * @param animation
@@ -256,8 +291,9 @@ export declare abstract class BaseRenderableSeries implements IRenderableSeries
256
291
  */
257
292
  protected dataSeriesDataChanged(): void;
258
293
  protected valueChanged(oldValue: any, newValue: any): boolean;
294
+ protected setPaletteProvider(paletteProvider: IPaletteProvider): void;
259
295
  private invalidateParent;
260
296
  private effectPropertyChanged;
261
297
  private get canDraw();
262
298
  }
263
- export declare const getDataPointWidth: (xValues: DoubleVector, xCoordCalc: CoordinateCalculatorBase, seriesViewRectWidth: number, widthFraction: number, isCategoryAxis: boolean) => number;
299
+ export declare const getDataPointWidth: (xValues: SCRTDoubleVector, xCoordCalc: CoordinateCalculatorBase, seriesViewRectWidth: number, widthFraction: number, isCategoryAxis: boolean) => number;
@@ -18,7 +18,12 @@ var XySeriesInfo_1 = require("../../Model/ChartData/XySeriesInfo");
18
18
  var XyySeriesInfo_1 = require("../../Model/ChartData/XyySeriesInfo");
19
19
  var IDataSeries_1 = require("../../Model/IDataSeries");
20
20
  var IPaletteProvider_1 = require("../../Model/IPaletteProvider");
21
+ var XyPointSeriesResampled_1 = require("../../Model/PointSeries/XyPointSeriesResampled");
22
+ var XyPointSeriesWrapped_1 = require("../../Model/PointSeries/XyPointSeriesWrapped");
23
+ var ExtremeResamplerHelper_1 = require("../../Numerics/Resamplers/ExtremeResamplerHelper");
24
+ var ResamplingMode_1 = require("../../Numerics/Resamplers/ResamplingMode");
21
25
  var AxisCore_1 = require("../Axis/AxisCore");
26
+ var SciChartDefaults_1 = require("../SciChartDefaults");
22
27
  var SciChartSurfaceBase_1 = require("../SciChartSurfaceBase");
23
28
  var animationHelpers_1 = require("./Animations/animationHelpers");
24
29
  var constants_1 = require("./constants");
@@ -43,7 +48,7 @@ var BaseRenderableSeries = /** @class */ (function () {
43
48
  * @param options optional parameters of type {@link IBaseRenderableSeriesOptions} applied when constructing the series type
44
49
  */
45
50
  function BaseRenderableSeries(webAssemblyContext, options) {
46
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
47
52
  /** @inheritDoc */
48
53
  this.isStacked = false;
49
54
  /** @inheritDoc */
@@ -57,6 +62,7 @@ var BaseRenderableSeries = /** @class */ (function () {
57
62
  /** @inheritDoc */
58
63
  this.hovered = new EventHandler_1.EventHandler();
59
64
  this.animationQueue = [];
65
+ this.paletteProviderProperty = IPaletteProvider_1.DefaultPaletteProvider.createEmpty();
60
66
  // used to track if registered types were used for function propertes, so they can be serialized
61
67
  this.typeMap = new Map();
62
68
  this.xAxisIdProperty = AxisCore_1.AxisCore.DEFAULT_AXIS_ID;
@@ -66,8 +72,9 @@ var BaseRenderableSeries = /** @class */ (function () {
66
72
  this.opacityProperty = 1;
67
73
  this.drawNaNAsProperty = WebGlRenderContext2D_1.ELineDrawMode.DiscontinuousLine;
68
74
  this.isVisibleProperty = true;
69
- this.paletteProviderProperty = IPaletteProvider_1.DefaultPaletteProvider.createEmpty();
70
75
  this.isDigitalLineProperty = false;
76
+ this.resamplingModeProperty = ResamplingMode_1.EResamplingMode.Auto;
77
+ this.resamplingPrecisionProperty = 0;
71
78
  this.webAssemblyContext = webAssemblyContext;
72
79
  this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
73
80
  // It is very important to add bind(this) first line in constructor,
@@ -99,6 +106,8 @@ var BaseRenderableSeries = /** @class */ (function () {
99
106
  this.yAxisIdProperty = (_h = options === null || options === void 0 ? void 0 : options.yAxisId) !== null && _h !== void 0 ? _h : this.yAxisIdProperty;
100
107
  this.isVisibleProperty = (_j = options === null || options === void 0 ? void 0 : options.isVisible) !== null && _j !== void 0 ? _j : this.isVisibleProperty;
101
108
  this.isDigitalLineProperty = (_k = options === null || options === void 0 ? void 0 : options.isDigitalLine) !== null && _k !== void 0 ? _k : this.isDigitalLineProperty;
109
+ this.resamplingModeProperty = (_l = options === null || options === void 0 ? void 0 : options.resamplingMode) !== null && _l !== void 0 ? _l : this.resamplingModeProperty;
110
+ this.resamplingPrecisionProperty = (_m = options === null || options === void 0 ? void 0 : options.resamplingPrecision) !== null && _m !== void 0 ? _m : this.resamplingPrecisionProperty;
102
111
  if (options === null || options === void 0 ? void 0 : options.effect) {
103
112
  if (!("getNativeEffect" in options.effect)) {
104
113
  options.effect = (0, classFactory_1.createType)(BaseType_1.EBaseType.ShaderEffect, options.effect.type, webAssemblyContext, options.effect.options);
@@ -115,12 +124,12 @@ var BaseRenderableSeries = /** @class */ (function () {
115
124
  }
116
125
  }
117
126
  }
118
- this.paletteProviderProperty = (_l = options === null || options === void 0 ? void 0 : options.paletteProvider) !== null && _l !== void 0 ? _l : this.paletteProviderProperty;
127
+ this.paletteProviderProperty = (_o = options === null || options === void 0 ? void 0 : options.paletteProvider) !== null && _o !== void 0 ? _o : this.paletteProviderProperty;
119
128
  // PaletteProvider.onAttached must be called by the top level series, as the series type is not available here
120
- this.drawNaNAsProperty = (_m = options === null || options === void 0 ? void 0 : options.drawNaNAs) !== null && _m !== void 0 ? _m : this.drawNaNAsProperty;
129
+ this.drawNaNAsProperty = (_p = options === null || options === void 0 ? void 0 : options.drawNaNAs) !== null && _p !== void 0 ? _p : this.drawNaNAsProperty;
121
130
  this.hitTestProvider = this.newHitTestProvider();
122
- this.isSelected = (_o = options === null || options === void 0 ? void 0 : options.isSelected) !== null && _o !== void 0 ? _o : false;
123
- this.isHovered = (_p = options === null || options === void 0 ? void 0 : options.isHovered) !== null && _p !== void 0 ? _p : false;
131
+ this.isSelected = (_q = options === null || options === void 0 ? void 0 : options.isSelected) !== null && _q !== void 0 ? _q : false;
132
+ this.isHovered = (_r = options === null || options === void 0 ? void 0 : options.isHovered) !== null && _r !== void 0 ? _r : false;
124
133
  if (options === null || options === void 0 ? void 0 : options.onSelectedChanged) {
125
134
  if (typeof options.onSelectedChanged === "string") {
126
135
  this.typeMap.set("onSelectedChanged", options.onSelectedChanged);
@@ -158,6 +167,7 @@ var BaseRenderableSeries = /** @class */ (function () {
158
167
  }
159
168
  }
160
169
  this.onDpiChanged = this.onDpiChanged.bind(this);
170
+ this.resamplerHelper = new ExtremeResamplerHelper_1.ExtremeResamplerHelper(webAssemblyContext);
161
171
  }
162
172
  /** @inheritDoc */
163
173
  BaseRenderableSeries.prototype.applyTheme = function (themeProvider) {
@@ -213,15 +223,7 @@ var BaseRenderableSeries = /** @class */ (function () {
213
223
  },
214
224
  /** @inheritDoc */
215
225
  set: function (paletteProvider) {
216
- var _a, _b;
217
- if ((_a = this.paletteProviderProperty) === null || _a === void 0 ? void 0 : _a.onDetached) {
218
- this.paletteProviderProperty.onDetached();
219
- }
220
- this.paletteProviderProperty = paletteProvider;
221
- if ((_b = this.paletteProviderProperty) === null || _b === void 0 ? void 0 : _b.onAttached) {
222
- this.paletteProviderProperty.onAttached(this);
223
- }
224
- this.notifyPropertyChanged(constants_1.PROPERTY.PALETTE_PROVIDER);
226
+ this.setPaletteProvider(paletteProvider);
225
227
  },
226
228
  enumerable: false,
227
229
  configurable: true
@@ -383,6 +385,14 @@ var BaseRenderableSeries = /** @class */ (function () {
383
385
  enumerable: false,
384
386
  configurable: true
385
387
  });
388
+ Object.defineProperty(BaseRenderableSeries.prototype, "enableDrawingOptimisations", {
389
+ /** @inheritDoc */
390
+ get: function () {
391
+ return this.resamplingModeProperty !== ResamplingMode_1.EResamplingMode.None;
392
+ },
393
+ enumerable: false,
394
+ configurable: true
395
+ });
386
396
  Object.defineProperty(BaseRenderableSeries.prototype, "effect", {
387
397
  /**
388
398
  * Gets an optional {@link ShaderEffect} for modifying the render output of this {@link IRenderableSeries}
@@ -405,6 +415,34 @@ var BaseRenderableSeries = /** @class */ (function () {
405
415
  enumerable: false,
406
416
  configurable: true
407
417
  });
418
+ Object.defineProperty(BaseRenderableSeries.prototype, "resamplingMode", {
419
+ /**
420
+ * Gets or Sets the resamplingMode {@link EResamplingMode}
421
+ */
422
+ get: function () {
423
+ return this.resamplingModeProperty;
424
+ },
425
+ set: function (value) {
426
+ this.resamplingModeProperty = value;
427
+ this.notifyPropertyChanged(constants_1.PROPERTY.RESAMPLING_MODE);
428
+ },
429
+ enumerable: false,
430
+ configurable: true
431
+ });
432
+ Object.defineProperty(BaseRenderableSeries.prototype, "resamplingPrecision", {
433
+ /**
434
+ * Gets or Sets the resamplingPrecision
435
+ */
436
+ get: function () {
437
+ return this.resamplingPrecisionProperty;
438
+ },
439
+ set: function (value) {
440
+ this.resamplingPrecisionProperty = value;
441
+ this.notifyPropertyChanged(constants_1.PROPERTY.RESAMPLING_PRECISION);
442
+ },
443
+ enumerable: false,
444
+ configurable: true
445
+ });
408
446
  Object.defineProperty(BaseRenderableSeries.prototype, "isSpline", {
409
447
  /** @inheritDoc */
410
448
  get: function () {
@@ -416,13 +454,12 @@ var BaseRenderableSeries = /** @class */ (function () {
416
454
  /** @inheritDoc */
417
455
  BaseRenderableSeries.prototype.draw = function (renderContext, renderPassData) {
418
456
  var _a;
457
+ this.currentRenderPassData = renderPassData;
419
458
  (_a = this.hitTestProvider) === null || _a === void 0 ? void 0 : _a.update(renderPassData);
420
459
  if (this.canDraw) {
421
460
  try {
422
461
  renderContext.pushShaderEffect(this.effect);
423
- this.drawingProviders.forEach(function (dp, index) {
424
- dp.draw(renderContext, renderPassData);
425
- });
462
+ this.drawingProviders.forEach(function (dp) { return dp.draw(renderContext, renderPassData); });
426
463
  }
427
464
  finally {
428
465
  renderContext.popShaderEffect();
@@ -437,6 +474,7 @@ var BaseRenderableSeries = /** @class */ (function () {
437
474
  this.dataSeries = (0, Deleter_1.deleteSafe)(this.dataSeries);
438
475
  this.effect = (0, Deleter_1.deleteSafe)(this.effect);
439
476
  (_a = this.pointMarker) === null || _a === void 0 ? void 0 : _a.delete();
477
+ this.resamplerHelper = (0, Deleter_1.deleteSafe)(this.resamplerHelper);
440
478
  };
441
479
  /** @inheritDoc */
442
480
  BaseRenderableSeries.prototype.getXRange = function () {
@@ -500,7 +538,8 @@ var BaseRenderableSeries = /** @class */ (function () {
500
538
  };
501
539
  /** @inheritDoc */
502
540
  BaseRenderableSeries.prototype.hasDataSeriesValues = function () {
503
- return this.dataSeries.hasValues;
541
+ var _a;
542
+ return (_a = this.dataSeries) === null || _a === void 0 ? void 0 : _a.hasValues;
504
543
  };
505
544
  /** @inheritDoc */
506
545
  BaseRenderableSeries.prototype.hasDataSeries = function () {
@@ -512,7 +551,8 @@ var BaseRenderableSeries = /** @class */ (function () {
512
551
  };
513
552
  /** @inheritDoc */
514
553
  BaseRenderableSeries.prototype.getDataSeriesName = function () {
515
- return this.dataSeries.dataSeriesName;
554
+ var _a;
555
+ return (_a = this.dataSeries) === null || _a === void 0 ? void 0 : _a.dataSeriesName;
516
556
  };
517
557
  /** @inheritDoc */
518
558
  BaseRenderableSeries.prototype.getNativeXValues = function () {
@@ -588,7 +628,9 @@ var BaseRenderableSeries = /** @class */ (function () {
588
628
  strokeThickness: this.strokeThickness,
589
629
  xAxisId: this.xAxisId,
590
630
  yAxisId: this.yAxisId,
591
- animation: this.animation
631
+ animation: this.animation,
632
+ resamplingMode: this.resamplingMode,
633
+ resamplingPrecision: this.resamplingPrecision
592
634
  // onSelectedChanged: this.onSelectedChanged
593
635
  };
594
636
  if (((_c = this.dataSeries) === null || _c === void 0 ? void 0 : _c.type) === IDataSeries_1.EDataSeriesType.Xy) {
@@ -630,7 +672,7 @@ var BaseRenderableSeries = /** @class */ (function () {
630
672
  };
631
673
  Object.defineProperty(BaseRenderableSeries.prototype, "animation", {
632
674
  /**
633
- * Sets a start up animation class, a child class for {@link BaseAnimation}
675
+ * Sets a start up animation class, a child class for {@link SeriesAnimation}
634
676
  */
635
677
  set: function (value) {
636
678
  if (value) {
@@ -677,6 +719,62 @@ var BaseRenderableSeries = /** @class */ (function () {
677
719
  return;
678
720
  animationHelpers_1.animationHelpers.animationUpdate(this.animationFSM, timeElapsed, this.beforeAnimationStart, this.afterAnimationComplete, this.updateAnimationProperties);
679
721
  };
722
+ /** @inheritDoc */
723
+ BaseRenderableSeries.prototype.toPointSeries = function (rp) {
724
+ if (rp) {
725
+ if (!this.pointSeries) {
726
+ this.pointSeries = new XyPointSeriesResampled_1.XyPointSeriesResampled(this.webAssemblyContext, rp.xVisibleRange);
727
+ }
728
+ else {
729
+ this.pointSeries.xRange = rp.xVisibleRange;
730
+ }
731
+ this.resamplerHelper.resampleIntoPointSeries(this.webAssemblyContext, rp, this.dataSeries.getNativeXValues(), this.dataSeries.getNativeYValues(), this.pointSeries.intIndexes, this.pointSeries.xValues, this.pointSeries.yValues, false);
732
+ if (rp.isCategoryAxis) {
733
+ this.pointSeries.updateIndexes();
734
+ }
735
+ this.pointSeries.clearIntIndexes();
736
+ // this.pointSeries.debugOutputForUnitTests();
737
+ return this.pointSeries;
738
+ }
739
+ else {
740
+ return new XyPointSeriesWrapped_1.XyPointSeriesWrapped(this.dataSeries);
741
+ }
742
+ };
743
+ /** @inheritDoc */
744
+ BaseRenderableSeries.prototype.getIndicesRange = function (xRange, isCategoryData) {
745
+ var _a;
746
+ if (isCategoryData === void 0) { isCategoryData = false; }
747
+ return (_a = this.dataSeries) === null || _a === void 0 ? void 0 : _a.getIndicesRange(xRange, isCategoryData);
748
+ };
749
+ /** @inheritDoc */
750
+ BaseRenderableSeries.prototype.getCurrentRenderPassData = function () {
751
+ return this.currentRenderPassData;
752
+ };
753
+ Object.defineProperty(BaseRenderableSeries.prototype, "supportsResampling", {
754
+ /** @inheritDoc */
755
+ get: function () {
756
+ var seriesTypeSupportsResampling = ![
757
+ SeriesType_1.ESeriesType.UniformContoursSeries,
758
+ SeriesType_1.ESeriesType.UniformHeatmapSeries,
759
+ SeriesType_1.ESeriesType.ScatterSeries
760
+ ].includes(this.type);
761
+ return (seriesTypeSupportsResampling &&
762
+ SciChartDefaults_1.SciChartDefaults.enableResampling &&
763
+ this.enableDrawingOptimisations &&
764
+ this.dataSeries &&
765
+ this.dataSeries.count() > 0 &&
766
+ this.dataSeries.dataDistributionCalculator.isSortedAscending);
767
+ },
768
+ enumerable: false,
769
+ configurable: true
770
+ });
771
+ /**
772
+ * Used internally to check if resampling is needed for the renderable series
773
+ * @protected
774
+ */
775
+ BaseRenderableSeries.prototype.needsResampling = function (rp) {
776
+ return this.resamplerHelper.needsResampling(rp, this.getNativeXValues());
777
+ };
680
778
  /**
681
779
  * Sets initial and end animation vectors
682
780
  * @param animation
@@ -744,6 +842,17 @@ var BaseRenderableSeries = /** @class */ (function () {
744
842
  BaseRenderableSeries.prototype.valueChanged = function (oldValue, newValue) {
745
843
  return oldValue !== newValue;
746
844
  };
845
+ BaseRenderableSeries.prototype.setPaletteProvider = function (paletteProvider) {
846
+ var _a, _b;
847
+ if ((_a = this.paletteProviderProperty) === null || _a === void 0 ? void 0 : _a.onDetached) {
848
+ this.paletteProviderProperty.onDetached();
849
+ }
850
+ this.paletteProviderProperty = paletteProvider;
851
+ if ((_b = this.paletteProviderProperty) === null || _b === void 0 ? void 0 : _b.onAttached) {
852
+ this.paletteProviderProperty.onAttached(this);
853
+ }
854
+ this.notifyPropertyChanged(constants_1.PROPERTY.PALETTE_PROVIDER);
855
+ };
747
856
  BaseRenderableSeries.prototype.invalidateParent = function () {
748
857
  if (this.invalidateParentCallback) {
749
858
  this.invalidateParentCallback();
@@ -4,11 +4,14 @@ import { EventHandler } from "../../../Core/EventHandler";
4
4
  import { NumberRange } from "../../../Core/NumberRange";
5
5
  import { ObservableArray } from "../../../Core/ObservableArray";
6
6
  import { ESeriesType } from "../../../types/SeriesType";
7
- import { DoubleVector, TSciChart } from "../../../types/TSciChart";
7
+ import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
8
8
  import { ELineDrawMode, WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D";
9
9
  import { SeriesInfo } from "../../Model/ChartData/SeriesInfo";
10
10
  import { IDataSeries } from "../../Model/IDataSeries";
11
11
  import { IPaletteProvider } from "../../Model/IPaletteProvider";
12
+ import { IPointSeries } from "../../Model/PointSeries/IPointSeries";
13
+ import { EResamplingMode } from "../../Numerics/Resamplers/ResamplingMode";
14
+ import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams";
12
15
  import { RenderPassData } from "../../Services/RenderPassData";
13
16
  import { IThemeProvider } from "../../Themes/IThemeProvider";
14
17
  import { AxisCore } from "../Axis/AxisCore";
@@ -54,22 +57,32 @@ export interface IBaseStackedCollectionOptions {
54
57
  * Concrete types are {@link StackedColumnCollection} and {@link StackedMountainCollection}
55
58
  */
56
59
  export declare abstract class BaseStackedCollection<T extends BaseStackedRenderableSeries> extends ObservableArray<T> implements IRenderableSeries {
60
+ /** @inheritDoc */
57
61
  abstract readonly type: ESeriesType;
62
+ /** @inheritDoc */
58
63
  readonly id: string;
64
+ /** @inheritDoc */
59
65
  readonly isStacked = true;
66
+ /** @inheritDoc */
67
+ readonly supportsResampling = false;
68
+ /** @inheritDoc */
60
69
  readonly isSpline = false;
70
+ /** @inheritDoc */
61
71
  parentSurface: SciChartSurface;
72
+ /** @inheritDoc */
62
73
  invalidateParentCallback: () => void;
63
74
  /**
64
75
  * the accumulated values which are used to draw each column/band for {@link BaseStackedRenderableSeries}
65
76
  */
66
- accumulatedValues0: DoubleVector;
77
+ accumulatedValues0: SCRTDoubleVector;
78
+ /** @inheritDoc */
79
+ enableDrawingOptimisations: boolean;
67
80
  /**
68
81
  * The {@link TSciChart | SciChart WebAssembly Context} containing
69
82
  * native methods and access to our WebGL2 WebAssembly Drawing Engine
70
83
  */
71
84
  protected webAssemblyContext: TSciChart;
72
- protected accumulatedFinalAnimationValues0: DoubleVector;
85
+ protected accumulatedFinalAnimationValues0: SCRTDoubleVector;
73
86
  protected isAccumulatedVectorDirty: boolean;
74
87
  protected firstAnimationRender: boolean;
75
88
  protected animationFSM: SeriesAnimationFiniteStateMachine;
@@ -82,6 +95,7 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
82
95
  * Creates an instance of the {@link BaseStackedCollection}
83
96
  * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing
84
97
  * native methods and access to our WebGL2 WebAssembly Drawing Engine
98
+ * @param options Optional parameters of type {@link IBaseStackedCollectionOptions} to configure the series
85
99
  */
86
100
  protected constructor(webAssemblyContext: TSciChart, options?: IBaseStackedCollectionOptions);
87
101
  /** @inheritDoc */
@@ -222,6 +236,18 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
222
236
  * rolloverModifierProps1() is not supported for BaseStackedCollection
223
237
  */
224
238
  get rolloverModifierProps1(): RolloverModifierRenderableSeriesProps;
239
+ /**
240
+ * resamplingMode property is not supported for BaseStackedCollection
241
+ */
242
+ get resamplingMode(): EResamplingMode;
243
+ set resamplingMode(value: EResamplingMode);
244
+ /**
245
+ * resamplingPrecision property is not supported for BaseStackedCollection
246
+ */
247
+ get resamplingPrecision(): number;
248
+ set resamplingPrecision(value: number);
249
+ /** @inheritDoc */
250
+ getIndicesRange(xRange: NumberRange): NumberRange;
225
251
  protected get canDraw(): boolean;
226
252
  /** @inheritDoc */
227
253
  pushPalettedColors?(color: number, palettingState: TPalettingState): void;
@@ -244,7 +270,7 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
244
270
  /** @inheritDoc */
245
271
  getDataSeriesValuesCount(): number;
246
272
  /** @inheritDoc */
247
- getNativeXValues(): DoubleVector;
273
+ getNativeXValues(): SCRTDoubleVector;
248
274
  /** @inheritDoc */
249
275
  abstract getXRange(): NumberRange;
250
276
  /** @inheritDoc */
@@ -290,6 +316,12 @@ export declare abstract class BaseStackedCollection<T extends BaseStackedRendera
290
316
  */
291
317
  checkIsOutOfDataRange(xValue: number, yValue: number): boolean;
292
318
  /** @inheritDoc */
319
+ toPointSeries(resamplingParams?: ResamplingParams): IPointSeries;
320
+ /**
321
+ * getCurrentRenderPassData method is not supported for BaseStackedCollection
322
+ */
323
+ getCurrentRenderPassData(): RenderPassData;
324
+ /** @inheritDoc */
293
325
  toJSON(excludeData?: boolean): TSeriesDefinition;
294
326
  protected isAllDataSeriesSet(): boolean;
295
327
  /**
@@ -35,13 +35,21 @@ var BaseStackedCollection = /** @class */ (function (_super) {
35
35
  * Creates an instance of the {@link BaseStackedCollection}
36
36
  * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing
37
37
  * native methods and access to our WebGL2 WebAssembly Drawing Engine
38
+ * @param options Optional parameters of type {@link IBaseStackedCollectionOptions} to configure the series
38
39
  */
39
40
  function BaseStackedCollection(webAssemblyContext, options) {
40
41
  var _a, _b, _c, _d;
41
42
  var _this = _super.call(this) || this;
43
+ /** @inheritDoc */
42
44
  _this.id = (0, guid_1.generateGuid)();
45
+ /** @inheritDoc */
43
46
  _this.isStacked = true;
47
+ /** @inheritDoc */
48
+ _this.supportsResampling = false;
49
+ /** @inheritDoc */
44
50
  _this.isSpline = false;
51
+ /** @inheritDoc */
52
+ _this.enableDrawingOptimisations = true;
45
53
  _this.isAccumulatedVectorDirty = true;
46
54
  _this.firstAnimationRender = false;
47
55
  _this.isVisibleProperty = true;
@@ -60,8 +68,8 @@ var BaseStackedCollection = /** @class */ (function (_super) {
60
68
  _this.beforeAnimationStart = _this.beforeAnimationStart.bind(_this);
61
69
  _this.afterAnimationComplete = _this.afterAnimationComplete.bind(_this);
62
70
  _this.updateAnimationProperties = _this.updateAnimationProperties.bind(_this);
63
- _this.accumulatedValues0 = new _this.webAssemblyContext.DoubleVector();
64
- _this.accumulatedFinalAnimationValues0 = new _this.webAssemblyContext.DoubleVector();
71
+ _this.accumulatedValues0 = new _this.webAssemblyContext.SCRTDoubleVector();
72
+ _this.accumulatedFinalAnimationValues0 = new _this.webAssemblyContext.SCRTDoubleVector();
65
73
  return _this;
66
74
  }
67
75
  Object.defineProperty(BaseStackedCollection.prototype, "selected", {
@@ -386,6 +394,36 @@ var BaseStackedCollection = /** @class */ (function (_super) {
386
394
  enumerable: false,
387
395
  configurable: true
388
396
  });
397
+ Object.defineProperty(BaseStackedCollection.prototype, "resamplingMode", {
398
+ /**
399
+ * resamplingMode property is not supported for BaseStackedCollection
400
+ */
401
+ get: function () {
402
+ throw Error("resamplingMode property is not supported for BaseStackedCollection");
403
+ },
404
+ set: function (value) {
405
+ throw Error("resamplingMode property is not supported for BaseStackedCollection");
406
+ },
407
+ enumerable: false,
408
+ configurable: true
409
+ });
410
+ Object.defineProperty(BaseStackedCollection.prototype, "resamplingPrecision", {
411
+ /**
412
+ * resamplingPrecision property is not supported for BaseStackedCollection
413
+ */
414
+ get: function () {
415
+ throw Error("resamplingPrecision property is not supported for BaseStackedCollection");
416
+ },
417
+ set: function (value) {
418
+ throw Error("resamplingPrecision property is not supported for BaseStackedCollection");
419
+ },
420
+ enumerable: false,
421
+ configurable: true
422
+ });
423
+ /** @inheritDoc */
424
+ BaseStackedCollection.prototype.getIndicesRange = function (xRange) {
425
+ throw Error("getIndicesRange() method is not supported for BaseStackedCollection");
426
+ };
389
427
  Object.defineProperty(BaseStackedCollection.prototype, "canDraw", {
390
428
  get: function () {
391
429
  return animationHelpers_1.animationHelpers.checkCanDraw(this.animationFSM);
@@ -561,6 +599,17 @@ var BaseStackedCollection = /** @class */ (function (_super) {
561
599
  throw Error("checkIsOutOfDataRange() method is not supported for BaseStackedCollection");
562
600
  };
563
601
  /** @inheritDoc */
602
+ BaseStackedCollection.prototype.toPointSeries = function (resamplingParams) {
603
+ // not used for BaseStackedCollection
604
+ return undefined;
605
+ };
606
+ /**
607
+ * getCurrentRenderPassData method is not supported for BaseStackedCollection
608
+ */
609
+ BaseStackedCollection.prototype.getCurrentRenderPassData = function () {
610
+ throw Error("getCurrentRenderPassData method is not supported for BaseStackedCollection");
611
+ };
612
+ /** @inheritDoc */
564
613
  BaseStackedCollection.prototype.toJSON = function (excludeData) {
565
614
  if (excludeData === void 0) { excludeData = false; }
566
615
  var series = [];
@@ -577,7 +626,6 @@ var BaseStackedCollection = /** @class */ (function (_super) {
577
626
  // @ts-ignore
578
627
  return { type: this.type, series: series, options: options };
579
628
  };
580
- // Un-Supported PROPERTIES END
581
629
  BaseStackedCollection.prototype.isAllDataSeriesSet = function () {
582
630
  var isDataSeriesSet = true;
583
631
  this.asArray().forEach(function (el) {