scichart 2.2.2416 → 2.2.2417

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.
@@ -20,4 +20,6 @@ export interface ISpline {
20
20
  * Updates spline values
21
21
  */
22
22
  updateSplineValues(): void;
23
+ /** Called if the spline cannot be calculated. By default it falls back to the original data */
24
+ onSplineFailure(): void;
23
25
  }
@@ -43,6 +43,8 @@ export declare class SplineBandRenderableSeries extends BaseBandRenderableSeries
43
43
  xSplineValues: SCRTDoubleVector;
44
44
  ySplineValues: SCRTDoubleVector;
45
45
  y1SplineValues: SCRTDoubleVector;
46
+ warnOnSplineFailure: boolean;
47
+ protected isSplineProperty: boolean;
46
48
  private recalculateSpline;
47
49
  private interpolationPointsProperty;
48
50
  /**
@@ -52,6 +54,7 @@ export declare class SplineBandRenderableSeries extends BaseBandRenderableSeries
52
54
  * @param options optional parameters of type {@link ISplineBandRenderableSeriesOptions} applied when constructing the series type
53
55
  */
54
56
  constructor(webAssemblyContext: TSciChart, options?: ISplineBandRenderableSeriesOptions);
57
+ get isSpline(): boolean;
55
58
  /**
56
59
  * Gets or sets the interpolationPoints being used for the Spline
57
60
  */
@@ -67,6 +70,8 @@ export declare class SplineBandRenderableSeries extends BaseBandRenderableSeries
67
70
  */
68
71
  updateSplineValues(): void;
69
72
  /** @inheritDoc */
73
+ onSplineFailure(): void;
74
+ /** @inheritDoc */
70
75
  getYRange(xVisibleRange: NumberRange, isXCategoryAxis?: boolean): NumberRange;
71
76
  /** @inheritDoc */
72
77
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineBandRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
- var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
+ var copyVector_1 = require("../../../utils/copyVector");
22
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
23
23
  var BaseBandRenderableSeries_1 = require("./BaseBandRenderableSeries");
24
24
  var constants_1 = require("./constants");
@@ -57,6 +57,8 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
57
57
  var _a, _b, _c;
58
58
  var _this = _super.call(this, webAssemblyContext, options) || this;
59
59
  _this.type = SeriesType_1.ESeriesType.SplineBandSeries;
60
+ _this.warnOnSplineFailure = true;
61
+ _this.isSplineProperty = true;
60
62
  _this.recalculateSpline = true;
61
63
  _this.interpolationPointsProperty = 10;
62
64
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -69,6 +71,13 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
69
71
  }
70
72
  return _this;
71
73
  }
74
+ Object.defineProperty(SplineBandRenderableSeries.prototype, "isSpline", {
75
+ get: function () {
76
+ return this.isSplineProperty;
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
72
81
  Object.defineProperty(SplineBandRenderableSeries.prototype, "interpolationPoints", {
73
82
  /**
74
83
  * Gets or sets the interpolationPoints being used for the Spline
@@ -100,20 +109,15 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
100
109
  if (!(this.dataSeries && this.recalculateSpline && this.parentSurface)) {
101
110
  return;
102
111
  }
112
+ this.isSplineProperty = true;
103
113
  var dataSeries = this.dataSeries;
104
114
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
105
115
  var yValues = dataSeries.getNativeYValues();
106
116
  var y1Values = dataSeries.getNativeY1Values();
107
117
  var initialSize = xValues.size();
108
118
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
109
- if (yValues.get(0) !== this.ySplineValues.get(0)) {
110
- console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
111
- this.xSplineValues.resizeFast(initialSize);
112
- this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
113
- this.ySplineValues.resizeFast(initialSize);
114
- this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
115
- this.y1SplineValues.resizeFast(initialSize);
116
- this.webAssemblyContext.SCRTMemCopy(this.y1SplineValues.dataPtr(0), dataSeries.getNativeY1Values().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
119
+ if (isNaN(this.ySplineValues.get(0))) {
120
+ this.onSplineFailure();
117
121
  }
118
122
  else {
119
123
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, y1Values, this.xSplineValues, this.y1SplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
@@ -121,6 +125,20 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
121
125
  this.recalculateSpline = false;
122
126
  };
123
127
  /** @inheritDoc */
128
+ SplineBandRenderableSeries.prototype.onSplineFailure = function () {
129
+ if (this.warnOnSplineFailure) {
130
+ console.warn("Could not calculate spline values. X data may contain duplicates. Falling back to original values.\nTo disable this warning set warnOnSplineFailure = false. To change this behaviour, override onSplineFailure");
131
+ }
132
+ var xValues = this.xAxis.isCategoryAxis
133
+ ? this.dataSeries.getNativeIndexes()
134
+ : this.dataSeries.getNativeXValues();
135
+ (0, copyVector_1.copyDoubleVector)(xValues, this.xSplineValues, this.webAssemblyContext);
136
+ (0, copyVector_1.copyDoubleVector)(this.dataSeries.getNativeYValues(), this.ySplineValues, this.webAssemblyContext);
137
+ (0, copyVector_1.copyDoubleVector)(this.dataSeries.getNativeY1Values(), this.y1SplineValues, this.webAssemblyContext);
138
+ // This tells the drawing providers not to treat the data as interpolated
139
+ this.isSplineProperty = false;
140
+ };
141
+ /** @inheritDoc */
124
142
  SplineBandRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
125
143
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
126
144
  return this.dataSeries.getWindowedYRange(xVisibleRange, true, isXCategoryAxis);
@@ -39,6 +39,8 @@ export declare class SplineLineRenderableSeries extends BaseLineRenderableSeries
39
39
  readonly type = ESeriesType.SplineLineSeries;
40
40
  xSplineValues: SCRTDoubleVector;
41
41
  ySplineValues: SCRTDoubleVector;
42
+ warnOnSplineFailure: boolean;
43
+ protected isSplineProperty: boolean;
42
44
  private interpolationPointsProperty;
43
45
  private recalculateSpline;
44
46
  /**
@@ -48,6 +50,7 @@ export declare class SplineLineRenderableSeries extends BaseLineRenderableSeries
48
50
  * @param options optional parameters of type {@link ISplineLineRenderableSeriesOptions} applied when constructing the series type
49
51
  */
50
52
  constructor(webAssemblyContext: TSciChart, options?: ISplineLineRenderableSeriesOptions);
53
+ get isSpline(): boolean;
51
54
  /**
52
55
  * Gets or sets the interpolationPoints being used for the Spline
53
56
  */
@@ -63,6 +66,8 @@ export declare class SplineLineRenderableSeries extends BaseLineRenderableSeries
63
66
  */
64
67
  updateSplineValues(): void;
65
68
  /** @inheritDoc */
69
+ onSplineFailure(): void;
70
+ /** @inheritDoc */
66
71
  getYRange(xVisibleRange: NumberRange, isXCategoryAxis?: boolean): NumberRange;
67
72
  /** @inheritDoc */
68
73
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineLineRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
- var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
+ var copyVector_1 = require("../../../utils/copyVector");
22
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
23
23
  var BaseLineRenderableSeries_1 = require("./BaseLineRenderableSeries");
24
24
  var constants_1 = require("./constants");
@@ -55,6 +55,8 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
55
55
  var _a, _b, _c;
56
56
  var _this = _super.call(this, webAssemblyContext, options) || this;
57
57
  _this.type = SeriesType_1.ESeriesType.SplineLineSeries;
58
+ _this.warnOnSplineFailure = true;
59
+ _this.isSplineProperty = true;
58
60
  _this.interpolationPointsProperty = 10;
59
61
  _this.recalculateSpline = true;
60
62
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -66,6 +68,13 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
66
68
  }
67
69
  return _this;
68
70
  }
71
+ Object.defineProperty(SplineLineRenderableSeries.prototype, "isSpline", {
72
+ get: function () {
73
+ return this.isSplineProperty;
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
69
78
  Object.defineProperty(SplineLineRenderableSeries.prototype, "interpolationPoints", {
70
79
  /**
71
80
  * Gets or sets the interpolationPoints being used for the Spline
@@ -96,21 +105,31 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
96
105
  if (!this.dataSeries || !this.recalculateSpline || !this.parentSurface) {
97
106
  return;
98
107
  }
108
+ this.isSplineProperty = true;
99
109
  var dataSeries = this.dataSeries;
100
110
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
101
111
  var yValues = dataSeries.getNativeYValues();
102
112
  var initialSize = xValues.size();
103
113
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
104
- if (yValues.get(0) !== this.ySplineValues.get(0)) {
105
- console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
106
- this.xSplineValues.resizeFast(initialSize);
107
- this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
108
- this.ySplineValues.resizeFast(initialSize);
109
- this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
114
+ if (isNaN(this.ySplineValues.get(0))) {
115
+ this.onSplineFailure();
110
116
  }
111
117
  this.recalculateSpline = false;
112
118
  };
113
119
  /** @inheritDoc */
120
+ SplineLineRenderableSeries.prototype.onSplineFailure = function () {
121
+ if (this.warnOnSplineFailure) {
122
+ console.warn("Could not calculate spline values. X data may contain duplicates. Falling back to original values.\nTo disable this warning set warnOnSplineFailure = false. To change this behaviour, override onSplineFailure");
123
+ }
124
+ var xValues = this.xAxis.isCategoryAxis
125
+ ? this.dataSeries.getNativeIndexes()
126
+ : this.dataSeries.getNativeXValues();
127
+ (0, copyVector_1.copyDoubleVector)(xValues, this.xSplineValues, this.webAssemblyContext);
128
+ (0, copyVector_1.copyDoubleVector)(this.dataSeries.getNativeYValues(), this.ySplineValues, this.webAssemblyContext);
129
+ // This tells the drawing providers not to treat the data as interpolated
130
+ this.isSplineProperty = false;
131
+ };
132
+ /** @inheritDoc */
114
133
  SplineLineRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
115
134
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
116
135
  return this.dataSeries.getWindowedYRange(xVisibleRange, true, isXCategoryAxis);
@@ -40,6 +40,8 @@ export declare class SplineMountainRenderableSeries extends BaseMountainRenderab
40
40
  readonly type = ESeriesType.SplineMountainSeries;
41
41
  xSplineValues: SCRTDoubleVector;
42
42
  ySplineValues: SCRTDoubleVector;
43
+ warnOnSplineFailure: boolean;
44
+ protected isSplineProperty: boolean;
43
45
  private recalculateSpline;
44
46
  private interpolationPointsProperty;
45
47
  /**
@@ -49,6 +51,7 @@ export declare class SplineMountainRenderableSeries extends BaseMountainRenderab
49
51
  * @param options optional parameters of type {@link ISplineMountainRenderableSeriesOptions} applied when constructing the series type
50
52
  */
51
53
  constructor(webAssemblyContext: TSciChart, options?: ISplineMountainRenderableSeriesOptions);
54
+ get isSpline(): boolean;
52
55
  /**
53
56
  * Gets or sets the interpolationPoints being used for the Spline
54
57
  */
@@ -64,6 +67,8 @@ export declare class SplineMountainRenderableSeries extends BaseMountainRenderab
64
67
  */
65
68
  updateSplineValues(): void;
66
69
  /** @inheritDoc */
70
+ onSplineFailure(): void;
71
+ /** @inheritDoc */
67
72
  getYRange(xVisibleRange: NumberRange, isXCategoryAxis?: boolean): NumberRange;
68
73
  /** @inheritDoc */
69
74
  toJSON(excludeData?: boolean): import("../../../Builder/buildSeries").TSeriesDefinition;
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SplineMountainRenderableSeries = void 0;
19
19
  var Deleter_1 = require("../../../Core/Deleter");
20
20
  var SeriesType_1 = require("../../../types/SeriesType");
21
- var appendDoubleVectorFromJsArray_1 = require("../../../utils/ccall/appendDoubleVectorFromJsArray");
21
+ var copyVector_1 = require("../../../utils/copyVector");
22
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
23
23
  var BaseMountainRenderableSeries_1 = require("./BaseMountainRenderableSeries");
24
24
  var constants_1 = require("./constants");
@@ -55,6 +55,8 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
55
55
  var _a, _b, _c;
56
56
  var _this = _super.call(this, webAssemblyContext, options) || this;
57
57
  _this.type = SeriesType_1.ESeriesType.SplineMountainSeries;
58
+ _this.warnOnSplineFailure = true;
59
+ _this.isSplineProperty = true;
58
60
  _this.recalculateSpline = true;
59
61
  _this.interpolationPointsProperty = 10;
60
62
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -66,6 +68,13 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
66
68
  }
67
69
  return _this;
68
70
  }
71
+ Object.defineProperty(SplineMountainRenderableSeries.prototype, "isSpline", {
72
+ get: function () {
73
+ return this.isSplineProperty;
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
69
78
  Object.defineProperty(SplineMountainRenderableSeries.prototype, "interpolationPoints", {
70
79
  /**
71
80
  * Gets or sets the interpolationPoints being used for the Spline
@@ -96,21 +105,31 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
96
105
  if (!(this.dataSeries && this.recalculateSpline && this.parentSurface)) {
97
106
  return;
98
107
  }
108
+ this.isSplineProperty = true;
99
109
  var dataSeries = this.dataSeries;
100
110
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
101
111
  var yValues = dataSeries.getNativeYValues();
102
112
  var initialSize = xValues.size();
103
113
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
104
- if (yValues.get(0) !== this.ySplineValues.get(0)) {
105
- console.warn("Spline interpolation could not be calculated. Data may contain duplicate x values");
106
- this.xSplineValues.resizeFast(initialSize);
107
- this.webAssemblyContext.SCRTMemCopy(this.xSplineValues.dataPtr(0), dataSeries.getNativeXValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
108
- this.ySplineValues.resizeFast(initialSize);
109
- this.webAssemblyContext.SCRTMemCopy(this.ySplineValues.dataPtr(0), dataSeries.getNativeYValues().dataPtr(0), initialSize * appendDoubleVectorFromJsArray_1.SIZEOF_NUMBER);
114
+ if (isNaN(this.ySplineValues.get(0))) {
115
+ this.onSplineFailure();
110
116
  }
111
117
  this.recalculateSpline = false;
112
118
  };
113
119
  /** @inheritDoc */
120
+ SplineMountainRenderableSeries.prototype.onSplineFailure = function () {
121
+ if (this.warnOnSplineFailure) {
122
+ console.warn("Could not calculate spline values. X data may contain duplicates. Falling back to original values.\nTo disable this warning set warnOnSplineFailure = false. To change this behaviour, override onSplineFailure");
123
+ }
124
+ var xValues = this.xAxis.isCategoryAxis
125
+ ? this.dataSeries.getNativeIndexes()
126
+ : this.dataSeries.getNativeXValues();
127
+ (0, copyVector_1.copyDoubleVector)(xValues, this.xSplineValues, this.webAssemblyContext);
128
+ (0, copyVector_1.copyDoubleVector)(this.dataSeries.getNativeYValues(), this.ySplineValues, this.webAssemblyContext);
129
+ // This tells the drawing providers not to treat the data as interpolated
130
+ this.isSplineProperty = false;
131
+ };
132
+ /** @inheritDoc */
114
133
  SplineMountainRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
115
134
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
116
135
  return this.dataSeries.getWindowedYRange(xVisibleRange, true, isXCategoryAxis);
@@ -1,4 +1,4 @@
1
1
  import { TSciChart } from "../types/TSciChart";
2
2
  import { TSciChart3D } from "../types/TSciChart3D";
3
- export declare const libraryVersion = "2.2.2416";
3
+ export declare const libraryVersion = "2.2.2417";
4
4
  export declare const checkBuildStamp: (wasmContext: TSciChart | TSciChart3D) => boolean;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkBuildStamp = exports.libraryVersion = void 0;
4
- var buildStamp = "2022-11-30T00:00:00";
4
+ var buildStamp = "2022-12-02T00:00:00";
5
5
  var result;
6
6
  // tslint:disable-next-line:no-var-requires
7
- exports.libraryVersion = "2.2.2416";
7
+ exports.libraryVersion = "2.2.2417";
8
8
  var checkBuildStamp = function (wasmContext) {
9
9
  if (result !== undefined)
10
10
  return result;