igniteui-react-core
Version:
Ignite UI React Core.
156 lines (155 loc) • 7.32 kB
JavaScript
/*
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 { Base, typeGetValue, markType } from "./type";
import { TileWorkSettings } from "./TileWorkSettings";
import { Color } from "./Color";
import { HeatTileGeneratorWorker } from "./HeatTileGeneratorWorker";
import { HeatTileScaler } from "./HeatTileScaler";
import { Rect } from "./Rect";
import { ITileWorkCompletedSink_$type } from "./ITileWorkCompletedSink";
/**
* @hidden
*/
export let HeatTileGeneratorWebWorker = /*@__PURE__*/ (() => {
class HeatTileGeneratorWebWorker extends Base {
static get postmessage() {
return HeatTileGeneratorWebWorker._postmessage;
}
static set postmessage(a) {
HeatTileGeneratorWebWorker._postmessage = a;
}
static onmessage(args_) {
let data_ = args_.data;
let a = (data_.cancelTile);
let b = (data_.z);
let c = (data_.y);
let d = (data_.x);
if (a) {
for (let i_ = 0; i_ < HeatTileGeneratorWebWorker.b.length; i_++) {
let e = HeatTileGeneratorWebWorker.b[i_];
if (e.g.testRun) {
continue;
}
if (e.g.z == b && e.g.x == d && e.g.y == c) {
let workers_ = HeatTileGeneratorWebWorker.b;
workers_.splice(i_, 1);
i_--;
}
}
}
let f = new TileWorkSettings();
let g = data_;
if (!g["messageId"]) {
return;
}
if (g["isNewData"]) {
let yValues_ = g["yValues"];
let xValues_ = g["xValues"];
let values_ = g["values"];
HeatTileGeneratorWebWorker._yValues = (new Float64Array(yValues_));
HeatTileGeneratorWebWorker._xValues = (new Float64Array(xValues_));
HeatTileGeneratorWebWorker._values = (new Float64Array(values_));
}
let h = g["scaleColors"];
let i = new Array(h.length);
for (let j = 0; j < h.length; j++) {
i[j] = Color.u(typeGetValue(h[j]["a"]), typeGetValue(h[j]["r"]), typeGetValue(h[j]["g"]), typeGetValue(h[j]["b"]));
}
f.scaler = HeatTileGeneratorWebWorker.e;
f.blurRadius = g["blurRadius"];
f.maxBlurRadius = g["maxBlurRadius"];
f.useBlurRadiusAdjustedForZoom = (g["useBlurRadiusAdjustedForZoom"]);
f.minimumColor = Color.u(typeGetValue(g["minimumColor"]["a"]), typeGetValue(g["minimumColor"]["r"]), typeGetValue(g["minimumColor"]["g"]), typeGetValue(g["minimumColor"]["b"]));
f.maximumColor = Color.u(typeGetValue(g["maximumColor"]["a"]), typeGetValue(g["maximumColor"]["r"]), typeGetValue(g["maximumColor"]["g"]), typeGetValue(g["maximumColor"]["b"]));
f.tileViewport = new Rect(0, g["tileViewport"]["left"], g["tileViewport"]["top"], g["tileViewport"]["width"], g["tileViewport"]["height"]);
f.yValues = HeatTileGeneratorWebWorker._yValues;
f.xValues = HeatTileGeneratorWebWorker._xValues;
f.values = HeatTileGeneratorWebWorker._values;
f.minimumVisibleLatitude = g["minimumVisibleLatitude"];
f.minimumVisibleLongitude = g["minimumVisibleLongitude"];
f.maximumVisibleLatitude = g["maximumVisibleLatitude"];
f.maximumVisibleLongitude = g["maximumVisibleLongitude"];
f.z = typeGetValue(g["z"]);
f.x = typeGetValue(g["x"]);
f.y = typeGetValue(g["y"]);
f.window = new Rect(0, g["window"]["left"], g["window"]["top"], g["window"]["width"], g["window"]["height"]);
f.testRun = g["testRun"];
f.globalMinimum = g["globalMinimum"];
f.globalMaximum = g["globalMaximum"];
f.useGlobalMinMax = g["useGlobalMinMax"];
f.minimumValue = g["minimumValue"];
f.maximumValue = g["maximumValue"];
f.scaleColorOffsets = g["scaleColorOffsets"];
f.scaleColors = i;
f.useLogarithmicScale = g["useLogarithmicScale"];
f.logarithmBase = g["logarithmBase"];
let k = new HeatTileGeneratorWorker(f);
k.u = typeGetValue(g["messageId"]);
k.h = true;
k.completedSink = new CompletedSinkImpl(k);
let workersl_ = HeatTileGeneratorWebWorker.b;
let worker_ = k;
workersl_.push(worker_);
}
static start() {
let workers_ = HeatTileGeneratorWebWorker.b;
setInterval(function () {
if (workers_.length > 0) {
var worker = workers_.shift();
worker.doWork();
worker.completedSink = null;
}
}, 16);
;
}
}
HeatTileGeneratorWebWorker.$t = /*@__PURE__*/ markType(HeatTileGeneratorWebWorker, 'HeatTileGeneratorWebWorker');
HeatTileGeneratorWebWorker.e = /*@__PURE__*/ new HeatTileScaler();
HeatTileGeneratorWebWorker.b = [];
HeatTileGeneratorWebWorker._postmessage = null;
HeatTileGeneratorWebWorker._yValues = null;
HeatTileGeneratorWebWorker._xValues = null;
HeatTileGeneratorWebWorker._values = null;
return HeatTileGeneratorWebWorker;
})();
/**
* @hidden
*/
export let CompletedSinkImpl = /*@__PURE__*/ (() => {
class CompletedSinkImpl extends Base {
constructor(a) {
super();
this.a = null;
this.a = a;
}
onCompleted(a) {
let b = a;
let c = {};
let imageData_ = b.imageData;
c["messageId"] = this.a.u;
c["imageData"] = (b.imageData == null ? null : (new Uint8ClampedArray(imageData_))["buffer"]);
c["z"] = b.z;
c["x"] = b.x;
c["y"] = b.y;
c["url"] = b.url;
c["globalMinimumValue"] = b.globalMinimumValue;
c["globalMaximumValue"] = b.globalMaximumValue;
c["globalMaximumValueLongitude"] = b.globalMaximumValueLongitude;
c["globalMaximumValueLatitude"] = b.globalMaximumValueLatitude;
c["globalMinimumValueLongitude"] = b.globalMinimumValueLongitude;
c["globalMinimumValueLatitude"] = b.globalMinimumValueLatitude;
if (this.a.h && c["imageData"] != null) {
HeatTileGeneratorWebWorker.postmessage(c, [c["imageData"]]);
}
else {
HeatTileGeneratorWebWorker.postmessage(c);
}
}
}
CompletedSinkImpl.$t = /*@__PURE__*/ markType(CompletedSinkImpl, 'CompletedSinkImpl', Base.$, [ITileWorkCompletedSink_$type]);
return CompletedSinkImpl;
})();