scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
78 lines (77 loc) • 4.49 kB
JavaScript
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.PolarInterpolateBandRenderDataTransform = void 0;
var Deleter_1 = require("../../../../Core/Deleter");
var NumberRange_1 = require("../../../../Core/NumberRange");
var WebGlRenderContext2D_1 = require("../../../Drawing/WebGlRenderContext2D");
var XyyPointSeriesResampled_1 = require("../../../Model/PointSeries/XyyPointSeriesResampled");
var BaseRenderDataTransform_1 = require("./BaseRenderDataTransform");
var PolarInterpolateBandRenderDataTransform = /** @class */ (function (_super) {
__extends(PolarInterpolateBandRenderDataTransform, _super);
function PolarInterpolateBandRenderDataTransform() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.pointsForWholeCircle = 360;
return _this;
}
PolarInterpolateBandRenderDataTransform.prototype.runTransform = function (renderPassData) {
var _a;
var interpolateLine = (_a = this.parentSeries.interpolateLine) !== null && _a !== void 0 ? _a : false;
var closeNanGaps = this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.PolyLine;
var diff = this.parentSeries.xAxis.visibleRange.diff;
if (interpolateLine !== this.prevInterpolateLine ||
this.prevDiff !== diff ||
closeNanGaps !== this.prevCloseNanGaps) {
this.requiresTransform = true;
this.prevInterpolateLine = interpolateLine;
this.prevDiff = diff;
this.prevCloseNanGaps = closeNanGaps;
}
return _super.prototype.runTransform.call(this, renderPassData);
};
PolarInterpolateBandRenderDataTransform.prototype.createPointSeries = function () {
var ps = new XyyPointSeriesResampled_1.XyyPointSeriesResampled(this.wasmContext, new NumberRange_1.NumberRange(0, 0));
this.inParams = new this.wasmContext.SCRTPolarInterpolationParams();
this.outParams = new this.wasmContext.SCRTPolarInterpolationParams();
this.outParams.SetIndexes(ps.indexes);
this.outParams.SetX(ps.xValues);
this.outParams.SetY(ps.yValues);
this.outParams.SetY1(ps.y1Values);
return ps;
};
PolarInterpolateBandRenderDataTransform.prototype.runTransformInternal = function (renderPassData) {
var _a;
var interpolateLine = (_a = this.parentSeries.interpolateLine) !== null && _a !== void 0 ? _a : false;
if (!interpolateLine) {
return renderPassData.pointSeries;
}
this.inParams.Reset();
this.inParams.SetIndexes(renderPassData.pointSeries.indexes);
this.inParams.SetX(renderPassData.pointSeries.xValues);
this.inParams.SetY(renderPassData.pointSeries.yValues);
this.inParams.SetY1(renderPassData.pointSeries.y1Values);
this.wasmContext.SCRTInterpolatePolarBand(this.inParams, this.outParams, this.parentSeries.yAxis.getCurrentCoordinateCalculator().nativeCalculator, this.parentSeries.xAxis.visibleRange.diff, this.pointsForWholeCircle, this.parentSeries.drawNaNAs === WebGlRenderContext2D_1.ELineDrawMode.PolyLine);
return this.pointSeries;
};
PolarInterpolateBandRenderDataTransform.prototype.delete = function () {
this.inParams = (0, Deleter_1.deleteSafe)(this.inParams);
this.outParams = (0, Deleter_1.deleteSafe)(this.outParams);
_super.prototype.delete.call(this);
};
return PolarInterpolateBandRenderDataTransform;
}(BaseRenderDataTransform_1.BaseRenderDataTransform));
exports.PolarInterpolateBandRenderDataTransform = PolarInterpolateBandRenderDataTransform;