@ndmspc/ndmvr-core 1.1.2-rc.1 → 1.1.2-rc.3
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.
- package/dist/index.es.js +146 -142
- package/dist/index.umd.js +10 -10
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BehaviorSubject as e, EMPTY as t, ReplaySubject as n, Subject as r, concatMap as i, filter as a, finalize as o, from as s } from "rxjs";
|
|
2
2
|
import { build3d as c, create as l, makeImage as u, openFile as d, parse as f } from "jsroot";
|
|
3
|
-
import { Box3 as p, BoxGeometry as m, Color as h, DoubleSide as g, EdgesGeometry as _, FileLoader as v, Group as y, InstancedBufferAttribute as b, InstancedBufferGeometry as x, LineSegments as S, Loader as C, Mesh as w, MeshBasicMaterial as T, Object3D as E, PlaneGeometry as D, Raycaster as O, SRGBColorSpace as k, ShaderMaterial as A, ShapePath as j, Sprite as
|
|
3
|
+
import { Box3 as p, BoxGeometry as m, Color as h, DoubleSide as g, EdgesGeometry as _, FileLoader as v, Group as y, InstancedBufferAttribute as b, InstancedBufferGeometry as x, LineSegments as S, Loader as C, Mesh as w, MeshBasicMaterial as T, Object3D as E, PlaneGeometry as D, Raycaster as O, SRGBColorSpace as k, ShaderMaterial as A, ShapePath as j, Sprite as M, SpriteMaterial as ee, Texture as te, TextureLoader as ne, Vector2 as re, Vector3 as N } from "three";
|
|
4
4
|
//#region src/core/broker.js
|
|
5
5
|
var P = class {
|
|
6
6
|
constructor(e, t, n, r) {
|
|
@@ -88,7 +88,7 @@ var P = class {
|
|
|
88
88
|
unsubscribe(e) {
|
|
89
89
|
e.unsubscribe();
|
|
90
90
|
}
|
|
91
|
-
},
|
|
91
|
+
}, F, ie = class {
|
|
92
92
|
#e;
|
|
93
93
|
#t;
|
|
94
94
|
constructor() {
|
|
@@ -146,9 +146,9 @@ var P = class {
|
|
|
146
146
|
}), e;
|
|
147
147
|
};
|
|
148
148
|
getSubject = () => this.#e;
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
},
|
|
149
|
+
}, ae = () => (F ||= new ie(), F), oe = () => {
|
|
150
|
+
ae().createWsFromParams(new URL(window.location.href).searchParams);
|
|
151
|
+
}, se = async (e) => {
|
|
152
152
|
try {
|
|
153
153
|
let t = await fetch(e);
|
|
154
154
|
if (!t.ok) throw Error(`Response status: ${t.status}`);
|
|
@@ -156,7 +156,7 @@ var P = class {
|
|
|
156
156
|
} catch (e) {
|
|
157
157
|
throw e;
|
|
158
158
|
}
|
|
159
|
-
},
|
|
159
|
+
}, ce, le = class {
|
|
160
160
|
#e;
|
|
161
161
|
constructor() {
|
|
162
162
|
this.#e = new r();
|
|
@@ -167,7 +167,7 @@ var P = class {
|
|
|
167
167
|
next(e) {
|
|
168
168
|
this.#e.next(e);
|
|
169
169
|
}
|
|
170
|
-
},
|
|
170
|
+
}, ue = () => (ce ||= new le(), ce), de, fe = class {
|
|
171
171
|
#e;
|
|
172
172
|
constructor() {
|
|
173
173
|
this.#e = new e({ inputDevice: "keyboard" });
|
|
@@ -179,7 +179,7 @@ var P = class {
|
|
|
179
179
|
let t = this.#e.getValue();
|
|
180
180
|
e.inputDevice && (t.inputDevice = e.inputDevice), this.#e.next(e);
|
|
181
181
|
}
|
|
182
|
-
},
|
|
182
|
+
}, I = () => (de ||= new fe(), de), L = /* @__PURE__ */ new Map(), pe = class {
|
|
183
183
|
#e;
|
|
184
184
|
constructor() {
|
|
185
185
|
this.#e = new e({
|
|
@@ -199,10 +199,10 @@ var P = class {
|
|
|
199
199
|
next(e) {
|
|
200
200
|
this.#e.next(e);
|
|
201
201
|
}
|
|
202
|
-
},
|
|
202
|
+
}, R = (e) => {
|
|
203
203
|
if (!e) throw Error("StateSubject id is undefined");
|
|
204
|
-
return
|
|
205
|
-
},
|
|
204
|
+
return L.get(e) || L.set(e, new pe()), L.get(e);
|
|
205
|
+
}, z, me = class {
|
|
206
206
|
#e;
|
|
207
207
|
constructor() {
|
|
208
208
|
this.#e = new n();
|
|
@@ -263,7 +263,7 @@ var P = class {
|
|
|
263
263
|
getObservable() {
|
|
264
264
|
return this.#e.asObservable();
|
|
265
265
|
}
|
|
266
|
-
},
|
|
266
|
+
}, B = () => (z ||= new me(), z), he = class {
|
|
267
267
|
#e;
|
|
268
268
|
#t;
|
|
269
269
|
#n;
|
|
@@ -307,10 +307,10 @@ var P = class {
|
|
|
307
307
|
t.children[e.fName] = [];
|
|
308
308
|
}), console.log(t), i(a.fKeys, e), r;
|
|
309
309
|
}
|
|
310
|
-
}, _e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs0AAAKSCAYAAAApl+ajAAAIHHRFWHRteGZpbGUAJTNDbXhmaWxlJTIwaG9zdCUzRCUyMmFwcC5kaWFncmFtcy5uZXQlMjIlMjBhZ2VudCUzRCUyMk1vemlsbGElMkY1LjAlMjAoV2luZG93cyUyME5UJTIwMTAuMCUzQiUyMFdpbjY0JTNCJTIweDY0JTNCJTIwcnYlM0ExNDcuMCklMjBHZWNrbyUyRjIwMTAwMTAxJTIwRmlyZWZveCUyRjE0Ny4wJTIyJTIwdmVyc2lvbiUzRCUyMjI5LjMuNCUyMiUyMHNjYWxlJTNEJTIyMSUyMiUyMGJvcmRlciUzRCUyMjAlMjIlM0UlMEElMjAlMjAlM0NkaWFncmFtJTIwaWQlM0QlMjJXODNfeE5jT2djZHpkOWl4aTEzSiUyMiUyMG5hbWUlM0QlMjJQYWdlLTIlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NteEdyYXBoTW9kZWwlMjBkeCUzRCUyMjE0MjYlMjIlMjBkeSUzRCUyMjc3OSUyMiUyMGdyaWQlM0QlMjIxJTIyJTIwZ3JpZFNpemUlM0QlMjIxMCUyMiUyMGd1aWRlcyUzRCUyMjElMjIlMjB0b29sdGlwcyUzRCUyMjElMjIlMjBjb25uZWN0JTNEJTIyMSUyMiUyMGFycm93cyUzRCUyMjElMjIlMjBmb2xkJTNEJTIyMSUyMiUyMHBhZ2UlM0QlMjIxJTIyJTIwcGFnZVNjYWxlJTNEJTIyMSUyMiUyMHBhZ2VXaWR0aCUzRCUyMjg1MCUyMiUyMHBhZ2VIZWlnaHQlM0QlMjIxMTAwJTIyJTIwbWF0aCUzRCUyMjAlMjIlMjBzaGFkb3clM0QlMjIwJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTNDcm9vdCUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyMSUyMiUyMHBhcmVudCUzRCUyMjAlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteENlbGwlMjBpZCUzRCUyMlVuNXRYNmJId2UtUm42VVZDLXlkLTElMjIlMjBwYXJlbnQlM0QlMjIxJTIyJTIwc3R5bGUlM0QlMjJ2ZXJ0aWNhbExhYmVsUG9zaXRpb24lM0Rib3R0b20lM0J2ZXJ0aWNhbEFsaWduJTNEdG9wJTNCaHRtbCUzRDElM0JzaGFwZSUzRG14Z3JhcGguYmFzaWMueCUzQmZpbGxDb2xvciUzRCUyM0VDNTE1MSUzQnN0cm9rZUNvbG9yJTNEJTIzNDEwMDAwJTNCJTIyJTIwdmFsdWUlM0QlMjIlMjIlMjB2ZXJ0ZXglM0QlMjIxJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhHZW9tZXRyeSUyMGhlaWdodCUzRCUyMjU5MCUyMiUyMHdpZHRoJTNEJTIyNTkwJTIyJTIweCUzRCUyMjEyMCUyMiUyMGFzJTNEJTIyZ2VvbWV0cnklMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZteENlbGwlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteENlbGwlMjBpZCUzRCUyMlVuNXRYNmJId2UtUm42VVZDLXlkLTIlMjIlMjBwYXJlbnQlM0QlMjIxJTIyJTIwc3R5bGUlM0QlMjJ0ZXh0JTNCaHRtbCUzRDElM0J3aGl0ZVNwYWNlJTNEd3JhcCUzQnN0cm9rZUNvbG9yJTNEbm9uZSUzQmZpbGxDb2xvciUzRG5vbmUlM0JhbGlnbiUzRGNlbnRlciUzQnZlcnRpY2FsQWxpZ24lM0RtaWRkbGUlM0Jyb3VuZGVkJTNEMCUzQiUyMiUyMHZhbHVlJTNEJTIyJTI2bHQlM0Jmb250JTIwZmFjZSUzRCUyNnF1b3QlM0JMdWNpZGElMjBDb25zb2xlJTI2cXVvdCUzQiUyMHN0eWxlJTNEJTI2cXVvdCUzQmZvbnQtc2l6ZSUzQSUyMDUwcHglM0IlMjZxdW90JTNCJTI2Z3QlM0IlMjZsdCUzQmIlMjZndCUzQkhpc3RvZ3JhbSUyMG5vdCUyMGZpbGxlZCUyNmx0JTNCJTJGYiUyNmd0JTNCJTI2bHQlM0IlMkZmb250JTI2Z3QlM0IlMjIlMjB2ZXJ0ZXglM0QlMjIx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";
|
|
310
|
+
}, ge = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs0AAAKSCAYAAAApl+ajAAAIHHRFWHRteGZpbGUAJTNDbXhmaWxlJTIwaG9zdCUzRCUyMmFwcC5kaWFncmFtcy5uZXQlMjIlMjBhZ2VudCUzRCUyMk1vemlsbGElMkY1LjAlMjAoV2luZG93cyUyME5UJTIwMTAuMCUzQiUyMFdpbjY0JTNCJTIweDY0JTNCJTIwcnYlM0ExNDcuMCklMjBHZWNrbyUyRjIwMTAwMTAxJTIwRmlyZWZveCUyRjE0Ny4wJTIyJTIwdmVyc2lvbiUzRCUyMjI5LjMuNCUyMiUyMHNjYWxlJTNEJTIyMSUyMiUyMGJvcmRlciUzRCUyMjAlMjIlM0UlMEElMjAlMjAlM0NkaWFncmFtJTIwaWQlM0QlMjJXODNfeE5jT2djZHpkOWl4aTEzSiUyMiUyMG5hbWUlM0QlMjJQYWdlLTIlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NteEdyYXBoTW9kZWwlMjBkeCUzRCUyMjE0MjYlMjIlMjBkeSUzRCUyMjc3OSUyMiUyMGdyaWQlM0QlMjIxJTIyJTIwZ3JpZFNpemUlM0QlMjIxMCUyMiUyMGd1aWRlcyUzRCUyMjElMjIlMjB0b29sdGlwcyUzRCUyMjElMjIlMjBjb25uZWN0JTNEJTIyMSUyMiUyMGFycm93cyUzRCUyMjElMjIlMjBmb2xkJTNEJTIyMSUyMiUyMHBhZ2UlM0QlMjIxJTIyJTIwcGFnZVNjYWxlJTNEJTIyMSUyMiUyMHBhZ2VXaWR0aCUzRCUyMjg1MCUyMiUyMHBhZ2VIZWlnaHQlM0QlMjIxMTAwJTIyJTIwbWF0aCUzRCUyMjAlMjIlMjBzaGFkb3clM0QlMjIwJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTNDcm9vdCUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyMSUyMiUyMHBhcmVudCUzRCUyMjAlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteENlbGwlMjBpZCUzRCUyMlVuNXRYNmJId2UtUm42VVZDLXlkLTElMjIlMjBwYXJlbnQlM0QlMjIxJTIyJTIwc3R5bGUlM0QlMjJ2ZXJ0aWNhbExhYmVsUG9zaXRpb24lM0Rib3R0b20lM0J2ZXJ0aWNhbEFsaWduJTNEdG9wJTNCaHRtbCUzRDElM0JzaGFwZSUzRG14Z3JhcGguYmFzaWMueCUzQmZpbGxDb2xvciUzRCUyM0VDNTE1MSUzQnN0cm9rZUNvbG9yJTNEJTIzNDEwMDAwJTNCJTIyJTIwdmFsdWUlM0QlMjIlMjIlMjB2ZXJ0ZXglM0QlMjIxJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhHZW9tZXRyeSUyMGhlaWdodCUzRCUyMjU5MCUyMiUyMHdpZHRoJTNEJTIyNTkwJTIyJTIweCUzRCUyMjEyMCUyMiUyMGFzJTNEJTIyZ2VvbWV0cnklMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZteENlbGwlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteENlbGwlMjBpZCUzRCUyMlVuNXRYNmJId2UtUm42VVZDLXlkLTIlMjIlMjBwYXJlbnQlM0QlMjIxJTIyJTIwc3R5bGUlM0QlMjJ0ZXh0JTNCaHRtbCUzRDElM0J3aGl0ZVNwYWNlJTNEd3JhcCUzQnN0cm9rZUNvbG9yJTNEbm9uZSUzQmZpbGxDb2xvciUzRG5vbmUlM0JhbGlnbiUzRGNlbnRlciUzQnZlcnRpY2FsQWxpZ24lM0RtaWRkbGUlM0Jyb3VuZGVkJTNEMCUzQiUyMiUyMHZhbHVlJTNEJTIyJTI2bHQlM0Jmb250JTIwZmFjZSUzRCUyNnF1b3QlM0JMdWNpZGElMjBDb25zb2xlJTI2cXVvdCUzQiUyMHN0eWxlJTNEJTI2cXVvdCUzQmZvbnQtc2l6ZSUzQSUyMDUwcHglM0IlMjZxdW90JTNCJTI2Z3QlM0IlMjZsdCUzQmIlMjZndCUzQkhpc3RvZ3JhbSUyMG5vdCUyMGZpbGxlZCUyNmx0JTNCJTJGYiUyNmd0JTNCJTI2bHQlM0IlMkZmb250JTI2Z3QlM0IlMjIlMjB2ZXJ0ZXglM0QlMjIx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";
|
|
311
311
|
//#endregion
|
|
312
312
|
//#region src/utils/baseUtil.js
|
|
313
|
-
function
|
|
313
|
+
function _e(e, t, n, { scale: r, padding: i, origin: a }) {
|
|
314
314
|
let o = e.config ?? {};
|
|
315
315
|
o.environment ||= {}, o.environment.histogramPads || (o.environment.histogramPads = []);
|
|
316
316
|
let s = o.environment.histogramPads, c = 1, l = t.length;
|
|
@@ -342,7 +342,7 @@ function ve(e, t, n, { scale: r, padding: i, origin: a }) {
|
|
|
342
342
|
}), d++, d >= l && (d = 0, u++);
|
|
343
343
|
}), e;
|
|
344
344
|
}
|
|
345
|
-
function
|
|
345
|
+
function ve(e) {
|
|
346
346
|
let t = {
|
|
347
347
|
resetHistogram: "r",
|
|
348
348
|
goToPreviousLayer: "z",
|
|
@@ -352,7 +352,7 @@ function ye(e) {
|
|
|
352
352
|
for (let n in t) e.bindings.hasOwnProperty(n) || (e.bindings[n] = t[n]);
|
|
353
353
|
return e;
|
|
354
354
|
}
|
|
355
|
-
function
|
|
355
|
+
function V(e, t = null) {
|
|
356
356
|
let n = typeof e == "string" ? JSON.parse(e) : e;
|
|
357
357
|
function r(e) {
|
|
358
358
|
if (Array.isArray(e)) return e;
|
|
@@ -417,21 +417,21 @@ function B(e, t = null) {
|
|
|
417
417
|
}
|
|
418
418
|
return o(t, a(n));
|
|
419
419
|
}
|
|
420
|
-
function
|
|
420
|
+
function ye(e) {
|
|
421
421
|
for (let t in e) if (Object.prototype.hasOwnProperty.call(e, t)) return !1;
|
|
422
422
|
return !0;
|
|
423
423
|
}
|
|
424
|
-
function
|
|
424
|
+
function be(e, t) {
|
|
425
425
|
return [
|
|
426
426
|
"scale",
|
|
427
427
|
"padding",
|
|
428
428
|
"position"
|
|
429
429
|
].every((n) => e[n]?.x === t[n]?.x && e[n]?.y === t[n]?.y && e[n]?.z === t[n]?.z);
|
|
430
430
|
}
|
|
431
|
-
function
|
|
432
|
-
let n = new
|
|
431
|
+
function xe(e, t) {
|
|
432
|
+
let n = new ne().load(ge);
|
|
433
433
|
n.colorSpace = k;
|
|
434
|
-
let r = new
|
|
434
|
+
let r = new M(new ee({
|
|
435
435
|
map: n,
|
|
436
436
|
transparent: !0
|
|
437
437
|
}));
|
|
@@ -441,14 +441,14 @@ function Se(e, t) {
|
|
|
441
441
|
}
|
|
442
442
|
//#endregion
|
|
443
443
|
//#region src/service/JsonHandler.js
|
|
444
|
-
var
|
|
444
|
+
var Se = class {
|
|
445
445
|
#e;
|
|
446
446
|
constructor(e) {
|
|
447
447
|
this.#e = f(e);
|
|
448
448
|
}
|
|
449
449
|
static async parseJson(e) {
|
|
450
450
|
let t = f(e), n = (e) => {
|
|
451
|
-
e && typeof e == "object" && (e.children &&
|
|
451
|
+
e && typeof e == "object" && (e.children && ye(e.children) ? delete e.children : e.children && Object.values(e.children).forEach((e) => {
|
|
452
452
|
Array.isArray(e) && e.forEach((e) => n(e));
|
|
453
453
|
}));
|
|
454
454
|
};
|
|
@@ -468,19 +468,19 @@ var Ce = class {
|
|
|
468
468
|
};
|
|
469
469
|
return n(this.#e.children), Promise.resolve(t);
|
|
470
470
|
}
|
|
471
|
-
},
|
|
471
|
+
}, Ce, we = class {
|
|
472
472
|
#e = /* @__PURE__ */ new Map();
|
|
473
473
|
getStream(e) {
|
|
474
474
|
return this.#e.has(e) || this.#e.set(e, new n(1)), console.log("histogramSubjectGet with id: ", e), this.#e.get(e).asObservable();
|
|
475
475
|
}
|
|
476
476
|
async next(e) {
|
|
477
477
|
if (console.log("histogramSubjectNext with id: ", e.id, " and event: ", e), !e.id) throw Error("Missing id in event");
|
|
478
|
-
if (typeof e.obj == "string") e.obj = await
|
|
479
|
-
else if (typeof e.obj == "object") e.obj = await
|
|
478
|
+
if (typeof e.obj == "string") e.obj = await he.parseFile(e.obj);
|
|
479
|
+
else if (typeof e.obj == "object") e.obj = await Se.parseJson(e.obj), e.opts = e.opts || {}, e.opts.config = V(e.opts.config);
|
|
480
480
|
else throw Error("Unsupported data type");
|
|
481
481
|
this.#e.has(e.id) || this.#e.set(e.id, new n(1)), this.#e.get(e.id).next(e);
|
|
482
482
|
}
|
|
483
|
-
}, Te = () => (
|
|
483
|
+
}, Te = () => (Ce ||= new we(), Ce), Ee, De = class {
|
|
484
484
|
#e;
|
|
485
485
|
constructor() {
|
|
486
486
|
this.#e = new n(1);
|
|
@@ -630,7 +630,7 @@ var Ce = class {
|
|
|
630
630
|
} }, U, ke = class {
|
|
631
631
|
#e;
|
|
632
632
|
constructor() {
|
|
633
|
-
this.#e = new e(
|
|
633
|
+
this.#e = new e(V(Oe, {}));
|
|
634
634
|
}
|
|
635
635
|
getObservable() {
|
|
636
636
|
return this.#e.asObservable();
|
|
@@ -639,11 +639,11 @@ var Ce = class {
|
|
|
639
639
|
return this.#e.getValue();
|
|
640
640
|
}
|
|
641
641
|
next(e) {
|
|
642
|
-
let t =
|
|
642
|
+
let t = V(e, this.#e.getValue());
|
|
643
643
|
return this.#e.next(t), t;
|
|
644
644
|
}
|
|
645
645
|
appendPads(e, t, n) {
|
|
646
|
-
let r =
|
|
646
|
+
let r = _e(this.#e.getValue(), e, t, n);
|
|
647
647
|
this.#e.next(r);
|
|
648
648
|
}
|
|
649
649
|
mergeHistogramConfig(e, t = this.#e.value.config.histogram) {
|
|
@@ -673,7 +673,7 @@ var Ce = class {
|
|
|
673
673
|
#e;
|
|
674
674
|
#t;
|
|
675
675
|
constructor() {
|
|
676
|
-
this.#e = document.createElement("a-entity"), this.#e.id = "cameraRig", this.#e.setAttribute("position", "0 1.6 0"), this.#e.innerHTML = "\n <a-camera id=\"camera\" wasd-controls-custom=\"acceleration: 10\" wasd-controls=\"acceleration: 50\">\n </a-camera>\n ", this.#t = document.createElement("a-entity"), this.#t.id = "oculus-controller", this.#t.setAttribute("oculus-controller", ""),
|
|
676
|
+
this.#e = document.createElement("a-entity"), this.#e.id = "cameraRig", this.#e.setAttribute("position", "0 1.6 0"), this.#e.innerHTML = "\n <a-camera id=\"camera\" wasd-controls-custom=\"acceleration: 10\" wasd-controls=\"acceleration: 50\">\n </a-camera>\n ", this.#t = document.createElement("a-entity"), this.#t.id = "oculus-controller", this.#t.setAttribute("oculus-controller", ""), I().getObservable().subscribe(this.handleStateChange.bind(this));
|
|
677
677
|
}
|
|
678
678
|
handleStateChange(e) {
|
|
679
679
|
let t = document.getElementById("cameraRig");
|
|
@@ -704,7 +704,7 @@ var Ce = class {
|
|
|
704
704
|
};
|
|
705
705
|
horizontalMoveCameraLocal = (e, t, n) => {
|
|
706
706
|
if (!this.#e || !this.#t) return;
|
|
707
|
-
let r = new
|
|
707
|
+
let r = new re(e, t), i = this.#t.object3D.rotation.y;
|
|
708
708
|
r.rotateAround(new N(0, 0), -i), r.normalize(), r.multiplyScalar(n), this.#e.object3D.position.x += r.x, this.#e.object3D.position.z += r.y;
|
|
709
709
|
};
|
|
710
710
|
getCamera() {
|
|
@@ -718,7 +718,7 @@ var Ce = class {
|
|
|
718
718
|
constructor() {
|
|
719
719
|
this.#n = Le(), setTimeout(() => {
|
|
720
720
|
this.setUpArrowListener(), this.setDownArrowListener();
|
|
721
|
-
}, 100), this.setUpArrowListener = this.setUpArrowListener.bind(this), this.startUpClick = this.startUpClick.bind(this), this.endUpClick = this.endUpClick.bind(this), this.upClickFunction = this.upClickFunction.bind(this), this.setDownArrowListener = this.setDownArrowListener.bind(this), this.startDownClick = this.startDownClick.bind(this), this.endDownClick = this.endDownClick.bind(this), this.downClickFunction = this.downClickFunction.bind(this), this.initController(),
|
|
721
|
+
}, 100), this.setUpArrowListener = this.setUpArrowListener.bind(this), this.startUpClick = this.startUpClick.bind(this), this.endUpClick = this.endUpClick.bind(this), this.upClickFunction = this.upClickFunction.bind(this), this.setDownArrowListener = this.setDownArrowListener.bind(this), this.startDownClick = this.startDownClick.bind(this), this.endDownClick = this.endDownClick.bind(this), this.downClickFunction = this.downClickFunction.bind(this), this.initController(), I().getObservable().subscribe((e) => {
|
|
722
722
|
if (e.inputDevice === "mobile") document.getElementById("container").appendChild(this.getController());
|
|
723
723
|
else {
|
|
724
724
|
let e = document.getElementById("container");
|
|
@@ -816,7 +816,7 @@ var Ce = class {
|
|
|
816
816
|
rendererElement;
|
|
817
817
|
raycastOn;
|
|
818
818
|
constructor(e, t) {
|
|
819
|
-
this.singleClickTimer = null, this.dbClickTimeout = 190, this.raycastOn = !0, this.rendererElement = t, this.raycaster = new O(), this.mouse = new
|
|
819
|
+
this.singleClickTimer = null, this.dbClickTimeout = 190, this.raycastOn = !0, this.rendererElement = t, this.raycaster = new O(), this.mouse = new re(), this.sceneElement = e, this.checkInterval = 1, this.lastCheck = void 0, e.traverse((e) => {
|
|
820
820
|
e.isCamera && (this.cameraElement = e);
|
|
821
821
|
}), this.mousemoveEventHandle = this.mousemoveEventHandle.bind(this), this.clickEventHandle = this.clickEventHandle.bind(this), this.setupRaycasting(), this.configSub = W().getObservable().subscribe((e) => {
|
|
822
822
|
this.dbClickTimeout = e.config.environment.dbClickTimeout ?? 190;
|
|
@@ -1010,6 +1010,7 @@ function et(e) {
|
|
|
1010
1010
|
if (!e) return;
|
|
1011
1011
|
let t = (e) => {
|
|
1012
1012
|
let t = -Infinity;
|
|
1013
|
+
if (!e) return null;
|
|
1013
1014
|
for (let n = 0; n < e.length; n++) {
|
|
1014
1015
|
let r = e[n];
|
|
1015
1016
|
r > t && (t = r);
|
|
@@ -1019,7 +1020,7 @@ function et(e) {
|
|
|
1019
1020
|
n[0] = { content: t(e.fArray) }, e.fArrays && Object.keys(e?.fArrays).forEach((r) => {
|
|
1020
1021
|
n[0] = {
|
|
1021
1022
|
...n[0],
|
|
1022
|
-
[r]: t(e.fArrays[r].values)
|
|
1023
|
+
[r]: e.fArrays[r].max ?? t(e.fArrays[r].values)
|
|
1023
1024
|
};
|
|
1024
1025
|
});
|
|
1025
1026
|
let r = (e, i = 1) => {
|
|
@@ -1029,7 +1030,7 @@ function et(e) {
|
|
|
1029
1030
|
let o = t(a.fArray);
|
|
1030
1031
|
(!(e in n[i]) || o > n[i][e]) && (n[i][e] = o), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
|
|
1031
1032
|
let r = a.fArrays[e].max;
|
|
1032
|
-
(!(e in n[i]) || r > n[i][e]) && (n[i][e] = r), n[i][e] = Math.max(n[i][e], t(a.fArrays[e].values));
|
|
1033
|
+
(!(e in n[i]) || r > n[i][e]) && (n[i][e] = r), n[i][e] = Math.max(n[i][e], a.fArrays[e].max ?? t(a.fArrays[e].values));
|
|
1033
1034
|
}), a.children && r(a.children, i + 1);
|
|
1034
1035
|
});
|
|
1035
1036
|
});
|
|
@@ -1039,6 +1040,7 @@ function et(e) {
|
|
|
1039
1040
|
function tt(e, t) {
|
|
1040
1041
|
if (!e) return;
|
|
1041
1042
|
let n = (e) => {
|
|
1043
|
+
if (!e) return null;
|
|
1042
1044
|
let t = 0;
|
|
1043
1045
|
for (let n = 0; n < e.length; n++) {
|
|
1044
1046
|
let r = e[n];
|
|
@@ -1049,7 +1051,7 @@ function tt(e, t) {
|
|
|
1049
1051
|
r[0] = { content: n(e.fSumw2) }, e.fArrays && Object.keys(e?.fArrays).forEach((t) => {
|
|
1050
1052
|
e.fArrays[t].errors && (r[0] = {
|
|
1051
1053
|
...r[0],
|
|
1052
|
-
[t]: n(e.fArrays[t].errors)
|
|
1054
|
+
[t]: n(e.fArrays[t].errors) ?? Math.sqrt(e.fArrays[t].max)
|
|
1053
1055
|
});
|
|
1054
1056
|
});
|
|
1055
1057
|
let i = (e, t = 1) => {
|
|
@@ -1058,7 +1060,7 @@ function tt(e, t) {
|
|
|
1058
1060
|
if (!a) return;
|
|
1059
1061
|
let o = n(a.fSumw2), s = isNaN(o) ? 0 : o;
|
|
1060
1062
|
(!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), a.fArrays && Object.keys(a.fArrays).forEach((e) => {
|
|
1061
|
-
a.fArrays[e].errors && ((!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), r[t][e] = Math.max(r[t][e], n(a.fArrays[e].errors)));
|
|
1063
|
+
a.fArrays[e].errors && ((!(e in r[t]) || s > r[t][e]) && (r[t][e] = s), r[t][e] = Math.max(r[t][e], n(a.fArrays[e].errors) ?? Math.sqrt(a.fArrays[e].max)));
|
|
1062
1064
|
}), a.children && i(a.children, t + 1);
|
|
1063
1065
|
});
|
|
1064
1066
|
});
|
|
@@ -1073,6 +1075,7 @@ function nt(e, t) {
|
|
|
1073
1075
|
if (!e) return;
|
|
1074
1076
|
let n = (e) => {
|
|
1075
1077
|
let t = Infinity;
|
|
1078
|
+
if (!e) return null;
|
|
1076
1079
|
for (let n = 0; n < e.length; n++) {
|
|
1077
1080
|
let r = e[n];
|
|
1078
1081
|
r !== 0 && r < t && (t = r);
|
|
@@ -1082,17 +1085,17 @@ function nt(e, t) {
|
|
|
1082
1085
|
r[0] = { content: n(e.fSumw2) }, e.fArrays && Object.keys(e?.fArrays).forEach((t) => {
|
|
1083
1086
|
e.fArrays[t].errors && (r[0] = {
|
|
1084
1087
|
...r[0],
|
|
1085
|
-
[t]: n(e.fArrays[t].errors)
|
|
1088
|
+
[t]: n(e.fArrays[t].errors) ?? Math.sqrt(e.fArrays[t].min)
|
|
1086
1089
|
});
|
|
1087
1090
|
});
|
|
1088
|
-
let i = (
|
|
1089
|
-
r[
|
|
1090
|
-
|
|
1091
|
-
if (!
|
|
1092
|
-
let
|
|
1093
|
-
(!(
|
|
1094
|
-
|
|
1095
|
-
}),
|
|
1091
|
+
let i = (t, a = 1) => {
|
|
1092
|
+
r[a] || (r[a] = {}), Object.entries(t).forEach(([t, o]) => {
|
|
1093
|
+
o.forEach((o) => {
|
|
1094
|
+
if (!o) return;
|
|
1095
|
+
let s = n(o.fSumw2), c = isNaN(s) ? 0 : s;
|
|
1096
|
+
(!(t in r[a]) || c < r[a][t]) && (r[a][t] = c), o.fArrays && Object.keys(o.fArrays).forEach((t) => {
|
|
1097
|
+
o.fArrays[t].errors && ((!(t in r[a]) || c < r[a][t]) && (r[a][t] = c), r[a][t] = Math.min(r[a][t], n(o.fArrays[t]?.errors?.filter((e) => e > 0)) ?? Math.sqrt(e.fArrays[t].min)));
|
|
1098
|
+
}), o.children && i(o.children, a + 1);
|
|
1096
1099
|
});
|
|
1097
1100
|
});
|
|
1098
1101
|
};
|
|
@@ -1106,6 +1109,7 @@ function rt(e) {
|
|
|
1106
1109
|
if (!e) return;
|
|
1107
1110
|
let t = (e) => {
|
|
1108
1111
|
let t = Infinity;
|
|
1112
|
+
if (!e) return null;
|
|
1109
1113
|
for (let n = 0; n < e.length; n++) {
|
|
1110
1114
|
let r = e[n];
|
|
1111
1115
|
r < t && (t = r);
|
|
@@ -1115,17 +1119,17 @@ function rt(e) {
|
|
|
1115
1119
|
n[0] = { content: t(e.fArray.filter((e) => e !== 0)) }, e.fArrays && Object.keys(e?.fArrays).forEach((r) => {
|
|
1116
1120
|
n[0] = {
|
|
1117
1121
|
...n[0],
|
|
1118
|
-
[r]: t(e.fArrays[r]
|
|
1122
|
+
[r]: e.fArrays[r].min ?? t(e.fArrays[r]?.values?.filter((e) => e !== 0))
|
|
1119
1123
|
};
|
|
1120
1124
|
});
|
|
1121
|
-
let r = (
|
|
1122
|
-
n[
|
|
1123
|
-
|
|
1124
|
-
if (!
|
|
1125
|
-
let
|
|
1126
|
-
(!(
|
|
1127
|
-
(!(
|
|
1128
|
-
}),
|
|
1125
|
+
let r = (i, a = 1) => {
|
|
1126
|
+
n[a] || (n[a] = {}), Object.entries(i).forEach(([i, o]) => {
|
|
1127
|
+
o.forEach((o) => {
|
|
1128
|
+
if (!o) return;
|
|
1129
|
+
let s = t(o.fArray.filter((e) => e !== 0));
|
|
1130
|
+
(!(i in n[a]) || s < n[a][i]) && (n[a][i] = s), o.fArrays && Object.keys(o.fArrays).forEach((r) => {
|
|
1131
|
+
(!(r in n[a]) || s > n[a][r]) && (n[a][r] = s), n[a][r] = Math.min(n[a][r], e.fArrays[r].min ?? t(o.fArrays[r]?.values?.filter((e) => e !== 0)));
|
|
1132
|
+
}), o.children && r(o.children, a + 1);
|
|
1129
1133
|
});
|
|
1130
1134
|
});
|
|
1131
1135
|
};
|
|
@@ -1339,7 +1343,7 @@ var $ = class {
|
|
|
1339
1343
|
let i = new _(new m(1, 1, 1));
|
|
1340
1344
|
this.instGeom = new x(), this.instGeom.instanceCount = 0, this.instGeom.frustumCulled = !1, this.instGeom.index = i.index;
|
|
1341
1345
|
for (let e in i.attributes) this.instGeom.setAttribute(e, i.attributes[e]);
|
|
1342
|
-
this.material = this.createMaterial(), this.colorArray = new Float32Array(96), this.fillColorArray(), this.instancePositions = new Float32Array(3), this.instanceScales = new Float32Array(3), this.instanceColors = new Float32Array(1), this.instGeom.setAttribute("instancePosition", new b(this.instancePositions, 3)), this.instGeom.setAttribute("instanceScale", new b(this.instanceScales, 3)), this.instGeom.setAttribute("instanceColorIndex", new b(this.instanceColors, 1)), this.wireframe = new S(this.instGeom, this.material), this.wireframe.frustumCulled = !1, this.stateSub =
|
|
1346
|
+
this.material = this.createMaterial(), this.colorArray = new Float32Array(96), this.fillColorArray(), this.instancePositions = new Float32Array(3), this.instanceScales = new Float32Array(3), this.instanceColors = new Float32Array(1), this.instGeom.setAttribute("instancePosition", new b(this.instancePositions, 3)), this.instGeom.setAttribute("instanceScale", new b(this.instanceScales, 3)), this.instGeom.setAttribute("instanceColorIndex", new b(this.instanceColors, 1)), this.wireframe = new S(this.instGeom, this.material), this.wireframe.frustumCulled = !1, this.stateSub = R(this.id).getObservable().subscribe((e) => {
|
|
1343
1347
|
this.numOfavailableSets = e.sets.length;
|
|
1344
1348
|
});
|
|
1345
1349
|
}
|
|
@@ -1458,7 +1462,7 @@ var $ = class {
|
|
|
1458
1462
|
renderHistory = [];
|
|
1459
1463
|
opts = void 0;
|
|
1460
1464
|
constructor(e, t, n) {
|
|
1461
|
-
this.rootObj = e.obj, this.id = t, this.opts = n, this.config = W().mergeHistogramConfig(this?.opts?.config), this.functionSub =
|
|
1465
|
+
this.rootObj = e.obj, this.id = t, this.opts = n, this.config = W().mergeHistogramConfig(this?.opts?.config), this.functionSub = B().getObservable().pipe(a((e) => e.target.entity === "nested-histogram" && (e.target.id.includes("*") || e.target.id.includes(this.id)))).subscribe((e) => this.functionSubjectHandler(e)), this.configSub = W().getObservable().pipe(a((e) => e.target.id.includes("*") || e.target.id.includes(this.id))).subscribe((e) => this.configSubjectHandler(e)), this.dispatchSub = ue().getObservable().pipe(a((e) => e.target.id === "*" || e.target.id === this.id)).subscribe((e) => this.dispatchSubjectHandler(e)), this.initDefaultFunctions();
|
|
1462
1466
|
}
|
|
1463
1467
|
remove() {
|
|
1464
1468
|
this.functionSub.unsubscribe(), this.configSub.unsubscribe(), this.dispatchSub.unsubscribe(), window.removeEventListener("keydown", this.keyDownHandler), window.removeEventListener("keydown", this.keyUpHandler);
|
|
@@ -1559,13 +1563,13 @@ var $ = class {
|
|
|
1559
1563
|
colorArray = void 0;
|
|
1560
1564
|
constructor(e, t, n) {
|
|
1561
1565
|
if (!e || !e.obj) throw console.error("THnPainter constructor: histo or histo.obj is undefined", e), Error("THnPainter: histo or histo.obj is undefined");
|
|
1562
|
-
super(e, t, n), console.log("THnPainter constructor start: "), this.pointer = new $(this.rootObj), this.handleStateChange = this.handleStateChange.bind(this), this.stateSub =
|
|
1566
|
+
super(e, t, n), console.log("THnPainter constructor start: "), this.pointer = new $(this.rootObj), this.handleStateChange = this.handleStateChange.bind(this), this.stateSub = R(this.id).getObservable().subscribe(this.handleStateChange), this.init(!0), console.log("THnPainter constructor end, mesh: ", this.mesh, "meshParent: ", this?.mesh?.parent ?? "undefined");
|
|
1563
1567
|
}
|
|
1564
1568
|
async updateHistogram(e) {
|
|
1565
1569
|
if (!e || !e.obj) throw console.error("THnPainter constructor: histo or histo.obj is undefined", e), Error("THnPainter: histo or histo.obj is undefined");
|
|
1566
1570
|
console.log("THnPainter updateHistogram start => histo: ", e, ", mesh: ", this.mesh, "uuid: ", this.mesh.uuid, "mesh.parent: ", this?.mesh?.parent ?? "undefined");
|
|
1567
1571
|
let t, n = this.mesh.parent;
|
|
1568
|
-
if (console.log("THnPainter updateHistogram parent is defined, removing mesh: ", this.mesh, "uuid: ", this.mesh.uuid, "mesh.parent: ", this?.mesh?.parent ?? "undefined"), this.pointer.isHistogramFilled && (t = this.mesh.raycast, this.mesh.raycast = () => {}, this.wireframe.dispose(), this.instGeom.dispose()), this.matrixCache = [], this.BVHTree = [], this.availableSets = [], this.selectedSet = [], this.minMaxValue = [],
|
|
1572
|
+
if (console.log("THnPainter updateHistogram parent is defined, removing mesh: ", this.mesh, "uuid: ", this.mesh.uuid, "mesh.parent: ", this?.mesh?.parent ?? "undefined"), this.pointer.isHistogramFilled && (t = this.mesh.raycast, this.mesh.raycast = () => {}, this.wireframe.dispose(), this.instGeom.dispose()), this.matrixCache = [], this.BVHTree = [], this.availableSets = [], this.selectedSet = [], this.minMaxValue = [], R(this.id).next({
|
|
1569
1573
|
sets: [],
|
|
1570
1574
|
selectedSet: [],
|
|
1571
1575
|
arrays: ["content"],
|
|
@@ -1593,8 +1597,8 @@ var $ = class {
|
|
|
1593
1597
|
}
|
|
1594
1598
|
};
|
|
1595
1599
|
});
|
|
1596
|
-
console.log("minMaxValues: ", e),
|
|
1597
|
-
...
|
|
1600
|
+
console.log("minMaxValues: ", e), R(this.id).next({
|
|
1601
|
+
...R(this.id).getValue(),
|
|
1598
1602
|
minMaxValue: e
|
|
1599
1603
|
});
|
|
1600
1604
|
}
|
|
@@ -1687,83 +1691,83 @@ var $ = class {
|
|
|
1687
1691
|
o.fXaxis.fNbins,
|
|
1688
1692
|
o.fYaxis.fNbins,
|
|
1689
1693
|
o.fZaxis.fNbins
|
|
1690
|
-
]), u, d, f, p, m = o.fArrays?.[this.selectedArray]?.outside ?? !1, h = this.selectedSet.indexOf(c), g = this.availableSets.indexOf(c), _ = this.config.scale.scaleBy === "value";
|
|
1694
|
+
]), u, d, f, p, m = o.fArrays?.[this.selectedArray]?.outside ?? !1, h = this.selectedSet.indexOf(c), g = this.availableSets.indexOf(c), _ = o.fArrays[Object.keys(o.fArrays)[0]].values, v = this.config.scale.scaleBy === "value";
|
|
1691
1695
|
if (c) if (this.config.scale.sets === "fixed") ({min: u, max: d} = this.minMaxValue[a + this.pointer.parentPath.length][c].value), {min: p, max: f} = this.minMaxValue[a + this.pointer.parentPath.length][c].error;
|
|
1692
1696
|
else if (this.config.scale.sets === "relative") {
|
|
1693
|
-
let e = o.fSumw2.filter((e) => e !== 0), t =
|
|
1697
|
+
let e = o.fSumw2.filter((e) => e !== 0), t = v ? o.fArray.filter((e) => e !== 0) : e;
|
|
1694
1698
|
u = Math.min(...t), d = Math.max(...t), f = this.maxErrorPerLayer[a + this.pointer.parentPath.length][c], p = this.minErrorPerLayer[a + this.pointer.parentPath.length][c];
|
|
1695
|
-
} else u =
|
|
1696
|
-
else if (this.selectedArray !== "content" && o.fArrays) if (this.config.scale.parameter === "fixed") ({min: u, max: d} = this.minMaxValue[a + this.pointer.parentPath.length][this.selectedArray].value), {min: p, max: f} = this.minMaxValue[a + this.pointer.parentPath.length][this.selectedArray].error;
|
|
1699
|
+
} else u = v ? this.minContentPerLayer[a + this.pointer.parentPath.length][c] : -.1, d = v ? this.maxContentPerLayer[a + this.pointer.parentPath.length][c] : this.maxErrorPerLayer[a + this.pointer.parentPath.length][c], f = this.maxErrorPerLayer[a + this.pointer.parentPath.length][c], p = this.minErrorPerLayer[a + this.pointer.parentPath.length][c];
|
|
1700
|
+
else if (this.selectedArray !== "content" && o.fArrays && _) if (this.config.scale.parameter === "fixed") ({min: u, max: d} = this.minMaxValue[a + this.pointer.parentPath.length][this.selectedArray].value), {min: p, max: f} = this.minMaxValue[a + this.pointer.parentPath.length][this.selectedArray].error;
|
|
1697
1701
|
else if (this.config.scale.parameter === "relative") {
|
|
1698
|
-
let e = o.fArrays[this.selectedArray].errors.filter((e) => e !== 0), t =
|
|
1702
|
+
let e = o.fArrays[this.selectedArray].errors.filter((e) => e !== 0), t = v ? o.fArrays[this.selectedArray].values.filter((e) => e !== 0) : e;
|
|
1699
1703
|
u = Math.min(...t), d = Math.max(...t), f = this.maxErrorPerLayer[a + this.pointer.parentPath.length][this.selectedArray], p = this.minErrorPerLayer[a + this.pointer.parentPath.length][this.selectedArray];
|
|
1700
|
-
} else u =
|
|
1704
|
+
} else u = v ? this.minContentPerLayer[0][this.selectedArray] : -.1, d = v ? this.maxContentPerLayer[0][this.selectedArray] : this.maxErrorPerLayer[0][this.selectedArray], f = this.maxErrorPerLayer[0][this.selectedArray], p = this.minErrorPerLayer[0][this.selectedArray];
|
|
1701
1705
|
else {
|
|
1702
1706
|
let e = this.pointer.isOnSet ?? "content";
|
|
1703
1707
|
if (this.config.scale.content === "fixed") ({min: u, max: d} = this.minMaxValue[a + this.pointer.parentPath.length][e].value), {min: p, max: f} = this.minMaxValue[a + this.pointer.parentPath.length][e].error;
|
|
1704
1708
|
else if (this.config.scale.content === "relative") {
|
|
1705
|
-
let t = o.fSumw2.filter((e) => e !== 0), n =
|
|
1709
|
+
let t = o.fSumw2.filter((e) => e !== 0), n = v ? o.fArray.filter((e) => e !== 0) : t;
|
|
1706
1710
|
u = Math.min(...n), d = Math.max(...n), f = this.maxErrorPerLayer[a + this.pointer.parentPath.length][e], p = this.minErrorPerLayer[a + this.pointer.parentPath.length][e];
|
|
1707
|
-
} else u =
|
|
1711
|
+
} else u = v ? this.minContentPerLayer[a + this.pointer.parentPath.length][e] : -.1, d = v ? this.maxContentPerLayer[a + this.pointer.parentPath.length][e] : this.maxErrorPerLayer[a + this.pointer.parentPath.length][e], f = this.maxErrorPerLayer[a + this.pointer.parentPath.length][e], p = this.minErrorPerLayer[a + this.pointer.parentPath.length][e];
|
|
1708
1712
|
}
|
|
1709
1713
|
u === d && (u = d - .2);
|
|
1710
|
-
let
|
|
1711
|
-
l.setFromNumber(e /
|
|
1712
|
-
let
|
|
1713
|
-
x:
|
|
1714
|
-
y:
|
|
1715
|
-
z:
|
|
1716
|
-
} : { ...
|
|
1717
|
-
c && this.config.padding.sets &&
|
|
1714
|
+
let y = o._typename.substring(0, 3) === "TH3", b = o._typename.substring(0, 3) === "TH2", x = o._typename.substring(0, 3) === "TH1", S = this.maxInstancesPerLayer.slice(a + 1).reduce((e, t) => e * t, 1);
|
|
1715
|
+
l.setFromNumber(e / S);
|
|
1716
|
+
let C = this.config.padding.layer[a] ?? this.config.padding.default, w = !this.config.padding.layer[a] && x ? {
|
|
1717
|
+
x: C.x,
|
|
1718
|
+
y: C.y,
|
|
1719
|
+
z: C.z
|
|
1720
|
+
} : { ...C };
|
|
1721
|
+
c && this.config.padding.sets && x && (w = {
|
|
1718
1722
|
x: this.config.padding.sets.x,
|
|
1719
1723
|
y: 0,
|
|
1720
1724
|
z: 0
|
|
1721
|
-
}), this.pointer.isOnSet && (
|
|
1725
|
+
}), this.pointer.isOnSet && (w = {
|
|
1722
1726
|
x: 0,
|
|
1723
1727
|
y: 0,
|
|
1724
1728
|
z: 0
|
|
1725
1729
|
});
|
|
1726
|
-
let { min:
|
|
1727
|
-
for (let
|
|
1730
|
+
let { min: T, max: E } = this.config.scale?.layer?.[a] ? this.config.scale?.layer[a] : this.config.scale.default;
|
|
1731
|
+
for (let v = e; v < t; v += S) {
|
|
1728
1732
|
let e = {
|
|
1729
1733
|
x: l.getValueAt(0),
|
|
1730
1734
|
y: l.getValueAt(1),
|
|
1731
1735
|
z: l.getValueAt(2)
|
|
1732
|
-
},
|
|
1733
|
-
|
|
1734
|
-
let
|
|
1735
|
-
if (
|
|
1736
|
-
let e = (
|
|
1737
|
-
if (!m)
|
|
1736
|
+
}, x = Ye(s.position.z, s.scale.z, qe(Je(o, e, w, s?.scale, s?.position, a, r))), C = this.getBinContent(o, e.x, e.y, e.z, _ ? this.selectedArray : "content"), D = this.getBinError(o, e.x, e.y, e.z, _ ? this.selectedArray : "content"), O = this.config.scale.scaleBy === "value" ? C : D, k = this.config.scale.scaleBy === "value" ? u : p, A = this.config.scale.scaleBy === "value" ? d : f;
|
|
1737
|
+
k === A && (k -= k * .1);
|
|
1738
|
+
let j = 1;
|
|
1739
|
+
if (O >= k == !m) {
|
|
1740
|
+
let e = (O - k) / (A - k);
|
|
1741
|
+
if (!m) j = Number.isInteger(O) && O === 0 && this.config.scale.scaleBy === "value" ? j = 0 : (E - T) * e + T, j > 1 && (j = 1);
|
|
1738
1742
|
else {
|
|
1739
|
-
let e = (
|
|
1740
|
-
|
|
1743
|
+
let e = (C - void 0) / (void 0 - void 0);
|
|
1744
|
+
j = Number.isInteger(C) && C === 0 ? j = 0 : (E - T) * e + T;
|
|
1741
1745
|
}
|
|
1742
|
-
} else
|
|
1743
|
-
this.config.color.scaleBy === "value" ? this.color = ot(this.config.color,
|
|
1744
|
-
let
|
|
1745
|
-
if (
|
|
1746
|
-
else if (
|
|
1747
|
-
else if (
|
|
1748
|
-
else if (
|
|
1746
|
+
} else j = 0;
|
|
1747
|
+
this.config.color.scaleBy === "value" ? this.color = ot(this.config.color, O, k, A, g, a) : this.color = ot(this.config.color, D, p, f, g, a);
|
|
1748
|
+
let M = x.y.size * j;
|
|
1749
|
+
if (j === 0) x.x.size = 0, x.z.size = 0, x.y.size = 0;
|
|
1750
|
+
else if (y) x.x.size *= j, x.z.size *= j, x.y.size = M;
|
|
1751
|
+
else if (b) x.y.pos -= (x.y.size - M) / 2, x.y.size = M;
|
|
1752
|
+
else if (x.y.pos -= (x.y.size - M) / 2, x.y.size = M, c) {
|
|
1749
1753
|
let e = this.config.TH1ZScale.set;
|
|
1750
|
-
|
|
1751
|
-
} else this.config.TH1ZScale?.layer?.[a] ?
|
|
1752
|
-
if (c)
|
|
1754
|
+
x.z.size = e || .01;
|
|
1755
|
+
} else this.config.TH1ZScale?.layer?.[a] ? x.z.size = s.scale.z * this.config.TH1ZScale.layer[a] : x.z.size = s.scale.z * this.config.TH1ZScale.default;
|
|
1756
|
+
if (c) x.z.size = .01, x.z.pos += (h - (this.selectedSet.length - 1) / 2) * .1, this.setMatrixCacheAt(a, g, v / S, x, a === n && j !== 0 ? this.color : -1);
|
|
1753
1757
|
else {
|
|
1754
1758
|
let e = null;
|
|
1755
|
-
this.pointer.isOnSet && (
|
|
1759
|
+
this.pointer.isOnSet && (x.z.size = .01, x.z.pos += (h - (this.selectedSet.length - 1) / 2) * .1, e = this.availableSets.indexOf(this.pointer.isOnSet)), this.setMatrixCacheAt(a, e, v / S, x, a === n && j !== 0 ? this.color : -1);
|
|
1756
1760
|
}
|
|
1757
1761
|
if (a === n) {
|
|
1758
|
-
let e =
|
|
1762
|
+
let e = v;
|
|
1759
1763
|
c && (e += this.totalInstances * h);
|
|
1760
1764
|
} else {
|
|
1761
1765
|
let n = o.getBin(e.x + 1, e.y + 1, e.z + 1), r, s = {
|
|
1762
|
-
position: new N(
|
|
1763
|
-
scale: new N(
|
|
1766
|
+
position: new N(x.x.pos, x.y.pos, x.z.pos),
|
|
1767
|
+
scale: new N(x.x.size, x.y.size, x.z.size)
|
|
1764
1768
|
};
|
|
1765
|
-
o.children.content ? (r = o.children.content[n], i(
|
|
1766
|
-
r = o.children[e][n], i(
|
|
1769
|
+
o.children.content ? (r = o.children.content[n], i(v, t, a + 1, r, s)) : this.selectedSet.forEach((e) => {
|
|
1770
|
+
r = o.children[e][n], i(v, t, a + 1, r, s, e);
|
|
1767
1771
|
});
|
|
1768
1772
|
}
|
|
1769
1773
|
if (!l.increment()) break;
|
|
@@ -1781,7 +1785,7 @@ var $ = class {
|
|
|
1781
1785
|
});
|
|
1782
1786
|
}
|
|
1783
1787
|
mouseClickDefault(e) {
|
|
1784
|
-
this.showChildHistogram(e.index), e.selectedArray !== "content" && (e.jsrootObj.fArray = e.jsrootObj.fArrays[e.selectedArray]?.values, e.jsrootObj.fSumw2 = e.jsrootObj.fArrays[e.selectedArray]?.errors, e.jsrootObj.fMinimum = e.jsrootObj.fArrays[e.selectedArray]?.min, e.jsrootObj.fMaximum = e.jsrootObj.fArrays[e.selectedArray]?.max), H().next({
|
|
1788
|
+
this.showChildHistogram(e.index), e.selectedArray !== "content" && e.jsrootObj?.fArrays[e.selectedArray]?.values && (e.jsrootObj.fArray = e.jsrootObj.fArrays[e.selectedArray]?.values, e.jsrootObj.fSumw2 = e.jsrootObj.fArrays[e.selectedArray]?.errors, e.jsrootObj.fMinimum = e.jsrootObj.fArrays[e.selectedArray]?.min, e.jsrootObj.fMaximum = e.jsrootObj.fArrays[e.selectedArray]?.max), H().next({
|
|
1785
1789
|
id: this.id + "-cinema",
|
|
1786
1790
|
obj: e.jsrootObj
|
|
1787
1791
|
});
|
|
@@ -1927,7 +1931,7 @@ var $ = class {
|
|
|
1927
1931
|
this.matrixCache = [], this.instGeom.dispose(), this.wireframe.dispose(), n.remove(this.mesh);
|
|
1928
1932
|
let r = Y(e, t, this.pointer.origin, this.wireframe, this.selectedSet);
|
|
1929
1933
|
if (this.pointer.setOriginToChild(J(e, this.pointer.origin, this.selectedSet), t, r), !this.pointer.isHistogramFilled) {
|
|
1930
|
-
this.mesh =
|
|
1934
|
+
this.mesh = xe(this.limits, this.setPointerToParent.bind(this)), n.add(this.mesh);
|
|
1931
1935
|
return;
|
|
1932
1936
|
}
|
|
1933
1937
|
this.init(!1), console.log("path: ", this.pointer.path), console.log("title: ", this.pointer.title), await this.renderHistogram(0, this.totalInstances, 0), n.add(this.mesh), n.add(this.wireframe.wireframe), this.pointer.isOnSet && this.wireframe.toggleVisibility(this.matrixCache, this.maxInstancesPerLayer, this.availableSets.indexOf(t));
|
|
@@ -1974,26 +1978,26 @@ var $ = class {
|
|
|
1974
1978
|
let t = e.children.content.find((e) => e);
|
|
1975
1979
|
this.setAvailableSets(t);
|
|
1976
1980
|
} else if (e?.children) {
|
|
1977
|
-
let t =
|
|
1978
|
-
t.sets = Object.keys(e.children), t.selectedSet.length === 0 ? (this.selectedSet.push(t.sets[0]), t.selectedSet.push(t.sets[0])) : this.selectedSet.every((e) => t.sets.find((t) => t === e)) || (t.selectedSet = [t.sets[0]]),
|
|
1981
|
+
let t = R(this.id).getValue();
|
|
1982
|
+
t.sets = Object.keys(e.children), t.selectedSet.length === 0 ? (this.selectedSet.push(t.sets[0]), t.selectedSet.push(t.sets[0])) : this.selectedSet.every((e) => t.sets.find((t) => t === e)) || (t.selectedSet = [t.sets[0]]), R(this.id).next(t);
|
|
1979
1983
|
} else {
|
|
1980
|
-
let e =
|
|
1984
|
+
let e = R(this.id).getValue();
|
|
1981
1985
|
e.sets = [], e.selectedSet = [];
|
|
1982
1986
|
}
|
|
1983
1987
|
}
|
|
1984
1988
|
setAvailableArrays(e) {
|
|
1985
|
-
let t =
|
|
1989
|
+
let t = R(this.id).getValue();
|
|
1986
1990
|
t.arrays = [], e.fArrays && (t.arrays = Object.keys(e.fArrays)), t.arrays.unshift("content");
|
|
1987
1991
|
let n = (e) => {
|
|
1988
1992
|
let r = e.find((e) => e);
|
|
1989
1993
|
r.fArrays && (t.arrays = t.arrays.concat(Object.keys(r.fArrays))), r.children?.content && n(r.children.content);
|
|
1990
1994
|
};
|
|
1991
|
-
e.children?.content && n(e.children.content),
|
|
1995
|
+
e.children?.content && n(e.children.content), t.arrays = [...new Set(t.arrays)], R(this.id).next(t);
|
|
1992
1996
|
}
|
|
1993
1997
|
configSubjectHandler(e) {
|
|
1994
|
-
this.config = W().mergeHistogramConfig(this?.opts?.config), this.keyBindings =
|
|
1998
|
+
this.config = W().mergeHistogramConfig(this?.opts?.config), this.keyBindings = ve(e.config.bindings);
|
|
1995
1999
|
let t = e.config.environment.histogramPads.find((e) => e.id === this.id);
|
|
1996
|
-
t && !
|
|
2000
|
+
t && !be(this.limits, t) && this.renderHistory.length > 0 && (this.limits = { ...t }, this.renderHistogramHistory()), this.limits = { ...t };
|
|
1997
2001
|
}
|
|
1998
2002
|
keyDownHandler(e) {
|
|
1999
2003
|
let t = e.code.match(/^(?:Digit|Numpad)(\d+)$/);
|
|
@@ -2080,55 +2084,55 @@ var $ = class {
|
|
|
2080
2084
|
distance: null
|
|
2081
2085
|
}), r;
|
|
2082
2086
|
}, o = (e, t, n = 0, i = [], s = null) => {
|
|
2083
|
-
let c = [], l = this.maxInstancesPerLayer[t + 1], u = this.maxInstancesPerLayer[t] * this.maxInstancesPerLayer[t + 1];
|
|
2087
|
+
let c = [], l = this.maxInstancesPerLayer[t + 1], u = this.maxInstancesPerLayer[t] * this.maxInstancesPerLayer[t + 1], d = e.fArrays[Object.keys(e.fArrays)[0]].values;
|
|
2084
2088
|
return a(t, n, s).forEach((a) => {
|
|
2085
|
-
let
|
|
2086
|
-
x:
|
|
2087
|
-
y:
|
|
2088
|
-
z:
|
|
2089
|
+
let f = Math.abs(a.index) - n * this.maxInstancesPerLayer[t], p = f % e.fXaxis.fNbins, m = Math.floor(f % (e.fXaxis.fNbins * e.fYaxis.fNbins) / e.fXaxis.fNbins), h = Math.floor(f / (e.fXaxis.fNbins * e.fYaxis.fNbins)), g = [...i, {
|
|
2090
|
+
x: p,
|
|
2091
|
+
y: m,
|
|
2092
|
+
z: h
|
|
2089
2093
|
}];
|
|
2090
2094
|
if (e.children) {
|
|
2091
2095
|
let i = Object.entries(e.children).flatMap(([i, s]) => {
|
|
2092
|
-
let c = e.getBin(
|
|
2093
|
-
if (!d || !(r(t, n * u + (
|
|
2094
|
-
let
|
|
2095
|
-
return i !== "content" && (
|
|
2096
|
+
let c = e.getBin(p + 1, m + 1, h + 1), d = s?.[c];
|
|
2097
|
+
if (!d || !(r(t, n * u + (p + m * e.fXaxis.fNbins + h * (e.fXaxis.fNbins * e.fYaxis.fNbins)) * l, null) > 0)) return [];
|
|
2098
|
+
let f = o(d, t + 1, Math.abs(a.index), g, i);
|
|
2099
|
+
return i !== "content" && (f = f.map((e) => ({
|
|
2096
2100
|
...e,
|
|
2097
2101
|
set: i
|
|
2098
|
-
}))),
|
|
2102
|
+
}))), f;
|
|
2099
2103
|
});
|
|
2100
2104
|
if (i.length > 0) c.push(...i);
|
|
2101
2105
|
else {
|
|
2102
|
-
let r = n * this.maxInstancesPerLayer[t] + (
|
|
2106
|
+
let r = n * this.maxInstancesPerLayer[t] + (p + m * e.fXaxis.fNbins + h * (e.fXaxis.fNbins * e.fYaxis.fNbins));
|
|
2103
2107
|
(s && s !== "content" ? this.matrixCache[t]?.[this.availableSets.indexOf(s)] : this.matrixCache[t]).rendered[r] !== -1 && c.push({
|
|
2104
|
-
index:
|
|
2108
|
+
index: g,
|
|
2105
2109
|
target: a.target,
|
|
2106
2110
|
distance: a.distance,
|
|
2107
2111
|
set: s,
|
|
2108
2112
|
selectedArray: this.selectedArray,
|
|
2109
|
-
instanceId: q(
|
|
2110
|
-
jsrootInstance: J(
|
|
2111
|
-
range: Y(
|
|
2113
|
+
instanceId: q(g, this.pointer.origin, this.maxInstancesPerLayer, this.selectedSet),
|
|
2114
|
+
jsrootInstance: J(g, this.pointer.origin, this.selectedSet),
|
|
2115
|
+
range: Y(g, s, this.pointer.origin, this.wireframe, this.selectedSet),
|
|
2112
2116
|
origin: this,
|
|
2113
2117
|
jsrootObj: e,
|
|
2114
|
-
content: this.getBinContent(e,
|
|
2115
|
-
error: this.getBinError(e,
|
|
2118
|
+
content: this.getBinContent(e, p, m, h, d ? this.selectedArray : "content"),
|
|
2119
|
+
error: this.getBinError(e, p, m, h, d ? this.selectedArray : "content")
|
|
2116
2120
|
});
|
|
2117
2121
|
}
|
|
2118
2122
|
} else c.push({
|
|
2119
|
-
index:
|
|
2123
|
+
index: g,
|
|
2120
2124
|
target: a.target,
|
|
2121
2125
|
distance: a.distance,
|
|
2122
2126
|
set: s,
|
|
2123
2127
|
selectedArray: this.selectedArray,
|
|
2124
|
-
instanceId: q(
|
|
2125
|
-
jsrootInstance: J(
|
|
2126
|
-
range: Y(
|
|
2128
|
+
instanceId: q(g, this.pointer.origin, this.maxInstancesPerLayer, this.selectedSet),
|
|
2129
|
+
jsrootInstance: J(g, this.pointer.origin, this.selectedSet),
|
|
2130
|
+
range: Y(g, s, this.pointer.origin, this.wireframe, this.selectedSet),
|
|
2127
2131
|
origin: this,
|
|
2128
2132
|
object: this.mesh,
|
|
2129
2133
|
jsrootObj: e,
|
|
2130
|
-
content: this.getBinContent(e,
|
|
2131
|
-
error: this.getBinError(e,
|
|
2134
|
+
content: this.getBinContent(e, p, m, h, d ? this.selectedArray : "content"),
|
|
2135
|
+
error: this.getBinError(e, p, m, h, d ? this.selectedArray : "content")
|
|
2132
2136
|
});
|
|
2133
2137
|
}), c.sort((e, t) => e.distance - t.distance);
|
|
2134
2138
|
};
|
|
@@ -2152,7 +2156,7 @@ var $ = class {
|
|
|
2152
2156
|
range: Y(t, e.event.set, this.pointer.origin, this.wireframe, this.selectedSet),
|
|
2153
2157
|
origin: this,
|
|
2154
2158
|
jsrootObj: n,
|
|
2155
|
-
content: this.getBinContent(n, t[0].x + 1, t[0].y + 1, t[0].z + 1, this.selectedArray),
|
|
2159
|
+
content: this.getBinContent(n, t[0].x + 1, t[0].y + 1, t[0].z + 1, n.fArrays[Object.keys(n.fArrays)[0]].values ? this.selectedArray : "content"),
|
|
2156
2160
|
error: n.getBinError(t[0].x + 1, t[0].y + 1, t[0].z + 1)
|
|
2157
2161
|
};
|
|
2158
2162
|
}
|
|
@@ -2197,12 +2201,12 @@ var $ = class {
|
|
|
2197
2201
|
console.warn("updateTexture called with null/undefined");
|
|
2198
2202
|
return;
|
|
2199
2203
|
}
|
|
2200
|
-
let t = new
|
|
2204
|
+
let t = new ne();
|
|
2201
2205
|
if (typeof e == "string" && (e.startsWith("data:") || e.startsWith("http"))) t.load(e, (e) => {
|
|
2202
2206
|
this.plane.material.map = e, this.plane.material.needsUpdate = !0;
|
|
2203
2207
|
}, void 0, (e) => console.error("Texture load failed", e));
|
|
2204
2208
|
else if (e instanceof HTMLImageElement) {
|
|
2205
|
-
let t = new
|
|
2209
|
+
let t = new te(e);
|
|
2206
2210
|
t.needsUpdate = !0, this.plane.material.map = t, this.plane.material.needsUpdate = !0;
|
|
2207
2211
|
} else console.error("Unsupported image type passed to updateTexture:", e);
|
|
2208
2212
|
}
|
|
@@ -2417,7 +2421,7 @@ var vt = class {
|
|
|
2417
2421
|
this.config = { ...e.config };
|
|
2418
2422
|
let t = this.config.environment.histogramPads.find((e) => e.id === this.id).position;
|
|
2419
2423
|
this.histogramGroup.position.set(t.x, t.y, t.z);
|
|
2420
|
-
}), this.sub =
|
|
2424
|
+
}), this.sub = B().getObservable().pipe(a((e) => e.target.id.includes("*") || e.target.id.includes(this.id))).subscribe((e) => {
|
|
2421
2425
|
if (e.flag === "add") if (e.function) this.addEvent(e.event, e.function);
|
|
2422
2426
|
else switch (e.event) {
|
|
2423
2427
|
case "mousemove":
|
|
@@ -2576,4 +2580,4 @@ var vt = class {
|
|
|
2576
2580
|
}
|
|
2577
2581
|
};
|
|
2578
2582
|
//#endregion
|
|
2579
|
-
export { pt as CanvasClass, yt as HistogramJsrootClass, $ as HistogramPointerClass, Ve as MobileController, Ue as NdmvrRaycaster, ft as THnPainter, G as binInfoSubjectGet,
|
|
2583
|
+
export { pt as CanvasClass, yt as HistogramJsrootClass, $ as HistogramPointerClass, Ve as MobileController, Ue as NdmvrRaycaster, ft as THnPainter, G as binInfoSubjectGet, ae as brokerManagerGet, H as canvasSubjectGet, W as configSubjectGet, ue as dispatchSubjectGet, He as fetchTFile, B as functionSubjectGet, Pe as getCameraComponent, Te as histogramSubjectGet, se as httpRequest, oe as initNdmvrAframe, I as inputDeviceSubjectGet, R as stateSubjectGet };
|