scichart 3.1.348 → 3.2.0-beta

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 (314) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
  2. package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
  3. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  4. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  5. package/Charting/ChartModifiers/LegendModifier.js +8 -6
  6. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  7. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  8. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  9. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
  11. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  12. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  13. package/Charting/Drawing/BaseCache.d.ts +2 -1
  14. package/Charting/Drawing/BaseCache.js +40 -7
  15. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  16. package/Charting/Drawing/RenderSurface.js +5 -1
  17. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  18. package/Charting/Drawing/SolidBrushCache.js +23 -3
  19. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  20. package/Charting/Drawing/WebGlBrush.js +22 -3
  21. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  22. package/Charting/Drawing/WebGlPen.js +23 -4
  23. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  24. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  25. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  26. package/Charting/Model/BaseDataSeries.js +193 -42
  27. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  28. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  29. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  30. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  31. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  32. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  33. package/Charting/Model/DoubleVectorProvider.js +95 -0
  34. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  35. package/Charting/Model/HlcDataSeries.js +44 -15
  36. package/Charting/Model/IDataSeries.d.ts +23 -0
  37. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  38. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  39. package/Charting/Model/OhlcDataSeries.js +56 -24
  40. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  41. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  42. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  43. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  44. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  45. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  46. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  47. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  48. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  49. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  50. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  51. package/Charting/Model/XyDataSeries.d.ts +0 -8
  52. package/Charting/Model/XyDataSeries.js +21 -5
  53. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  54. package/Charting/Model/XyTextDataSeries.js +35 -4
  55. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  56. package/Charting/Model/XyyDataSeries.js +35 -10
  57. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  58. package/Charting/Model/XyzDataSeries.js +36 -10
  59. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  60. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  61. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  63. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  64. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  66. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  69. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  70. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  71. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  72. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  73. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  74. package/Charting/Services/SciChartRenderer.js +15 -5
  75. package/Charting/Services/TitleRenderer.d.ts +2 -1
  76. package/Charting/Services/TitleRenderer.js +35 -14
  77. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  78. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  79. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  80. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
  81. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  82. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  83. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  84. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  85. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  86. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  87. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  88. package/Charting/Visuals/Annotations/constants.js +1 -0
  89. package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
  90. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  91. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
  92. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  93. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  94. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  95. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  96. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  97. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  98. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  99. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  100. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  101. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  102. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  106. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  107. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  108. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  109. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  110. package/Charting/Visuals/HeatmapLegend.js +33 -12
  111. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  112. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  113. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  114. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  115. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
  116. package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
  117. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  118. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  119. package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
  120. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  121. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  122. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  123. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  124. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  125. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  126. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  127. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  128. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  129. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
  130. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  131. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
  132. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  133. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  134. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  135. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  138. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  139. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  140. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  141. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  142. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
  143. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
  144. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  145. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  146. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  147. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  148. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  149. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  150. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  151. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  152. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  153. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  154. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  156. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  157. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  158. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  159. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  160. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  161. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  163. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  164. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  165. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  166. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  167. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  168. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  169. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
  170. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
  171. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
  172. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  173. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  174. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  175. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  176. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  177. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  178. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  179. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
  180. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
  181. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  182. package/Charting/Visuals/SciChartDefaults.js +10 -0
  183. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  184. package/Charting/Visuals/SciChartOverview.js +28 -8
  185. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
  186. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
  187. package/Charting/Visuals/SciChartSurface.d.ts +4 -36
  188. package/Charting/Visuals/SciChartSurface.js +48 -61
  189. package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
  190. package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
  191. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  192. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  193. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  194. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  195. package/Charting/Visuals/createMaster.d.ts +4 -2
  196. package/Charting/Visuals/createMaster.js +92 -28
  197. package/Charting/Visuals/createSingle.d.ts +0 -2
  198. package/Charting/Visuals/createSingle.js +44 -9
  199. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  200. package/Charting/Visuals/licenseManager2D.js +105 -53
  201. package/Charting/Visuals/loader.js +3 -1
  202. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  203. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  204. package/Charting3D/CameraController.d.ts +1 -1
  205. package/Charting3D/CameraController.js +21 -7
  206. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  207. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  208. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  209. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  210. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  211. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  212. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
  213. package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
  214. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  215. package/Charting3D/I3DSurfaceOptions.js +2 -0
  216. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  217. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  218. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  219. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  220. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  221. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  222. package/Charting3D/Vector3.d.ts +5 -0
  223. package/Charting3D/Vector3.js +7 -0
  224. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  225. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  226. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
  227. package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
  228. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  229. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  230. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  231. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  232. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  233. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  234. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  235. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  236. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  237. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  238. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  239. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  240. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
  241. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  242. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  243. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  244. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
  245. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  246. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
  247. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
  248. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
  249. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  250. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  251. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  252. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  253. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  254. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  255. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  256. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  257. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  258. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  259. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  260. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  261. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  262. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  263. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  264. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  265. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
  266. package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
  267. package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
  268. package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
  269. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  270. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  271. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  272. package/Charting3D/Visuals/createMaster3d.js +76 -14
  273. package/Charting3D/Visuals/createSingle3d.js +34 -4
  274. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  275. package/Core/BuildStamp.d.ts +1 -1
  276. package/Core/BuildStamp.js +2 -2
  277. package/Core/DeletableEntity.d.ts +28 -0
  278. package/Core/DeletableEntity.js +141 -0
  279. package/Core/Globals.d.ts +11 -0
  280. package/Core/Globals.js +13 -0
  281. package/Core/Guard.d.ts +6 -0
  282. package/Core/Guard.js +10 -0
  283. package/Core/Mouse/MouseManager.d.ts +23 -0
  284. package/Core/Mouse/MouseManager.js +47 -0
  285. package/Core/Telemetry.js +4 -6
  286. package/_wasm/scichart.browser.js +1 -1
  287. package/_wasm/scichart2d.data +0 -0
  288. package/_wasm/scichart2d.js +4 -294
  289. package/_wasm/scichart2d.wasm +0 -0
  290. package/_wasm/scichart3d.data +0 -0
  291. package/_wasm/scichart3d.js +4 -294
  292. package/_wasm/scichart3d.wasm +0 -0
  293. package/index.d.ts +43 -2
  294. package/index.js +89 -27
  295. package/index.min.js +1 -1
  296. package/package.json +3 -4
  297. package/types/ChartModifierType.d.ts +2 -0
  298. package/types/ChartModifierType.js +2 -0
  299. package/types/DefaultRenderLayer.d.ts +9 -8
  300. package/types/DefaultRenderLayer.js +9 -8
  301. package/types/NumberArray.d.ts +1 -0
  302. package/types/NumberArray.js +12 -1
  303. package/types/SceneEntityType.d.ts +13 -5
  304. package/types/SceneEntityType.js +13 -5
  305. package/types/TSciChart.d.ts +37 -8
  306. package/types/TSciChart3D.d.ts +126 -7
  307. package/types/licensingClasses.d.ts +2 -1
  308. package/types/licensingClasses.js +1 -0
  309. package/utils/MemoryUsageHelper.d.ts +45 -0
  310. package/utils/MemoryUsageHelper.js +171 -0
  311. package/utils/array.d.ts +8 -0
  312. package/utils/array.js +58 -1
  313. package/utils/logger.d.ts +2 -0
  314. package/utils/logger.js +11 -0
@@ -48,13 +48,16 @@ var XyzDataSeries = /** @class */ (function (_super) {
48
48
  var _this = _super.call(this, webAssemblyContext, options) || this;
49
49
  /** @inheritDoc */
50
50
  _this.type = IDataSeries_1.EDataSeriesType.Xyz;
51
- _this.zValues = new webAssemblyContext.SCRTDoubleVector();
52
- _this.zInitialAnimationValues = new webAssemblyContext.SCRTDoubleVector();
53
- _this.zFinalAnimationValues = new webAssemblyContext.SCRTDoubleVector();
51
+ _this.zValues = _this.doubleVectorProvider.getDoubleVector(webAssemblyContext);
54
52
  if (options === null || options === void 0 ? void 0 : options.xValues) {
55
53
  Guard_1.Guard.notNull(options.yValues, "options.yValues");
56
54
  Guard_1.Guard.notNull(options.zValues, "options.zValues");
57
55
  _this.appendRange(options.xValues, options.yValues, options.zValues, options.metadata);
56
+ if ((options === null || options === void 0 ? void 0 : options.fifoCapacity) && (options === null || options === void 0 ? void 0 : options.fifoStartIndex)) {
57
+ _this.xValues.notifyAppend(options === null || options === void 0 ? void 0 : options.fifoStartIndex);
58
+ _this.yValues.notifyAppend(options === null || options === void 0 ? void 0 : options.fifoStartIndex);
59
+ _this.zValues.notifyAppend(options === null || options === void 0 ? void 0 : options.fifoStartIndex);
60
+ }
58
61
  }
59
62
  return _this;
60
63
  }
@@ -118,9 +121,9 @@ var XyzDataSeries = /** @class */ (function (_super) {
118
121
  this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, xValues, yValues);
119
122
  // Push metadata should be done before push x values
120
123
  this.appendMetadataRange(metadata, xValues.length);
121
- (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
122
- (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
123
- (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeZ, zValues);
124
+ this.doubleVectorProvider.appendArray(this.webAssemblyContext, nativeX, xValues);
125
+ this.doubleVectorProvider.appendArray(this.webAssemblyContext, nativeY, yValues);
126
+ this.doubleVectorProvider.appendArray(this.webAssemblyContext, nativeZ, zValues);
124
127
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, xValues.length);
125
128
  }
126
129
  };
@@ -178,6 +181,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
178
181
  XyzDataSeries.prototype.insert = function (startIndex, x, y, z, metadata) {
179
182
  if (!this.getIsDeleted()) {
180
183
  this.validateIndex(startIndex, "Start index is out of range");
184
+ this.throwIfFifo("insert");
181
185
  var nativeX = this.getNativeXValues();
182
186
  var nativeY = this.getNativeYValues();
183
187
  var nativeZ = this.getNativeZValues();
@@ -205,6 +209,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
205
209
  Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(yValues) || (0, NumberArray_1.isTypedArray)(yValues), "yValues must be an array of numbers");
206
210
  Guard_1.Guard.isTrue((0, NumberArray_1.isNumberArray)(zValues) || (0, NumberArray_1.isTypedArray)(zValues), "zValues must be an array of numbers");
207
211
  this.validateIndex(startIndex, "Start index is out of range");
212
+ this.throwIfFifo("insertRange");
208
213
  Guard_1.Guard.arraysSameLengthArr([
209
214
  { arg: xValues, name: "xValues" },
210
215
  { arg: yValues, name: "yValues" },
@@ -231,6 +236,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
231
236
  XyzDataSeries.prototype.removeAt = function (index) {
232
237
  if (!this.getIsDeleted()) {
233
238
  this.validateIndex(index);
239
+ this.throwIfFifo("removeAt");
234
240
  this.getNativeXValues().removeAt(index);
235
241
  this.getNativeYValues().removeAt(index);
236
242
  this.getNativeZValues().removeAt(index);
@@ -247,6 +253,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
247
253
  XyzDataSeries.prototype.removeRange = function (startIndex, count) {
248
254
  if (!this.getIsDeleted()) {
249
255
  this.validateIndex(startIndex, "Start index is out of range");
256
+ this.throwIfFifo("removeRange");
250
257
  this.getNativeXValues().removeRange(startIndex, count);
251
258
  this.getNativeYValues().removeRange(startIndex, count);
252
259
  this.getNativeZValues().removeRange(startIndex, count);
@@ -280,6 +287,12 @@ var XyzDataSeries = /** @class */ (function (_super) {
280
287
  _super.prototype.delete.call(this);
281
288
  };
282
289
  /** @inheritDoc */
290
+ XyzDataSeries.prototype.createAnimationVectors = function () {
291
+ _super.prototype.createAnimationVectors.call(this);
292
+ this.zInitialAnimationValues = this.doubleVectorProvider.getDoubleVector(this.webAssemblyContext);
293
+ this.zFinalAnimationValues = this.doubleVectorProvider.getDoubleVector(this.webAssemblyContext);
294
+ };
295
+ /** @inheritDoc */
283
296
  XyzDataSeries.prototype.setInitialAnimationVectors = function (dataSeries) {
284
297
  _super.prototype.setInitialAnimationVectors.call(this, dataSeries);
285
298
  if (!dataSeries) {
@@ -323,10 +336,19 @@ var XyzDataSeries = /** @class */ (function (_super) {
323
336
  var xValues = [];
324
337
  var yValues = [];
325
338
  var zValues = [];
326
- for (var i = 0; i < this.count(); i++) {
327
- xValues.push(this.xValues.get(i));
328
- yValues.push(this.yValues.get(i));
329
- zValues.push(this.zValues.get(i));
339
+ if (this.fifoCapacity && this.fifoSweeping) {
340
+ for (var i = 0; i < this.count(); i++) {
341
+ xValues.push(this.xValues.getRaw(i));
342
+ yValues.push(this.yValues.getRaw(i));
343
+ zValues.push(this.zValues.getRaw(i));
344
+ }
345
+ }
346
+ else {
347
+ for (var i = 0; i < this.count(); i++) {
348
+ xValues.push(this.xValues.get(i));
349
+ yValues.push(this.yValues.get(i));
350
+ zValues.push(this.zValues.get(i));
351
+ }
330
352
  }
331
353
  var options = {
332
354
  xValues: xValues,
@@ -337,6 +359,10 @@ var XyzDataSeries = /** @class */ (function (_super) {
337
359
  }
338
360
  return json;
339
361
  };
362
+ XyzDataSeries.prototype.reserve = function (size) {
363
+ _super.prototype.reserve.call(this, size);
364
+ this.zValues.reserve(size);
365
+ };
340
366
  XyzDataSeries.prototype.getYZValues = function (dataSeriesValueType) {
341
367
  var yValues;
342
368
  var zValues;
@@ -40,13 +40,11 @@ export declare class CategoryCoordinateCalculator extends CoordinateCalculatorBa
40
40
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
41
41
  * containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
42
42
  * @param viewportDimension The size of the associated {@link AxisCore | Axis} at the time of drawing
43
- * @param visibleMin The minimum data-value visible on the Axis at the time of drawing
44
- * @param visibleMax The maximum data-value visible on the Axis at the time of drawing
45
- * @param indexMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
46
- * @param indexMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
43
+ * @param visibleMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
44
+ * @param visibleMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
47
45
  * @param offset A constant pixel offset used in coordinate calculations
48
46
  */
49
- constructor(webAssemblyContext: TSciChart, viewportDimension: number, visibleMin: number, visibleMax: number, indexMin: number, indexMax: number, offset?: number);
47
+ constructor(webAssemblyContext: TSciChart, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number);
50
48
  /**
51
49
  * Transforms an Index to a Data-value, with extrapolation and interpolation for values found outside of
52
50
  * {@link baseXValues | the Primary Chart series X-Values}
@@ -46,17 +46,15 @@ var CategoryCoordinateCalculator = /** @class */ (function (_super) {
46
46
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
47
47
  * containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
48
48
  * @param viewportDimension The size of the associated {@link AxisCore | Axis} at the time of drawing
49
- * @param visibleMin The minimum data-value visible on the Axis at the time of drawing
50
- * @param visibleMax The maximum data-value visible on the Axis at the time of drawing
51
- * @param indexMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
52
- * @param indexMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
49
+ * @param visibleMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
50
+ * @param visibleMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
53
51
  * @param offset A constant pixel offset used in coordinate calculations
54
52
  */
55
- function CategoryCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, indexMin, indexMax, offset) {
53
+ function CategoryCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset) {
56
54
  if (offset === void 0) { offset = 0; }
57
55
  var _this = _super.call(this, webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, true, true) || this;
58
- _this.indexMin = indexMin;
59
- _this.indexMax = indexMax;
56
+ _this.indexMin = visibleMin;
57
+ _this.indexMax = visibleMax;
60
58
  _this.nativeCalculator = new webAssemblyContext.CategoryCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset, _this.indexMin, _this.indexMax);
61
59
  return _this;
62
60
  }
@@ -1,3 +1,4 @@
1
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../../Core/IDeletable";
2
3
  import { NumberRange } from "../../../Core/NumberRange";
3
4
  import { CoordinateCalculator, TSciChart } from "../../../types/TSciChart";
@@ -22,7 +23,7 @@ import { TSciChart3D } from "../../../types/TSciChart3D";
22
23
  *
23
24
  * Use the Coordinate calculators when drawing, placing markers, annotations or if you want to place a tooltip over the chart.
24
25
  */
25
- export declare abstract class CoordinateCalculatorBase implements IDeletable {
26
+ export declare abstract class CoordinateCalculatorBase extends DeletableEntity implements IDeletable {
26
27
  /**
27
28
  * Gets or sets the Visible minimum value, corresponding to {@link AxisCore.visibleRange}.min at the time of drawing
28
29
  */
@@ -1,6 +1,22 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.CoordinateCalculatorBase = void 0;
19
+ var DeletableEntity_1 = require("../../../Core/DeletableEntity");
4
20
  var NumberRange_1 = require("../../../Core/NumberRange");
5
21
  /**
6
22
  * The CoordinateCalculatorBase class provides methods for converting between Pixel and Data coordinates
@@ -22,7 +38,8 @@ var NumberRange_1 = require("../../../Core/NumberRange");
22
38
  *
23
39
  * Use the Coordinate calculators when drawing, placing markers, annotations or if you want to place a tooltip over the chart.
24
40
  */
25
- var CoordinateCalculatorBase = /** @class */ (function () {
41
+ var CoordinateCalculatorBase = /** @class */ (function (_super) {
42
+ __extends(CoordinateCalculatorBase, _super);
26
43
  /**
27
44
  * Creates an instance of the CoordinateCalculatorBase
28
45
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
@@ -37,13 +54,15 @@ var CoordinateCalculatorBase = /** @class */ (function () {
37
54
  */
38
55
  function CoordinateCalculatorBase(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, hasFlippedCoordinates, isCategoryCoordinateCalculator) {
39
56
  if (isCategoryCoordinateCalculator === void 0) { isCategoryCoordinateCalculator = false; }
40
- this.webAssemblyContext = webAssemblyContext;
41
- this.visibleMax = visibleMax;
42
- this.visibleMin = visibleMin;
43
- this.viewportDimension = viewportDimension;
44
- this.offset = offset;
45
- this.hasFlippedCoordinates = hasFlippedCoordinates;
46
- this.isCategoryCoordinateCalculator = isCategoryCoordinateCalculator;
57
+ var _this = _super.call(this) || this;
58
+ _this.webAssemblyContext = webAssemblyContext;
59
+ _this.visibleMax = visibleMax;
60
+ _this.visibleMin = visibleMin;
61
+ _this.viewportDimension = viewportDimension;
62
+ _this.offset = offset;
63
+ _this.hasFlippedCoordinates = hasFlippedCoordinates;
64
+ _this.isCategoryCoordinateCalculator = isCategoryCoordinateCalculator;
65
+ return _this;
47
66
  }
48
67
  /**
49
68
  * Converts the Data-value to a pixel coordinate
@@ -95,7 +114,8 @@ var CoordinateCalculatorBase = /** @class */ (function () {
95
114
  var _a;
96
115
  (_a = this.nativeCalculator) === null || _a === void 0 ? void 0 : _a.delete();
97
116
  this.nativeCalculator = undefined;
117
+ this.webAssemblyContext = undefined;
98
118
  };
99
119
  return CoordinateCalculatorBase;
100
- }());
120
+ }(DeletableEntity_1.DeletableEntity));
101
121
  exports.CoordinateCalculatorBase = CoordinateCalculatorBase;
@@ -41,13 +41,11 @@ export declare class FlippedCategoryCoordinateCalculator extends CoordinateCalcu
41
41
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
42
42
  * containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
43
43
  * @param viewportDimension The size of the associated {@link AxisCore | Axis} at the time of drawing
44
- * @param visibleMin The minimum data-value visible on the Axis at the time of drawing
45
- * @param visibleMax The maximum data-value visible on the Axis at the time of drawing
46
- * @param indexMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
47
- * @param indexMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
44
+ * @param visibleMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
45
+ * @param visibleMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
48
46
  * @param offset A constant pixel offset used in coordinate calculations
49
47
  */
50
- constructor(webAssemblyContext: TSciChart, viewportDimension: number, visibleMin: number, visibleMax: number, indexMin: number, indexMax: number, offset?: number);
48
+ constructor(webAssemblyContext: TSciChart, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number);
51
49
  /**
52
50
  * Transforms an Index to a Data-value, with extrapolation and interpolation for values found outside of
53
51
  * {@link baseXValues | the Primary Chart series X-Values}
@@ -47,17 +47,15 @@ var FlippedCategoryCoordinateCalculator = /** @class */ (function (_super) {
47
47
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
48
48
  * containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
49
49
  * @param viewportDimension The size of the associated {@link AxisCore | Axis} at the time of drawing
50
- * @param visibleMin The minimum data-value visible on the Axis at the time of drawing
51
- * @param visibleMax The maximum data-value visible on the Axis at the time of drawing
52
- * @param indexMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
53
- * @param indexMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
50
+ * @param visibleMin The {@link CategoryAxis.visibleRange}.min at the time of drawing, corresponding to the minimum data-index visible
51
+ * @param visibleMax The {@link CategoryAxis.visibleRange}.max at the time of drawing, corresponding to the maximum data-index visible
54
52
  * @param offset A constant pixel offset used in coordinate calculations
55
53
  */
56
- function FlippedCategoryCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, indexMin, indexMax, offset) {
54
+ function FlippedCategoryCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset) {
57
55
  if (offset === void 0) { offset = 0; }
58
56
  var _this = _super.call(this, webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, false, true) || this;
59
- _this.indexMin = indexMin;
60
- _this.indexMax = indexMax;
57
+ _this.indexMin = visibleMin;
58
+ _this.indexMax = visibleMax;
61
59
  _this.nativeCalculator = new webAssemblyContext.FlippedCategoryCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset, _this.indexMin, _this.indexMax);
62
60
  return _this;
63
61
  }
@@ -1,12 +1,14 @@
1
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../../Core/IDeletable";
2
- import { IntVector, SCRTDoubleResamplerMergeIndicesParams, SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
3
+ import { IntVector, ResamplingMode, SCRTDoubleResamplerMergeIndicesParams, SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
4
+ import { EResamplingMode } from "./ResamplingMode";
3
5
  import { ResamplingParams } from "./ResamplingParams";
4
6
  /**
5
7
  * Helper class for functions which optimise drawing
6
8
  */
7
- export declare class ExtremeResamplerHelper implements IDeletable {
9
+ export declare class ExtremeResamplerHelper extends DeletableEntity implements IDeletable {
8
10
  readonly nativeMergeIndexParams: SCRTDoubleResamplerMergeIndicesParams;
9
- private readonly wasmContext;
11
+ private wasmContext;
10
12
  private readonly nativeResampler;
11
13
  private readonly xInput;
12
14
  private readonly nativeArgs;
@@ -36,19 +38,21 @@ export declare class ExtremeResamplerHelper implements IDeletable {
36
38
  * you can set it to False if {@link needsResampling()} was called before this method
37
39
  * @returns indicesVector The resampled vector of indices
38
40
  */
39
- resampleIntoPointSeries(wasmContext: TSciChart, rp: ResamplingParams, xOriginalValues: SCRTDoubleVector, yOriginalValues: SCRTDoubleVector, indexesOut: IntVector, xResampledValuesOut: SCRTDoubleVector, yResampledValuesOut: SCRTDoubleVector, fillBasicNativeArgs?: boolean): void;
41
+ resampleIntoPointSeries(wasmContext: TSciChart, rp: ResamplingParams, xOriginalValues: SCRTDoubleVector, yOriginalValues: SCRTDoubleVector, indexesOut: IntVector, indexesResampledOut: SCRTDoubleVector, xResampledValuesOut: SCRTDoubleVector, yResampledValuesOut: SCRTDoubleVector, fillBasicNativeArgs?: boolean): {
42
+ OutputSplitIndex: number;
43
+ };
40
44
  mergeIndexes(indices: IntVector, size1: number, size2: number, mergedIndicesOut: IntVector): number;
41
- copyValuesByIndexes(indices: IntVector, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, y1Values: SCRTDoubleVector, count: number, isCategoryAxis: boolean, xValuesOut: SCRTDoubleVector, yValuesOut: SCRTDoubleVector, y1ValuesOut: SCRTDoubleVector, y1Offset?: number): void;
45
+ copyValuesByIndexes(indices: IntVector, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, y1Values: SCRTDoubleVector, count: number, isCategoryAxis: boolean, isFifoSweeping: boolean, indicesOut: SCRTDoubleVector, xValuesOut: SCRTDoubleVector, yValuesOut: SCRTDoubleVector, y1ValuesOut: SCRTDoubleVector, y1Offset?: number): void;
42
46
  /** @inheritDoc */
43
47
  delete(): void;
48
+ getNativeResamplingMode(resamplingMode: EResamplingMode): ResamplingMode;
49
+ /**
50
+ * Fills basic native args needed for {@link needsResampling()} and {@link resampleIntoPointSeries} methods
51
+ */
52
+ resetAndFillBasicNativeArgs(rp: ResamplingParams, xOriginalValues: SCRTDoubleVector): void;
44
53
  private debugParameters;
45
54
  private debugRect;
46
55
  private debugResamplingDataEnum;
47
56
  private debugResamplingModeEnum;
48
57
  private getDataDistribution;
49
- private getNativeResamplingMode;
50
- /**
51
- * Fills basic native args needed for {@link needsResampling()} and {@link resampleIntoPointSeries} methods
52
- */
53
- private resetAndFillBasicNativeArgs;
54
58
  }
@@ -1,21 +1,40 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.ExtremeResamplerHelper = void 0;
19
+ var DeletableEntity_1 = require("../../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../../Core/Deleter");
5
21
  var Guard_1 = require("../../../Core/Guard");
6
22
  var ResamplingMode_1 = require("./ResamplingMode");
7
23
  /**
8
24
  * Helper class for functions which optimise drawing
9
25
  */
10
- var ExtremeResamplerHelper = /** @class */ (function () {
26
+ var ExtremeResamplerHelper = /** @class */ (function (_super) {
27
+ __extends(ExtremeResamplerHelper, _super);
11
28
  function ExtremeResamplerHelper(wasmContext) {
12
- this.isDeleted = false;
13
- this.nativeMergeIndexParams = new wasmContext.SCRTDoubleResamplerMergeIndicesParams();
14
- this.wasmContext = wasmContext;
15
- this.nativeResampler = new this.wasmContext.SCRTDoubleResampler();
16
- this.xInput = new this.wasmContext.SCRTXvaluesProvider();
17
- this.nativeArgs = new this.wasmContext.ResamplingArgs();
18
- this.output = new this.wasmContext.SCRTDoubleArraysXyResampleOutput();
29
+ var _this = _super.call(this) || this;
30
+ _this.isDeleted = false;
31
+ _this.nativeMergeIndexParams = new wasmContext.SCRTDoubleResamplerMergeIndicesParams();
32
+ _this.wasmContext = wasmContext;
33
+ _this.nativeResampler = new _this.wasmContext.SCRTDoubleResampler();
34
+ _this.xInput = new _this.wasmContext.SCRTXvaluesProvider();
35
+ _this.nativeArgs = new _this.wasmContext.ResamplingArgs();
36
+ _this.output = new _this.wasmContext.SCRTDoubleArraysXyResampleOutput();
37
+ return _this;
19
38
  }
20
39
  /**
21
40
  * Calls native RequiresReduction method to calculate if resampling is needed
@@ -29,8 +48,9 @@ var ExtremeResamplerHelper = /** @class */ (function () {
29
48
  if (updateResamplingMode === void 0) { updateResamplingMode = false; }
30
49
  if (fillBasicNativeArgs)
31
50
  this.resetAndFillBasicNativeArgs(rp, xOriginalValues);
32
- var needsResampling = this.nativeResampler.RequiresReduction(this.nativeArgs);
33
- if (updateResamplingMode && !needsResampling) {
51
+ var requiresReduction = this.nativeResampler.RequiresReduction(this.nativeArgs);
52
+ var needsResampling = rp.dataIsFifo || requiresReduction;
53
+ if ((updateResamplingMode && !needsResampling) || (needsResampling && !requiresReduction)) {
34
54
  this.nativeArgs.Resampling = this.getNativeResamplingMode(ResamplingMode_1.EResamplingMode.None);
35
55
  }
36
56
  return needsResampling;
@@ -50,7 +70,7 @@ var ExtremeResamplerHelper = /** @class */ (function () {
50
70
  * you can set it to False if {@link needsResampling()} was called before this method
51
71
  * @returns indicesVector The resampled vector of indices
52
72
  */
53
- ExtremeResamplerHelper.prototype.resampleIntoPointSeries = function (wasmContext, rp, xOriginalValues, yOriginalValues, indexesOut, xResampledValuesOut, yResampledValuesOut, fillBasicNativeArgs) {
73
+ ExtremeResamplerHelper.prototype.resampleIntoPointSeries = function (wasmContext, rp, xOriginalValues, yOriginalValues, indexesOut, indexesResampledOut, xResampledValuesOut, yResampledValuesOut, fillBasicNativeArgs) {
54
74
  if (fillBasicNativeArgs === void 0) { fillBasicNativeArgs = true; }
55
75
  if (this.isDeleted) {
56
76
  throw new Error("should not call resampleIntoPointSeries() if deleted");
@@ -64,9 +84,6 @@ var ExtremeResamplerHelper = /** @class */ (function () {
64
84
  this.resetAndFillBasicNativeArgs(rp, xOriginalValues);
65
85
  // Set X Values
66
86
  this.xInput.SetInput(xOriginalValues);
67
- this.nativeArgs.FifoCapacity = rp.fifoCapacity;
68
- this.nativeArgs.HasNaN = rp.dataHasNaN;
69
- this.nativeArgs.IsFifo = rp.dataIsFifo;
70
87
  this.nativeArgs.ResamplingPrecision = rp.precision;
71
88
  this.nativeArgs.ZeroLineY = rp.zeroLineY;
72
89
  this.nativeArgs.NewDataPointCount = -1;
@@ -78,29 +95,43 @@ var ExtremeResamplerHelper = /** @class */ (function () {
78
95
  var requestedSize = this.nativeResampler.UpdateIndices(indexesOut, this.xInput, yOriginalValues, this.nativeArgs.Resampling, this.nativeArgs);
79
96
  // SC-5145 Adds +1 to be sure that reserved Capacity is not less than the actual resampled count,
80
97
  // otherwise resampledXValues and resampledYValues will be recreated with default 0.0 values
98
+ if (indexesResampledOut) {
99
+ indexesResampledOut.resizeFast(requestedSize + 1);
100
+ }
81
101
  xResampledValuesOut.resizeFast(requestedSize + 1);
82
102
  yResampledValuesOut.resizeFast(requestedSize + 1);
83
- this.output.Reset(xResampledValuesOut, yResampledValuesOut);
103
+ if (indexesResampledOut) {
104
+ this.output.ResetWithIndices(indexesResampledOut, xResampledValuesOut, yResampledValuesOut);
105
+ }
106
+ else {
107
+ this.output.Reset(xResampledValuesOut, yResampledValuesOut);
108
+ }
84
109
  // Execute resampling and update indexesOut vector
85
110
  this.nativeResampler.Execute(this.xInput, yOriginalValues, this.output, indexesOut, this.nativeArgs.Resampling, this.nativeArgs);
86
111
  var resultCount = indexesOut.size();
112
+ //console.log("indexes from rs",resultCount, indexesOut.get(resultCount - 2), indexesOut.get(resultCount - 1));
113
+ if (indexesResampledOut) {
114
+ indexesResampledOut.resizeFast(resultCount);
115
+ }
87
116
  xResampledValuesOut.resizeFast(resultCount);
88
117
  yResampledValuesOut.resizeFast(resultCount);
118
+ return { OutputSplitIndex: this.output.OutputSplitIndex || this.nativeArgs.OutputSplitIndex };
89
119
  };
90
120
  ExtremeResamplerHelper.prototype.mergeIndexes = function (indices, size1, size2, mergedIndicesOut) {
91
121
  return this.nativeResampler.MergeIndices(indices, size1, size2, mergedIndicesOut);
92
122
  };
93
- ExtremeResamplerHelper.prototype.copyValuesByIndexes = function (indices, xValues, yValues, y1Values, count, isCategoryAxis, xValuesOut, yValuesOut, y1ValuesOut, y1Offset) {
123
+ ExtremeResamplerHelper.prototype.copyValuesByIndexes = function (indices, xValues, yValues, y1Values, count, isCategoryAxis, isFifoSweeping, indicesOut, xValuesOut, yValuesOut, y1ValuesOut, y1Offset) {
94
124
  if (y1Offset === void 0) { y1Offset = 0; }
95
125
  var mp = this.nativeMergeIndexParams;
96
126
  mp.SetIndices(indices);
97
- this.xInput.SetInput(xValues);
98
- mp.SetXInput(this.xInput);
127
+ mp.SetXInput(xValues);
99
128
  mp.SetYInput(yValues);
100
129
  mp.SetY1Input(y1Values);
101
130
  mp.SetY1Offset(y1Offset);
102
131
  mp.count = count;
103
132
  mp.isCategoryData = isCategoryAxis;
133
+ mp.isFifoSweeping = isFifoSweeping;
134
+ mp.SetIndicesOut(indicesOut);
104
135
  mp.SetXOut(xValuesOut);
105
136
  mp.SetYOut(yValuesOut);
106
137
  mp.SetY1Out(y1ValuesOut);
@@ -115,6 +146,61 @@ var ExtremeResamplerHelper = /** @class */ (function () {
115
146
  (0, Deleter_1.deleteSafe)(this.output);
116
147
  (0, Deleter_1.deleteSafe)(this.nativeMergeIndexParams);
117
148
  this.isDeleted = true;
149
+ this.wasmContext = undefined;
150
+ }
151
+ };
152
+ ExtremeResamplerHelper.prototype.getNativeResamplingMode = function (resamplingMode) {
153
+ switch (resamplingMode) {
154
+ case ResamplingMode_1.EResamplingMode.Auto:
155
+ return this.wasmContext.ResamplingMode.Auto;
156
+ case ResamplingMode_1.EResamplingMode.Max:
157
+ return this.wasmContext.ResamplingMode.Max;
158
+ case ResamplingMode_1.EResamplingMode.Mid:
159
+ return this.wasmContext.ResamplingMode.Mid;
160
+ case ResamplingMode_1.EResamplingMode.Min:
161
+ return this.wasmContext.ResamplingMode.Min;
162
+ case ResamplingMode_1.EResamplingMode.MinMax:
163
+ return this.wasmContext.ResamplingMode.MinMax;
164
+ case ResamplingMode_1.EResamplingMode.MinOrMax:
165
+ return this.wasmContext.ResamplingMode.MinOrMax;
166
+ case ResamplingMode_1.EResamplingMode.None:
167
+ return this.wasmContext.ResamplingMode.None;
168
+ default:
169
+ throw new Error("Unknown resamplingMode ".concat(resamplingMode));
170
+ }
171
+ };
172
+ /**
173
+ * Fills basic native args needed for {@link needsResampling()} and {@link resampleIntoPointSeries} methods
174
+ */
175
+ ExtremeResamplerHelper.prototype.resetAndFillBasicNativeArgs = function (rp, xOriginalValues) {
176
+ this.nativeArgs.Reset();
177
+ this.nativeArgs.Data = this.getDataDistribution(rp.dataEvenlySpaced, rp.isCategoryAxis);
178
+ this.nativeArgs.StartIndex = rp.indexesRange.min;
179
+ this.nativeArgs.EndIndex = rp.indexesRange.max;
180
+ this.nativeArgs.MaxXInclusive = rp.xVisibleRange.max;
181
+ this.nativeArgs.MinXInclusive = rp.xVisibleRange.min;
182
+ this.nativeArgs.Resampling = this.getNativeResamplingMode(rp.resamplingMode);
183
+ this.nativeArgs.ViewportWidth = rp.viewportRect.width;
184
+ this.nativeArgs.FifoCapacity = rp.fifoCapacity || 0;
185
+ this.nativeArgs.HasNaN = rp.dataHasNaN;
186
+ this.nativeArgs.IsFifo = rp.dataIsFifo;
187
+ this.nativeArgs.InputBaseIndex = rp.fifoStartIndex || 0;
188
+ if (rp.isCategoryAxis) {
189
+ this.nativeArgs.MinXInclusive = rp.indexesRange.min;
190
+ this.nativeArgs.MaxXInclusive = rp.indexesRange.max;
191
+ }
192
+ else if (rp.fifoCapacity && !rp.dataIsFifo) {
193
+ // Sweeping on numeric axis, which requires x values to be sorted wrt the raw data, eg x % fifoCapactiy
194
+ var firstPoint = xOriginalValues.getRaw(rp.indexesRange.min);
195
+ var lastPoint = xOriginalValues.getRaw(rp.indexesRange.max);
196
+ this.nativeArgs.MinXInclusive = Math.max(firstPoint, rp.xVisibleRange.min);
197
+ this.nativeArgs.MaxXInclusive = Math.min(lastPoint, rp.xVisibleRange.max);
198
+ }
199
+ else {
200
+ var firstPoint = xOriginalValues.get(rp.indexesRange.min);
201
+ var lastPoint = xOriginalValues.get(rp.indexesRange.max);
202
+ this.nativeArgs.MinXInclusive = Math.max(firstPoint, rp.xVisibleRange.min);
203
+ this.nativeArgs.MaxXInclusive = Math.min(lastPoint, rp.xVisibleRange.max);
118
204
  }
119
205
  };
120
206
  ExtremeResamplerHelper.prototype.debugParameters = function (rp, nativeArgs) {
@@ -179,56 +265,6 @@ var ExtremeResamplerHelper = /** @class */ (function () {
179
265
  ? this.wasmContext.ResamplingData.LinearData
180
266
  : this.wasmContext.ResamplingData.UnevenlySpacedData;
181
267
  };
182
- // A different requireReduction method
183
- // private requireReduction(resamplingMode: EResamplingMode, indicesRange: NumberRange, viewportWidth: number) {
184
- // const setLength = indicesRange.max - indicesRange.min + 1;
185
- // const resampledLength = 4 * viewportWidth;
186
- //
187
- // return resamplingMode !== EResamplingMode.None && setLength > resampledLength;
188
- // }
189
- ExtremeResamplerHelper.prototype.getNativeResamplingMode = function (resamplingMode) {
190
- switch (resamplingMode) {
191
- case ResamplingMode_1.EResamplingMode.Auto:
192
- return this.wasmContext.ResamplingMode.Auto;
193
- case ResamplingMode_1.EResamplingMode.Max:
194
- return this.wasmContext.ResamplingMode.Max;
195
- case ResamplingMode_1.EResamplingMode.Mid:
196
- return this.wasmContext.ResamplingMode.Mid;
197
- case ResamplingMode_1.EResamplingMode.Min:
198
- return this.wasmContext.ResamplingMode.Min;
199
- case ResamplingMode_1.EResamplingMode.MinMax:
200
- return this.wasmContext.ResamplingMode.MinMax;
201
- case ResamplingMode_1.EResamplingMode.MinOrMax:
202
- return this.wasmContext.ResamplingMode.MinOrMax;
203
- case ResamplingMode_1.EResamplingMode.None:
204
- return this.wasmContext.ResamplingMode.None;
205
- default:
206
- throw new Error("Unknown resamplingMode ".concat(resamplingMode));
207
- }
208
- };
209
- /**
210
- * Fills basic native args needed for {@link needsResampling()} and {@link resampleIntoPointSeries} methods
211
- */
212
- ExtremeResamplerHelper.prototype.resetAndFillBasicNativeArgs = function (rp, xOriginalValues) {
213
- this.nativeArgs.Reset();
214
- this.nativeArgs.Data = this.getDataDistribution(rp.dataEvenlySpaced, rp.isCategoryAxis);
215
- this.nativeArgs.StartIndex = rp.indexesRange.min;
216
- this.nativeArgs.EndIndex = rp.indexesRange.max;
217
- this.nativeArgs.MaxXInclusive = rp.xVisibleRange.max;
218
- this.nativeArgs.MinXInclusive = rp.xVisibleRange.min;
219
- this.nativeArgs.Resampling = this.getNativeResamplingMode(rp.resamplingMode);
220
- this.nativeArgs.ViewportWidth = rp.viewportRect.width;
221
- if (rp.isCategoryAxis) {
222
- this.nativeArgs.MinXInclusive = rp.indexesRange.min;
223
- this.nativeArgs.MaxXInclusive = rp.indexesRange.max;
224
- }
225
- else {
226
- var firstPoint = xOriginalValues.get(rp.indexesRange.min);
227
- var lastPoint = xOriginalValues.get(rp.indexesRange.max);
228
- this.nativeArgs.MinXInclusive = Math.max(firstPoint, rp.xVisibleRange.min);
229
- this.nativeArgs.MaxXInclusive = Math.min(lastPoint, rp.xVisibleRange.max);
230
- }
231
- };
232
268
  return ExtremeResamplerHelper;
233
- }());
269
+ }(DeletableEntity_1.DeletableEntity));
234
270
  exports.ExtremeResamplerHelper = ExtremeResamplerHelper;
@@ -17,6 +17,7 @@ export interface IResamplingParamsCloneOptions {
17
17
  dataHasNaN?: boolean;
18
18
  dataIsFifo?: boolean;
19
19
  fifoCapacity?: number;
20
+ fifoStartIndex?: number;
20
21
  dataEvenlySpaced?: boolean;
21
22
  }
22
23
  export declare class ResamplingParams {
@@ -31,9 +32,10 @@ export declare class ResamplingParams {
31
32
  renderableSeriesHash: number;
32
33
  enableExperimentalResampling: boolean;
33
34
  dataHasNaN: boolean;
34
- dataIsFifo: boolean;
35
35
  fifoCapacity: number;
36
+ fifoStartIndex: number;
36
37
  dataEvenlySpaced: boolean;
38
+ dataIsFifo: boolean;
37
39
  constructor(seriesViewRect: Rect, rs: IRenderableSeries, xAxis: AxisBase2D);
38
- clone(options: IResamplingParamsCloneOptions): ResamplingParams;
40
+ clone(options?: IResamplingParamsCloneOptions): ResamplingParams;
39
41
  }