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
@@ -0,0 +1,64 @@
1
+ import { TSciChart3D } from "../../../types/TSciChart3D";
2
+ import { BaseRenderableSeries3D, IBaseRenderableSeries3DOptions } from "./BaseRenderableSeries3D";
3
+ import { ESeriesType3D } from "./ESeriesType";
4
+ export interface IPointLineRenderableSeries3DOptions extends IBaseRenderableSeries3DOptions {
5
+ /**
6
+ * The strokethickness of the 3D line series in world units. Set a strokeThickness of 0 to hide the line
7
+ */
8
+ strokeThickness?: number;
9
+ /**
10
+ * When true, creates a polyline, else each pair of points in {@link XyzDataSeries3D} will be connected with a line with a break before the next pair. Default true
11
+ */
12
+ isLineStrip?: boolean;
13
+ /**
14
+ * When true, the line will be anti-aliased. Default true
15
+ */
16
+ isAntiAliased?: boolean;
17
+ }
18
+ /**
19
+ * Defines a 3D poine-line series or 3D line chart type in the SciChart's High Performance Real-time
20
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
21
+ * @remarks
22
+ * To add a 3D line series to a {@link SciChart3DSurface} you need to declare both the {@link PointLineRenderableSeries3D}
23
+ * and a {@link XyzDataSeries3D}. Simplified code sample below:
24
+ *
25
+ * ```ts
26
+ * const sciChart3DSurface: SciChart3DSurface;
27
+ * const wasmContext: TSciChart3D;
28
+ * // Create and fill the dataseries
29
+ * const dataSeries = new XyzDataSeries3D(wasmContext);
30
+ * dataSeries.append(1,2,3);
31
+ * dataSeries.append(3,4,5);
32
+ * // Create the renderableSeries
33
+ * const lineSeries3D = new PointLineRenderableSeries3D(wasmContext);
34
+ * lineSeries3D.dataSeries = dataSeries;
35
+ * lineSeries3D.pointMarker = new SpherePointMarker3D(wasmContext, {
36
+ * size: 3,
37
+ * fill: "#FF0000"
38
+ * });
39
+ * // append to the SciChartSurface
40
+ * sciChart3DSurface.renderableSeries.add(lineSeries3D);
41
+ * ```
42
+ */
43
+ export declare class PointLineRenderableSeries3D extends BaseRenderableSeries3D {
44
+ /**
45
+ * @inheritDoc
46
+ */
47
+ readonly type: ESeriesType3D;
48
+ private strokeThicknessProperty;
49
+ private isLineStripProperty;
50
+ private isAntiAliasedProperty;
51
+ /**
52
+ * Creates an instance of a {@link PointLineRenderableSeries3D}
53
+ * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing
54
+ * native methods and access to our WebGL2 WebAssembly Drawing Engine
55
+ * @param options Optional parameters of type {@link IBaseRenderableSeries3DOptions} to configure the series
56
+ */
57
+ constructor(webAssemblyContext: TSciChart3D, options?: IPointLineRenderableSeries3DOptions);
58
+ get strokeThickness(): number;
59
+ set strokeThickness(value: number);
60
+ get isLineStrip(): boolean;
61
+ set isLineStrip(value: boolean);
62
+ get isAntiAliased(): boolean;
63
+ set isAntiAliased(value: boolean);
64
+ }
@@ -0,0 +1,105 @@
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.PointLineRenderableSeries3D = void 0;
19
+ var PointLine3DSceneEntity_1 = require("../Primitives/PointLine3DSceneEntity");
20
+ var BaseRenderableSeries3D_1 = require("./BaseRenderableSeries3D");
21
+ var Constants_1 = require("./Constants");
22
+ var ESeriesType_1 = require("./ESeriesType");
23
+ /**
24
+ * Defines a 3D poine-line series or 3D line chart type in the SciChart's High Performance Real-time
25
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
26
+ * @remarks
27
+ * To add a 3D line series to a {@link SciChart3DSurface} you need to declare both the {@link PointLineRenderableSeries3D}
28
+ * and a {@link XyzDataSeries3D}. Simplified code sample below:
29
+ *
30
+ * ```ts
31
+ * const sciChart3DSurface: SciChart3DSurface;
32
+ * const wasmContext: TSciChart3D;
33
+ * // Create and fill the dataseries
34
+ * const dataSeries = new XyzDataSeries3D(wasmContext);
35
+ * dataSeries.append(1,2,3);
36
+ * dataSeries.append(3,4,5);
37
+ * // Create the renderableSeries
38
+ * const lineSeries3D = new PointLineRenderableSeries3D(wasmContext);
39
+ * lineSeries3D.dataSeries = dataSeries;
40
+ * lineSeries3D.pointMarker = new SpherePointMarker3D(wasmContext, {
41
+ * size: 3,
42
+ * fill: "#FF0000"
43
+ * });
44
+ * // append to the SciChartSurface
45
+ * sciChart3DSurface.renderableSeries.add(lineSeries3D);
46
+ * ```
47
+ */
48
+ var PointLineRenderableSeries3D = /** @class */ (function (_super) {
49
+ __extends(PointLineRenderableSeries3D, _super);
50
+ /**
51
+ * Creates an instance of a {@link PointLineRenderableSeries3D}
52
+ * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing
53
+ * native methods and access to our WebGL2 WebAssembly Drawing Engine
54
+ * @param options Optional parameters of type {@link IBaseRenderableSeries3DOptions} to configure the series
55
+ */
56
+ function PointLineRenderableSeries3D(webAssemblyContext, options) {
57
+ var _this = this;
58
+ var _a, _b, _c;
59
+ _this = _super.call(this, webAssemblyContext, options) || this;
60
+ /**
61
+ * @inheritDoc
62
+ */
63
+ _this.type = ESeriesType_1.ESeriesType3D.PointLineRenderableSeries3D;
64
+ _this.strokeThicknessProperty = (_a = options === null || options === void 0 ? void 0 : options.strokeThickness) !== null && _a !== void 0 ? _a : 2;
65
+ _this.isLineStripProperty = (_b = options === null || options === void 0 ? void 0 : options.isLineStrip) !== null && _b !== void 0 ? _b : true;
66
+ _this.isAntiAliasedProperty = (_c = options === null || options === void 0 ? void 0 : options.isAntiAliased) !== null && _c !== void 0 ? _c : true;
67
+ _this.setSceneEntity(new PointLine3DSceneEntity_1.PointLine3DSceneEntity(webAssemblyContext, _this));
68
+ return _this;
69
+ }
70
+ Object.defineProperty(PointLineRenderableSeries3D.prototype, "strokeThickness", {
71
+ get: function () {
72
+ return this.strokeThicknessProperty;
73
+ },
74
+ set: function (value) {
75
+ this.strokeThicknessProperty = value;
76
+ this.notifyPropertyChanged(Constants_1.PROPERTY.STROKE_THICKNESS);
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
81
+ Object.defineProperty(PointLineRenderableSeries3D.prototype, "isLineStrip", {
82
+ get: function () {
83
+ return this.isLineStripProperty;
84
+ },
85
+ set: function (value) {
86
+ this.isLineStripProperty = value;
87
+ this.notifyPropertyChanged(Constants_1.PROPERTY.IS_LINE_STRIP);
88
+ },
89
+ enumerable: false,
90
+ configurable: true
91
+ });
92
+ Object.defineProperty(PointLineRenderableSeries3D.prototype, "isAntiAliased", {
93
+ get: function () {
94
+ return this.isAntiAliasedProperty;
95
+ },
96
+ set: function (value) {
97
+ this.isAntiAliasedProperty = value;
98
+ this.notifyPropertyChanged(Constants_1.PROPERTY.IS_ANTIALIASED);
99
+ },
100
+ enumerable: false,
101
+ configurable: true
102
+ });
103
+ return PointLineRenderableSeries3D;
104
+ }(BaseRenderableSeries3D_1.BaseRenderableSeries3D));
105
+ exports.PointLineRenderableSeries3D = PointLineRenderableSeries3D;
@@ -0,0 +1,51 @@
1
+ import { EDataSeriesType3D } from "../../Model/DataSeries/BaseDataSeries3D";
2
+ import { Vector3 } from "../../Vector3";
3
+ import { IRenderableSeries3D } from "./BaseRenderableSeries3D";
4
+ import { HitTestInfo3D } from "./HitTestInfo3D";
5
+ /**
6
+ * SeriesInfo3D is a data-structure which provides enriched information about a hit-test operation in SciChart 3D.
7
+ * It's derived by calling {@link BaseRenderableSeries3D.hitTest}. There is a class hierachy for {@link SeriesInfo3D} which
8
+ * is a different class depending on series type, e.g. 3D Scatter series has {@link XyzSeriesInfo3D},
9
+ * 3D Surface mesh series has {@link SurfaceMeshSeriesInfo3D} etc.
10
+ */
11
+ export declare class SeriesInfo3D {
12
+ /**
13
+ * The default empty {@link HitTestInfo3D} instance
14
+ */
15
+ static empty(): SeriesInfo3D;
16
+ /**
17
+ * When true, the {@link SeriesInfo3D} is empty
18
+ */
19
+ isEmpty: boolean;
20
+ /**
21
+ * When {@link isHit} is true, this is the X-value of the data-point in the {@link XyzDataSeries3D} that was hit
22
+ */
23
+ xValue: number;
24
+ /**
25
+ * When {@link isHit} is true, this is the Y-value of the data-point in the {@link XyzDataSeries3D} that was hit
26
+ */
27
+ yValue: number;
28
+ /**
29
+ * When {@link isHit} is true, this is the Z-value of the data-point in the {@link XyzDataSeries3D} that was hit
30
+ */
31
+ zValue: number;
32
+ /**
33
+ * When {@link isHit} is true, this is the {@link Vector3} 3D World Coordinates of the data-point that was hit
34
+ */
35
+ hitWorldCoords: Vector3;
36
+ /**
37
+ * The name of the associated {@link BaseDataSeries3D | DataSeries}
38
+ */
39
+ dataSeriesName: string;
40
+ dataSeriesType: EDataSeriesType3D;
41
+ /**
42
+ * The associated {@link IRenderableSeries3D | RenderableSeries}
43
+ */
44
+ renderableSeries: IRenderableSeries3D;
45
+ /**
46
+ * When true, the result of the hit-test operation is hit (mouse over data-point)
47
+ */
48
+ isHit: boolean;
49
+ protected hitTestInfo: HitTestInfo3D;
50
+ constructor(series: IRenderableSeries3D, hitTestInfo: HitTestInfo3D);
51
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SeriesInfo3D = void 0;
4
+ /**
5
+ * SeriesInfo3D is a data-structure which provides enriched information about a hit-test operation in SciChart 3D.
6
+ * It's derived by calling {@link BaseRenderableSeries3D.hitTest}. There is a class hierachy for {@link SeriesInfo3D} which
7
+ * is a different class depending on series type, e.g. 3D Scatter series has {@link XyzSeriesInfo3D},
8
+ * 3D Surface mesh series has {@link SurfaceMeshSeriesInfo3D} etc.
9
+ */
10
+ var SeriesInfo3D = /** @class */ (function () {
11
+ function SeriesInfo3D(series, hitTestInfo) {
12
+ var _a;
13
+ /**
14
+ * When true, the {@link SeriesInfo3D} is empty
15
+ */
16
+ this.isEmpty = false;
17
+ this.renderableSeries = series;
18
+ this.dataSeriesName = (_a = series === null || series === void 0 ? void 0 : series.dataSeries) === null || _a === void 0 ? void 0 : _a.dataSeriesName;
19
+ this.isHit = hitTestInfo.isHit;
20
+ this.hitTestInfo = hitTestInfo;
21
+ }
22
+ /**
23
+ * The default empty {@link HitTestInfo3D} instance
24
+ */
25
+ SeriesInfo3D.empty = function () {
26
+ var si = new SeriesInfo3D(undefined, undefined);
27
+ si.isEmpty = true;
28
+ return si;
29
+ };
30
+ return SeriesInfo3D;
31
+ }());
32
+ exports.SeriesInfo3D = SeriesInfo3D;
@@ -0,0 +1,15 @@
1
+ import { IRenderableSeries3D } from "./BaseRenderableSeries3D";
2
+ import { HitTestInfo3D } from "./HitTestInfo3D";
3
+ import { SeriesInfo3D } from "./SeriesInfo3D";
4
+ export declare class SurfaceMeshSeriesInfo3D extends SeriesInfo3D {
5
+ /**
6
+ * When {@link isHit} is true, this is the index to the Z-cell in the {@link UniformGridDataSeries3D} that was hit
7
+ */
8
+ zIndex: number;
9
+ /**
10
+ * When {@link isHit} is true, this is the index to the X-cell in the {@link UniformGridDataSeries3D} that was hit
11
+ */
12
+ xIndex: number;
13
+ constructor(series: IRenderableSeries3D, hitTestInfo: HitTestInfo3D);
14
+ private enrichSeriesInfo;
15
+ }
@@ -0,0 +1,112 @@
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.SurfaceMeshSeriesInfo3D = void 0;
19
+ var pointUtil_1 = require("../../../utils/pointUtil");
20
+ var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
21
+ var Vector3_1 = require("../../Vector3");
22
+ var SeriesInfo3D_1 = require("./SeriesInfo3D");
23
+ var SurfaceMeshSeriesInfo3D = /** @class */ (function (_super) {
24
+ __extends(SurfaceMeshSeriesInfo3D, _super);
25
+ function SurfaceMeshSeriesInfo3D(series, hitTestInfo) {
26
+ var _this = _super.call(this, series, hitTestInfo) || this;
27
+ _this.dataSeriesType = BaseDataSeries3D_1.EDataSeriesType3D.UniformGrid3D;
28
+ _this.enrichSeriesInfo();
29
+ return _this;
30
+ }
31
+ SurfaceMeshSeriesInfo3D.prototype.enrichSeriesInfo = function () {
32
+ // We know the cell that was hit. We need to get the four corners of the cell in
33
+ // data space. Then convert to world space. Then convert to screen space
34
+ // Using this, figure out which corner the pointer was closest to and report that
35
+ // as the hit-test value
36
+ if (!this.isHit || !this.renderableSeries) {
37
+ // console.log(`not a hit apparently`);
38
+ return;
39
+ }
40
+ var ds = this.renderableSeries.dataSeries;
41
+ if (!ds)
42
+ return;
43
+ // Get the x0z0 index of the cell that was hit
44
+ var x0z0 = { x: this.hitTestInfo.selectionIjIndices.x, z: this.hitTestInfo.selectionIjIndices.y };
45
+ // Convert x0z0 and four corners of quad-hit to data-values
46
+ // nomenclature: d (data values at), x0 (x index + 0), z0 (z index + 0)
47
+ var dx0z0 = { x: ds.getX(x0z0.x), y: ds.getYValue(x0z0.z, x0z0.x), z: ds.getZ(x0z0.z) };
48
+ var dx1z0 = { x: ds.getX(x0z0.x + 1), y: ds.getYValue(x0z0.z, x0z0.x + 1), z: ds.getZ(x0z0.z) };
49
+ var dx0z1 = { x: ds.getX(x0z0.x), y: ds.getYValue(x0z0.z + 1, x0z0.x), z: ds.getZ(x0z0.z + 1) };
50
+ var dx1z1 = { x: ds.getX(x0z0.x + 1), y: ds.getYValue(x0z0.z + 1, x0z0.x + 1), z: ds.getZ(x0z0.z + 1) };
51
+ var scs = this.renderableSeries.parentSurface;
52
+ if (!scs || !scs.xAxis || !scs.yAxis || !scs.zAxis)
53
+ return;
54
+ var xCalc = scs.xAxis.getCurrentCoordinateCalculator();
55
+ var yCalc = scs.yAxis.getCurrentCoordinateCalculator();
56
+ var zCalc = scs.zAxis.getCurrentCoordinateCalculator();
57
+ // convert data-values to world coordinates
58
+ // nomenclature: w (world coord at), x0 (x index + 0), y, z0 (z index + 0)
59
+ var wx0z0 = new Vector3_1.Vector3(xCalc.getCoordinate(dx0z0.x), yCalc.getCoordinate(dx0z0.y), zCalc.getCoordinate(dx0z0.z));
60
+ var wx1z0 = new Vector3_1.Vector3(xCalc.getCoordinate(dx1z0.x), yCalc.getCoordinate(dx1z0.y), zCalc.getCoordinate(dx1z0.z));
61
+ var wx0z1 = new Vector3_1.Vector3(xCalc.getCoordinate(dx0z1.x), yCalc.getCoordinate(dx0z1.y), zCalc.getCoordinate(dx0z1.z));
62
+ var wx1z1 = new Vector3_1.Vector3(xCalc.getCoordinate(dx1z1.x), yCalc.getCoordinate(dx1z1.y), zCalc.getCoordinate(dx1z1.z));
63
+ // Transform all to screen space
64
+ // nomenclature: s (screenspace 2d coordinate) for data at x0 (x index + 0), z0 (z index + 0)
65
+ var sx0z0 = scs.worldToScreenCoord(wx0z0);
66
+ var sx1z0 = scs.worldToScreenCoord(wx1z0);
67
+ var sx0z1 = scs.worldToScreenCoord(wx0z1);
68
+ var sx1z1 = scs.worldToScreenCoord(wx1z1);
69
+ // calculate euclidean distance from hit-test point to each corner in screen space
70
+ var x0z0distance = (0, pointUtil_1.calcDistance)(sx0z0.x, sx0z0.y, this.hitTestInfo.hitTestPoint.x, this.hitTestInfo.hitTestPoint.y);
71
+ var x1z0distance = (0, pointUtil_1.calcDistance)(sx1z0.x, sx1z0.y, this.hitTestInfo.hitTestPoint.x, this.hitTestInfo.hitTestPoint.y);
72
+ var x0z1distance = (0, pointUtil_1.calcDistance)(sx0z1.x, sx0z1.y, this.hitTestInfo.hitTestPoint.x, this.hitTestInfo.hitTestPoint.y);
73
+ var x1z1distance = (0, pointUtil_1.calcDistance)(sx1z1.x, sx1z1.y, this.hitTestInfo.hitTestPoint.x, this.hitTestInfo.hitTestPoint.y);
74
+ var xOffset = scs.worldDimensions.x * 0.5;
75
+ var zOffset = scs.worldDimensions.z * 0.5;
76
+ var minDistance = Math.min(x0z0distance, x1z0distance, x0z1distance, x1z1distance);
77
+ if (minDistance === x0z0distance) {
78
+ this.xIndex = x0z0.x;
79
+ this.zIndex = x0z0.z;
80
+ this.xValue = dx0z0.x;
81
+ this.yValue = dx0z0.y;
82
+ this.zValue = dx0z0.z;
83
+ this.hitWorldCoords = new Vector3_1.Vector3(wx0z0.x - xOffset, wx0z0.y, wx0z0.z - zOffset);
84
+ }
85
+ if (minDistance === x0z1distance) {
86
+ this.xIndex = x0z0.x;
87
+ this.zIndex = x0z0.z + 1;
88
+ this.xValue = dx0z1.x;
89
+ this.yValue = dx0z1.y;
90
+ this.zValue = dx0z1.z;
91
+ this.hitWorldCoords = new Vector3_1.Vector3(wx0z1.x - xOffset, wx0z1.y, wx0z1.z - zOffset);
92
+ }
93
+ if (minDistance === x1z0distance) {
94
+ this.xIndex = x0z0.x + 1;
95
+ this.zIndex = x0z0.z;
96
+ this.xValue = dx1z0.x;
97
+ this.yValue = dx1z0.y;
98
+ this.zValue = dx1z0.z;
99
+ this.hitWorldCoords = new Vector3_1.Vector3(wx1z0.x - xOffset, wx1z0.y, wx1z0.z - zOffset);
100
+ }
101
+ if (minDistance === x1z1distance) {
102
+ this.xIndex = x0z0.x + 1;
103
+ this.zIndex = x0z0.z + 1;
104
+ this.xValue = dx1z1.x;
105
+ this.yValue = dx1z1.y;
106
+ this.zValue = dx1z1.z;
107
+ this.hitWorldCoords = new Vector3_1.Vector3(wx1z1.x - xOffset, wx1z1.y, wx1z1.z - zOffset);
108
+ }
109
+ };
110
+ return SurfaceMeshSeriesInfo3D;
111
+ }(SeriesInfo3D_1.SeriesInfo3D));
112
+ exports.SurfaceMeshSeriesInfo3D = SurfaceMeshSeriesInfo3D;
@@ -0,0 +1,20 @@
1
+ import { IPointMetadata3D } from "../../Model/DataSeries/IPointMetadata3D";
2
+ import { IRenderableSeries3D } from "./BaseRenderableSeries3D";
3
+ import { HitTestInfo3D } from "./HitTestInfo3D";
4
+ import { SeriesInfo3D } from "./SeriesInfo3D";
5
+ /**
6
+ * XyzSeriesInfo3D is a data-structure which provides enriched information about a hit-test operation on an XYZ series in SciChart 3D.
7
+ * It's derived by calling {@link BaseRenderableSeries3D.hitTest}.
8
+ */
9
+ export declare class XyzSeriesInfo3D extends SeriesInfo3D {
10
+ /**
11
+ * When {@link isHit} is true, this is the index of the data-point in the {@link XyzDataSeries3D} that was hit
12
+ */
13
+ dataSeriesIndex: number;
14
+ /**
15
+ * When {@link isHit} is true, this metadata on the data-point in the {@link XyzDataSeries3D} that was hit
16
+ */
17
+ pointMetadata: IPointMetadata3D;
18
+ constructor(series: IRenderableSeries3D, hitTestInfo: HitTestInfo3D);
19
+ private enrichSeriesInfo;
20
+ }
@@ -0,0 +1,60 @@
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.XyzSeriesInfo3D = void 0;
19
+ var BaseDataSeries3D_1 = require("../../Model/DataSeries/BaseDataSeries3D");
20
+ var Vector3_1 = require("../../Vector3");
21
+ var SeriesInfo3D_1 = require("./SeriesInfo3D");
22
+ /**
23
+ * XyzSeriesInfo3D is a data-structure which provides enriched information about a hit-test operation on an XYZ series in SciChart 3D.
24
+ * It's derived by calling {@link BaseRenderableSeries3D.hitTest}.
25
+ */
26
+ var XyzSeriesInfo3D = /** @class */ (function (_super) {
27
+ __extends(XyzSeriesInfo3D, _super);
28
+ function XyzSeriesInfo3D(series, hitTestInfo) {
29
+ var _this = _super.call(this, series, hitTestInfo) || this;
30
+ _this.dataSeriesType = BaseDataSeries3D_1.EDataSeriesType3D.Xyz3D;
31
+ _this.enrichSeriesInfo();
32
+ return _this;
33
+ }
34
+ XyzSeriesInfo3D.prototype.enrichSeriesInfo = function () {
35
+ if (!this.isHit || !this.renderableSeries)
36
+ return;
37
+ this.dataSeriesIndex = this.hitTestInfo.selectionIndex - 1;
38
+ var xyzDataSeries = this.renderableSeries.dataSeries;
39
+ if (xyzDataSeries) {
40
+ this.xValue = xyzDataSeries.getNativeXValues().get(this.dataSeriesIndex);
41
+ this.yValue = xyzDataSeries.getNativeYValues().get(this.dataSeriesIndex);
42
+ this.zValue = xyzDataSeries.getNativeZValues().get(this.dataSeriesIndex);
43
+ var metadatas = xyzDataSeries.getMetadataValues();
44
+ if (metadatas && metadatas.length > this.dataSeriesIndex) {
45
+ this.pointMetadata = metadatas[this.dataSeriesIndex];
46
+ }
47
+ var scs = this.renderableSeries.parentSurface;
48
+ if (scs) {
49
+ var xOffset = scs.worldDimensions.x * 0.5;
50
+ var zOffset = scs.worldDimensions.z * 0.5;
51
+ var x = scs.xAxis.getCurrentCoordinateCalculator().getCoordinate(this.xValue) - xOffset;
52
+ var y = scs.yAxis.getCurrentCoordinateCalculator().getCoordinate(this.yValue);
53
+ var z = scs.zAxis.getCurrentCoordinateCalculator().getCoordinate(this.zValue) - zOffset;
54
+ this.hitWorldCoords = new Vector3_1.Vector3(x, y, z);
55
+ }
56
+ }
57
+ };
58
+ return XyzSeriesInfo3D;
59
+ }(SeriesInfo3D_1.SeriesInfo3D));
60
+ exports.XyzSeriesInfo3D = XyzSeriesInfo3D;
@@ -26,10 +26,6 @@ export declare class RootSceneEntity extends BaseSceneEntity3D<SCRTSceneEntity>
26
26
  * access to our WebGL2 Engine and WebAssembly numerical methods
27
27
  */
28
28
  constructor(webAssemblyContext: TSciChart3D, parentSurface: SciChart3DSurface);
29
- /**
30
- * @inheritDoc
31
- */
32
- delete(): void;
33
29
  /**
34
30
  * @inheritDoc
35
31
  */
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.RootSceneEntity = void 0;
19
19
  var SceneEntityType_1 = require("../../types/SceneEntityType");
20
20
  var BaseSceneEntity3D_1 = require("./Primitives/BaseSceneEntity3D");
21
+ var EntityIdProvider_1 = require("./Primitives/EntityIdProvider");
21
22
  var Guard_1 = require("../../Core/Guard");
22
23
  /**
23
24
  * @summary Defines a special {@link BaseSceneEntity3D} type which is the root of the entire scene in
@@ -43,24 +44,18 @@ var RootSceneEntity = /** @class */ (function (_super) {
43
44
  _this.type = SceneEntityType_1.ESceneEntityType.RootSceneEntity;
44
45
  Guard_1.Guard.notNull(parentSurface, "parentSurface");
45
46
  _this.parentSurface = parentSurface;
47
+ _this.entityIdProvider = new EntityIdProvider_1.DefaultEntityIdProvider();
46
48
  return _this;
47
49
  }
48
- /**
49
- * @inheritDoc
50
- */
51
- RootSceneEntity.prototype.delete = function () {
52
- _super.prototype.delete.call(this);
53
- };
54
50
  /**
55
51
  * @inheritDoc
56
52
  */
57
53
  RootSceneEntity.prototype.attachChild = function (childEntity) {
58
- // TODO: entity.EntityIdProvider = this.EntityIdProvider;
59
- // console.log("Adding child entity to the root!");
60
54
  var parentEntity = this;
61
55
  if (childEntity === null || childEntity === void 0 ? void 0 : childEntity.nativeEntity) {
62
56
  this.world.AddEntity(childEntity.nativeEntity);
63
57
  }
58
+ childEntity.entityIdProvider = this.entityIdProvider;
64
59
  childEntity.parent = parentEntity;
65
60
  childEntity.onAttached();
66
61
  };
@@ -25,12 +25,14 @@ export declare class SciChart3DRenderer {
25
25
  static tryPerformAutoRangeOn(axis: AxisBase3D, scs: SciChart3DSurface): void;
26
26
  private readonly scs;
27
27
  private wasmContext;
28
+ private prevRect;
28
29
  private previousTime;
29
30
  constructor(scs: SciChart3DSurface, wasmContext: TSciChart3D);
30
31
  /**
31
32
  * The main render loop
32
33
  */
33
34
  render(): void;
35
+ private updateSvgCanvasSize;
34
36
  private updateWatermark;
35
37
  private isSurfaceValid;
36
38
  private prepareAxes;
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.SciChart3DRenderer = void 0;
13
+ var IAnnotation_1 = require("../../Charting/Visuals/Annotations/IAnnotation");
14
+ var DpiHelper_1 = require("../../Charting/Visuals/TextureManager/DpiHelper");
4
15
  var Deleter_1 = require("../../Core/Deleter");
5
16
  var Guard_1 = require("../../Core/Guard");
17
+ var Rect_1 = require("../../Core/Rect");
6
18
  var AutoRange_1 = require("../../types/AutoRange");
7
19
  var WatermarkPosition_1 = require("../../types/WatermarkPosition");
8
20
  var AxisCubeDescriptor_1 = require("./Primitives/AxisCubeDescriptor");
@@ -83,6 +95,10 @@ var SciChart3DRenderer = /** @class */ (function () {
83
95
  var tsrCamera = sceneWorld.GetMainCamera();
84
96
  var typescriptCamera = this.scs.camera;
85
97
  typescriptCamera.updateEngineCamera(tsrCamera);
98
+ var _a = this.scs.viewportManager, width = _a.width, height = _a.height;
99
+ var viewRect = new Rect_1.Rect(0, 0, width, height);
100
+ this.scs.setSeriesViewRect(viewRect);
101
+ this.updateSvgCanvasSize(viewRect);
86
102
  // Animation Step
87
103
  var timeElapsed = this.previousTime ? Date.now() - this.previousTime : undefined;
88
104
  this.previousTime = Date.now();
@@ -96,6 +112,15 @@ var SciChart3DRenderer = /** @class */ (function () {
96
112
  // Step 5: Prepare the Axis Cube
97
113
  // Viewport3D already checked to be not null in IsSurfaceValid
98
114
  this.scs.rootEntity.visitEntities(function (e) { return e.setRenderPassData(rpd); });
115
+ var userAnnotations = this.scs.annotations.asArray();
116
+ var modifierAnnotations = this.scs.modifierAnnotations.asArray();
117
+ var annotations = __spreadArray(__spreadArray([], userAnnotations, true), modifierAnnotations, true);
118
+ var svgAnnotations = annotations.filter(function (el) {
119
+ return el.type === IAnnotation_1.EAnnotationType.SVG ||
120
+ el.type === IAnnotation_1.EAnnotationType.SVGTextAnnotation ||
121
+ el.type === IAnnotation_1.EAnnotationType.SVGCustomAnnotation;
122
+ });
123
+ svgAnnotations.forEach(function (svg) { return svg.update(undefined, undefined, 0, 0); });
99
124
  // We add the same padding as we have for 2D 6px
100
125
  this.updateWatermark();
101
126
  // Step 6: Notify that scene is about to be drawn
@@ -105,6 +130,30 @@ var SciChart3DRenderer = /** @class */ (function () {
105
130
  setTimeout(this.scs.invalidateElement, 0);
106
131
  }
107
132
  };
133
+ SciChart3DRenderer.prototype.updateSvgCanvasSize = function (seriesViewRect) {
134
+ // Convert seriesViewRect back to device pixels
135
+ // e.g. at Retina display canvas size may be 400x300 but seriesViewRect size would be 800x600
136
+ var viewRectInDevicePixels = new Rect_1.Rect(seriesViewRect.x / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.y / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.width / DpiHelper_1.DpiHelper.PIXEL_RATIO, seriesViewRect.height / DpiHelper_1.DpiHelper.PIXEL_RATIO);
137
+ if (!this.prevRect) {
138
+ this.prevRect = viewRectInDevicePixels;
139
+ }
140
+ else if (Rect_1.Rect.isEqual(this.prevRect, viewRectInDevicePixels)) {
141
+ return;
142
+ }
143
+ var svgRootElement = this.scs.domSvgContainer;
144
+ if (svgRootElement) {
145
+ svgRootElement.style.marginLeft = "".concat(viewRectInDevicePixels.x, "px");
146
+ svgRootElement.style.marginTop = "".concat(viewRectInDevicePixels.y, "px");
147
+ // Set width, height
148
+ svgRootElement.setAttribute("width", viewRectInDevicePixels.width.toString());
149
+ svgRootElement.setAttribute("height", viewRectInDevicePixels.height.toString());
150
+ // Set display width, height
151
+ svgRootElement.style.width = viewRectInDevicePixels.width + "px";
152
+ svgRootElement.style.height = viewRectInDevicePixels.height + "px";
153
+ // Set scaling so annotations, tooltips etc are in right position after DPI Scaling
154
+ svgRootElement.currentScale = 1;
155
+ }
156
+ };
108
157
  SciChart3DRenderer.prototype.updateWatermark = function () {
109
158
  var chartHeight = this.scs.getMainCanvas().clientHeight;
110
159
  var chartWidth = this.scs.getMainCanvas().clientWidth;