scichart 3.1.348 → 3.2.434

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 (358) hide show
  1. package/Builder/buildSurface.d.ts +2 -2
  2. package/Builder/chartBuilder.d.ts +4 -4
  3. package/Charting/ChartModifiers/ChartModifierBase.d.ts +19 -5
  4. package/Charting/ChartModifiers/ChartModifierBase.js +64 -7
  5. package/Charting/ChartModifiers/CursorModifier.d.ts +9 -9
  6. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  7. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -0
  8. package/Charting/ChartModifiers/DataPointSelectionModifier.js +6 -1
  9. package/Charting/ChartModifiers/LegendModifier.d.ts +10 -25
  10. package/Charting/ChartModifiers/LegendModifier.js +10 -20
  11. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +20 -11
  12. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +5 -5
  13. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  14. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  15. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  16. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +4 -7
  17. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +6 -8
  18. package/Charting/ChartModifiers/SeriesSelectionModifier.js +39 -29
  19. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  20. package/Charting/ChartModifiers/XAxisDragModifier.js +3 -3
  21. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +2 -4
  22. package/Charting/ChartModifiers/YAxisDragModifier.js +7 -8
  23. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  24. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  25. package/Charting/Drawing/BaseCache.d.ts +2 -1
  26. package/Charting/Drawing/BaseCache.js +45 -7
  27. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  28. package/Charting/Drawing/RenderSurface.js +5 -1
  29. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  30. package/Charting/Drawing/SolidBrushCache.js +23 -3
  31. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  32. package/Charting/Drawing/WebGlBrush.js +22 -3
  33. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  34. package/Charting/Drawing/WebGlPen.js +23 -4
  35. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  36. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  37. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  38. package/Charting/Model/BaseDataSeries.js +193 -42
  39. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  40. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  41. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  42. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  43. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  44. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  45. package/Charting/Model/DoubleVectorProvider.js +95 -0
  46. package/Charting/Model/Filters/HlcFilterBase.d.ts +6 -2
  47. package/Charting/Model/Filters/HlcFilterBase.js +17 -1
  48. package/Charting/Model/Filters/IFilterBase.d.ts +24 -0
  49. package/Charting/Model/Filters/IFilterBase.js +2 -0
  50. package/Charting/Model/Filters/OhlcFilterBase.d.ts +6 -2
  51. package/Charting/Model/Filters/OhlcFilterBase.js +17 -1
  52. package/Charting/Model/Filters/XyFilterBase.d.ts +6 -5
  53. package/Charting/Model/Filters/XyFilterBase.js +17 -1
  54. package/Charting/Model/Filters/XyyFilterBase.d.ts +6 -2
  55. package/Charting/Model/Filters/XyyFilterBase.js +17 -1
  56. package/Charting/Model/Filters/XyzFilterBase.d.ts +6 -2
  57. package/Charting/Model/Filters/XyzFilterBase.js +17 -1
  58. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  59. package/Charting/Model/HlcDataSeries.js +44 -15
  60. package/Charting/Model/IDataSeries.d.ts +23 -0
  61. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  62. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  63. package/Charting/Model/OhlcDataSeries.js +56 -24
  64. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  65. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  66. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  67. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  68. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  69. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  70. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  71. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  72. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  73. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  74. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  75. package/Charting/Model/XyDataSeries.d.ts +0 -8
  76. package/Charting/Model/XyDataSeries.js +21 -5
  77. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  78. package/Charting/Model/XyTextDataSeries.js +35 -4
  79. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  80. package/Charting/Model/XyyDataSeries.js +50 -26
  81. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  82. package/Charting/Model/XyzDataSeries.js +36 -10
  83. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  84. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  85. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  86. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  87. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  88. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  89. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  90. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  91. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  92. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  93. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  94. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  95. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  96. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  97. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  98. package/Charting/Services/SciChartRenderer.js +15 -5
  99. package/Charting/Services/TitleRenderer.d.ts +2 -1
  100. package/Charting/Services/TitleRenderer.js +35 -14
  101. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  102. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  103. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  104. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +4 -0
  105. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  106. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  107. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  108. package/Charting/Visuals/Annotations/NativeTextAnnotation.js +4 -0
  109. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  110. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  111. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  112. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  113. package/Charting/Visuals/Annotations/constants.js +1 -0
  114. package/Charting/Visuals/Axis/AxisBase2D.d.ts +23 -8
  115. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  116. package/Charting/Visuals/Axis/AxisCore.d.ts +6 -3
  117. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  118. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  119. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  120. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  121. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  122. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  123. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  124. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  125. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  126. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  127. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  128. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  129. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  130. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  131. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  132. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  133. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  134. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  135. package/Charting/Visuals/HeatmapLegend.js +33 -12
  136. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  137. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  138. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  139. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  140. package/Charting/Visuals/Legend/ManualLegend.d.ts +56 -0
  141. package/Charting/Visuals/Legend/ManualLegend.js +138 -0
  142. package/Charting/Visuals/Legend/SciChartLegend.js +4 -3
  143. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +65 -4
  144. package/Charting/Visuals/Legend/SciChartLegendBase.js +111 -23
  145. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  146. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  147. package/Charting/Visuals/PointMarkers/BasePointMarker.js +77 -19
  148. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  149. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  150. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  151. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  152. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  153. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  154. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  156. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  157. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +3 -2
  158. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  159. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +18 -4
  160. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  161. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  162. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  163. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  164. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  165. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  166. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  167. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  168. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  169. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  170. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +5 -4
  171. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +70 -33
  172. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  173. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  174. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  175. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  176. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  177. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  178. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  179. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  180. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  181. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  182. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  183. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  184. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  185. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  186. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  187. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  188. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  189. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  190. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  191. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  192. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  193. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  194. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  195. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.d.ts +6 -1
  196. package/Charting/Visuals/RenderableSeries/HoveredChangedArgs.js +2 -1
  197. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +1 -1
  198. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.d.ts +6 -1
  199. package/Charting/Visuals/RenderableSeries/SelectionChangedArgs.js +2 -1
  200. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  201. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  202. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +50 -1
  203. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +13 -1
  204. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +13 -1
  205. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  206. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  207. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  208. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  209. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  210. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  211. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  212. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +7 -1
  213. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +38 -12
  214. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  215. package/Charting/Visuals/SciChartDefaults.js +10 -0
  216. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  217. package/Charting/Visuals/SciChartOverview.js +28 -8
  218. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +16 -3
  219. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +125 -60
  220. package/Charting/Visuals/SciChartSurface.d.ts +4 -41
  221. package/Charting/Visuals/SciChartSurface.js +52 -66
  222. package/Charting/Visuals/SciChartSurfaceBase.d.ts +117 -13
  223. package/Charting/Visuals/SciChartSurfaceBase.js +177 -32
  224. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  225. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  226. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  227. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  228. package/Charting/Visuals/createMaster.d.ts +7 -2
  229. package/Charting/Visuals/createMaster.js +140 -45
  230. package/Charting/Visuals/createSingle.d.ts +0 -2
  231. package/Charting/Visuals/createSingle.js +46 -11
  232. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  233. package/Charting/Visuals/licenseManager2D.js +105 -53
  234. package/Charting/Visuals/loader.js +3 -1
  235. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  236. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  237. package/Charting3D/CameraController.d.ts +1 -1
  238. package/Charting3D/CameraController.js +21 -7
  239. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  240. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  241. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  242. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  243. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  244. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  245. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +1 -1
  246. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +1 -2
  247. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +122 -0
  248. package/Charting3D/ChartModifiers/TooltipModifier3D.js +427 -0
  249. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  250. package/Charting3D/I3DSurfaceOptions.js +2 -0
  251. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  252. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  253. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.d.ts +1 -1
  254. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +2 -2
  255. package/Charting3D/Model/DataSeries/IPointMetadata3D.d.ts +7 -2
  256. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  257. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  258. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  259. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  260. package/Charting3D/Vector3.d.ts +5 -0
  261. package/Charting3D/Vector3.js +7 -0
  262. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  263. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  264. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +29 -3
  265. package/Charting3D/Visuals/Axis/AxisBase3D.js +46 -18
  266. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  267. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  268. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  269. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  270. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  271. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +3 -2
  272. package/Charting3D/Visuals/Axis/NumericAxis3D.js +7 -3
  273. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  274. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  275. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  276. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  277. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  278. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  279. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  280. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +190 -0
  281. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  282. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  283. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  284. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +23 -2
  285. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  286. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +17 -1
  287. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +21 -1
  288. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +78 -12
  289. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  290. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  291. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  292. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  293. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  294. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  295. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  296. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  297. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  298. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  299. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  300. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  301. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  302. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  303. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  304. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  305. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  306. package/Charting3D/Visuals/SciChart3DRenderer.js +26 -0
  307. package/Charting3D/Visuals/SciChart3DSurface.d.ts +55 -7
  308. package/Charting3D/Visuals/SciChart3DSurface.js +136 -13
  309. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  310. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  311. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  312. package/Charting3D/Visuals/createMaster3d.js +81 -14
  313. package/Charting3D/Visuals/createSingle3d.js +34 -4
  314. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  315. package/Core/BuildStamp.d.ts +1 -1
  316. package/Core/BuildStamp.js +2 -2
  317. package/Core/DeletableEntity.d.ts +34 -0
  318. package/Core/DeletableEntity.js +138 -0
  319. package/Core/Globals.d.ts +11 -0
  320. package/Core/Globals.js +13 -0
  321. package/Core/Guard.d.ts +6 -0
  322. package/Core/Guard.js +10 -0
  323. package/Core/Mouse/MouseManager.d.ts +23 -0
  324. package/Core/Mouse/MouseManager.js +53 -0
  325. package/Core/Telemetry.js +4 -6
  326. package/_wasm/scichart.browser.js +1 -1
  327. package/_wasm/scichart2d.data +0 -0
  328. package/_wasm/scichart2d.js +4 -294
  329. package/_wasm/scichart2d.wasm +0 -0
  330. package/_wasm/scichart3d.data +0 -0
  331. package/_wasm/scichart3d.js +4 -294
  332. package/_wasm/scichart3d.wasm +0 -0
  333. package/index.d.ts +42 -2
  334. package/index.dev.js +68876 -0
  335. package/index.js +81 -27
  336. package/index.min.js +1 -1
  337. package/package.json +3 -4
  338. package/types/ChartModifierType.d.ts +2 -0
  339. package/types/ChartModifierType.js +2 -0
  340. package/types/DefaultRenderLayer.d.ts +9 -8
  341. package/types/DefaultRenderLayer.js +9 -8
  342. package/types/NumberArray.d.ts +1 -0
  343. package/types/NumberArray.js +12 -1
  344. package/types/SceneEntityType.d.ts +13 -5
  345. package/types/SceneEntityType.js +13 -5
  346. package/types/TSciChart.d.ts +37 -8
  347. package/types/TSciChart3D.d.ts +126 -7
  348. package/types/licensingClasses.d.ts +2 -1
  349. package/types/licensingClasses.js +1 -0
  350. package/utils/MemoryUsageHelper.d.ts +92 -0
  351. package/utils/MemoryUsageHelper.js +221 -0
  352. package/utils/array.d.ts +8 -0
  353. package/utils/array.js +58 -1
  354. package/utils/colorUtil.d.ts +7 -0
  355. package/utils/colorUtil.js +13 -1
  356. package/utils/logger.d.ts +2 -0
  357. package/utils/logger.js +11 -0
  358. package/utils/parseColor.js +19 -4
@@ -0,0 +1,190 @@
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
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PointLine3DSceneEntity = void 0;
19
+ var Deleter_1 = require("../../../Core/Deleter");
20
+ var SceneEntityType_1 = require("../../../types/SceneEntityType");
21
+ var parseColor_1 = require("../../../utils/parseColor");
22
+ var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
23
+ var Constants_1 = require("../RenderableSeries/Constants");
24
+ var BasePointMarker3D_1 = require("../PointMarkers/BasePointMarker3D");
25
+ var RenderableSeriesSceneEntity_1 = require("./RenderableSeriesSceneEntity");
26
+ var RenderableSeriesSceneEntityState_1 = require("./RenderableSeriesSceneEntityState");
27
+ /**
28
+ * @summary {@link BaseSceneEntity3D} type for drawing 3D Scatter or Bubble series in SciChart's High Performance
29
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
30
+ * @remarks See related type {@link ScatterRenderableSeries3D} which should be added to {@link SciChart3DSurface.renderableSeries}
31
+ * along with data from an {@link XyzDataSeries3D} to create a 3D Scatter or Bubble chart
32
+ */
33
+ var PointLine3DSceneEntity = /** @class */ (function (_super) {
34
+ __extends(PointLine3DSceneEntity, _super);
35
+ /**
36
+ * Creates an instance of {@link ScatterPointsSceneEntity}
37
+ * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing native methods and
38
+ * access to our WebGL2 Engine and WebAssembly numerical methods
39
+ * @param parentSeries The parent {@link BaseRenderableSeries3D} which this entity maps to
40
+ */
41
+ function PointLine3DSceneEntity(webAssemblyContext, parentSeries) {
42
+ var _this = _super.call(this, webAssemblyContext, parentSeries, new RenderableSeriesSceneEntityState_1.RenderableSeriesSceneEntityState()) || this;
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ _this.type = SceneEntityType_1.ESceneEntityType.PointLine3DSceneEntity;
47
+ _this.setNativeEntity(webAssemblyContext.SCRTPointLine3DSceneEntity.implement(_this));
48
+ return _this;
49
+ }
50
+ /**
51
+ * @inheritDoc
52
+ */
53
+ PointLine3DSceneEntity.prototype.delete = function () {
54
+ this.pointColors = (0, Deleter_1.deleteSafe)(this.pointColors);
55
+ this.pointScales = (0, Deleter_1.deleteSafe)(this.pointScales);
56
+ _super.prototype.delete.call(this);
57
+ };
58
+ /**
59
+ * @inheritDoc
60
+ */
61
+ PointLine3DSceneEntity.prototype.Render = function () {
62
+ this.nativeEntity.SetOpacity(this.parentSeries.opacity);
63
+ _super.prototype.Render.call(this);
64
+ };
65
+ /**
66
+ * @inheritDoc
67
+ * @param propertyName
68
+ */
69
+ PointLine3DSceneEntity.prototype.notifySeriesPropertyChanged = function (propertyName) {
70
+ // Pass flags down to child entities
71
+ if (propertyName === Constants_1.PROPERTY.STROKE_THICKNESS) {
72
+ this.nativeEntity.SetLineStrokeThickness(this.parentSeries.strokeThickness);
73
+ }
74
+ if (propertyName === Constants_1.PROPERTY.STROKE) {
75
+ this.nativeEntity.SetStrokeColor((0, parseColor_1.parseColorToUIntArgb)(this.parentSeries.stroke));
76
+ }
77
+ if (propertyName === Constants_1.PROPERTY.POINT_MARKER3D) {
78
+ this.updateSeries();
79
+ }
80
+ _super.prototype.notifySeriesPropertyChanged.call(this, propertyName);
81
+ };
82
+ /**
83
+ * @inheritDoc
84
+ */
85
+ PointLine3DSceneEntity.prototype.hitTest = function (screenPoint) {
86
+ return _super.prototype.hitTestXyz.call(this, screenPoint);
87
+ };
88
+ /**
89
+ * @inheritDoc
90
+ */
91
+ PointLine3DSceneEntity.prototype.updateSeries = function () {
92
+ var dataSeries = this.parentSeries.dataSeries;
93
+ if (!dataSeries) {
94
+ return;
95
+ }
96
+ if (dataSeries.type !== BaseDataSeries3D_1.EDataSeriesType3D.Xyz3D) {
97
+ throw new Error("DataSeries type for a PointLineRenderableSeries3D must be XyzDataSeries3D");
98
+ }
99
+ var strokeArgb = (0, parseColor_1.parseColorToUIntArgb)(this.parentSeries.stroke);
100
+ this.nativeEntity.SetLineStrokeThickness(this.parentSeries.strokeThickness);
101
+ this.nativeEntity.SetIsLineStrips(this.parentSeries.isLineStrip);
102
+ this.nativeEntity.SetIsLineAntialiased(this.parentSeries.isAntiAliased);
103
+ this.nativeEntity.SetStrokeColor(strokeArgb);
104
+ this.updatePointMarker(this.parentSeries.pointMarker);
105
+ var xValues = dataSeries.getNativeXValues();
106
+ var yValues = dataSeries.getNativeYValues();
107
+ var zValues = dataSeries.getNativeZValues();
108
+ var meta = dataSeries.getMetadataValues();
109
+ var count = dataSeries.count();
110
+ var _a = this.rebuildPointMetadata(meta, count, strokeArgb), lineColors = _a.lineColors, pointColors = _a.pointColors, scales = _a.scales, hasDefaultColors = _a.hasDefaultColors, hasDefaultScales = _a.hasDefaultScales;
111
+ var args;
112
+ try {
113
+ args = new this.webAssemblyContext.SCRTPointLines3DSceneEntityParams();
114
+ args.useDefaultColors = hasDefaultColors;
115
+ args.useDefaultScale = hasDefaultScales;
116
+ args.SetCoordinateCalculators(this.currentRenderPassData.xCalc.nativeCalculator, this.currentRenderPassData.yCalc.nativeCalculator, this.currentRenderPassData.zCalc.nativeCalculator);
117
+ this.nativeEntity.UpdateMeshesVec(xValues, yValues, zValues, pointColors, lineColors, scales, args);
118
+ }
119
+ finally {
120
+ (0, Deleter_1.deleteSafe)(args);
121
+ }
122
+ };
123
+ PointLine3DSceneEntity.prototype.updatePointMarker = function (pointMarker) {
124
+ var eSCRTPointMarkerType = this.webAssemblyContext.eSCRT_POINT_MARKER_TYPE;
125
+ if (pointMarker === undefined || pointMarker.markerType === BasePointMarker3D_1.EMarkerType.Pixel) {
126
+ this.nativeEntity.SetPointMarkerType(eSCRTPointMarkerType.SCRT_POINT_MARKER_TYPE_PIXEL);
127
+ this.nativeEntity.SetPointSize(0);
128
+ }
129
+ else if (pointMarker.markerType === BasePointMarker3D_1.EMarkerType.InstancedMesh) {
130
+ var meshMarker = pointMarker;
131
+ if (!meshMarker.pointsMesh) {
132
+ throw new Error("Expected a BaseMeshPointMarker3D.pointsMesh on 3D pointmarker of type InstancedMesh");
133
+ }
134
+ this.nativeEntity.SetPointMarkerType(eSCRTPointMarkerType.SCRT_POINT_MARKER_TYPE_INSTANCED_MESH);
135
+ this.nativeEntity.SetPointSize(pointMarker.size);
136
+ this.nativeEntity.SetPointMarkerMesh(meshMarker.pointsMesh);
137
+ }
138
+ else if (pointMarker.markerType === BasePointMarker3D_1.EMarkerType.TexturedQuad) {
139
+ var textureMarker = pointMarker;
140
+ if (!textureMarker.pointsTexture) {
141
+ throw new Error("Expected a BaseTexturePointMarker3D.pointsTexture on 3D pointmarker of type TexturedQuad");
142
+ }
143
+ this.nativeEntity.SetPointMarkerType(eSCRTPointMarkerType.SCRT_POINT_MARKER_TYPE_TEXTURED_QUAD);
144
+ this.nativeEntity.SetPointSize(pointMarker.size);
145
+ this.nativeEntity.SetPointMarkerTexture(textureMarker.pointsTexture);
146
+ }
147
+ else {
148
+ throw new Error("PointLine3DSceneEntity: Unknown pointMarker.markerType " + pointMarker.markerType);
149
+ }
150
+ };
151
+ PointLine3DSceneEntity.prototype.rebuildPointMetadata = function (metadata, count, defaultColor) {
152
+ var _this = this;
153
+ if (!this.pointColors) {
154
+ this.pointColors = new this.webAssemblyContext.UIntVector();
155
+ }
156
+ if (!this.pointScales) {
157
+ this.pointScales = new this.webAssemblyContext.FloatVector();
158
+ }
159
+ // Default color, size
160
+ this.pointColors.resize(count, defaultColor);
161
+ this.pointScales.resize(count, 1.0);
162
+ var hasDefaultScales = true;
163
+ var hasDefaultColors = true;
164
+ // metadata will always be non-null but individual metadata items may be undefined
165
+ // as its implemented as a non-sparse array
166
+ metadata.forEach(function (meta, index) {
167
+ var _a;
168
+ if (meta) {
169
+ var vertexColor = (_a = meta.vertexColorAbgr) !== null && _a !== void 0 ? _a : meta.vertexColor;
170
+ if (vertexColor) {
171
+ hasDefaultColors = false;
172
+ _this.pointColors.set(index, vertexColor);
173
+ }
174
+ if (meta.pointScale) {
175
+ hasDefaultScales = false;
176
+ _this.pointScales.set(index, meta.pointScale);
177
+ }
178
+ }
179
+ });
180
+ return {
181
+ lineColors: this.pointColors,
182
+ pointColors: this.pointColors,
183
+ scales: this.pointScales,
184
+ hasDefaultScales: hasDefaultScales,
185
+ hasDefaultColors: hasDefaultColors
186
+ };
187
+ };
188
+ return PointLine3DSceneEntity;
189
+ }(RenderableSeriesSceneEntity_1.RenderableSeriesSceneEntity));
190
+ exports.PointLine3DSceneEntity = PointLine3DSceneEntity;
@@ -1,5 +1,7 @@
1
+ import { Point } from "../../../Core/Point";
1
2
  import { SCRTSceneEntity, TSciChart3D } from "../../../types/TSciChart3D";
2
3
  import { BaseRenderableSeries3D } from "../RenderableSeries/BaseRenderableSeries3D";
4
+ import { HitTestInfo3D } from "../RenderableSeries/HitTestInfo3D";
3
5
  import { BaseSceneEntity3D, IBaseSceneEntity } from "./BaseSceneEntity3D";
4
6
  import { RenderableSeriesSceneEntityState } from "./RenderableSeriesSceneEntityState";
5
7
  /**
@@ -12,6 +14,13 @@ export interface IRenderableSeriesSceneEntity extends IBaseSceneEntity {
12
14
  * @param propertyName the property name
13
15
  */
14
16
  notifySeriesPropertyChanged(propertyName: string): void;
17
+ /**
18
+ * Performs a HitTest operation on the entity, returning the {@link HitTestInfo3D} containing the result.
19
+ * This contains information about the hit-test operation such as the index of the data-point under the mouse, and
20
+ * may be used for tooltips, selection or inspection of the 3d scene through mouse-clicks
21
+ * @param screenPoint The screen point (X,Y pixel coordinate in 2D space)
22
+ */
23
+ hitTest(screenPoint: Point): HitTestInfo3D;
15
24
  }
16
25
  /**
17
26
  * @summary Defines a special {@link BaseSceneEntity3D} type which hosts the entity for a {@link BaseRenderableSeries3D | RenderableSeries},
@@ -44,9 +53,12 @@ export declare abstract class RenderableSeriesSceneEntity<TRenderableSeries exte
44
53
  * @param propertyName
45
54
  */
46
55
  notifySeriesPropertyChanged(propertyName: string): void;
56
+ /** @inheritDoc */
57
+ abstract hitTest(screenPoint: Point): HitTestInfo3D;
47
58
  /**
48
59
  * When overriden in derived classes, this method is called when the series entity must be updated before drawing.
49
60
  * @protected
50
61
  */
51
62
  protected abstract updateSeries(): void;
63
+ protected hitTestXyz(screenPoint: Point): HitTestInfo3D;
52
64
  }
@@ -16,6 +16,7 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.RenderableSeriesSceneEntity = void 0;
19
+ var HitTestInfo3D_1 = require("../RenderableSeries/HitTestInfo3D");
19
20
  var BaseSceneEntity3D_1 = require("./BaseSceneEntity3D");
20
21
  /**
21
22
  * @summary Defines a special {@link BaseSceneEntity3D} type which hosts the entity for a {@link BaseRenderableSeries3D | RenderableSeries},
@@ -35,6 +36,7 @@ var RenderableSeriesSceneEntity = /** @class */ (function (_super) {
35
36
  _this.parentSeries = parentSeries;
36
37
  _this.state = state;
37
38
  _this.state.setInitialState();
39
+ _this.hitTest = _this.hitTest.bind(_this);
38
40
  return _this;
39
41
  }
40
42
  /**
@@ -69,6 +71,18 @@ var RenderableSeriesSceneEntity = /** @class */ (function (_super) {
69
71
  // Set Renderable Series Property Changed
70
72
  this.state.setRenderableSeriesPropertyChanged();
71
73
  };
74
+ RenderableSeriesSceneEntity.prototype.hitTestXyz = function (screenPoint) {
75
+ var _a;
76
+ var x = Math.round(screenPoint.x);
77
+ var y = Math.round(screenPoint.y);
78
+ var selectionInfo = this.webAssemblyContext.SCRTGetSelectionInfo(x, y);
79
+ var result = new HitTestInfo3D_1.HitTestInfo3D(this.parentSeries, false);
80
+ result.isHit =
81
+ selectionInfo.m_uiSelectionIndex > 0 && ((_a = selectionInfo.GetEntity()) === null || _a === void 0 ? void 0 : _a.GetEntityId()) === this.entityId;
82
+ result.selectionIndex = result.isHit ? selectionInfo.m_uiSelectionIndex : -1;
83
+ result.hitTestPoint = screenPoint;
84
+ return result;
85
+ };
72
86
  return RenderableSeriesSceneEntity;
73
87
  }(BaseSceneEntity3D_1.BaseSceneEntity3D));
74
88
  exports.RenderableSeriesSceneEntity = RenderableSeriesSceneEntity;
@@ -1,5 +1,7 @@
1
+ import { Point } from "../../../Core/Point";
1
2
  import { ESceneEntityType } from "../../../types/SceneEntityType";
2
3
  import { SCRTPoint3DSceneEntity, TSciChart3D } from "../../../types/TSciChart3D";
4
+ import { HitTestInfo3D } from "../RenderableSeries/HitTestInfo3D";
3
5
  import { ScatterRenderableSeries3D } from "../RenderableSeries/ScatterRenderableSeries3D";
4
6
  import { RenderableSeriesSceneEntity } from "./RenderableSeriesSceneEntity";
5
7
  import { RenderableSeriesSceneEntityState } from "./RenderableSeriesSceneEntityState";
@@ -31,6 +33,15 @@ export declare class ScatterPointsSceneEntity extends RenderableSeriesSceneEntit
31
33
  * @inheritDoc
32
34
  */
33
35
  Render(): void;
36
+ /**
37
+ * @inheritDoc
38
+ * @param propertyName
39
+ */
40
+ notifySeriesPropertyChanged(propertyName: string): void;
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ hitTest(screenPoint: Point): HitTestInfo3D;
34
45
  /**
35
46
  * @inheritDoc
36
47
  */
@@ -21,6 +21,7 @@ var SceneEntityType_1 = require("../../../types/SceneEntityType");
21
21
  var parseColor_1 = require("../../../utils/parseColor");
22
22
  var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
23
23
  var BasePointMarker3D_1 = require("../PointMarkers/BasePointMarker3D");
24
+ var Constants_1 = require("../RenderableSeries/Constants");
24
25
  var RenderableSeriesSceneEntity_1 = require("./RenderableSeriesSceneEntity");
25
26
  var RenderableSeriesSceneEntityState_1 = require("./RenderableSeriesSceneEntityState");
26
27
  /**
@@ -61,6 +62,23 @@ var ScatterPointsSceneEntity = /** @class */ (function (_super) {
61
62
  this.nativeEntity.SetOpacity(this.parentSeries.opacity);
62
63
  _super.prototype.Render.call(this);
63
64
  };
65
+ /**
66
+ * @inheritDoc
67
+ * @param propertyName
68
+ */
69
+ ScatterPointsSceneEntity.prototype.notifySeriesPropertyChanged = function (propertyName) {
70
+ // Pass flags down to child entities
71
+ if (propertyName === Constants_1.PROPERTY.POINT_MARKER3D) {
72
+ this.updateSeries();
73
+ }
74
+ _super.prototype.notifySeriesPropertyChanged.call(this, propertyName);
75
+ };
76
+ /**
77
+ * @inheritDoc
78
+ */
79
+ ScatterPointsSceneEntity.prototype.hitTest = function (screenPoint) {
80
+ return _super.prototype.hitTestXyz.call(this, screenPoint);
81
+ };
64
82
  /**
65
83
  * @inheritDoc
66
84
  */
@@ -139,9 +157,12 @@ var ScatterPointsSceneEntity = /** @class */ (function (_super) {
139
157
  // metadata will always be non-null but individual metadata items may be undefined
140
158
  // as its implemented as a non-sparse array
141
159
  metadata.forEach(function (meta, index) {
160
+ var _a;
142
161
  if (meta) {
143
- if (meta.vertexColorAbgr) {
144
- _this.pointColors.set(index, meta.vertexColorAbgr);
162
+ // [SCJS-1566] Renamed vertexColorAbgr to vertexColor. Preserved backward compatibility
163
+ var vertexColor = (_a = meta.vertexColorAbgr) !== null && _a !== void 0 ? _a : meta.vertexColor;
164
+ if (vertexColor) {
165
+ _this.pointColors.set(index, vertexColor);
145
166
  }
146
167
  if (meta.pointScale) {
147
168
  _this.pointScales.set(index, meta.pointScale);
@@ -1,6 +1,8 @@
1
+ import { Point } from "../../../Core/Point";
1
2
  import { ESceneEntityType } from "../../../types/SceneEntityType";
2
3
  import { SCRTGridMeshEntity, TSciChart3D } from "../../../types/TSciChart3D";
3
4
  import { IRenderableSeries3D } from "../RenderableSeries/BaseRenderableSeries3D";
5
+ import { HitTestInfo3D } from "../RenderableSeries/HitTestInfo3D";
4
6
  import { SurfaceMeshRenderableSeries3D } from "../RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D";
5
7
  import { RenderableSeriesSceneEntity } from "./RenderableSeriesSceneEntity";
6
8
  import { RenderableSeriesSceneEntityState } from "./RenderableSeriesSceneEntityState";
@@ -54,6 +56,7 @@ export declare class SurfaceMeshSceneEntity extends RenderableSeriesSceneEntity<
54
56
  * @inheritDoc
55
57
  */
56
58
  delete(): void;
59
+ hitTest(screenPoint: Point): HitTestInfo3D;
57
60
  /**
58
61
  * @inheritDoc
59
62
  */
@@ -19,11 +19,13 @@ exports.SurfaceMeshSceneEntity = exports.SurfaceMeshSceneEntityState = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var Guard_1 = require("../../../Core/Guard");
21
21
  var NumberRange_1 = require("../../../Core/NumberRange");
22
+ var Point_1 = require("../../../Core/Point");
22
23
  var SceneEntityType_1 = require("../../../types/SceneEntityType");
23
24
  var parseColor_1 = require("../../../utils/parseColor");
24
25
  var tsrExtensions_1 = require("../../../utils/tsrExtensions");
25
26
  var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
26
27
  var Constants_1 = require("../RenderableSeries/Constants");
28
+ var HitTestInfo3D_1 = require("../RenderableSeries/HitTestInfo3D");
27
29
  var SurfaceMeshRenderableSeries3D_1 = require("../RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D");
28
30
  var RenderableSeriesSceneEntity_1 = require("./RenderableSeriesSceneEntity");
29
31
  var RenderableSeriesSceneEntityState_1 = require("./RenderableSeriesSceneEntityState");
@@ -147,6 +149,19 @@ var SurfaceMeshSceneEntity = /** @class */ (function (_super) {
147
149
  _super.prototype.delete.call(this);
148
150
  this.colorMapTexture = (0, Deleter_1.deleteSafe)(this.colorMapTexture);
149
151
  };
152
+ SurfaceMeshSceneEntity.prototype.hitTest = function (screenPoint) {
153
+ var _a;
154
+ var x = Math.round(screenPoint.x);
155
+ var y = Math.round(screenPoint.y);
156
+ var selectionInfo = this.webAssemblyContext.SCRTGetSelectionInfo(x, y);
157
+ var result = new HitTestInfo3D_1.HitTestInfo3D(this.parentSeries, false);
158
+ result.isHit = ((_a = selectionInfo.GetEntity()) === null || _a === void 0 ? void 0 : _a.GetEntityId()) === this.entityId;
159
+ result.selectionIjIndices = result.isHit
160
+ ? new Point_1.Point(selectionInfo.m_uiHeightMapIndexI, selectionInfo.m_uiHeightMapIndexJ)
161
+ : undefined;
162
+ result.hitTestPoint = screenPoint;
163
+ return result;
164
+ };
150
165
  /**
151
166
  * @inheritDoc
152
167
  */
@@ -285,7 +300,8 @@ var SurfaceMeshSceneEntity = /** @class */ (function (_super) {
285
300
  var gridWidth = gridDataSeries.xSize;
286
301
  var gridHeight = gridDataSeries.zSize;
287
302
  Guard_1.Guard.notNull(this.currentRenderPassData, "SurfaceMeshSceneEntity.currentRenderPassData");
288
- if (this.state.setColorMapTextureInvalid) {
303
+ // SCJS-1562 2 DAYS to find the source of the crash! Don't recreate every frame.
304
+ if (this.state.isColorMapTextureInvalid) {
289
305
  this.colorMapTexture = (0, Deleter_1.deleteSafe)(this.colorMapTexture);
290
306
  this.colorMapTexture = (_a = this.parentSeries.meshColorPalette) === null || _a === void 0 ? void 0 : _a.getTexture(this.parentSeries.colorMapTextureSize);
291
307
  }
@@ -1,7 +1,9 @@
1
1
  import { IThemeable } from "../../../Charting/Themes/IThemeable";
2
2
  import { IThemeProvider } from "../../../Charting/Themes/IThemeProvider";
3
3
  import { INotifyOnDpiChanged, TDpiChangedEventArgs } from "../../../Charting/Visuals/TextureManager/DpiHelper";
4
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
4
5
  import { IDeletable } from "../../../Core/IDeletable";
6
+ import { Point } from "../../../Core/Point";
5
7
  import { TSciChart3D } from "../../../types/TSciChart3D";
6
8
  import { BaseDataSeries3D } from "../../Model/DataSeries/BaseDataSeries3D";
7
9
  import { IPaletteProvider3D } from "../../Model/DataSeries/IPaletteProvider3D";
@@ -10,6 +12,8 @@ import { IBaseSceneEntity } from "../Primitives/BaseSceneEntity3D";
10
12
  import { IRenderableSeriesSceneEntity } from "../Primitives/RenderableSeriesSceneEntity";
11
13
  import { SciChart3DSurface } from "../SciChart3DSurface";
12
14
  import { ESeriesType3D } from "./ESeriesType";
15
+ import { HitTestInfo3D } from "./HitTestInfo3D";
16
+ import { SeriesInfo3D } from "./SeriesInfo3D";
13
17
  /**
14
18
  * @summary Defines the interface to a 3D Renderable Series (or 3D Chart Type) in SciChart's High Performance Real-time
15
19
  * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
@@ -81,6 +85,14 @@ export interface IRenderableSeries3D extends IDeletable, IThemeable, INotifyOnDp
81
85
  * Called when the {@link IRenderableSeries3D} is detached from a {@link SciChart3DSurface}
82
86
  */
83
87
  onDetach(): void;
88
+ /**
89
+ * Performs a HitTest operation on the series, returning the {@link SeriesInfo3D} containing the enriched Hit-Test result.
90
+ * This contains information about the hit-test operation such as the values of the data under the mouse and
91
+ * location of the data under the mouse in 3D world coordinates. This may be used for tooltips,
92
+ * selection or inspection of the 3d scene through mouse-clicks
93
+ * @param screenPoint The screen point (X,Y pixel coordinate in 2D space)
94
+ */
95
+ hitTest(screenPoint: Point): SeriesInfo3D;
84
96
  }
85
97
  /**
86
98
  * Options to pass to the {@link BaseRenderableSeries3D} constructor
@@ -127,7 +139,7 @@ export interface IBaseRenderableSeries3DOptions {
127
139
  * See derived types of {@link BaseDataSeries3D} to find out what data-series are available.
128
140
  * See derived types of {@link IRenderableSeries3D} to find out what 3D JavaScript Chart types are available.
129
141
  */
130
- export declare abstract class BaseRenderableSeries3D implements IRenderableSeries3D {
142
+ export declare abstract class BaseRenderableSeries3D extends DeletableEntity implements IRenderableSeries3D {
131
143
  /** @inheritDoc */
132
144
  readonly id: string;
133
145
  /** @inheritDoc */
@@ -201,6 +213,14 @@ export declare abstract class BaseRenderableSeries3D implements IRenderableSerie
201
213
  delete(): void;
202
214
  /** @inheritDoc */
203
215
  onDpiChanged(args: TDpiChangedEventArgs): void;
216
+ /** @inheritDoc */
217
+ hitTest(screenPoint: Point): SeriesInfo3D;
218
+ /**
219
+ * Is being called when the data for the underlying DataSeries changes
220
+ * @protected
221
+ */
222
+ protected dataSeriesDataChanged(): void;
223
+ protected enrichHitTest(hitTestInfo: HitTestInfo3D): SeriesInfo3D;
204
224
  /**
205
225
  * Used internally - sets the {@link IRenderableSeriesSceneEntity | 3D Scene Entity}
206
226
  * @param sceneEntity
@@ -1,9 +1,29 @@
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.BaseRenderableSeries3D = void 0;
19
+ var DeletableEntity_1 = require("../../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../../Core/Deleter");
5
21
  var guid_1 = require("../../../utils/guid");
22
+ var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
6
23
  var Constants_1 = require("./Constants");
24
+ var SeriesInfo3D_1 = require("./SeriesInfo3D");
25
+ var SurfaceMeshSeriesInfo3D_1 = require("./SurfaceMeshSeriesInfo3D");
26
+ var XyzSeriesInfo3D_1 = require("./XyzSeriesInfo3D");
7
27
  /**
8
28
  * @summary Defines the base class to a 3D Render Series (or 3D Chart Type) in SciChart's High Performance Real-time
9
29
  * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
@@ -14,7 +34,8 @@ var Constants_1 = require("./Constants");
14
34
  * See derived types of {@link BaseDataSeries3D} to find out what data-series are available.
15
35
  * See derived types of {@link IRenderableSeries3D} to find out what 3D JavaScript Chart types are available.
16
36
  */
17
- var BaseRenderableSeries3D = /** @class */ (function () {
37
+ var BaseRenderableSeries3D = /** @class */ (function (_super) {
38
+ __extends(BaseRenderableSeries3D, _super);
18
39
  /**
19
40
  * Creates an instance of the {@link BaseRenderableSeries3D}
20
41
  * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing
@@ -23,17 +44,23 @@ var BaseRenderableSeries3D = /** @class */ (function () {
23
44
  * @protected
24
45
  */
25
46
  function BaseRenderableSeries3D(webAssemblyContext, options) {
47
+ var _this = this;
26
48
  var _a, _b;
27
- this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
28
- this.webAssemblyContext = webAssemblyContext;
29
- this.dataSeriesProperty = (options === null || options === void 0 ? void 0 : options.dataSeries) || undefined;
30
- this.isVisibleProperty = (options === null || options === void 0 ? void 0 : options.isVisible) !== undefined ? options === null || options === void 0 ? void 0 : options.isVisible : true;
31
- this.pointMarkerProperty = (options === null || options === void 0 ? void 0 : options.pointMarker) || undefined;
32
- this.strokeProperty = (options === null || options === void 0 ? void 0 : options.stroke) || "#FFFFFF";
33
- this.shininessProperty = (options === null || options === void 0 ? void 0 : options.shininess) === undefined ? 64 : options.shininess;
34
- this.opacityProperty = (_b = options === null || options === void 0 ? void 0 : options.opacity) !== null && _b !== void 0 ? _b : 1;
35
- this.pointMarkerPropertyChanged = this.pointMarkerPropertyChanged.bind(this);
36
- this.onDpiChanged = this.onDpiChanged.bind(this);
49
+ _this = _super.call(this) || this;
50
+ _this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
51
+ _this.webAssemblyContext = webAssemblyContext;
52
+ _this.dataSeriesDataChanged = _this.dataSeriesDataChanged.bind(_this);
53
+ _this.pointMarkerPropertyChanged = _this.pointMarkerPropertyChanged.bind(_this);
54
+ _this.onDpiChanged = _this.onDpiChanged.bind(_this);
55
+ _this.hitTest = _this.hitTest.bind(_this);
56
+ _this.enrichHitTest = _this.enrichHitTest.bind(_this);
57
+ _this.dataSeries = (options === null || options === void 0 ? void 0 : options.dataSeries) || undefined;
58
+ _this.isVisibleProperty = (options === null || options === void 0 ? void 0 : options.isVisible) !== undefined ? options === null || options === void 0 ? void 0 : options.isVisible : true;
59
+ _this.pointMarkerProperty = (options === null || options === void 0 ? void 0 : options.pointMarker) || undefined;
60
+ _this.strokeProperty = (options === null || options === void 0 ? void 0 : options.stroke) || "#FFFFFF";
61
+ _this.shininessProperty = (options === null || options === void 0 ? void 0 : options.shininess) === undefined ? 64 : options.shininess;
62
+ _this.opacityProperty = (_b = options === null || options === void 0 ? void 0 : options.opacity) !== null && _b !== void 0 ? _b : 1;
63
+ return _this;
37
64
  }
38
65
  /** @inheritDoc */
39
66
  BaseRenderableSeries3D.prototype.applyTheme = function (themeProvider) {
@@ -106,7 +133,11 @@ var BaseRenderableSeries3D = /** @class */ (function () {
106
133
  },
107
134
  /** @inheritDoc */
108
135
  set: function (dataSeries) {
136
+ var _a, _b;
137
+ this.dataSeriesProperty = dataSeries;
138
+ (_a = this.dataSeriesProperty) === null || _a === void 0 ? void 0 : _a.dataChanged.unsubscribe(this.dataSeriesDataChanged);
109
139
  this.dataSeriesProperty = dataSeries;
140
+ (_b = this.dataSeriesProperty) === null || _b === void 0 ? void 0 : _b.dataChanged.subscribe(this.dataSeriesDataChanged);
110
141
  this.notifyPropertyChanged(Constants_1.PROPERTY.DATA_SERIES);
111
142
  },
112
143
  enumerable: false,
@@ -179,6 +210,41 @@ var BaseRenderableSeries3D = /** @class */ (function () {
179
210
  var _a;
180
211
  (_a = this.sceneEntityProperty) === null || _a === void 0 ? void 0 : _a.onDpiChanged(args);
181
212
  };
213
+ /** @inheritDoc */
214
+ BaseRenderableSeries3D.prototype.hitTest = function (screenPoint) {
215
+ if (this.parentSurface && !this.parentSurface.isHitTestEnabled) {
216
+ throw new Error("Enable hit-test functions by setting SciChart3DSurface.isHitTestEnabled = true");
217
+ }
218
+ var hitTestFunc = this.sceneEntity.hitTest;
219
+ if (hitTestFunc) {
220
+ return this.enrichHitTest(hitTestFunc(screenPoint));
221
+ }
222
+ return SeriesInfo3D_1.SeriesInfo3D.empty();
223
+ };
224
+ /**
225
+ * Is being called when the data for the underlying DataSeries changes
226
+ * @protected
227
+ */
228
+ BaseRenderableSeries3D.prototype.dataSeriesDataChanged = function () {
229
+ if (this.invalidateParentCallback) {
230
+ this.invalidateParentCallback();
231
+ }
232
+ };
233
+ BaseRenderableSeries3D.prototype.enrichHitTest = function (hitTestInfo) {
234
+ var _a;
235
+ var hitDataSeries = (_a = hitTestInfo.associatedSeries) === null || _a === void 0 ? void 0 : _a.dataSeries;
236
+ if (!hitDataSeries) {
237
+ return SeriesInfo3D_1.SeriesInfo3D.empty();
238
+ }
239
+ switch (hitDataSeries.type) {
240
+ case BaseDataSeries3D_1.EDataSeriesType3D.Xyz3D:
241
+ return new XyzSeriesInfo3D_1.XyzSeriesInfo3D(this, hitTestInfo);
242
+ case BaseDataSeries3D_1.EDataSeriesType3D.UniformGrid3D:
243
+ return new SurfaceMeshSeriesInfo3D_1.SurfaceMeshSeriesInfo3D(this, hitTestInfo);
244
+ default:
245
+ throw new Error("Unknown data series type " + hitDataSeries.type);
246
+ }
247
+ };
182
248
  /**
183
249
  * Used internally - sets the {@link IRenderableSeriesSceneEntity | 3D Scene Entity}
184
250
  * @param sceneEntity
@@ -217,5 +283,5 @@ var BaseRenderableSeries3D = /** @class */ (function () {
217
283
  this.notifyPropertyChanged("pointMarker." + args.propertyName);
218
284
  };
219
285
  return BaseRenderableSeries3D;
220
- }());
286
+ }(DeletableEntity_1.DeletableEntity));
221
287
  exports.BaseRenderableSeries3D = BaseRenderableSeries3D;
@@ -12,6 +12,8 @@ export declare enum PROPERTY {
12
12
  GRADIENT_STOPS = "GRADIENT_STOPS",
13
13
  HEIGHT_SCALE_FACTOR = "HEIGHT_SCALE_FACTOR",
14
14
  HIGHLIGHT = "HIGHLIGHT",
15
+ IS_ANTIALIASED = "IS_ANTIALIASED",
16
+ IS_LINE_STRIP = "IS_LINE_STRIP",
15
17
  IS_VISIBLE = "IS_VISIBLE",
16
18
  LIGHTING_FACTOR = "LIGHTING_FACTOR",
17
19
  MAXIMUM = "MAXIMUM",
@@ -16,6 +16,8 @@ var PROPERTY;
16
16
  PROPERTY["GRADIENT_STOPS"] = "GRADIENT_STOPS";
17
17
  PROPERTY["HEIGHT_SCALE_FACTOR"] = "HEIGHT_SCALE_FACTOR";
18
18
  PROPERTY["HIGHLIGHT"] = "HIGHLIGHT";
19
+ PROPERTY["IS_ANTIALIASED"] = "IS_ANTIALIASED";
20
+ PROPERTY["IS_LINE_STRIP"] = "IS_LINE_STRIP";
19
21
  PROPERTY["IS_VISIBLE"] = "IS_VISIBLE";
20
22
  PROPERTY["LIGHTING_FACTOR"] = "LIGHTING_FACTOR";
21
23
  PROPERTY["MAXIMUM"] = "MAXIMUM";
@@ -3,5 +3,6 @@
3
3
  */
4
4
  export declare enum ESeriesType3D {
5
5
  ScatterRenderableSeries3D = "ScatterRenderableSeries3D",
6
- SurfaceMeshRenderableSeries3D = "SurfaceMeshRenderableSeries3D"
6
+ SurfaceMeshRenderableSeries3D = "SurfaceMeshRenderableSeries3D",
7
+ PointLineRenderableSeries3D = "PointLineRenderableSeries3D"
7
8
  }
@@ -8,4 +8,5 @@ var ESeriesType3D;
8
8
  (function (ESeriesType3D) {
9
9
  ESeriesType3D["ScatterRenderableSeries3D"] = "ScatterRenderableSeries3D";
10
10
  ESeriesType3D["SurfaceMeshRenderableSeries3D"] = "SurfaceMeshRenderableSeries3D";
11
+ ESeriesType3D["PointLineRenderableSeries3D"] = "PointLineRenderableSeries3D";
11
12
  })(ESeriesType3D = exports.ESeriesType3D || (exports.ESeriesType3D = {}));