scichart 2.2.2415 → 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,6 +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 copyVector_1 = require("../../../utils/copyVector");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseBandRenderableSeries_1 = require("./BaseBandRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -56,6 +57,8 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
56
57
  var _a, _b, _c;
57
58
  var _this = _super.call(this, webAssemblyContext, options) || this;
58
59
  _this.type = SeriesType_1.ESeriesType.SplineBandSeries;
60
+ _this.warnOnSplineFailure = true;
61
+ _this.isSplineProperty = true;
59
62
  _this.recalculateSpline = true;
60
63
  _this.interpolationPointsProperty = 10;
61
64
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -68,6 +71,13 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
68
71
  }
69
72
  return _this;
70
73
  }
74
+ Object.defineProperty(SplineBandRenderableSeries.prototype, "isSpline", {
75
+ get: function () {
76
+ return this.isSplineProperty;
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
71
81
  Object.defineProperty(SplineBandRenderableSeries.prototype, "interpolationPoints", {
72
82
  /**
73
83
  * Gets or sets the interpolationPoints being used for the Spline
@@ -99,16 +109,36 @@ var SplineBandRenderableSeries = /** @class */ (function (_super) {
99
109
  if (!(this.dataSeries && this.recalculateSpline && this.parentSurface)) {
100
110
  return;
101
111
  }
112
+ this.isSplineProperty = true;
102
113
  var dataSeries = this.dataSeries;
103
114
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
104
115
  var yValues = dataSeries.getNativeYValues();
105
116
  var y1Values = dataSeries.getNativeY1Values();
106
117
  var initialSize = xValues.size();
107
118
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
108
- this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, y1Values, this.xSplineValues, this.y1SplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
119
+ if (isNaN(this.ySplineValues.get(0))) {
120
+ this.onSplineFailure();
121
+ }
122
+ else {
123
+ this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, y1Values, this.xSplineValues, this.y1SplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
124
+ }
109
125
  this.recalculateSpline = false;
110
126
  };
111
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 */
112
142
  SplineBandRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
113
143
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
114
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,6 +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 copyVector_1 = require("../../../utils/copyVector");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseLineRenderableSeries_1 = require("./BaseLineRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -54,6 +55,8 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
54
55
  var _a, _b, _c;
55
56
  var _this = _super.call(this, webAssemblyContext, options) || this;
56
57
  _this.type = SeriesType_1.ESeriesType.SplineLineSeries;
58
+ _this.warnOnSplineFailure = true;
59
+ _this.isSplineProperty = true;
57
60
  _this.interpolationPointsProperty = 10;
58
61
  _this.recalculateSpline = true;
59
62
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -65,6 +68,13 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
65
68
  }
66
69
  return _this;
67
70
  }
71
+ Object.defineProperty(SplineLineRenderableSeries.prototype, "isSpline", {
72
+ get: function () {
73
+ return this.isSplineProperty;
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
68
78
  Object.defineProperty(SplineLineRenderableSeries.prototype, "interpolationPoints", {
69
79
  /**
70
80
  * Gets or sets the interpolationPoints being used for the Spline
@@ -95,14 +105,31 @@ var SplineLineRenderableSeries = /** @class */ (function (_super) {
95
105
  if (!this.dataSeries || !this.recalculateSpline || !this.parentSurface) {
96
106
  return;
97
107
  }
108
+ this.isSplineProperty = true;
98
109
  var dataSeries = this.dataSeries;
99
110
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
100
111
  var yValues = dataSeries.getNativeYValues();
101
112
  var initialSize = xValues.size();
102
113
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
114
+ if (isNaN(this.ySplineValues.get(0))) {
115
+ this.onSplineFailure();
116
+ }
103
117
  this.recalculateSpline = false;
104
118
  };
105
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 */
106
133
  SplineLineRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
107
134
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
108
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,6 +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 copyVector_1 = require("../../../utils/copyVector");
21
22
  var animationHelpers_1 = require("./Animations/animationHelpers");
22
23
  var BaseMountainRenderableSeries_1 = require("./BaseMountainRenderableSeries");
23
24
  var constants_1 = require("./constants");
@@ -54,6 +55,8 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
54
55
  var _a, _b, _c;
55
56
  var _this = _super.call(this, webAssemblyContext, options) || this;
56
57
  _this.type = SeriesType_1.ESeriesType.SplineMountainSeries;
58
+ _this.warnOnSplineFailure = true;
59
+ _this.isSplineProperty = true;
57
60
  _this.recalculateSpline = true;
58
61
  _this.interpolationPointsProperty = 10;
59
62
  _this.xSplineValues = new webAssemblyContext.SCRTDoubleVector();
@@ -65,6 +68,13 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
65
68
  }
66
69
  return _this;
67
70
  }
71
+ Object.defineProperty(SplineMountainRenderableSeries.prototype, "isSpline", {
72
+ get: function () {
73
+ return this.isSplineProperty;
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
68
78
  Object.defineProperty(SplineMountainRenderableSeries.prototype, "interpolationPoints", {
69
79
  /**
70
80
  * Gets or sets the interpolationPoints being used for the Spline
@@ -95,14 +105,31 @@ var SplineMountainRenderableSeries = /** @class */ (function (_super) {
95
105
  if (!(this.dataSeries && this.recalculateSpline && this.parentSurface)) {
96
106
  return;
97
107
  }
108
+ this.isSplineProperty = true;
98
109
  var dataSeries = this.dataSeries;
99
110
  var xValues = this.xAxis.isCategoryAxis ? dataSeries.getNativeIndexes() : dataSeries.getNativeXValues();
100
111
  var yValues = dataSeries.getNativeYValues();
101
112
  var initialSize = xValues.size();
102
113
  this.webAssemblyContext.SCRTSplineHelperCubicSpline(xValues, yValues, this.xSplineValues, this.ySplineValues, initialSize, this.interpolationPoints, dataSeries.dataDistributionCalculator.containsNaN);
114
+ if (isNaN(this.ySplineValues.get(0))) {
115
+ this.onSplineFailure();
116
+ }
103
117
  this.recalculateSpline = false;
104
118
  };
105
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 */
106
133
  SplineMountainRenderableSeries.prototype.getYRange = function (xVisibleRange, isXCategoryAxis) {
107
134
  if (isXCategoryAxis === void 0) { isXCategoryAxis = false; }
108
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.2415";
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-09-15T00: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.2415";
7
+ exports.libraryVersion = "2.2.2417";
8
8
  var checkBuildStamp = function (wasmContext) {
9
9
  if (result !== undefined)
10
10
  return result;