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
@@ -1,23 +1,17 @@
1
1
  import { INotifyOnDpiChanged, TDpiChangedEventArgs } from "../../../Charting/Visuals/TextureManager/DpiHelper";
2
+ import { DeletableEntity } from "../../../Core/DeletableEntity";
2
3
  import { IDeletable } from "../../../Core/IDeletable";
3
4
  import { ObservableArray } from "../../../Core/ObservableArray";
4
5
  import { ESceneEntityType } from "../../../types/SceneEntityType";
5
6
  import { SCRTSceneEntity, TSciChart3D } from "../../../types/TSciChart3D";
6
7
  import { RootSceneEntity } from "../RootSceneEntity";
8
+ import { IEntityIdProvider } from "./EntityIdProvider";
7
9
  import { RenderPassInfo3D } from "./RenderPassInfo3D";
8
10
  /**
9
11
  * @summary Defines the interface to a {@link BaseSceneEntity3D}, which provides a base class for entities, or 3D objects in the 3D scene within
10
12
  * SciChart's High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
11
13
  */
12
14
  export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
13
- /**
14
- * A unique Id for the {@link IBaseSceneEntity}
15
- */
16
- readonly id: string;
17
- /**
18
- * Gets the type of Scene Entity. See {@link ESceneEntityType} for a list of values
19
- */
20
- readonly type: ESceneEntityType;
21
15
  /**
22
16
  * @summary Gets the collection of {@link IBaseSceneEntity} - child entities or 3D Objects which belong to this entity.
23
17
  * @description A {@link SciChart3DSurface} has a {@link SciChart3DSurface.rootEntity} property. You can add {@link BaseSceneEntity3D}
@@ -29,36 +23,43 @@ export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
29
23
  */
30
24
  readonly children: ObservableArray<IBaseSceneEntity>;
31
25
  /**
32
- * A unique integer ID for the entity. This will be auto-generated and used to identify the entity later when tooltips are used
26
+ * A unique Id for the {@link IBaseSceneEntity}
33
27
  */
34
- entityId: number;
28
+ readonly id: string;
35
29
  /**
36
30
  * When true, the entity and it's children are visible in the 3D Scene
37
31
  */
38
32
  isVisible: boolean;
33
+ /**
34
+ * Gets the native {@link SCRTSceneEntity} - a WebAssembly 3D Scene Entity type which is
35
+ * passed to our WebGL WebAssembly 3D Engine
36
+ */
37
+ nativeEntity: SCRTSceneEntity;
39
38
  /**
40
39
  * Gets the parent {@link IBaseSceneEntity}
41
40
  */
42
41
  parent: IBaseSceneEntity;
43
42
  /**
44
- * Gets the native {@link SCRTSceneEntity} - a WebAssembly 3D Scene Entity type which is
45
- * passed to our WebGL WebAssembly 3D Engine
43
+ * Gets the type of Scene Entity. See {@link ESceneEntityType} for a list of values
46
44
  */
47
- nativeEntity: SCRTSceneEntity;
45
+ readonly type: ESceneEntityType;
48
46
  /**
49
- * Gets the root entity in the 3D Scene
47
+ * Gets or sets the {@link IEntityIdProvider} which generates unique mesh Ids for {@link IBaseSceneEntity
50
48
  */
51
- getRoot(): RootSceneEntity;
49
+ entityIdProvider: IEntityIdProvider;
52
50
  /**
53
- * Visitor function to perform on this entity and all it's children
54
- * @param operation The function to perform
51
+ * Gets or sets a unique Id for the {@link IBaseSceneEntity}. The SciChart3D engine requires Ids fit into UInt32 (4 billion)
55
52
  */
56
- visitEntities(operation: (e: IBaseSceneEntity) => void): void;
53
+ entityId: number;
57
54
  /**
58
- * Sets the {@link RenderPassInfo3D} - render pass info, properties and data for the current rendering pass
59
- * @param rpd
55
+ * Gets the first child {@link IBaseSceneEntity} of type specified by {@link ESceneEntityType}
56
+ * @param type
60
57
  */
61
- setRenderPassData(rpd: RenderPassInfo3D): void;
58
+ getEntity(type: ESceneEntityType): IBaseSceneEntity;
59
+ /**
60
+ * Gets the root entity in the 3D Scene
61
+ */
62
+ getRoot(): RootSceneEntity;
62
63
  /**
63
64
  * Called when the {@link IBaseSceneEntity} is attached to the parent scene
64
65
  */
@@ -72,10 +73,15 @@ export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
72
73
  */
73
74
  onEngineRestart(): void;
74
75
  /**
75
- * Gets the first child {@link IBaseSceneEntity} of type specified by {@link ESceneEntityType}
76
- * @param type
76
+ * Sets the {@link RenderPassInfo3D} - render pass info, properties and data for the current rendering pass
77
+ * @param rpd
77
78
  */
78
- getEntity(type: ESceneEntityType): IBaseSceneEntity;
79
+ setRenderPassData(rpd: RenderPassInfo3D): void;
80
+ /**
81
+ * Visitor function to perform on this entity and all it's children
82
+ * @param operation The function to perform
83
+ */
84
+ visitEntities(operation: (e: IBaseSceneEntity) => void): void;
79
85
  }
80
86
  /**
81
87
  * The {@link BaseSceneEntity3D} provides a base class for entities, or 3D objects in the 3D scene within
@@ -84,7 +90,7 @@ export interface IBaseSceneEntity extends IDeletable, INotifyOnDpiChanged {
84
90
  * the {@link nativeEntity} property. This is passed to SciChart's 3D engine and inserted into the scene when added
85
91
  * to the {@link SciChart3DSurface.rootEntity} collection.
86
92
  */
87
- export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneEntity> implements IBaseSceneEntity {
93
+ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneEntity> extends DeletableEntity implements IBaseSceneEntity {
88
94
  /** @inheritDoc */
89
95
  readonly id: string;
90
96
  /** @inheritDoc */
@@ -105,13 +111,14 @@ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneE
105
111
  * The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing native methods and
106
112
  * access to our WebGL2 Engine and WebAssembly numerical methods
107
113
  */
108
- protected readonly webAssemblyContext: TSciChart3D;
114
+ protected webAssemblyContext: TSciChart3D;
109
115
  /**
110
116
  * The {@link RenderPassInfo3D} containing data about the current rendering pass
111
117
  * @protected
112
118
  */
113
119
  protected currentRenderPassData: RenderPassInfo3D;
114
120
  private nativeEntityProperty;
121
+ private entityIdProviderProperty;
115
122
  private entityIdProperty;
116
123
  /**
117
124
  * Creates an instance of the {@link BaseSceneEntity3D}
@@ -121,6 +128,14 @@ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneE
121
128
  */
122
129
  protected constructor(webAssemblyContext: TSciChart3D);
123
130
  /** @inheritDoc */
131
+ get entityIdProvider(): IEntityIdProvider;
132
+ /** @inheritDoc */
133
+ set entityIdProvider(value: IEntityIdProvider);
134
+ /** @inheritDoc */
135
+ get entityId(): number;
136
+ /** @inheritDoc */
137
+ set entityId(value: number);
138
+ /** @inheritDoc */
124
139
  getRoot(): RootSceneEntity;
125
140
  /** @inheritDoc */
126
141
  delete(): void;
@@ -142,10 +157,6 @@ export declare abstract class BaseSceneEntity3D<TNativeEntity extends SCRTSceneE
142
157
  /** @inheritDoc */
143
158
  onDpiChanged(args: TDpiChangedEventArgs): void;
144
159
  /** @inheritDoc */
145
- get entityId(): number;
146
- /** @inheritDoc */
147
- set entityId(value: number);
148
- /** @inheritDoc */
149
160
  setRenderPassData(rpd: RenderPassInfo3D): void;
150
161
  /** @inheritDoc */
151
162
  getEntity(type: ESceneEntityType): IBaseSceneEntity;
@@ -1,7 +1,24 @@
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.BaseSceneEntity3D = void 0;
19
+ var DeletableEntity_1 = require("../../../Core/DeletableEntity");
4
20
  var Deleter_1 = require("../../../Core/Deleter");
21
+ var Guard_1 = require("../../../Core/Guard");
5
22
  var ObservableArray_1 = require("../../../Core/ObservableArray");
6
23
  var SceneEntityType_1 = require("../../../types/SceneEntityType");
7
24
  var guid_1 = require("../../../utils/guid");
@@ -12,7 +29,8 @@ var guid_1 = require("../../../utils/guid");
12
29
  * the {@link nativeEntity} property. This is passed to SciChart's 3D engine and inserted into the scene when added
13
30
  * to the {@link SciChart3DSurface.rootEntity} collection.
14
31
  */
15
- var BaseSceneEntity3D = /** @class */ (function () {
32
+ var BaseSceneEntity3D = /** @class */ (function (_super) {
33
+ __extends(BaseSceneEntity3D, _super);
16
34
  /**
17
35
  * Creates an instance of the {@link BaseSceneEntity3D}
18
36
  * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing native methods and
@@ -20,25 +38,65 @@ var BaseSceneEntity3D = /** @class */ (function () {
20
38
  * @protected
21
39
  */
22
40
  function BaseSceneEntity3D(webAssemblyContext) {
23
- var _this = this;
41
+ var _this = _super.call(this) || this;
24
42
  /** @inheritDoc */
25
- this.id = (0, guid_1.generateGuid)();
43
+ _this.id = (0, guid_1.generateGuid)();
26
44
  /**
27
45
  * When true, the entity and all its children are visible
28
46
  */
29
- this.isVisible = true;
30
- this.webAssemblyContext = webAssemblyContext;
31
- this.entityId = 11111;
32
- this.detachChild = this.detachChild.bind(this);
33
- this.attachChild = this.attachChild.bind(this);
34
- this.children = new ObservableArray_1.ObservableArray();
35
- this.children.collectionChanged.subscribe(function (args) {
47
+ _this.isVisible = true;
48
+ _this.entityIdProperty = undefined;
49
+ Guard_1.Guard.notNull(webAssemblyContext, "webAssemblyContext");
50
+ _this.webAssemblyContext = webAssemblyContext;
51
+ _this.detachChild = _this.detachChild.bind(_this);
52
+ _this.attachChild = _this.attachChild.bind(_this);
53
+ _this.children = new ObservableArray_1.ObservableArray();
54
+ _this.children.collectionChanged.subscribe(function (args) {
36
55
  var _a, _b;
37
56
  (_a = args.getOldItems()) === null || _a === void 0 ? void 0 : _a.forEach(_this.detachChild);
38
57
  (_b = args.getNewItems()) === null || _b === void 0 ? void 0 : _b.forEach(_this.attachChild);
39
58
  });
40
- this.onDpiChanged = this.onDpiChanged.bind(this);
59
+ _this.onDpiChanged = _this.onDpiChanged.bind(_this);
60
+ return _this;
41
61
  }
62
+ Object.defineProperty(BaseSceneEntity3D.prototype, "entityIdProvider", {
63
+ /** @inheritDoc */
64
+ get: function () {
65
+ return this.entityIdProviderProperty;
66
+ },
67
+ /** @inheritDoc */
68
+ set: function (value) {
69
+ var _this = this;
70
+ this.entityIdProviderProperty = value;
71
+ // Assign an entity Id to this entity
72
+ if (!this.entityId && this.entityIdProviderProperty) {
73
+ this.entityId = this.entityIdProviderProperty.getNextEntityId();
74
+ }
75
+ // Pass entityIdProvider down to child entities except this
76
+ this.visitEntities(function (e) {
77
+ if (e !== _this) {
78
+ e.entityIdProvider = value;
79
+ }
80
+ });
81
+ },
82
+ enumerable: false,
83
+ configurable: true
84
+ });
85
+ Object.defineProperty(BaseSceneEntity3D.prototype, "entityId", {
86
+ /** @inheritDoc */
87
+ get: function () {
88
+ return this.entityIdProperty;
89
+ },
90
+ /** @inheritDoc */
91
+ set: function (value) {
92
+ var _a;
93
+ this.entityIdProperty = value;
94
+ (_a = this.nativeEntityProperty) === null || _a === void 0 ? void 0 : _a.SetEntityId(value);
95
+ this.invalidateScene();
96
+ },
97
+ enumerable: false,
98
+ configurable: true
99
+ });
42
100
  /** @inheritDoc */
43
101
  BaseSceneEntity3D.prototype.getRoot = function () {
44
102
  if (this.type === SceneEntityType_1.ESceneEntityType.RootSceneEntity) {
@@ -55,11 +113,14 @@ var BaseSceneEntity3D = /** @class */ (function () {
55
113
  };
56
114
  /** @inheritDoc */
57
115
  BaseSceneEntity3D.prototype.delete = function () {
116
+ var _a;
58
117
  this.children.asArray().forEach(function (el) { return el.delete(); });
118
+ (_a = this.entityIdProvider) === null || _a === void 0 ? void 0 : _a.releaseEntityId(this.entityId);
59
119
  if (this.nativeEntity) {
60
120
  this.world.RemoveEntity(this.nativeEntity);
61
121
  }
62
122
  this.nativeEntityProperty = (0, Deleter_1.deleteSafe)(this.nativeEntityProperty);
123
+ this.webAssemblyContext = undefined;
63
124
  };
64
125
  /**
65
126
  * Update method called from WebAssembly engine. Use this to update meshes, properties, geometry before draw.
@@ -103,19 +164,6 @@ var BaseSceneEntity3D = /** @class */ (function () {
103
164
  };
104
165
  /** @inheritDoc */
105
166
  BaseSceneEntity3D.prototype.onDpiChanged = function (args) { };
106
- Object.defineProperty(BaseSceneEntity3D.prototype, "entityId", {
107
- /** @inheritDoc */
108
- get: function () {
109
- return this.entityIdProperty;
110
- },
111
- /** @inheritDoc */
112
- set: function (value) {
113
- this.entityIdProperty = value;
114
- // TODO: this.nativeEntity.SetEntityId(value)
115
- },
116
- enumerable: false,
117
- configurable: true
118
- });
119
167
  /** @inheritDoc */
120
168
  BaseSceneEntity3D.prototype.setRenderPassData = function (rpd) {
121
169
  this.currentRenderPassData = rpd;
@@ -173,10 +221,10 @@ var BaseSceneEntity3D = /** @class */ (function () {
173
221
  */
174
222
  BaseSceneEntity3D.prototype.attachChild = function (childEntity) {
175
223
  var _a;
176
- // TODO: entity.EntityIdProvider = this.EntityIdProvider;
177
224
  var parentEntity = this;
178
225
  (_a = parentEntity.nativeEntity) === null || _a === void 0 ? void 0 : _a.AddChildEntityInternal(childEntity.nativeEntity);
179
226
  childEntity.parent = parentEntity;
227
+ childEntity.entityIdProvider = this.entityIdProvider;
180
228
  childEntity.onAttached();
181
229
  };
182
230
  /**
@@ -197,7 +245,11 @@ var BaseSceneEntity3D = /** @class */ (function () {
197
245
  * @protected
198
246
  */
199
247
  BaseSceneEntity3D.prototype.setNativeEntity = function (entity) {
248
+ var _a;
200
249
  this.nativeEntityProperty = entity;
250
+ if (this.entityId) {
251
+ (_a = this.nativeEntityProperty) === null || _a === void 0 ? void 0 : _a.SetEntityId(this.entityId);
252
+ }
201
253
  };
202
254
  Object.defineProperty(BaseSceneEntity3D.prototype, "world", {
203
255
  /**
@@ -211,5 +263,5 @@ var BaseSceneEntity3D = /** @class */ (function () {
211
263
  configurable: true
212
264
  });
213
265
  return BaseSceneEntity3D;
214
- }());
266
+ }(DeletableEntity_1.DeletableEntity));
215
267
  exports.BaseSceneEntity3D = BaseSceneEntity3D;
@@ -0,0 +1,47 @@
1
+ import { ESceneEntityType } from "../../../types/SceneEntityType";
2
+ import { SCRTSceneEntity } from "../../../types/TSciChart3D";
3
+ import { Vector3 } from "../../Vector3";
4
+ import { TSciChart3D } from "../SciChart3DSurface";
5
+ import { BaseSceneEntity3D } from "./BaseSceneEntity3D";
6
+ /**
7
+ * Draws a crosshair from the {@link location} to the walls of the bounding box (defined by {@link worldDimensions}).
8
+ * Properties {@link stroke}, {@link strokeThickness} and {@link antiAliased} can be used to customize the appearance of the line.
9
+ * The {@link CrosshairLinesSceneEntity} inherits {@link BaseSceneEntity3D} and can be added to the {@link SciChart3DSurface}
10
+ * via the {@link SciChart3DSurface.rootEntity} property.
11
+ */
12
+ export declare class CrosshairLinesSceneEntity extends BaseSceneEntity3D<SCRTSceneEntity> {
13
+ /** @inheritDoc */
14
+ readonly type = ESceneEntityType.Custom;
15
+ /**
16
+ * The location of the crosshair in 3D space
17
+ */
18
+ location: Vector3;
19
+ /**
20
+ * The world dimensions of the bounding box, which should match {@link SciChart3DSurface.worldDimensions}
21
+ */
22
+ worldDimensions: Vector3;
23
+ /**
24
+ * The camera position in 3D space, which is used to compute vectors
25
+ */
26
+ cameraPosition: Vector3;
27
+ /**
28
+ * The strokethickness of crosshair lines
29
+ */
30
+ strokeThickness: number;
31
+ /**
32
+ * The stroke of crosshair lines
33
+ */
34
+ stroke: string;
35
+ /**
36
+ * Whether crosshair lines are antialiased or not
37
+ */
38
+ antiAliased: boolean;
39
+ private linesMesh;
40
+ constructor(webAssemblyContext: TSciChart3D);
41
+ /** @inheritDoc */
42
+ delete(): void;
43
+ /** @inheritDoc */
44
+ Render(): void;
45
+ private inInWorldDimensions;
46
+ private getWallVector;
47
+ }
@@ -0,0 +1,106 @@
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.CrosshairLinesSceneEntity = 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 Vector3_1 = require("../../Vector3");
23
+ var BaseSceneEntity3D_1 = require("./BaseSceneEntity3D");
24
+ /**
25
+ * Draws a crosshair from the {@link location} to the walls of the bounding box (defined by {@link worldDimensions}).
26
+ * Properties {@link stroke}, {@link strokeThickness} and {@link antiAliased} can be used to customize the appearance of the line.
27
+ * The {@link CrosshairLinesSceneEntity} inherits {@link BaseSceneEntity3D} and can be added to the {@link SciChart3DSurface}
28
+ * via the {@link SciChart3DSurface.rootEntity} property.
29
+ */
30
+ var CrosshairLinesSceneEntity = /** @class */ (function (_super) {
31
+ __extends(CrosshairLinesSceneEntity, _super);
32
+ function CrosshairLinesSceneEntity(webAssemblyContext) {
33
+ var _this = _super.call(this, webAssemblyContext) || this;
34
+ /** @inheritDoc */
35
+ _this.type = SceneEntityType_1.ESceneEntityType.Custom;
36
+ /**
37
+ * The strokethickness of crosshair lines
38
+ */
39
+ _this.strokeThickness = 2;
40
+ /**
41
+ * The stroke of crosshair lines
42
+ */
43
+ _this.stroke = "#FF6600";
44
+ /**
45
+ * Whether crosshair lines are antialiased or not
46
+ */
47
+ _this.antiAliased = true;
48
+ // Required to get callbacks on Update() and Render() from Wasm to JS
49
+ _this.setNativeEntity(webAssemblyContext.SCRTSceneEntity.implement(_this));
50
+ return _this;
51
+ }
52
+ /** @inheritDoc */
53
+ CrosshairLinesSceneEntity.prototype.delete = function () {
54
+ _super.prototype.delete.call(this);
55
+ this.linesMesh = (0, Deleter_1.deleteSafe)(this.linesMesh);
56
+ };
57
+ /** @inheritDoc */
58
+ CrosshairLinesSceneEntity.prototype.Render = function () {
59
+ if (!this.isVisible || !this.worldDimensions || !this.cameraPosition || !this.location)
60
+ return;
61
+ var wallVector = this.getWallVector();
62
+ this.linesMesh = (0, Deleter_1.deleteSafe)(this.linesMesh);
63
+ // Linesmesh with isStrips=false means eacn x0y0 x1y1 pair is a separate line segment
64
+ var linesMesh = new this.webAssemblyContext.SCRTLinesMesh(this.strokeThickness, false, this.antiAliased);
65
+ linesMesh.SetVertexColor((0, parseColor_1.parseColorToUIntArgb)(this.stroke));
66
+ // Draw a line to XY wall from the cursor spot, if in bounds
67
+ if (this.inInWorldDimensions(this.location.x, this.location.y, 0, this.worldDimensions)) {
68
+ linesMesh.SetVertex3(this.location.x, this.location.y, this.location.z);
69
+ linesMesh.SetVertex3(this.location.x, this.location.y, wallVector.z);
70
+ }
71
+ // Draw a line to XZ wall from the cursor spot, if in bounds
72
+ if (this.inInWorldDimensions(this.location.x, 0, this.location.z, this.worldDimensions)) {
73
+ linesMesh.SetVertex3(this.location.x, this.location.y, this.location.z);
74
+ linesMesh.SetVertex3(this.location.x, wallVector.y, this.location.z);
75
+ }
76
+ // Draw a line to the YZ wall from the cursor spot, if in bounds
77
+ if (this.inInWorldDimensions(0, this.location.y, 0, this.worldDimensions)) {
78
+ linesMesh.SetVertex3(this.location.x, this.location.y, this.location.z);
79
+ linesMesh.SetVertex3(wallVector.x, this.location.y, this.location.z);
80
+ }
81
+ // No further changes possible
82
+ linesMesh.Freeze();
83
+ // Draw
84
+ linesMesh.Render();
85
+ };
86
+ CrosshairLinesSceneEntity.prototype.inInWorldDimensions = function (x, y, z, worldDimensions) {
87
+ return (y >= 0 &&
88
+ y <= worldDimensions.y &&
89
+ z >= -worldDimensions.z / 2 &&
90
+ z <= worldDimensions.z / 2 &&
91
+ x >= -worldDimensions.x / 2 &&
92
+ x <= worldDimensions.x / 2);
93
+ };
94
+ CrosshairLinesSceneEntity.prototype.getWallVector = function () {
95
+ var x = this.cameraPosition.dotProduct(new Vector3_1.Vector3(1, 0, 0)) > 0
96
+ ? -this.worldDimensions.x * 0.5
97
+ : this.worldDimensions.x * 0.5;
98
+ var y = this.cameraPosition.dotProduct(new Vector3_1.Vector3(0, 1, 0)) > 0 ? 0 : this.worldDimensions.y;
99
+ var z = this.cameraPosition.dotProduct(new Vector3_1.Vector3(0, 0, 1)) > 0
100
+ ? -this.worldDimensions.z * 0.5
101
+ : this.worldDimensions.z * 0.5;
102
+ return new Vector3_1.Vector3(x, y, z);
103
+ };
104
+ return CrosshairLinesSceneEntity;
105
+ }(BaseSceneEntity3D_1.BaseSceneEntity3D));
106
+ exports.CrosshairLinesSceneEntity = CrosshairLinesSceneEntity;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * An EntityIdProvider generates integer Ids (must fit into UInt32) for meshs in the SciChart3D engine
3
+ * There is a maximum of 4 billion vertices or meshes in the scene in any combination.
4
+ * Users can override and implement their own IdProvider to recycle Ids if they wish
5
+ */
6
+ export interface IEntityIdProvider {
7
+ /**
8
+ * Gets the next available EntityId (max value UInt32 is 4 billion)
9
+ */
10
+ getNextEntityId(): number;
11
+ /**
12
+ * Optional: releases an Id when an entity is removed fro the scene in the case where max mesh ID is hit
13
+ * @param id
14
+ */
15
+ releaseEntityId(id: number): void;
16
+ }
17
+ /**
18
+ * Default implementation of {@link IEntityIdProvider}. This implementation generates Ids from 0 to 4 billion
19
+ * and does not recycle Ids. If you encounter the error "The max Mesh ID has been exceeded", you can override
20
+ * releaseEntityId to create a more sophisticated IdProvider to recycle Ids.
21
+ */
22
+ export declare class DefaultEntityIdProvider implements IEntityIdProvider {
23
+ private currentId;
24
+ private maxId;
25
+ /** @inheritdoc */
26
+ getNextEntityId(): number;
27
+ /** @inheritdoc */
28
+ releaseEntityId(id: number): void;
29
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultEntityIdProvider = void 0;
4
+ /**
5
+ * Default implementation of {@link IEntityIdProvider}. This implementation generates Ids from 0 to 4 billion
6
+ * and does not recycle Ids. If you encounter the error "The max Mesh ID has been exceeded", you can override
7
+ * releaseEntityId to create a more sophisticated IdProvider to recycle Ids.
8
+ */
9
+ var DefaultEntityIdProvider = /** @class */ (function () {
10
+ function DefaultEntityIdProvider() {
11
+ this.currentId = -1;
12
+ this.maxId = 4294967295; // UInt32.MaxValue
13
+ }
14
+ /** @inheritdoc */
15
+ DefaultEntityIdProvider.prototype.getNextEntityId = function () {
16
+ var id = ++this.currentId;
17
+ if (id >= this.maxId) {
18
+ throw new Error("The max Mesh ID has been exceeded. Please see https://www.scichart.com/questions/wpf/maximum-mesh-id");
19
+ }
20
+ return id;
21
+ };
22
+ /** @inheritdoc */
23
+ DefaultEntityIdProvider.prototype.releaseEntityId = function (id) {
24
+ // placeholder for users to override and recycle Ids
25
+ };
26
+ return DefaultEntityIdProvider;
27
+ }());
28
+ exports.DefaultEntityIdProvider = DefaultEntityIdProvider;
@@ -0,0 +1,51 @@
1
+ import { Point } from "../../../Core/Point";
2
+ import { ESceneEntityType } from "../../../types/SceneEntityType";
3
+ import { SCRTPointLine3DSceneEntity, TSciChart3D } from "../../../types/TSciChart3D";
4
+ import { HitTestInfo3D } from "../RenderableSeries/HitTestInfo3D";
5
+ import { PointLineRenderableSeries3D } from "../RenderableSeries/PointLineRenderableSeries3D";
6
+ import { RenderableSeriesSceneEntity } from "./RenderableSeriesSceneEntity";
7
+ import { RenderableSeriesSceneEntityState } from "./RenderableSeriesSceneEntityState";
8
+ /**
9
+ * @summary {@link BaseSceneEntity3D} type for drawing 3D Scatter or Bubble series in SciChart's High Performance
10
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
11
+ * @remarks See related type {@link ScatterRenderableSeries3D} which should be added to {@link SciChart3DSurface.renderableSeries}
12
+ * along with data from an {@link XyzDataSeries3D} to create a 3D Scatter or Bubble chart
13
+ */
14
+ export declare class PointLine3DSceneEntity extends RenderableSeriesSceneEntity<PointLineRenderableSeries3D, RenderableSeriesSceneEntityState, SCRTPointLine3DSceneEntity> {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ readonly type: ESceneEntityType;
19
+ private pointColors;
20
+ private pointScales;
21
+ /**
22
+ * Creates an instance of {@link ScatterPointsSceneEntity}
23
+ * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing native methods and
24
+ * access to our WebGL2 Engine and WebAssembly numerical methods
25
+ * @param parentSeries The parent {@link BaseRenderableSeries3D} which this entity maps to
26
+ */
27
+ constructor(webAssemblyContext: TSciChart3D, parentSeries: PointLineRenderableSeries3D);
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ delete(): void;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ Render(): void;
36
+ /**
37
+ * @inheritDoc
38
+ * @param propertyName
39
+ */
40
+ notifySeriesPropertyChanged(propertyName: string): void;
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ hitTest(screenPoint: Point): HitTestInfo3D;
45
+ /**
46
+ * @inheritDoc
47
+ */
48
+ protected updateSeries(): void;
49
+ private updatePointMarker;
50
+ private rebuildPointMetadata;
51
+ }