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.
- package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
- package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
- package/Charting/ChartModifiers/CursorModifier.js +13 -1
- package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
- package/Charting/ChartModifiers/LegendModifier.js +8 -6
- package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
- package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
- package/Charting/ChartModifiers/RolloverModifier.js +10 -3
- package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
- package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
- package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
- package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
- package/Charting/Drawing/BaseCache.d.ts +2 -1
- package/Charting/Drawing/BaseCache.js +40 -7
- package/Charting/Drawing/RenderSurface.d.ts +1 -0
- package/Charting/Drawing/RenderSurface.js +5 -1
- package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
- package/Charting/Drawing/SolidBrushCache.js +23 -3
- package/Charting/Drawing/WebGlBrush.d.ts +2 -1
- package/Charting/Drawing/WebGlBrush.js +22 -3
- package/Charting/Drawing/WebGlPen.d.ts +2 -1
- package/Charting/Drawing/WebGlPen.js +23 -4
- package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
- package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
- package/Charting/Model/BaseDataSeries.d.ts +67 -2
- package/Charting/Model/BaseDataSeries.js +193 -42
- package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
- package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
- package/Charting/Model/ChartData/SeriesInfo.js +7 -0
- package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
- package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
- package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
- package/Charting/Model/DoubleVectorProvider.js +95 -0
- package/Charting/Model/HlcDataSeries.d.ts +3 -0
- package/Charting/Model/HlcDataSeries.js +44 -15
- package/Charting/Model/IDataSeries.d.ts +23 -0
- package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
- package/Charting/Model/OhlcDataSeries.d.ts +3 -0
- package/Charting/Model/OhlcDataSeries.js +56 -24
- package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
- package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
- package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
- package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
- package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
- package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
- package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
- package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
- package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
- package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
- package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
- package/Charting/Model/XyDataSeries.d.ts +0 -8
- package/Charting/Model/XyDataSeries.js +21 -5
- package/Charting/Model/XyTextDataSeries.d.ts +2 -0
- package/Charting/Model/XyTextDataSeries.js +35 -4
- package/Charting/Model/XyyDataSeries.d.ts +2 -0
- package/Charting/Model/XyyDataSeries.js +35 -10
- package/Charting/Model/XyzDataSeries.d.ts +3 -0
- package/Charting/Model/XyzDataSeries.js +36 -10
- package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
- package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
- package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
- package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
- package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
- package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
- package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
- package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
- package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
- package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
- package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
- package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
- package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
- package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
- package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
- package/Charting/Services/SciChartRenderer.js +15 -5
- package/Charting/Services/TitleRenderer.d.ts +2 -1
- package/Charting/Services/TitleRenderer.js +35 -14
- package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
- package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
- package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
- package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
- package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
- package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
- package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
- package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
- package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
- package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
- package/Charting/Visuals/Annotations/constants.d.ts +1 -0
- package/Charting/Visuals/Annotations/constants.js +1 -0
- package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
- package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
- package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
- package/Charting/Visuals/Axis/AxisCore.js +100 -54
- package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
- package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
- package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
- package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
- package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
- package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
- package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
- package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
- package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
- package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
- package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
- package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
- package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
- package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
- package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
- package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
- package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
- package/Charting/Visuals/HeatmapLegend.js +33 -12
- package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
- package/Charting/Visuals/Helpers/NativeObject.js +42 -21
- package/Charting/Visuals/Helpers/drawLabel.js +3 -1
- package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
- package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
- package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
- package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
- package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
- package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
- package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
- package/Charting/Visuals/PointMarkers/Constants.js +1 -0
- package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
- package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
- package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
- package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
- package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
- package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
- package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
- package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
- package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
- package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
- package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
- package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
- package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
- package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
- package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
- package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
- package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
- package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
- package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
- package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
- package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
- package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
- package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
- package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
- package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
- package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
- package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
- package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
- package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
- package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
- package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
- package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
- package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
- package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
- package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
- package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
- package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
- package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
- package/Charting/Visuals/SciChartDefaults.js +10 -0
- package/Charting/Visuals/SciChartOverview.d.ts +2 -1
- package/Charting/Visuals/SciChartOverview.js +28 -8
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
- package/Charting/Visuals/SciChartSurface.d.ts +4 -36
- package/Charting/Visuals/SciChartSurface.js +48 -61
- package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
- package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
- package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
- package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
- package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
- package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
- package/Charting/Visuals/createMaster.d.ts +4 -2
- package/Charting/Visuals/createMaster.js +92 -28
- package/Charting/Visuals/createSingle.d.ts +0 -2
- package/Charting/Visuals/createSingle.js +44 -9
- package/Charting/Visuals/licenseManager2D.d.ts +7 -5
- package/Charting/Visuals/licenseManager2D.js +105 -53
- package/Charting/Visuals/loader.js +3 -1
- package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
- package/Charting/Visuals/sciChartInitCommon.js +5 -1
- package/Charting3D/CameraController.d.ts +1 -1
- package/Charting3D/CameraController.js +21 -7
- package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
- package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
- package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
- package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
- package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
- package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
- package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
- package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
- package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
- package/Charting3D/I3DSurfaceOptions.js +2 -0
- package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
- package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
- package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
- package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
- package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
- package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
- package/Charting3D/Vector3.d.ts +5 -0
- package/Charting3D/Vector3.js +7 -0
- package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
- package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
- package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
- package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
- package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
- package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
- package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
- package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
- package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
- package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
- package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
- package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
- package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
- package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
- package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
- package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
- package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
- package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
- package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
- package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
- package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
- package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
- package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
- package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
- package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
- package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
- package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
- package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
- package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
- package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
- package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
- package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
- package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
- package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
- package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
- package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
- package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
- package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
- package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
- package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
- package/Charting3D/Visuals/RootSceneEntity.js +3 -8
- package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
- package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
- package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
- package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
- package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
- package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
- package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
- package/Charting3D/Visuals/createMaster3d.js +76 -14
- package/Charting3D/Visuals/createSingle3d.js +34 -4
- package/Charting3D/Visuals/licenseManager3D.js +29 -25
- package/Core/BuildStamp.d.ts +1 -1
- package/Core/BuildStamp.js +2 -2
- package/Core/DeletableEntity.d.ts +28 -0
- package/Core/DeletableEntity.js +141 -0
- package/Core/Globals.d.ts +11 -0
- package/Core/Globals.js +13 -0
- package/Core/Guard.d.ts +6 -0
- package/Core/Guard.js +10 -0
- package/Core/Mouse/MouseManager.d.ts +23 -0
- package/Core/Mouse/MouseManager.js +47 -0
- package/Core/Telemetry.js +4 -6
- package/_wasm/scichart.browser.js +1 -1
- package/_wasm/scichart2d.data +0 -0
- package/_wasm/scichart2d.js +4 -294
- package/_wasm/scichart2d.wasm +0 -0
- package/_wasm/scichart3d.data +0 -0
- package/_wasm/scichart3d.js +4 -294
- package/_wasm/scichart3d.wasm +0 -0
- package/index.d.ts +43 -2
- package/index.js +89 -27
- package/index.min.js +1 -1
- package/package.json +3 -4
- package/types/ChartModifierType.d.ts +2 -0
- package/types/ChartModifierType.js +2 -0
- package/types/DefaultRenderLayer.d.ts +9 -8
- package/types/DefaultRenderLayer.js +9 -8
- package/types/NumberArray.d.ts +1 -0
- package/types/NumberArray.js +12 -1
- package/types/SceneEntityType.d.ts +13 -5
- package/types/SceneEntityType.js +13 -5
- package/types/TSciChart.d.ts +37 -8
- package/types/TSciChart3D.d.ts +126 -7
- package/types/licensingClasses.d.ts +2 -1
- package/types/licensingClasses.js +1 -0
- package/utils/MemoryUsageHelper.d.ts +45 -0
- package/utils/MemoryUsageHelper.js +171 -0
- package/utils/array.d.ts +8 -0
- package/utils/array.js +58 -1
- package/utils/logger.d.ts +2 -0
- 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
|
|
26
|
+
* A unique Id for the {@link IBaseSceneEntity}
|
|
33
27
|
*/
|
|
34
|
-
|
|
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
|
|
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
|
-
|
|
45
|
+
readonly type: ESceneEntityType;
|
|
48
46
|
/**
|
|
49
|
-
* Gets the
|
|
47
|
+
* Gets or sets the {@link IEntityIdProvider} which generates unique mesh Ids for {@link IBaseSceneEntity
|
|
50
48
|
*/
|
|
51
|
-
|
|
49
|
+
entityIdProvider: IEntityIdProvider;
|
|
52
50
|
/**
|
|
53
|
-
*
|
|
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
|
-
|
|
53
|
+
entityId: number;
|
|
57
54
|
/**
|
|
58
|
-
*
|
|
59
|
-
* @param
|
|
55
|
+
* Gets the first child {@link IBaseSceneEntity} of type specified by {@link ESceneEntityType}
|
|
56
|
+
* @param type
|
|
60
57
|
*/
|
|
61
|
-
|
|
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
|
-
*
|
|
76
|
-
* @param
|
|
76
|
+
* Sets the {@link RenderPassInfo3D} - render pass info, properties and data for the current rendering pass
|
|
77
|
+
* @param rpd
|
|
77
78
|
*/
|
|
78
|
-
|
|
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
|
|
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
|
-
|
|
43
|
+
_this.id = (0, guid_1.generateGuid)();
|
|
26
44
|
/**
|
|
27
45
|
* When true, the entity and all its children are visible
|
|
28
46
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
+
}
|