scichart 2.0.2228 → 2.1.2273

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 (199) hide show
  1. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  2. package/Charting/ChartModifiers/LegendModifier.d.ts +2 -2
  3. package/Charting/ChartModifiers/RolloverModifier.d.ts +5 -3
  4. package/Charting/ChartModifiers/RolloverModifier.js +38 -80
  5. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  6. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  7. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  8. package/Charting/Model/BaseDataSeries.js +77 -28
  9. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  10. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  11. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  12. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  13. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  14. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  15. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  16. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  17. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  18. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  19. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  20. package/Charting/Model/IDataSeries.d.ts +37 -5
  21. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  22. package/Charting/Model/OhlcDataSeries.js +37 -34
  23. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  24. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  25. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  26. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  27. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  28. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  29. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  30. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  31. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  32. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  33. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  34. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  35. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  36. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  37. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  38. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  39. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  40. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  41. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  42. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  43. package/Charting/Model/XyDataSeries.d.ts +3 -2
  44. package/Charting/Model/XyDataSeries.js +22 -22
  45. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  46. package/Charting/Model/XyyDataSeries.js +24 -21
  47. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  48. package/Charting/Model/XyzDataSeries.js +24 -21
  49. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  50. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  51. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  52. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  53. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  54. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  55. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  56. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  57. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  58. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  59. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  60. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  61. package/Charting/Services/RenderPassData.d.ts +6 -1
  62. package/Charting/Services/RenderPassData.js +5 -1
  63. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  64. package/Charting/Services/RenderPassInfo.js +14 -0
  65. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  66. package/Charting/Services/SciChartRenderer.js +125 -31
  67. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  68. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  69. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  70. package/Charting/Visuals/Axis/AxisRenderer.js +6 -6
  71. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +52 -0
  72. package/Charting/Visuals/Axis/CategoryAxisBase.js +94 -20
  73. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  74. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  75. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  76. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  77. package/Charting/Visuals/Axis/constants.js +1 -0
  78. package/Charting/Visuals/Legend/SciChartLegend.d.ts +6 -0
  79. package/Charting/Visuals/Legend/SciChartLegend.js +30 -13
  80. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +20 -6
  81. package/Charting/Visuals/Legend/SciChartLegendBase.js +22 -4
  82. package/Charting/Visuals/Legend/SciChartPieLegend.d.ts +2 -0
  83. package/Charting/Visuals/Legend/SciChartPieLegend.js +17 -6
  84. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  85. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  86. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  87. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  88. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  89. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  90. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  91. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  92. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  93. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  94. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  95. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  96. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  97. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  98. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  99. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  100. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +129 -21
  101. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  102. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  103. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  104. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  105. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  106. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  107. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  108. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  109. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  110. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  111. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  112. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  113. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +6 -12
  114. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  115. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  116. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  117. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  118. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  119. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  120. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  121. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  122. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  123. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  124. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  125. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  126. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  127. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  128. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  129. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  130. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  131. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  132. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  133. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  134. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  135. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  136. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  137. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  138. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  139. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  140. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  141. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  142. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  143. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  144. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  145. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  146. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -7
  147. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  148. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  149. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  150. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  151. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  152. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  153. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  154. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  155. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  156. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  157. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  158. package/Charting/Visuals/SciChartDefaults.js +9 -1
  159. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +4 -2
  160. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +46 -32
  161. package/Charting/Visuals/licenseManager2D.js +21 -20
  162. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  163. package/Charting/Visuals/licenseManager2dState.js +12 -0
  164. package/Charting/Visuals/loader.js +2 -0
  165. package/Charting/Visuals/sciChartInitCommon.js +4 -0
  166. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  167. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  168. package/Core/BuildStamp.d.ts +1 -1
  169. package/Core/BuildStamp.js +2 -2
  170. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  171. package/Core/OneTimePerformanceWarning.js +19 -0
  172. package/Core/storage/localStorageApi.d.ts +9 -0
  173. package/Core/storage/localStorageApi.js +32 -0
  174. package/README.md +223 -1
  175. package/_wasm/scichart.browser.js +1 -1
  176. package/_wasm/scichart2d.js +12 -12
  177. package/_wasm/scichart2d.wasm +0 -0
  178. package/_wasm/scichart3d.js +13 -13
  179. package/_wasm/scichart3d.wasm +0 -0
  180. package/constants/performanceWarnings.d.ts +5 -0
  181. package/constants/performanceWarnings.js +8 -0
  182. package/package.json +1 -1
  183. package/types/SearchMode.d.ts +21 -0
  184. package/types/SearchMode.js +25 -0
  185. package/types/TSciChart.d.ts +144 -40
  186. package/types/TSciChart3D.d.ts +66 -28
  187. package/utils/array.d.ts +7 -0
  188. package/utils/array.js +19 -1
  189. package/utils/calcAverage.d.ts +2 -2
  190. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  191. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  192. package/utils/hash.d.ts +7 -0
  193. package/utils/hash.js +35 -0
  194. package/utils/tooltip.d.ts +42 -0
  195. package/utils/tooltip.js +119 -0
  196. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  197. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
  198. package/utils/performance.d.ts +0 -5
  199. package/utils/performance.js +0 -11
@@ -0,0 +1,29 @@
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.XyyPointSeriesWrapped = void 0;
19
+ var BasePointSeriesWrapped_1 = require("./BasePointSeriesWrapped");
20
+ var XyyPointSeriesWrapped = /** @class */ (function (_super) {
21
+ __extends(XyyPointSeriesWrapped, _super);
22
+ function XyyPointSeriesWrapped(dataSeries) {
23
+ var _this = _super.call(this, dataSeries) || this;
24
+ _this.y1Values = dataSeries.getNativeY1Values();
25
+ return _this;
26
+ }
27
+ return XyyPointSeriesWrapped;
28
+ }(BasePointSeriesWrapped_1.BasePointSeriesWrapped));
29
+ exports.XyyPointSeriesWrapped = XyyPointSeriesWrapped;
@@ -0,0 +1,8 @@
1
+ import { SCRTDoubleVector } from "../../../types/TSciChart";
2
+ import { XyzDataSeries } from "../XyzDataSeries";
3
+ import { BasePointSeriesWrapped } from "./BasePointSeriesWrapped";
4
+ import { IXyzPointSeries } from "./IPointSeries";
5
+ export declare class XyzPointSeriesWrapped extends BasePointSeriesWrapped implements IXyzPointSeries {
6
+ readonly zValues: SCRTDoubleVector;
7
+ constructor(dataSeries: XyzDataSeries);
8
+ }
@@ -0,0 +1,29 @@
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.XyzPointSeriesWrapped = void 0;
19
+ var BasePointSeriesWrapped_1 = require("./BasePointSeriesWrapped");
20
+ var XyzPointSeriesWrapped = /** @class */ (function (_super) {
21
+ __extends(XyzPointSeriesWrapped, _super);
22
+ function XyzPointSeriesWrapped(dataSeries) {
23
+ var _this = _super.call(this, dataSeries) || this;
24
+ _this.zValues = dataSeries.getNativeZValues();
25
+ return _this;
26
+ }
27
+ return XyzPointSeriesWrapped;
28
+ }(BasePointSeriesWrapped_1.BasePointSeriesWrapped));
29
+ exports.XyzPointSeriesWrapped = XyzPointSeriesWrapped;
@@ -90,6 +90,7 @@ export declare class XyDataSeries extends BaseDataSeries {
90
90
  * @param index The index to update
91
91
  * @param x The new X value
92
92
  * @param y The new Y value
93
+ * @param metadata The point metadata
93
94
  */
94
95
  updateXy(index: number, x: number, y: number, metadata?: IPointMetadata): void;
95
96
  /**
@@ -99,8 +100,8 @@ export declare class XyDataSeries extends BaseDataSeries {
99
100
  *
100
101
  * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
101
102
  * @param startIndex the index to insert at
102
- * @param x the Xvalue
103
- * @param y the Yvalue
103
+ * @param x the X value
104
+ * @param y the Y value
104
105
  * @param metadata The point metadata
105
106
  */
106
107
  insert(startIndex: number, x: number, y: number, metadata?: IPointMetadata): void;
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.XyDataSeries = void 0;
19
19
  var Guard_1 = require("../../Core/Guard");
20
20
  var NumberArray_1 = require("../../types/NumberArray");
21
- var fillDoubleVectorFromJsArray_1 = require("../../utils/ccall/fillDoubleVectorFromJsArray");
21
+ var appendDoubleVectorFromJsArray_1 = require("../../utils/ccall/appendDoubleVectorFromJsArray");
22
22
  var BaseDataSeries_1 = require("./BaseDataSeries");
23
23
  var IDataSeries_1 = require("./IDataSeries");
24
24
  /**
@@ -79,9 +79,11 @@ var XyDataSeries = /** @class */ (function (_super) {
79
79
  */
80
80
  XyDataSeries.prototype.append = function (x, y, metadata) {
81
81
  if (!this.getIsDeleted()) {
82
+ var nativeX = this.getNativeXValues();
83
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, [x], [y]);
82
84
  // Push metadata should be done before push x values
83
85
  this.appendMetadata(metadata);
84
- this.getNativeXValues().push_back(x);
86
+ nativeX.push_back(x);
85
87
  this.getNativeYValues().push_back(y);
86
88
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, 1);
87
89
  }
@@ -105,19 +107,15 @@ var XyDataSeries = /** @class */ (function (_super) {
105
107
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
106
108
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
107
109
  }
108
- // Push metadata should be done before push x values
109
- this.appendMetadataRange(metadata, xValues.length);
110
110
  var nativeX = this.getNativeXValues();
111
111
  var nativeY = this.getNativeYValues();
112
- // Old implementation with copying each element
113
- // for (let i = 0; i < xValues.length; i++) {
114
- // nativeX.push_back(xValues[i]);
115
- // nativeY.push_back(yValues[i]);
116
- // }
112
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, xValues, yValues);
113
+ // Push metadata should be done before push x values
114
+ this.appendMetadataRange(metadata, xValues.length);
117
115
  // New implementation passing array from JS
118
116
  // TODO: create indexValues from c++
119
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
120
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
117
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
118
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
121
119
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, xValues.length);
122
120
  }
123
121
  };
@@ -131,6 +129,7 @@ var XyDataSeries = /** @class */ (function (_super) {
131
129
  XyDataSeries.prototype.update = function (index, y, metadata) {
132
130
  if (!this.getIsDeleted()) {
133
131
  this.validateIndex(index);
132
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, undefined, undefined, [y], index);
134
133
  this.getNativeYValues().set(index, y);
135
134
  this.setMetadataAt(index, metadata);
136
135
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Update, index, 1);
@@ -142,10 +141,14 @@ var XyDataSeries = /** @class */ (function (_super) {
142
141
  * @param index The index to update
143
142
  * @param x The new X value
144
143
  * @param y The new Y value
144
+ * @param metadata The point metadata
145
145
  */
146
146
  XyDataSeries.prototype.updateXy = function (index, x, y, metadata) {
147
147
  if (!this.getIsDeleted()) {
148
- this.getNativeXValues().set(index, x);
148
+ this.validateIndex(index);
149
+ var nativeX = this.getNativeXValues();
150
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, nativeX, [x], [y], index);
151
+ nativeX.set(index, x);
149
152
  this.getNativeYValues().set(index, y);
150
153
  this.setMetadataAt(index, metadata);
151
154
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Update, index, 1);
@@ -158,8 +161,8 @@ var XyDataSeries = /** @class */ (function (_super) {
158
161
  *
159
162
  * Any changes of the DataSeries will trigger a redraw on the parent {@link SciChartSurface}
160
163
  * @param startIndex the index to insert at
161
- * @param x the Xvalue
162
- * @param y the Yvalue
164
+ * @param x the X value
165
+ * @param y the Y value
163
166
  * @param metadata The point metadata
164
167
  */
165
168
  XyDataSeries.prototype.insert = function (startIndex, x, y, metadata) {
@@ -167,6 +170,7 @@ var XyDataSeries = /** @class */ (function (_super) {
167
170
  this.validateIndex(startIndex, "Start index is out of range");
168
171
  var nativeX = this.getNativeXValues();
169
172
  var nativeY = this.getNativeYValues();
173
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, [x], [y], startIndex);
170
174
  nativeX.insertAt(startIndex, x);
171
175
  nativeY.insertAt(startIndex, y);
172
176
  this.insertMetadata(startIndex, metadata);
@@ -192,14 +196,10 @@ var XyDataSeries = /** @class */ (function (_super) {
192
196
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
193
197
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
194
198
  }
195
- var rangeLength = xValues.length;
196
199
  var nativeX = this.getNativeXValues();
197
- var nativeY = this.getNativeYValues();
198
- var tempStartIndex = startIndex;
199
- for (var i = 0; i < rangeLength; i++, tempStartIndex++) {
200
- nativeX.insertAt(tempStartIndex, xValues[i]);
201
- nativeY.insertAt(tempStartIndex, yValues[i]);
202
- }
200
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, xValues, yValues, startIndex);
201
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, xValues, this.getNativeXValues(), startIndex);
202
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, yValues, this.getNativeYValues(), startIndex);
203
203
  this.insertMetadataRange(startIndex, metadata);
204
204
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Insert, startIndex, xValues.length);
205
205
  }
@@ -243,7 +243,7 @@ var XyDataSeries = /** @class */ (function (_super) {
243
243
  */
244
244
  XyDataSeries.prototype.clear = function () {
245
245
  if (!this.getIsDeleted()) {
246
- this.getNativeIndexes().clear();
246
+ _super.prototype.clear.call(this);
247
247
  this.getNativeXValues().clear();
248
248
  this.getNativeYValues().clear();
249
249
  this.setMetadata(undefined);
@@ -1,6 +1,6 @@
1
1
  import { NumberRange } from "../../Core/NumberRange";
2
2
  import { NumberArray } from "../../types/NumberArray";
3
- import { DoubleVector, TSciChart } from "../../types/TSciChart";
3
+ import { SCRTDoubleVector, TSciChart } from "../../types/TSciChart";
4
4
  import { SeriesAnimation } from "../Visuals/RenderableSeries/Animations/SeriesAnimation";
5
5
  import { BaseDataSeries, IBaseDataSeriesOptions } from "./BaseDataSeries";
6
6
  import { EDataSeriesType, EDataSeriesValueType } from "./IDataSeries";
@@ -41,12 +41,12 @@ export declare class XyyDataSeries extends BaseDataSeries {
41
41
  /**
42
42
  * Y1 vector with initial animation values
43
43
  */
44
- y1InitialAnimationValues: DoubleVector;
44
+ y1InitialAnimationValues: SCRTDoubleVector;
45
45
  /**
46
46
  * Y1 vector with final animation values
47
47
  */
48
- y1FinalAnimationValues: DoubleVector;
49
- protected y1Values: DoubleVector;
48
+ y1FinalAnimationValues: SCRTDoubleVector;
49
+ protected y1Values: SCRTDoubleVector;
50
50
  /**
51
51
  * Creates an instance of {@link XyyDataSeries}
52
52
  * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
@@ -57,7 +57,7 @@ export declare class XyyDataSeries extends BaseDataSeries {
57
57
  /**
58
58
  * Gets a native / WebAssembly vector of Y2-values in the DataSeries
59
59
  */
60
- getNativeY1Values(): DoubleVector;
60
+ getNativeY1Values(): SCRTDoubleVector;
61
61
  /**
62
62
  * Appends a single X, Y, Y1 point to the DataSeries
63
63
  * @remarks
@@ -20,7 +20,7 @@ var Deleter_1 = require("../../Core/Deleter");
20
20
  var Guard_1 = require("../../Core/Guard");
21
21
  var NumberRange_1 = require("../../Core/NumberRange");
22
22
  var NumberArray_1 = require("../../types/NumberArray");
23
- var fillDoubleVectorFromJsArray_1 = require("../../utils/ccall/fillDoubleVectorFromJsArray");
23
+ var appendDoubleVectorFromJsArray_1 = require("../../utils/ccall/appendDoubleVectorFromJsArray");
24
24
  var animationHelpers_1 = require("../Visuals/RenderableSeries/Animations/animationHelpers");
25
25
  var BaseDataSeries_1 = require("./BaseDataSeries");
26
26
  var IDataSeries_1 = require("./IDataSeries");
@@ -49,9 +49,9 @@ var XyyDataSeries = /** @class */ (function (_super) {
49
49
  var _this = _super.call(this, webAssemblyContext, options) || this;
50
50
  /** @inheritDoc */
51
51
  _this.type = IDataSeries_1.EDataSeriesType.Xyy;
52
- _this.y1Values = new webAssemblyContext.DoubleVector();
53
- _this.y1InitialAnimationValues = new webAssemblyContext.DoubleVector();
54
- _this.y1FinalAnimationValues = new webAssemblyContext.DoubleVector();
52
+ _this.y1Values = new webAssemblyContext.SCRTDoubleVector();
53
+ _this.y1InitialAnimationValues = new webAssemblyContext.SCRTDoubleVector();
54
+ _this.y1FinalAnimationValues = new webAssemblyContext.SCRTDoubleVector();
55
55
  if (options === null || options === void 0 ? void 0 : options.xValues) {
56
56
  Guard_1.Guard.notNull(options.yValues, "options.yValues");
57
57
  Guard_1.Guard.notNull(options.y1Values, "options.y1Values");
@@ -78,9 +78,11 @@ var XyyDataSeries = /** @class */ (function (_super) {
78
78
  */
79
79
  XyyDataSeries.prototype.append = function (x, y, y1, metadata) {
80
80
  if (!this.getIsDeleted()) {
81
+ var nativeX = this.getNativeXValues();
82
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, [x], [y]);
81
83
  // Push metadata should be done before push x values
82
84
  this.appendMetadata(metadata);
83
- this.getNativeXValues().push_back(x);
85
+ nativeX.push_back(x);
84
86
  this.getNativeYValues().push_back(y);
85
87
  this.getNativeY1Values().push_back(y1);
86
88
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, 1);
@@ -111,11 +113,12 @@ var XyyDataSeries = /** @class */ (function (_super) {
111
113
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
112
114
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
113
115
  }
114
- // Push metadata should be done before push x values
115
- this.appendMetadataRange(metadata, xValues.length);
116
116
  var nativeX = this.getNativeXValues();
117
117
  var nativeY = this.getNativeYValues();
118
118
  var nativeY1 = this.getNativeY1Values();
119
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, xValues, yValues);
120
+ // Push metadata should be done before push x values
121
+ this.appendMetadataRange(metadata, xValues.length);
119
122
  // Old implementation with copying each element
120
123
  // for (let i = 0; i < xValues.length; i++) {
121
124
  // nativeX.push_back(xValues[i]);
@@ -123,9 +126,9 @@ var XyyDataSeries = /** @class */ (function (_super) {
123
126
  // nativeY1.push_back(y1Values[i]);
124
127
  // }
125
128
  // New implementation passing array from JS
126
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
127
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
128
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY1, y1Values);
129
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
130
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
131
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY1, y1Values);
129
132
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, xValues.length);
130
133
  }
131
134
  };
@@ -140,6 +143,7 @@ var XyyDataSeries = /** @class */ (function (_super) {
140
143
  XyyDataSeries.prototype.update = function (index, y, y1, metadata) {
141
144
  if (!this.getIsDeleted()) {
142
145
  this.validateIndex(index);
146
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, undefined, undefined, [y], index);
143
147
  this.getNativeYValues().set(index, y);
144
148
  this.getNativeY1Values().set(index, y1);
145
149
  this.setMetadataAt(index, metadata);
@@ -157,7 +161,10 @@ var XyyDataSeries = /** @class */ (function (_super) {
157
161
  */
158
162
  XyyDataSeries.prototype.updateXyy1 = function (index, x, y, y1, metadata) {
159
163
  if (!this.getIsDeleted()) {
160
- this.getNativeXValues().set(index, x);
164
+ this.validateIndex(index);
165
+ var nativeX = this.getNativeXValues();
166
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, nativeX, [x], [y], index);
167
+ nativeX.set(index, x);
161
168
  this.getNativeYValues().set(index, y);
162
169
  this.getNativeY1Values().set(index, y1);
163
170
  this.setMetadataAt(index, metadata);
@@ -182,6 +189,7 @@ var XyyDataSeries = /** @class */ (function (_super) {
182
189
  var nativeX = this.getNativeXValues();
183
190
  var nativeY = this.getNativeYValues();
184
191
  var nativeY1 = this.getNativeY1Values();
192
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, [x], [y], startIndex);
185
193
  nativeX.insertAt(startIndex, x);
186
194
  nativeY.insertAt(startIndex, y);
187
195
  nativeY1.insertAt(startIndex, y1);
@@ -214,16 +222,11 @@ var XyyDataSeries = /** @class */ (function (_super) {
214
222
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
215
223
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
216
224
  }
217
- var rangeLength = xValues.length;
218
225
  var nativeX = this.getNativeXValues();
219
- var nativeY = this.getNativeYValues();
220
- var nativeY1 = this.getNativeY1Values();
221
- var tempStartIndex = startIndex;
222
- for (var i = 0; i < rangeLength; i++, tempStartIndex++) {
223
- nativeX.insertAt(tempStartIndex, xValues[i]);
224
- nativeY.insertAt(tempStartIndex, yValues[i]);
225
- nativeY1.insertAt(tempStartIndex, y1Values[i]);
226
- }
226
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, xValues, yValues, startIndex);
227
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, xValues, nativeX, startIndex);
228
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, yValues, this.getNativeYValues(), startIndex);
229
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, y1Values, this.getNativeY1Values(), startIndex);
227
230
  this.insertMetadataRange(startIndex, metadata);
228
231
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Insert, startIndex, xValues.length);
229
232
  }
@@ -269,7 +272,7 @@ var XyyDataSeries = /** @class */ (function (_super) {
269
272
  */
270
273
  XyyDataSeries.prototype.clear = function () {
271
274
  if (!this.getIsDeleted()) {
272
- this.getNativeIndexes().clear();
275
+ _super.prototype.clear.call(this);
273
276
  this.getNativeXValues().clear();
274
277
  this.getNativeYValues().clear();
275
278
  this.getNativeY1Values().clear();
@@ -1,5 +1,5 @@
1
1
  import { NumberArray } from "../../types/NumberArray";
2
- import { DoubleVector, TSciChart } from "../../types/TSciChart";
2
+ import { SCRTDoubleVector, TSciChart } from "../../types/TSciChart";
3
3
  import { SeriesAnimation } from "../Visuals/RenderableSeries/Animations/SeriesAnimation";
4
4
  import { BaseDataSeries, IBaseDataSeriesOptions } from "./BaseDataSeries";
5
5
  import { EDataSeriesType } from "./IDataSeries";
@@ -40,12 +40,12 @@ export declare class XyzDataSeries extends BaseDataSeries {
40
40
  /**
41
41
  * Z vector with initial animation values
42
42
  */
43
- zInitialAnimationValues: DoubleVector;
43
+ zInitialAnimationValues: SCRTDoubleVector;
44
44
  /**
45
45
  * Z vector with final animation values
46
46
  */
47
- zFinalAnimationValues: DoubleVector;
48
- protected zValues: DoubleVector;
47
+ zFinalAnimationValues: SCRTDoubleVector;
48
+ protected zValues: SCRTDoubleVector;
49
49
  /**
50
50
  * Creates an instance of {@link XyzDataSeries}
51
51
  * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
@@ -56,7 +56,7 @@ export declare class XyzDataSeries extends BaseDataSeries {
56
56
  /**
57
57
  * Gets a native / WebAssembly vector of Z-values in the DataSeries
58
58
  */
59
- getNativeZValues(): DoubleVector;
59
+ getNativeZValues(): SCRTDoubleVector;
60
60
  /**
61
61
  * Appends a single X, Y, Z point to the DataSeries
62
62
  * @remarks
@@ -19,7 +19,7 @@ exports.XyzDataSeries = void 0;
19
19
  var Deleter_1 = require("../../Core/Deleter");
20
20
  var Guard_1 = require("../../Core/Guard");
21
21
  var NumberArray_1 = require("../../types/NumberArray");
22
- var fillDoubleVectorFromJsArray_1 = require("../../utils/ccall/fillDoubleVectorFromJsArray");
22
+ var appendDoubleVectorFromJsArray_1 = require("../../utils/ccall/appendDoubleVectorFromJsArray");
23
23
  var animationHelpers_1 = require("../Visuals/RenderableSeries/Animations/animationHelpers");
24
24
  var BaseDataSeries_1 = require("./BaseDataSeries");
25
25
  var IDataSeries_1 = require("./IDataSeries");
@@ -48,9 +48,9 @@ var XyzDataSeries = /** @class */ (function (_super) {
48
48
  var _this = _super.call(this, webAssemblyContext, options) || this;
49
49
  /** @inheritDoc */
50
50
  _this.type = IDataSeries_1.EDataSeriesType.Xyz;
51
- _this.zValues = new webAssemblyContext.DoubleVector();
52
- _this.zInitialAnimationValues = new webAssemblyContext.DoubleVector();
53
- _this.zFinalAnimationValues = new webAssemblyContext.DoubleVector();
51
+ _this.zValues = new webAssemblyContext.SCRTDoubleVector();
52
+ _this.zInitialAnimationValues = new webAssemblyContext.SCRTDoubleVector();
53
+ _this.zFinalAnimationValues = new webAssemblyContext.SCRTDoubleVector();
54
54
  if (options === null || options === void 0 ? void 0 : options.xValues) {
55
55
  Guard_1.Guard.notNull(options.yValues, "options.yValues");
56
56
  Guard_1.Guard.notNull(options.zValues, "options.zValues");
@@ -77,9 +77,11 @@ var XyzDataSeries = /** @class */ (function (_super) {
77
77
  */
78
78
  XyzDataSeries.prototype.append = function (x, y, z, metadata) {
79
79
  if (!this.getIsDeleted()) {
80
+ var nativeX = this.getNativeXValues();
81
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, [x], [y]);
80
82
  // Push metadata should be done before push x values
81
83
  this.appendMetadata(metadata);
82
- this.getNativeXValues().push_back(x);
84
+ nativeX.push_back(x);
83
85
  this.getNativeYValues().push_back(y);
84
86
  this.getNativeZValues().push_back(z);
85
87
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, 1);
@@ -110,14 +112,15 @@ var XyzDataSeries = /** @class */ (function (_super) {
110
112
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
111
113
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
112
114
  }
113
- // Push metadata should be done before push x values
114
- this.appendMetadataRange(metadata, xValues.length);
115
115
  var nativeX = this.getNativeXValues();
116
116
  var nativeY = this.getNativeYValues();
117
117
  var nativeZ = this.getNativeZValues();
118
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
119
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
120
- (0, fillDoubleVectorFromJsArray_1.fillDoubleVectorFromJsArray)(this.webAssemblyContext, nativeZ, zValues);
118
+ this.dataDistributionCalculator.onAppend(this.isSorted, this.containsNaN, nativeX, xValues, yValues);
119
+ // Push metadata should be done before push x values
120
+ this.appendMetadataRange(metadata, xValues.length);
121
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeX, xValues);
122
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeY, yValues);
123
+ (0, appendDoubleVectorFromJsArray_1.appendDoubleVectorFromJsArray)(this.webAssemblyContext, nativeZ, zValues);
121
124
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Append, null, xValues.length);
122
125
  }
123
126
  };
@@ -132,6 +135,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
132
135
  XyzDataSeries.prototype.update = function (index, y, z, metadata) {
133
136
  if (!this.getIsDeleted()) {
134
137
  this.validateIndex(index);
138
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, undefined, undefined, [y], index);
135
139
  this.getNativeYValues().set(index, y);
136
140
  this.getNativeZValues().set(index, z);
137
141
  this.setMetadataAt(index, metadata);
@@ -149,7 +153,10 @@ var XyzDataSeries = /** @class */ (function (_super) {
149
153
  */
150
154
  XyzDataSeries.prototype.updateXyz = function (index, x, y, z, metadata) {
151
155
  if (!this.getIsDeleted()) {
152
- this.getNativeXValues().set(index, x);
156
+ this.validateIndex(index);
157
+ var nativeX = this.getNativeXValues();
158
+ this.dataDistributionCalculator.onUpdate(this.isSorted, this.containsNaN, nativeX, [x], [y], index);
159
+ nativeX.set(index, x);
153
160
  this.getNativeYValues().set(index, y);
154
161
  this.getNativeZValues().set(index, z);
155
162
  this.setMetadataAt(index, metadata);
@@ -174,6 +181,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
174
181
  var nativeX = this.getNativeXValues();
175
182
  var nativeY = this.getNativeYValues();
176
183
  var nativeZ = this.getNativeZValues();
184
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, [x], [y], startIndex);
177
185
  nativeX.insertAt(startIndex, x);
178
186
  nativeY.insertAt(startIndex, y);
179
187
  nativeZ.insertAt(startIndex, z);
@@ -206,16 +214,11 @@ var XyzDataSeries = /** @class */ (function (_super) {
206
214
  Guard_1.Guard.isTrue(Array.isArray(metadata), "metadata must be an array of IPointMetadata");
207
215
  Guard_1.Guard.arraysSameLength(xValues, "xValues", metadata, "metadata");
208
216
  }
209
- var rangeLength = xValues.length;
210
217
  var nativeX = this.getNativeXValues();
211
- var nativeY = this.getNativeYValues();
212
- var nativeZ = this.getNativeZValues();
213
- var tempStartIndex = startIndex;
214
- for (var i = 0; i < rangeLength; i++, tempStartIndex++) {
215
- nativeX.insertAt(tempStartIndex, xValues[i]);
216
- nativeY.insertAt(tempStartIndex, yValues[i]);
217
- nativeZ.insertAt(tempStartIndex, zValues[i]);
218
- }
218
+ this.dataDistributionCalculator.onInsert(this.isSorted, this.containsNaN, nativeX, xValues, yValues, startIndex);
219
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, xValues, nativeX, startIndex);
220
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, yValues, this.getNativeYValues(), startIndex);
221
+ (0, appendDoubleVectorFromJsArray_1.insertDoubleVectorFromJsArray)(this.webAssemblyContext, zValues, this.getNativeZValues(), startIndex);
219
222
  this.insertMetadataRange(startIndex, metadata);
220
223
  this.notifyDataChanged(IDataSeries_1.EDataChangeType.Insert, startIndex, xValues.length);
221
224
  }
@@ -261,7 +264,7 @@ var XyzDataSeries = /** @class */ (function (_super) {
261
264
  */
262
265
  XyzDataSeries.prototype.clear = function () {
263
266
  if (!this.getIsDeleted()) {
264
- this.getNativeIndexes().clear();
267
+ _super.prototype.clear.call(this);
265
268
  this.getNativeXValues().clear();
266
269
  this.getNativeYValues().clear();
267
270
  this.getNativeZValues().clear();
@@ -1,4 +1,4 @@
1
- import { DoubleVector, TSciChart } from "../../../types/TSciChart";
1
+ import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
2
2
  import { CoordinateCalculatorBase } from "./CoordinateCalculatorBase";
3
3
  /**
4
4
  * Provides an implementation of Numeric {@link CoordinateCalculatorBase | Coordinate Calculator} which transforms
@@ -34,7 +34,7 @@ export declare class CategoryCoordinateCalculator extends CoordinateCalculatorBa
34
34
  /**
35
35
  * The primary chart series X-values, required for category calculations and interpolation / extrapolation
36
36
  */
37
- baseXValues: DoubleVector;
37
+ baseXValues: SCRTDoubleVector;
38
38
  /**
39
39
  * Creates an instance of CategoryCoordinateCalculator
40
40
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
@@ -1,4 +1,4 @@
1
- import { DoubleVector, TSciChart } from "../../../types/TSciChart";
1
+ import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart";
2
2
  import { CoordinateCalculatorBase } from "./CoordinateCalculatorBase";
3
3
  /**
4
4
  * Provides an implementation of Numeric {@link CoordinateCalculatorBase | Coordinate Calculator} which transforms
@@ -35,7 +35,7 @@ export declare class FlippedCategoryCoordinateCalculator extends CoordinateCalcu
35
35
  /**
36
36
  * The primary chart series X-values, required for category calculations and interpolation / extrapolation
37
37
  */
38
- baseXValues: DoubleVector;
38
+ baseXValues: SCRTDoubleVector;
39
39
  /**
40
40
  * Creates an instance of FlippedCategoryCoordinateCalculator
41
41
  * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart2D | SciChart 2D WebAssembly Context}
@@ -32,6 +32,7 @@ export declare class FlippedNumericCoordinateCalculator extends CoordinateCalcul
32
32
  * @param visibleMin The {@link AxisCore.visibleRange}.min at the time of drawing
33
33
  * @param visibleMax The {@link AxisCore.visibleRange}.max at the time of drawing
34
34
  * @param offset A constant pixel offset used in coordinate calculations
35
+ * @param allowFastMath When true, calculate using 32-bit floating point values (faster, but less accurate)
35
36
  */
36
- constructor(webAssemblyContext: TSciChart | TSciChart3D, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number);
37
+ constructor(webAssemblyContext: TSciChart | TSciChart3D, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number, allowFastMath?: boolean);
37
38
  }
@@ -49,11 +49,15 @@ var FlippedNumericCoordinateCalculator = /** @class */ (function (_super) {
49
49
  * @param visibleMin The {@link AxisCore.visibleRange}.min at the time of drawing
50
50
  * @param visibleMax The {@link AxisCore.visibleRange}.max at the time of drawing
51
51
  * @param offset A constant pixel offset used in coordinate calculations
52
+ * @param allowFastMath When true, calculate using 32-bit floating point values (faster, but less accurate)
52
53
  */
53
- function FlippedNumericCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset) {
54
+ function FlippedNumericCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, allowFastMath) {
54
55
  if (offset === void 0) { offset = 0; }
56
+ if (allowFastMath === void 0) { allowFastMath = false; }
55
57
  var _this = _super.call(this, webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, true) || this;
56
- _this.nativeCalculator = new webAssemblyContext.FlippedLinearCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset);
58
+ _this.nativeCalculator = allowFastMath
59
+ ? new webAssemblyContext.FlippedLinearCoordinateCalculatorSingle(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset)
60
+ : new webAssemblyContext.FlippedLinearCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset);
57
61
  return _this;
58
62
  }
59
63
  return FlippedNumericCoordinateCalculator;
@@ -31,6 +31,7 @@ export declare class NumericCoordinateCalculator extends CoordinateCalculatorBas
31
31
  * @param visibleMin The {@link AxisCore.visibleRange}.min at the time of drawing
32
32
  * @param visibleMax The {@link AxisCore.visibleRange}.max at the time of drawing
33
33
  * @param offset A constant pixel offset used in coordinate calculations
34
+ * @param allowFastMath When true, calculate using 32-bit floating point values (faster, but less accurate)
34
35
  */
35
- constructor(webAssemblyContext: TSciChart | TSciChart3D, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number);
36
+ constructor(webAssemblyContext: TSciChart | TSciChart3D, viewportDimension: number, visibleMin: number, visibleMax: number, offset?: number, allowFastMath?: boolean);
36
37
  }
@@ -48,11 +48,15 @@ var NumericCoordinateCalculator = /** @class */ (function (_super) {
48
48
  * @param visibleMin The {@link AxisCore.visibleRange}.min at the time of drawing
49
49
  * @param visibleMax The {@link AxisCore.visibleRange}.max at the time of drawing
50
50
  * @param offset A constant pixel offset used in coordinate calculations
51
+ * @param allowFastMath When true, calculate using 32-bit floating point values (faster, but less accurate)
51
52
  */
52
- function NumericCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset) {
53
+ function NumericCoordinateCalculator(webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, allowFastMath) {
53
54
  if (offset === void 0) { offset = 0; }
55
+ if (allowFastMath === void 0) { allowFastMath = false; }
54
56
  var _this = _super.call(this, webAssemblyContext, viewportDimension, visibleMin, visibleMax, offset, false) || this;
55
- _this.nativeCalculator = new webAssemblyContext.LinearCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset);
57
+ _this.nativeCalculator = allowFastMath
58
+ ? new webAssemblyContext.LinearCoordinateCalculatorSingle(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset)
59
+ : new webAssemblyContext.LinearCoordinateCalculatorDouble(_this.viewportDimension, _this.visibleMin, _this.visibleMax, -1, _this.offset);
56
60
  return _this;
57
61
  }
58
62
  return NumericCoordinateCalculator;