UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

260 lines (259 loc) 8.41 kB
/* THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE: https://www.infragistics.com/legal/license/igultimate-la https://www.infragistics.com/legal/license/igultimate-eula GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company. */ import { __extends, __values } from "tslib"; import { Base, Number_$type, Point_$type, fromEnum, markType, getEnumerator } from "igniteui-angular-core"; import { Rect } from "igniteui-angular-core"; import { Clipper } from "igniteui-angular-core"; import { AngleRadiusPair } from "./AngleRadiusPair"; import { List$1 } from "igniteui-angular-core"; import { ViewportUtils } from "./ViewportUtils"; import { SpiralFlattener } from "igniteui-angular-core"; import { isNaN_, isInfinity } from "igniteui-angular-core"; /** * @hidden */ var PolarLinePlanner = /** @class */ /*@__PURE__*/ (function (_super) { __extends(PolarLinePlanner, _super); function PolarLinePlanner() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.f = false; _this.b = 0; _this.m = null; _this.n = null; _this.o = null; _this.p = null; _this.l = 0; _this.q = 0; _this.aa = null; _this.z = null; _this.ab = null; _this.a = null; _this.c = false; _this.d = false; _this.i = null; return _this; } Object.defineProperty(PolarLinePlanner.prototype, "ad", { get: function () { return this.aa; }, set: function (a) { this.aa = a; }, enumerable: false, configurable: true }); Object.defineProperty(PolarLinePlanner.prototype, "ac", { get: function () { return this.z; }, set: function (a) { this.z = a; }, enumerable: false, configurable: true }); Object.defineProperty(PolarLinePlanner.prototype, "ae", { get: function () { return this.ab; }, set: function (a) { this.ab = a; }, enumerable: false, configurable: true }); PolarLinePlanner.prototype.g = function () { if (this.m == null || this.n == null || this.o == null || this.p == null || Rect.l_op_Equality(this.ad, Rect.empty) || Rect.l_op_Equality(this.ae, Rect.empty)) { return false; } return true; }; PolarLinePlanner.prototype.k = function (a, b, c, d) { var e = a(d) - a(c); var f = b(d) - b(c); return e * e + f * f; }; PolarLinePlanner.prototype.h = function (a) { var b = new List$1(AngleRadiusPair.$, 0); var c = this.l * this.l; var d; if (a != null) { d = a; } else { var e = new List$1(Number_$type, 0); for (var f = 0; f < this.q; f++) { e.add(f); } d = e; } var g = getEnumerator(d); var h = true; h = g.moveNext(); var i = 0; if (h) { i = g.current; } while (h) { var j = i; h = g.moveNext(); i = g.current; while (h && this.k(this.o, this.p, j, i) < c) { h = g.moveNext(); i = g.current; } var k = new AngleRadiusPair(); k.c = j; if (!this.f) { k.a = this.m(j); k.b = this.n(j); } b.add(k); } return b; }; PolarLinePlanner.prototype.v = function (a) { var e_1, _a; try { for (var _b = __values(fromEnum(this.h(a))), _c = _b.next(); !_c.done; _c = _b.next()) { var b = _c.value; if (isNaN_(b.a) || isInfinity(b.a) || isNaN_(b.b) || isInfinity(b.b)) { this.s({ $type: Point_$type, x: NaN, y: NaN }); continue; } this.s({ $type: Point_$type, x: this.o(b.c), y: this.p(b.c) }); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } }; PolarLinePlanner.prototype.j = function () { return Math.pow(this.l / (Math.max(this.ad.width / this.ae.width, this.ad.height / this.ae.height)), 2); }; PolarLinePlanner.prototype.r = function (a, b) { var c = 0.5 + b * Math.cos(a); var d = 0.5 + b * Math.sin(a); c = ViewportUtils.e(c, this.ab, this.aa, this.z); d = ViewportUtils.i(d, this.ab, this.aa, this.z); this.s({ $type: Point_$type, x: c, y: d }); }; PolarLinePlanner.prototype.y = function (a) { var b = this.j(); var c = this.h(a); var d = c.item(0).a; var e = c.item(0).b; var f = c.item(0).c; for (var g = 1; g < c.count; g++) { var h = c.item(g).a; var i = c.item(g).b; var j = c.item(g).c; if (isNaN_(h) || isInfinity(h) || isNaN_(i) || isInfinity(i)) { this.s({ $type: Point_$type, x: NaN, y: NaN }); if (this.b != 0) { g++; if (g < c.count) { d = c.item(g).a; e = c.item(g).b; } } continue; } this.t(h, i, d, e, g, b, f > j); d = h; e = i; f = j; } }; PolarLinePlanner.prototype.t = function (a, b, c, d, e, f, g) { var h = false; if ((a < c && !g) || (a > c && g)) { h = true; var i = a; a = c; c = i; i = b; b = d; d = i; } var j = SpiralFlattener.a(c, d, a, b, f); if (h) { var k = new List$1(Number_$type, 2, j.count); for (var l = j.count - 1; l >= 0; l--) { k.add(j._inner[l]); } j = k; } for (var m = 0; m < j.count; m++) { var n = j._inner[m]; var o = c + n * (a - c); var p = d + n * (b - d); this.r(o, p); } }; PolarLinePlanner.prototype.u = function (a) { var _this = this; var b = this.ad.top - 10; var c = this.ad.bottom + 10; var d = this.ad.left - 10; var e = this.ad.right + 10; if (this.a == null) { this.a = ((function () { var $ret = new Clipper(1, d, c, e, b, _this.d); $ret.i = a; return $ret; })()); } }; PolarLinePlanner.prototype.e = function (a) { return !isNaN_(a.x) && !isNaN_(a.y) && !isInfinity(a.x) && !isInfinity(a.y); }; PolarLinePlanner.prototype.s = function (a) { if (this.b == 0 && !this.e(a)) { return; } if (this.c) { this.i.add(a); } else { this.a.j(a); } }; PolarLinePlanner.prototype.w = function (a) { this.x(null, null); }; PolarLinePlanner.prototype.x = function (a, b) { this.i = a; if (!this.g()) { return; } if (this.q > 1) { this.u(a); if (this.f) { this.v(b); } else { this.y(b); } this.a.i = null; } }; PolarLinePlanner.$t = markType(PolarLinePlanner, 'PolarLinePlanner'); return PolarLinePlanner; }(Base)); export { PolarLinePlanner };