our-medical
Version:
medical image vue component
3,239 lines • 111 kB
JavaScript
var G = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Le(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function nr(e) {
if (e.__esModule) return e;
var t = e.default;
if (typeof t == "function") {
var r = function n() {
return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
};
r.prototype = t.prototype;
} else r = {};
return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(e).forEach(function(n) {
var a = Object.getOwnPropertyDescriptor(e, n);
Object.defineProperty(r, n, a.get ? a : {
enumerable: !0,
get: function() {
return e[n];
}
});
}), r;
}
var rr = function e(t, r) {
if (t === r) return !0;
if (t && r && typeof t == "object" && typeof r == "object") {
if (t.constructor !== r.constructor) return !1;
var n, a, s;
if (Array.isArray(t)) {
if (n = t.length, n != r.length) return !1;
for (a = n; a-- !== 0; )
if (!e(t[a], r[a])) return !1;
return !0;
}
if (t.constructor === RegExp) return t.source === r.source && t.flags === r.flags;
if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === r.valueOf();
if (t.toString !== Object.prototype.toString) return t.toString() === r.toString();
if (s = Object.keys(t), n = s.length, n !== Object.keys(r).length) return !1;
for (a = n; a-- !== 0; )
if (!Object.prototype.hasOwnProperty.call(r, s[a])) return !1;
for (a = n; a-- !== 0; ) {
var i = s[a];
if (!e(t[i], r[i])) return !1;
}
return !0;
}
return t !== t && r !== r;
}, ar = /* @__PURE__ */ Le(rr), le = Object.prototype.toString, ke = function(t) {
var r = le.call(t), n = r === "[object Arguments]";
return n || (n = r !== "[object Array]" && t !== null && typeof t == "object" && typeof t.length == "number" && t.length >= 0 && le.call(t.callee) === "[object Function]"), n;
}, At, pe;
function sr() {
if (pe) return At;
pe = 1;
var e;
if (!Object.keys) {
var t = Object.prototype.hasOwnProperty, r = Object.prototype.toString, n = ke, a = Object.prototype.propertyIsEnumerable, s = !a.call({ toString: null }, "toString"), i = a.call(function() {
}, "prototype"), u = [
"toString",
"toLocaleString",
"valueOf",
"hasOwnProperty",
"isPrototypeOf",
"propertyIsEnumerable",
"constructor"
], o = function(l) {
var g = l.constructor;
return g && g.prototype === l;
}, f = {
$applicationCache: !0,
$console: !0,
$external: !0,
$frame: !0,
$frameElement: !0,
$frames: !0,
$innerHeight: !0,
$innerWidth: !0,
$onmozfullscreenchange: !0,
$onmozfullscreenerror: !0,
$outerHeight: !0,
$outerWidth: !0,
$pageXOffset: !0,
$pageYOffset: !0,
$parent: !0,
$scrollLeft: !0,
$scrollTop: !0,
$scrollX: !0,
$scrollY: !0,
$self: !0,
$webkitIndexedDB: !0,
$webkitStorageInfo: !0,
$window: !0
}, c = function() {
if (typeof window > "u")
return !1;
for (var l in window)
try {
if (!f["$" + l] && t.call(window, l) && window[l] !== null && typeof window[l] == "object")
try {
o(window[l]);
} catch {
return !0;
}
} catch {
return !0;
}
return !1;
}(), y = function(l) {
if (typeof window > "u" || !c)
return o(l);
try {
return o(l);
} catch {
return !1;
}
};
e = function(g) {
var p = g !== null && typeof g == "object", h = r.call(g) === "[object Function]", w = n(g), C = p && r.call(g) === "[object String]", E = [];
if (!p && !h && !w)
throw new TypeError("Object.keys called on a non-object");
var $ = i && h;
if (C && g.length > 0 && !t.call(g, 0))
for (var v = 0; v < g.length; ++v)
E.push(String(v));
if (w && g.length > 0)
for (var m = 0; m < g.length; ++m)
E.push(String(m));
else
for (var d in g)
!($ && d === "prototype") && t.call(g, d) && E.push(String(d));
if (s)
for (var O = y(g), T = 0; T < u.length; ++T)
!(O && u[T] === "constructor") && t.call(g, u[T]) && E.push(u[T]);
return E;
};
}
return At = e, At;
}
var or = Array.prototype.slice, ir = ke, he = Object.keys, yt = he ? function(t) {
return he(t);
} : sr(), ve = Object.keys;
yt.shim = function() {
if (Object.keys) {
var t = function() {
var r = Object.keys(arguments);
return r && r.length === arguments.length;
}(1, 2);
t || (Object.keys = function(n) {
return ir(n) ? ve(or.call(n)) : ve(n);
});
} else
Object.keys = yt;
return Object.keys || yt;
};
var ur = yt, fr = function() {
if (typeof Symbol != "function" || typeof Object.getOwnPropertySymbols != "function")
return !1;
if (typeof Symbol.iterator == "symbol")
return !0;
var t = {}, r = Symbol("test"), n = Object(r);
if (typeof r == "string" || Object.prototype.toString.call(r) !== "[object Symbol]" || Object.prototype.toString.call(n) !== "[object Symbol]")
return !1;
var a = 42;
t[r] = a;
for (r in t)
return !1;
if (typeof Object.keys == "function" && Object.keys(t).length !== 0 || typeof Object.getOwnPropertyNames == "function" && Object.getOwnPropertyNames(t).length !== 0)
return !1;
var s = Object.getOwnPropertySymbols(t);
if (s.length !== 1 || s[0] !== r || !Object.prototype.propertyIsEnumerable.call(t, r))
return !1;
if (typeof Object.getOwnPropertyDescriptor == "function") {
var i = Object.getOwnPropertyDescriptor(t, r);
if (i.value !== a || i.enumerable !== !0)
return !1;
}
return !0;
}, me = typeof Symbol < "u" && Symbol, cr = fr, gr = function() {
return typeof me != "function" || typeof Symbol != "function" || typeof me("foo") != "symbol" || typeof Symbol("bar") != "symbol" ? !1 : cr();
}, Oe = {
foo: {}
}, yr = Object, lr = function() {
return { __proto__: Oe }.foo === Oe.foo && !({ __proto__: null } instanceof yr);
}, pr = "Function.prototype.bind called on incompatible ", Mt = Array.prototype.slice, hr = Object.prototype.toString, vr = "[object Function]", mr = function(t) {
var r = this;
if (typeof r != "function" || hr.call(r) !== vr)
throw new TypeError(pr + r);
for (var n = Mt.call(arguments, 1), a, s = function() {
if (this instanceof a) {
var c = r.apply(
this,
n.concat(Mt.call(arguments))
);
return Object(c) === c ? c : this;
} else
return r.apply(
t,
n.concat(Mt.call(arguments))
);
}, i = Math.max(0, r.length - n.length), u = [], o = 0; o < i; o++)
u.push("$" + o);
if (a = Function("binder", "return function (" + u.join(",") + "){ return binder.apply(this,arguments); }")(s), r.prototype) {
var f = function() {
};
f.prototype = r.prototype, a.prototype = new f(), f.prototype = null;
}
return a;
}, Or = mr, je = Function.prototype.bind || Or, Tr = je, dr = Tr.call(Function.call, Object.prototype.hasOwnProperty), x, et = SyntaxError, _e = Function, tt = TypeError, $t = function(e) {
try {
return _e('"use strict"; return (' + e + ").constructor;")();
} catch {
}
}, q = Object.getOwnPropertyDescriptor;
if (q)
try {
q({}, "");
} catch {
q = null;
}
var Nt = function() {
throw new tt();
}, xr = q ? function() {
try {
return arguments.callee, Nt;
} catch {
try {
return q(arguments, "callee").get;
} catch {
return Nt;
}
}
}() : Nt, J = gr(), wr = lr(), L = Object.getPrototypeOf || (wr ? function(e) {
return e.__proto__;
} : null), P = {}, Cr = typeof Uint8Array > "u" || !L ? x : L(Uint8Array), Z = {
"%AggregateError%": typeof AggregateError > "u" ? x : AggregateError,
"%Array%": Array,
"%ArrayBuffer%": typeof ArrayBuffer > "u" ? x : ArrayBuffer,
"%ArrayIteratorPrototype%": J && L ? L([][Symbol.iterator]()) : x,
"%AsyncFromSyncIteratorPrototype%": x,
"%AsyncFunction%": P,
"%AsyncGenerator%": P,
"%AsyncGeneratorFunction%": P,
"%AsyncIteratorPrototype%": P,
"%Atomics%": typeof Atomics > "u" ? x : Atomics,
"%BigInt%": typeof BigInt > "u" ? x : BigInt,
"%BigInt64Array%": typeof BigInt64Array > "u" ? x : BigInt64Array,
"%BigUint64Array%": typeof BigUint64Array > "u" ? x : BigUint64Array,
"%Boolean%": Boolean,
"%DataView%": typeof DataView > "u" ? x : DataView,
"%Date%": Date,
"%decodeURI%": decodeURI,
"%decodeURIComponent%": decodeURIComponent,
"%encodeURI%": encodeURI,
"%encodeURIComponent%": encodeURIComponent,
"%Error%": Error,
"%eval%": eval,
// eslint-disable-line no-eval
"%EvalError%": EvalError,
"%Float32Array%": typeof Float32Array > "u" ? x : Float32Array,
"%Float64Array%": typeof Float64Array > "u" ? x : Float64Array,
"%FinalizationRegistry%": typeof FinalizationRegistry > "u" ? x : FinalizationRegistry,
"%Function%": _e,
"%GeneratorFunction%": P,
"%Int8Array%": typeof Int8Array > "u" ? x : Int8Array,
"%Int16Array%": typeof Int16Array > "u" ? x : Int16Array,
"%Int32Array%": typeof Int32Array > "u" ? x : Int32Array,
"%isFinite%": isFinite,
"%isNaN%": isNaN,
"%IteratorPrototype%": J && L ? L(L([][Symbol.iterator]())) : x,
"%JSON%": typeof JSON == "object" ? JSON : x,
"%Map%": typeof Map > "u" ? x : Map,
"%MapIteratorPrototype%": typeof Map > "u" || !J || !L ? x : L((/* @__PURE__ */ new Map())[Symbol.iterator]()),
"%Math%": Math,
"%Number%": Number,
"%Object%": Object,
"%parseFloat%": parseFloat,
"%parseInt%": parseInt,
"%Promise%": typeof Promise > "u" ? x : Promise,
"%Proxy%": typeof Proxy > "u" ? x : Proxy,
"%RangeError%": RangeError,
"%ReferenceError%": ReferenceError,
"%Reflect%": typeof Reflect > "u" ? x : Reflect,
"%RegExp%": RegExp,
"%Set%": typeof Set > "u" ? x : Set,
"%SetIteratorPrototype%": typeof Set > "u" || !J || !L ? x : L((/* @__PURE__ */ new Set())[Symbol.iterator]()),
"%SharedArrayBuffer%": typeof SharedArrayBuffer > "u" ? x : SharedArrayBuffer,
"%String%": String,
"%StringIteratorPrototype%": J && L ? L(""[Symbol.iterator]()) : x,
"%Symbol%": J ? Symbol : x,
"%SyntaxError%": et,
"%ThrowTypeError%": xr,
"%TypedArray%": Cr,
"%TypeError%": tt,
"%Uint8Array%": typeof Uint8Array > "u" ? x : Uint8Array,
"%Uint8ClampedArray%": typeof Uint8ClampedArray > "u" ? x : Uint8ClampedArray,
"%Uint16Array%": typeof Uint16Array > "u" ? x : Uint16Array,
"%Uint32Array%": typeof Uint32Array > "u" ? x : Uint32Array,
"%URIError%": URIError,
"%WeakMap%": typeof WeakMap > "u" ? x : WeakMap,
"%WeakRef%": typeof WeakRef > "u" ? x : WeakRef,
"%WeakSet%": typeof WeakSet > "u" ? x : WeakSet
};
if (L)
try {
null.error;
} catch (e) {
var Er = L(L(e));
Z["%Error.prototype%"] = Er;
}
var Sr = function e(t) {
var r;
if (t === "%AsyncFunction%")
r = $t("async function () {}");
else if (t === "%GeneratorFunction%")
r = $t("function* () {}");
else if (t === "%AsyncGeneratorFunction%")
r = $t("async function* () {}");
else if (t === "%AsyncGenerator%") {
var n = e("%AsyncGeneratorFunction%");
n && (r = n.prototype);
} else if (t === "%AsyncIteratorPrototype%") {
var a = e("%AsyncGenerator%");
a && L && (r = L(a.prototype));
}
return Z[t] = r, r;
}, Te = {
"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
"%ArrayPrototype%": ["Array", "prototype"],
"%ArrayProto_entries%": ["Array", "prototype", "entries"],
"%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
"%ArrayProto_keys%": ["Array", "prototype", "keys"],
"%ArrayProto_values%": ["Array", "prototype", "values"],
"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
"%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
"%BooleanPrototype%": ["Boolean", "prototype"],
"%DataViewPrototype%": ["DataView", "prototype"],
"%DatePrototype%": ["Date", "prototype"],
"%ErrorPrototype%": ["Error", "prototype"],
"%EvalErrorPrototype%": ["EvalError", "prototype"],
"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
"%FunctionPrototype%": ["Function", "prototype"],
"%Generator%": ["GeneratorFunction", "prototype"],
"%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
"%JSONParse%": ["JSON", "parse"],
"%JSONStringify%": ["JSON", "stringify"],
"%MapPrototype%": ["Map", "prototype"],
"%NumberPrototype%": ["Number", "prototype"],
"%ObjectPrototype%": ["Object", "prototype"],
"%ObjProto_toString%": ["Object", "prototype", "toString"],
"%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
"%PromisePrototype%": ["Promise", "prototype"],
"%PromiseProto_then%": ["Promise", "prototype", "then"],
"%Promise_all%": ["Promise", "all"],
"%Promise_reject%": ["Promise", "reject"],
"%Promise_resolve%": ["Promise", "resolve"],
"%RangeErrorPrototype%": ["RangeError", "prototype"],
"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
"%RegExpPrototype%": ["RegExp", "prototype"],
"%SetPrototype%": ["Set", "prototype"],
"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
"%StringPrototype%": ["String", "prototype"],
"%SymbolPrototype%": ["Symbol", "prototype"],
"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
"%TypedArrayPrototype%": ["TypedArray", "prototype"],
"%TypeErrorPrototype%": ["TypeError", "prototype"],
"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
"%URIErrorPrototype%": ["URIError", "prototype"],
"%WeakMapPrototype%": ["WeakMap", "prototype"],
"%WeakSetPrototype%": ["WeakSet", "prototype"]
}, ot = je, pt = dr, Dr = ot.call(Function.call, Array.prototype.concat), Ar = ot.call(Function.apply, Array.prototype.splice), de = ot.call(Function.call, String.prototype.replace), ht = ot.call(Function.call, String.prototype.slice), Mr = ot.call(Function.call, RegExp.prototype.exec), $r = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, Nr = /\\(\\)?/g, Fr = function(t) {
var r = ht(t, 0, 1), n = ht(t, -1);
if (r === "%" && n !== "%")
throw new et("invalid intrinsic syntax, expected closing `%`");
if (n === "%" && r !== "%")
throw new et("invalid intrinsic syntax, expected opening `%`");
var a = [];
return de(t, $r, function(s, i, u, o) {
a[a.length] = u ? de(o, Nr, "$1") : i || s;
}), a;
}, Lr = function(t, r) {
var n = t, a;
if (pt(Te, n) && (a = Te[n], n = "%" + a[0] + "%"), pt(Z, n)) {
var s = Z[n];
if (s === P && (s = Sr(n)), typeof s > "u" && !r)
throw new tt("intrinsic " + t + " exists, but is not available. Please file an issue!");
return {
alias: a,
name: n,
value: s
};
}
throw new et("intrinsic " + t + " does not exist!");
}, kr = function(t, r) {
if (typeof t != "string" || t.length === 0)
throw new tt("intrinsic name must be a non-empty string");
if (arguments.length > 1 && typeof r != "boolean")
throw new tt('"allowMissing" argument must be a boolean');
if (Mr(/^%?[^%]*%?$/, t) === null)
throw new et("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
var n = Fr(t), a = n.length > 0 ? n[0] : "", s = Lr("%" + a + "%", r), i = s.name, u = s.value, o = !1, f = s.alias;
f && (a = f[0], Ar(n, Dr([0, 1], f)));
for (var c = 1, y = !0; c < n.length; c += 1) {
var l = n[c], g = ht(l, 0, 1), p = ht(l, -1);
if ((g === '"' || g === "'" || g === "`" || p === '"' || p === "'" || p === "`") && g !== p)
throw new et("property names with quotes must have matching quotes");
if ((l === "constructor" || !y) && (o = !0), a += "." + l, i = "%" + a + "%", pt(Z, i))
u = Z[i];
else if (u != null) {
if (!(l in u)) {
if (!r)
throw new tt("base intrinsic for " + t + " exists, but the property is not available.");
return;
}
if (q && c + 1 >= n.length) {
var h = q(u, l);
y = !!h, y && "get" in h && !("originalValue" in h.get) ? u = h.get : u = u[l];
} else
y = pt(u, l), u = u[l];
y && !o && (Z[i] = u);
}
}
return u;
}, jr = kr, jt = jr("%Object.defineProperty%", !0), _t = function() {
if (jt)
try {
return jt({}, "a", { value: 1 }), !0;
} catch {
return !1;
}
return !1;
};
_t.hasArrayLengthDefineBug = function() {
if (!_t())
return null;
try {
return jt([], "length", { value: 1 }).length !== 1;
} catch {
return !0;
}
};
var _r = _t, Ur = ur, Rr = typeof Symbol == "function" && typeof Symbol("foo") == "symbol", Gr = Object.prototype.toString, Br = Array.prototype.concat, Ue = Object.defineProperty, zr = function(e) {
return typeof e == "function" && Gr.call(e) === "[object Function]";
}, Vr = _r(), Re = Ue && Vr, br = function(e, t, r, n) {
if (t in e) {
if (n === !0) {
if (e[t] === r)
return;
} else if (!zr(n) || !n())
return;
}
Re ? Ue(e, t, {
configurable: !0,
enumerable: !1,
value: r,
writable: !0
}) : e[t] = r;
}, Ge = function(e, t) {
var r = arguments.length > 2 ? arguments[2] : {}, n = Ur(t);
Rr && (n = Br.call(n, Object.getOwnPropertySymbols(t)));
for (var a = 0; a < n.length; a += 1)
br(e, n[a], t[n[a]], r[n[a]]);
};
Ge.supportsDescriptors = !!Re;
var Be = Ge, lt = { exports: {} };
typeof self < "u" ? lt.exports = self : typeof window < "u" ? lt.exports = window : lt.exports = Function("return this")();
var ze = lt.exports, Wr = ze, Ve = function() {
return typeof G != "object" || !G || G.Math !== Math || G.Array !== Array ? Wr : G;
}, Xr = Be, Yr = Ve, Hr = function() {
var t = Yr();
if (Xr.supportsDescriptors) {
var r = Object.getOwnPropertyDescriptor(t, "globalThis");
(!r || r.configurable && (r.enumerable || !r.writable || globalThis !== t)) && Object.defineProperty(t, "globalThis", {
configurable: !0,
enumerable: !1,
value: t,
writable: !0
});
} else (typeof globalThis != "object" || globalThis !== t) && (t.globalThis = t);
return t;
}, Ir = Be, Kr = ze, be = Ve, qr = Hr, Zr = be(), We = function() {
return Zr;
};
Ir(We, {
getPolyfill: be,
implementation: Kr,
shim: qr
});
var Jr = We, Qr = /* @__PURE__ */ Le(Jr);
const z = Qr(), Xe = {
vtkObject: () => null
};
function b(e) {
if (e == null || e.isA)
return e;
if (!e.vtkClass)
return z.console && z.console.error && z.console.error("Invalid VTK object"), null;
const t = Xe[e.vtkClass];
if (!t)
return z.console && z.console.error && z.console.error(`No vtk class found for Object of type ${e.vtkClass}`), null;
const r = {
...e
};
Object.keys(r).forEach((a) => {
r[a] && typeof r[a] == "object" && r[a].vtkClass && (r[a] = b(r[a]));
});
const n = t(r);
return n && n.modified && n.modified(), n;
}
function Pr(e, t) {
Xe[e] = t;
}
b.register = Pr;
class Ft extends Array {
push() {
for (let t = 0; t < arguments.length; t++)
this.includes(arguments[t]) || super.push(arguments[t]);
return this.length;
}
}
let Ut = 0;
const Ye = Symbol("void");
function ta() {
return Ut;
}
const He = {};
function K() {
}
const ea = ["log", "debug", "info", "warn", "error", "time", "timeEnd", "group", "groupEnd"];
ea.forEach((e) => {
He[e] = K;
});
z.console = console.hasOwnProperty("log") ? console : He;
const Y = {
debug: K,
// Don't print debug by default
error: z.console.error || K,
info: z.console.info || K,
log: z.console.log || K,
warn: z.console.warn || K
};
function Ie(e, t) {
Y[e] && (Y[e] = t || K);
}
function Ke() {
Y.log(...arguments);
}
function qe() {
Y.info(...arguments);
}
function vt() {
Y.debug(...arguments);
}
function N() {
Y.error(...arguments);
}
function Vt() {
Y.warn(...arguments);
}
const xe = {};
function Ze(e) {
xe[e] || (Y.error(e), xe[e] = !0);
}
const _ = /* @__PURE__ */ Object.create(null);
_.Float32Array = Float32Array;
_.Float64Array = Float64Array;
_.Uint8Array = Uint8Array;
_.Int8Array = Int8Array;
_.Uint16Array = Uint16Array;
_.Int16Array = Int16Array;
_.Uint32Array = Uint32Array;
_.Int32Array = Int32Array;
_.Uint8ClampedArray = Uint8ClampedArray;
try {
_.BigInt64Array = BigInt64Array, _.BigUint64Array = BigUint64Array;
} catch {
}
function wt(e) {
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
r[n - 1] = arguments[n];
return new (_[e] || Float64Array)(...r);
}
function bt(e) {
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
r[n - 1] = arguments[n];
return (_[e] || Float64Array).from(...r);
}
function Ct(e) {
return e.charAt(0).toUpperCase() + e.slice(1);
}
function M(e) {
return Ct(e[0] === "_" ? e.slice(1) : e);
}
function Je(e) {
return e.charAt(0).toLowerCase() + e.slice(1);
}
function Qe(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1e3;
const n = ["TB", "GB", "MB", "KB"];
let a = Number(e), s = "B";
for (; a > r; )
a /= r, s = n.pop();
return `${a.toFixed(t)} ${s}`;
}
function Pe(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : " ";
const r = [];
let n = e;
for (; n > 1e3; )
r.push(`000${n % 1e3}`.slice(-3)), n = Math.floor(n / 1e3);
return n > 0 && r.push(n), r.reverse(), r.join(t);
}
function tn(e) {
Object.keys(e).forEach((t) => {
Array.isArray(e[t]) && (e[t] = [].concat(e[t]));
});
}
function na(e) {
return Object.values(_).some((t) => e instanceof t);
}
function ra(e, t) {
if (e === t)
return !0;
if (Array.isArray(e) && Array.isArray(t)) {
if (e.length !== t.length)
return !1;
for (let r = 0; r < e.length; r++)
if (e[r] !== t[r])
return !1;
return !0;
}
return !1;
}
function aa(e, t) {
return Object.keys(e).find((r) => e[r] === t);
}
function en(e) {
return e && e.isA ? e.getState() : e;
}
function Wt(e) {
setTimeout(e, 0);
}
function nn(e, t) {
const r = performance.now();
e.finally(() => {
const n = performance.now() - r;
t(n);
});
}
function Xt() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
tn(t);
const r = [];
if (Number.isInteger(t.mtime) || (t.mtime = ++Ut), !("classHierarchy" in t))
t.classHierarchy = new Ft("vtkObject");
else if (!(t.classHierarchy instanceof Ft)) {
const s = new Ft();
for (let i = 0; i < t.classHierarchy.length; i++)
s.push(t.classHierarchy[i]);
t.classHierarchy = s;
}
function n(s) {
r[s] = null;
}
function a(s) {
function i() {
n(s);
}
return Object.freeze({
unsubscribe: i
});
}
return e.isDeleted = () => !!t.deleted, e.modified = (s) => {
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
s && s < e.getMTime() || (t.mtime = ++Ut, r.forEach((i) => i && i(e)));
}, e.onModified = (s) => {
if (t.deleted)
return N("instance deleted - cannot call any method"), null;
const i = r.length;
return r.push(s), a(i);
}, e.getMTime = () => t.mtime, e.isA = (s) => {
let i = t.classHierarchy.length;
for (; i--; )
if (t.classHierarchy[i] === s)
return !0;
return !1;
}, e.getClassName = function() {
let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return t.classHierarchy[t.classHierarchy.length - 1 - s];
}, e.set = function() {
let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, o = !1;
return Object.keys(s).forEach((f) => {
const c = u ? null : e[`set${Ct(f)}`];
c && Array.isArray(s[f]) && c.length > 1 ? o = c(...s[f]) || o : c ? o = c(s[f]) || o : (["mtime"].indexOf(f) === -1 && !i && Vt(`Warning: Set value to model directly ${f}, ${s[f]}`), o = t[f] !== s[f] || o, t[f] = s[f]);
}), o;
}, e.get = function() {
for (var s = arguments.length, i = new Array(s), u = 0; u < s; u++)
i[u] = arguments[u];
if (!i.length)
return t;
const o = {};
return i.forEach((f) => {
o[f] = t[f];
}), o;
}, e.getReferenceByName = (s) => t[s], e.delete = () => {
Object.keys(t).forEach((s) => delete t[s]), r.forEach((s, i) => n(i)), t.deleted = !0;
}, e.getState = () => {
if (t.deleted)
return null;
const s = {
...t,
vtkClass: e.getClassName()
};
Object.keys(s).forEach((u) => {
s[u] === null || s[u] === void 0 || u[0] === "_" ? delete s[u] : s[u].isA ? s[u] = s[u].getState() : Array.isArray(s[u]) ? s[u] = s[u].map(en) : na(s[u]) && (s[u] = Array.from(s[u]));
});
const i = {};
return Object.keys(s).sort().forEach((u) => {
i[u] = s[u];
}), i.mtime && delete i.mtime, i;
}, e.shallowCopy = function(s) {
let i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (s.getClassName() !== e.getClassName())
throw new Error(`Cannot ShallowCopy ${s.getClassName()} into ${e.getClassName()}`);
const u = s.get(), o = Object.keys(t).sort();
Object.keys(u).sort().forEach((c) => {
const y = o.indexOf(c);
y === -1 ? i && vt(`add ${c} in shallowCopy`) : o.splice(y, 1), t[c] = u[c];
}), o.length && i && vt(`Untouched keys: ${o.join(", ")}`), e.modified();
}, e.toJSON = function() {
return e.getState();
}, e;
}
const sa = {
object(e, t, r) {
return function() {
return {
...t[r.name]
};
};
}
};
function it(e, t, r) {
r.forEach((n) => {
if (typeof n == "object") {
const a = sa[n.type];
a ? e[`get${M(n.name)}`] = a(e, t, n) : e[`get${M(n.name)}`] = () => t[n.name];
} else
e[`get${M(n)}`] = () => t[n];
});
}
const oa = {
enum(e, t, r) {
const n = `_on${M(r.name)}Changed`;
return (a) => {
var s;
if (typeof a == "string") {
if (r.enum[a] !== void 0)
return t[r.name] !== r.enum[a] ? (t[r.name] = r.enum[a], e.modified(), !0) : !1;
throw N(`Set Enum with invalid argument ${r}, ${a}`), new RangeError("Set Enum with invalid string argument");
}
if (typeof a == "number") {
if (t[r.name] !== a) {
if (Object.keys(r.enum).map((i) => r.enum[i]).indexOf(a) !== -1) {
const i = t[r.name];
return t[r.name] = a, (s = t[n]) == null || s.call(t, e, t, a, i), e.modified(), !0;
}
throw N(`Set Enum outside numeric range ${r}, ${a}`), new RangeError("Set Enum outside numeric range");
}
return !1;
}
throw N(`Set Enum with invalid argument (String/Number) ${r}, ${a}`), new TypeError("Set Enum with invalid argument (String/Number)");
};
},
object(e, t, r) {
const n = `_on${M(r.name)}Changed`;
return (a) => {
var s;
if (!ar(t[r.name], a)) {
const i = t[r.name];
return t[r.name] = a, (s = t[n]) == null || s.call(t, e, t, a, i), e.modified(), !0;
}
return !1;
};
}
};
function we(e) {
if (typeof e == "object") {
const t = oa[e.type];
if (t)
return (r, n) => t(r, n, e);
throw N(`No setter for field ${e}`), new TypeError("No setter for field");
}
return function(r, n) {
const a = `_on${M(e)}Changed`;
return function(i) {
var u;
if (n.deleted)
return N("instance deleted - cannot call any method"), !1;
if (n[e] !== i) {
const o = n[e.name];
return n[e] = i, (u = n[a]) == null || u.call(n, r, n, i, o), r.modified(), !0;
}
return !1;
};
};
}
function Et(e, t, r) {
r.forEach((n) => {
typeof n == "object" ? e[`set${M(n.name)}`] = we(n)(e, t) : e[`set${M(n)}`] = we(n)(e, t);
});
}
function Yt(e, t, r) {
it(e, t, r), Et(e, t, r);
}
function Ht(e, t, r) {
r.forEach((n) => {
e[`get${M(n)}`] = () => t[n] ? Array.from(t[n]) : t[n], e[`get${M(n)}ByReference`] = () => t[n];
});
}
function It(e, t, r, n) {
let a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : void 0;
r.forEach((s) => {
if (t[s] && n && t[s].length !== n)
throw new RangeError(`Invalid initial number of values for array (${s})`);
const i = `_on${M(s)}Changed`;
e[`set${M(s)}`] = function() {
var g;
if (t.deleted)
return N("instance deleted - cannot call any method"), !1;
for (var u = arguments.length, o = new Array(u), f = 0; f < u; f++)
o[f] = arguments[f];
let c = o, y, l = !1;
if (c.length === 1 && (c[0] == null || c[0].length >= 0) && (c = c[0], l = !0), c == null)
y = t[s] !== c;
else {
if (n && c.length !== n)
if (c.length < n && a !== void 0)
for (c = Array.from(c), l = !1; c.length < n; ) c.push(a);
else
throw new RangeError(`Invalid number of values for array setter (${s})`);
y = t[s] == null || t[s].length !== c.length;
for (let p = 0; !y && p < c.length; ++p)
y = t[s][p] !== c[p];
y && l && (c = Array.from(c));
}
if (y) {
const p = t[s.name];
t[s] = c, (g = t[i]) == null || g.call(t, e, t, c, p), e.modified();
}
return y;
}, e[`set${M(s)}From`] = (u) => {
const o = t[s];
u.forEach((f, c) => {
o[c] = f;
});
};
});
}
function rn(e, t, r, n) {
let a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : void 0;
Ht(e, t, r), It(e, t, r, n, a);
}
function an(e, t, r) {
for (let n = 0; n < r.length; n++) {
const a = r[n];
t[a] !== void 0 && (t[`_${a}`] = t[a], delete t[a]);
}
}
function sn(e, t, r, n) {
t.inputData ? t.inputData = t.inputData.map(b) : t.inputData = [], t.inputConnection ? t.inputConnection = t.inputConnection.map(b) : t.inputConnection = [], t.output ? t.output = t.output.map(b) : t.output = [], t.inputArrayToProcess ? t.inputArrayToProcess = t.inputArrayToProcess.map(b) : t.inputArrayToProcess = [], t.numberOfInputs = r;
function a(g) {
let p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
if (p >= t.numberOfInputs) {
N(`algorithm ${e.getClassName()} only has ${t.numberOfInputs} input ports. To add more input ports, use addInputData()`);
return;
}
(t.inputData[p] !== g || t.inputConnection[p]) && (t.inputData[p] = g, t.inputConnection[p] = null, e.modified && e.modified());
}
function s() {
let g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return t.inputConnection[g] && (t.inputData[g] = t.inputConnection[g]()), t.inputData[g];
}
function i(g) {
let p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
if (p >= t.numberOfInputs) {
let h = `algorithm ${e.getClassName()} only has `;
h += `${t.numberOfInputs}`, h += " input ports. To add more input ports, use addInputConnection()", N(h);
return;
}
t.inputData[p] = null, t.inputConnection[p] = g;
}
function u() {
let g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return t.inputConnection[g];
}
function o() {
let g = t.numberOfInputs;
for (; g && !t.inputData[g - 1] && !t.inputConnection[g - 1]; )
g--;
return g === t.numberOfInputs && t.numberOfInputs++, g;
}
function f(g) {
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
i(g, o());
}
function c(g) {
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
a(g, o());
}
function y() {
let g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return t.deleted ? (N("instance deleted - cannot call any method"), null) : (e.shouldUpdate() && e.update(), t.output[g]);
}
e.shouldUpdate = () => {
var w, C;
const g = e.getMTime();
let p = 1 / 0, h = n;
for (; h--; ) {
if (!t.output[h] || t.output[h].isDeleted())
return !0;
const E = t.output[h].getMTime();
if (E < g)
return !0;
E < p && (p = E);
}
for (h = t.numberOfInputs; h--; )
if ((w = t.inputConnection[h]) != null && w.filter.shouldUpdate() || ((C = e.getInputData(h)) == null ? void 0 : C.getMTime()) > p)
return !0;
return !1;
};
function l() {
let g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
const p = () => y(g);
return p.filter = e, p;
}
if (t.numberOfInputs) {
let g = t.numberOfInputs;
for (; g--; )
t.inputData.push(null), t.inputConnection.push(null);
e.setInputData = a, e.setInputConnection = i, e.addInputData = c, e.addInputConnection = f, e.getInputData = s, e.getInputConnection = u;
}
n && (e.getOutputData = y, e.getOutputPort = l), e.update = () => {
const g = [];
if (t.numberOfInputs) {
let p = 0;
for (; p < t.numberOfInputs; )
g[p] = e.getInputData(p), p++;
}
e.shouldUpdate() && e.requestData && e.requestData(g, t.output);
}, e.getNumberOfInputPorts = () => t.numberOfInputs, e.getNumberOfOutputPorts = () => n || t.output.length, e.getInputArrayToProcess = (g) => {
const p = t.inputArrayToProcess[g], h = t.inputData[g];
return p && h ? h[`get${p.fieldAssociation}`]().getArray(p.arrayName) : null;
}, e.setInputArrayToProcess = function(g, p, h) {
let w = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "Scalars";
for (; t.inputArrayToProcess.length < g; )
t.inputArrayToProcess.push(null);
t.inputArrayToProcess[g] = {
arrayName: p,
fieldAssociation: h,
attributeType: w
};
};
}
const Kt = Symbol("Event abort");
function on(e, t, r) {
const n = [], a = e.delete;
let s = 1;
function i(f) {
for (let c = 0; c < n.length; ++c) {
const [y] = n[c];
if (y === f) {
n.splice(c, 1);
return;
}
}
}
function u(f) {
function c() {
i(f);
}
return Object.freeze({
unsubscribe: c
});
}
function o() {
if (t.deleted) {
N("instance deleted - cannot call any method");
return;
}
const f = n.slice();
for (let c = 0; c < f.length; ++c) {
const [, y, l] = f[c];
if (y) {
if (l < 0)
setTimeout(() => y.apply(e, arguments), 1 - l);
else if (y.apply(e, arguments) === Kt)
break;
}
}
}
e[`invoke${M(r)}`] = o, e[`on${M(r)}`] = function(f) {
let c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
if (!f.apply)
return console.error(`Invalid callback for event ${r}`), null;
if (t.deleted)
return N("instance deleted - cannot call any method"), null;
const y = s++;
return n.push([y, f, c]), n.sort((l, g) => g[2] - l[2]), u(y);
}, e.delete = () => {
a(), n.forEach((f) => {
let [c] = f;
return i(c);
});
};
}
function qt(e, t) {
const r = function() {
let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const a = {}, s = {};
return e(s, a, n), Object.freeze(s);
};
return t && b.register(t, r), r;
}
function un() {
for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
t[r] = arguments[r];
return function() {
for (var n = arguments.length, a = new Array(n), s = 0; s < n; s++)
a[s] = arguments[s];
return t.filter((i) => !!i).map((i) => i(...a));
};
}
function Zt(e) {
return e && e.isA && e.isA("vtkObject");
}
function mt(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
if (Zt(e)) {
if (n.indexOf(e) >= 0)
return r;
n.push(e);
const a = t(e);
a !== void 0 && r.push(a);
const s = e.get();
Object.keys(s).forEach((i) => {
const u = s[i];
Array.isArray(u) ? u.forEach((o) => {
mt(o, t, r, n);
}) : mt(u, t, r, n);
});
}
return r;
}
function fn(e, t, r) {
var n = this;
let a;
const s = function() {
for (var i = arguments.length, u = new Array(i), o = 0; o < i; o++)
u[o] = arguments[o];
const f = n, c = () => {
a = null, r || e.apply(f, u);
}, y = r && !a;
clearTimeout(a), a = setTimeout(c, t), y && e.apply(f, u);
};
return s.cancel = () => clearTimeout(a), s;
}
function cn(e, t) {
let r = !1, n = null;
function a() {
r = !1, n !== null && (s(...n), n = null);
}
function s() {
for (var i = arguments.length, u = new Array(i), o = 0; o < i; o++)
u[o] = arguments[o];
if (r) {
n = u;
return;
}
r = !0, e(...u), setTimeout(a, t);
}
return s;
}
function Jt(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
t.keystore = Object.assign(t.keystore || {}, r), e.setKey = (n, a) => {
t.keystore[n] = a;
}, e.getKey = (n) => t.keystore[n], e.getAllKeys = () => Object.keys(t.keystore), e.deleteKey = (n) => delete t.keystore[n], e.clearKeystore = () => e.getAllKeys().forEach((n) => delete t.keystore[n]);
}
let ia = 1;
const ft = "__root__";
function gn(e, t) {
Jt(e, t);
const r = e.delete;
t.proxyId = `${ia++}`, t.ui = JSON.parse(JSON.stringify(t.ui || [])), it(e, t, ["proxyId", "proxyGroup", "proxyName"]), Yt(e, t, ["proxyManager"]);
const n = {}, a = {};
function s(f, c) {
a[c] || (a[c] = []);
const y = a[c];
for (let l = 0; l < f.length; l++)
y.push(f[l].name), n[f[l].name] = f[l], f[l].children && f[l].children.length && s(f[l].children, f[l].name);
}
s(t.ui, ft), e.updateUI = (f) => {
t.ui = JSON.parse(JSON.stringify(f || [])), Object.keys(n).forEach((c) => delete n[c]), Object.keys(a).forEach((c) => delete a[c]), s(t.ui, ft), e.modified();
};
function i() {
let f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ft;
return a[f];
}
e.updateProxyProperty = (f, c) => {
const y = n[f];
y ? Object.assign(y, c) : n[f] = {
...c
};
}, e.activate = () => {
if (t.proxyManager) {
const f = `setActive${M(e.getProxyGroup().slice(0, -1))}`;
t.proxyManager[f] && t.proxyManager[f](e);
}
}, t.propertyLinkSubscribers = {}, e.registerPropertyLinkForGC = (f, c) => {
c in t.propertyLinkSubscribers || (t.propertyLinkSubscribers[c] = []), t.propertyLinkSubscribers[c].push(f);
}, e.gcPropertyLinks = (f) => {
const c = t.propertyLinkSubscribers[f] || [];
for (; c.length; )
c.pop().unbind(e);
}, t.propertyLinkMap = {}, e.getPropertyLink = function(f) {
let c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (t.propertyLinkMap[f])
return t.propertyLinkMap[f];
let y = null;
const l = [];
let g = 0, p = !1;
function h(v) {
let m = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (p)
return null;
const d = [];
let O = null;
for (g = l.length; g--; ) {
const D = l[g];
D.instance === v ? O = D : d.push(D);
}
if (!O)
return null;
const T = O.instance[`get${M(O.propertyName)}`]();
if (!ra(T, y) || m) {
for (y = T, p = !0; d.length; ) {
const D = d.pop();
D.instance.set({
[D.propertyName]: y
});
}
p = !1;
}
return t.propertyLinkMap[f].persistent && (t.propertyLinkMap[f].value = T), T;
}
function w(v, m) {
const d = [];
for (g = l.length; g--; ) {
const O = l[g];
O.instance === v && (O.propertyName === m || m === void 0) && (O.subscription.unsubscribe(), d.push(g));
}
for (; d.length; )
l.splice(d.pop(), 1);
}
function C(v, m) {
let d = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
const O = v.onModified(h), T = l[0];
return l.push({
instance: v,
propertyName: m,
subscription: O
}), d && (t.propertyLinkMap[f].persistent && t.propertyLinkMap[f].value !== void 0 ? v.set({
[m]: t.propertyLinkMap[f].value
}) : T && h(T.instance, !0)), {
unsubscribe: () => w(v, m)
};
}
function E() {
for (; l.length; )
l.pop().subscription.unsubscribe();
}
const $ = {
bind: C,
unbind: w,
unsubscribe: E,
persistent: c
};
return t.propertyLinkMap[f] = $, $;
};
function u() {
let f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ft;
const c = [], y = t.proxyId, l = i(f) || [];
for (let g = 0; g < l.length; g++) {
const p = l[g], h = e[`get${M(p)}`], w = h ? h() : void 0, C = {
id: y,
name: p,
value: w
}, E = u(p);
E.length && (C.children = E), c.push(C);
}
return c;
}
e.listPropertyNames = () => u().map((f) => f.name), e.getPropertyByName = (f) => u().find((c) => c.name === f), e.getPropertyDomainByName = (f) => (n[f] || {}).domain, e.getProxySection = () => ({
id: t.proxyId,
name: t.proxyGroup,
ui: t.ui,
properties: u()
}), e.delete = () => {
const f = Object.keys(t.propertyLinkMap);
let c = f.length;
for (; c--; )
t.propertyLinkMap[f[c]].unsubscribe();
Object.keys(t.propertyLinkSubscribers).forEach(e.gcPropertyLinks), r();
}, e.getState = () => null;
function o() {
if (t.links)
for (let f = 0; f < t.links.length; f++) {
const {
link: c,
property: y,
persistent: l,
updateOnBind: g,
type: p
} = t.links[f];
if (p === "application") {
const h = t.proxyManager.getPropertyLink(c, l);
e.registerPropertyLinkForGC(h, "application"), h.bind(e, y, g);
}
}
}
Wt(o);
}
function yn(e, t, r) {
const n = e.delete, a = [], s = Object.keys(r);
let i = s.length;
for (; i--; ) {
const u = s[i], {
modelKey: o,
property: f,
modified: c = !0
} = r[u], y = M(f), l = M(u);
e[`get${l}`] = t[o][`get${y}`], e[`set${l}`] = t[o][`set${y}`], c && a.push(t[o].onModified(e.modified));
}
e.delete = () => {
for (; a.length; )
a.pop().unsubscribe();
n();
};
}
function ln(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
t.this = e;
function a(u) {
const o = Object.keys(u);
let f = o.length;
for (; f--; ) {
const c = o[f];
t[c].set(u[c]);
}
}
const s = Object.keys(n);
let i = s.length;
for (; i--; ) {
const u = s[i];
t[u] = n[u];
const o = r[u];
e[`set${M(u)}`] = (f) => {
if (f !== t[u]) {
t[u] = f;
const c = o[f];
a(c), e.modified();
}
};
}
s.length && it(e, t, s);
}
const Ce = 10, Ee = 40, Se = 800;
function pn(e) {
let t = 0, r = 0, n = 0, a = 0;
return "detail" in e && (r = e.detail), "wheelDelta" in e && (r = -e.wheelDelta / 120), "wheelDeltaY" in e && (r = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = r, r = 0), n = t * Ce, a = r * Ce, "deltaY" in e && (a = e.deltaY), "deltaX" in e && (n = e.deltaX), (n || a) && e.deltaMode && (e.deltaMode === 1 ? (n *= Ee, a *= Ee) : (n *= Se, a *= Se)), n && !t && (t = n < 1 ? -1 : 1), a && !r && (r = a < 1 ? -1 : 1), {
spinX: t,
spinY: r || t,
pixelX: n,
pixelY: a || n
};
}
var A = {
algo: sn,
capitalize: Ct,
chain: un,
debounce: fn,
enumToString: aa,
event: on,
EVENT_ABORT: Kt,
formatBytesToProperUnit: Qe,
formatNumbersWithThousandSeparator: Pe,
get: it,
getArray: Ht,
getCurrentGlobalMTime: ta,
getStateArrayMapFunc: en,
isVtkObject: Zt,
keystore: Jt,
measurePromiseExecution: nn,
moveToProtected: an,
newInstance: qt,
newTypedArray: wt,
newTypedArrayFrom: bt,
normalizeWheel: pn,
obj: Xt,
proxy: gn,
proxyPropertyMapping: yn,
proxyPropertyState: ln,
safeArrays: tn,
set: Et,
setArray: It,
setGet: Yt,
setGetArray: rn,
setImmediate: Wt,
setLoggerFunction: Ie,
throttle: cn,
traverseInstanceTree: mt,
TYPED_ARRAYS: _,
// deprecated todo remove on breaking API revision
uncapitalize: Je,
VOID: Ye,
vtkDebugMacro: vt,
vtkErrorMacro: N,
vtkInfoMacro: qe,
vtkLogMacro: Ke,
vtkOnceErrorMacro: Ze,
vtkWarningMacro: Vt
}, ua = /* @__PURE__ */ Object.freeze({
__proto__: null,
VOID: Ye,
setLoggerFunction: Ie,
vtkLogMacro: Ke,
vtkInfoMacro: qe,
vtkDebugMacro: vt,
vtkErrorMacro: N,
vtkWarningMacro: Vt,
vtkOnceErrorMacro: Ze,
TYPED_ARRAYS: _,
newTypedArray: wt,
newTypedArrayFrom: bt,
capitalize: Ct,
_capitalize: M,
uncapitalize: Je,
formatBytesToProperUnit: Qe,
formatNumbersWithThousandSeparator: Pe,
setImmediateVTK: Wt,
measurePromiseExecution: nn,
obj: Xt,
get: it,
set: Et,
setGet: Yt,
getArray: Ht,
setArray: It,
setGetArray: rn,
moveToProtected: an,
algo: sn,
EVENT_ABORT: Kt,
event: on,
newInstance: qt,
chain: un,
isVtkObject: Zt,
traverseInstanceTree: mt,
debounce: fn,
throttle: cn,
keystore: Jt,
proxy: gn,
proxyPropertyMapping: yn,
proxyPropertyState: ln,
normalizeWheel: pn,
default: A
}), Qt = { exports: {} };
Qt.exports;
(function(e) {
(function(t, r, n) {
function a(o) {
var f = this, c = u();
f.next = function() {
var y = 2091639 * f.s0 + f.c * 23283064365386963e-26;
return f.s0 = f.s1, f.s1 = f.s2, f.s2 = y - (f.c = y | 0);
}, f.c = 1, f.s0 = c(" "), f.s1 = c(" "), f.s2 = c(" "), f.s0 -= c(o), f.s0 < 0 && (f.s0 += 1), f.s1 -= c(o), f.s1 < 0 && (f.s1 += 1), f.s2 -= c(o), f.s2 < 0 && (f.s2 += 1), c = null;
}
function s(o, f) {
return f.c = o.c, f.s0 = o.s0, f.s1 = o.s1, f.s2 = o.s2, f;
}
function i(o, f) {
var c = new a(o), y = f && f.state, l = c.next;
return l.int32 = function() {
return c.next() * 4294967296 | 0;
}, l.double = function() {
return l() + (l() * 2097152 | 0) * 11102230246251565e-32;
}, l.quick = l, y && (typeof y == "object" && s(y, c), l.state = function() {
return s(c, {});
}), l;
}
function u() {
var o = 4022871197, f = function(c) {
c = String(c);
for (var y = 0; y < c.length; y++) {
o += c.charCodeAt(y);
var l = 0.02519603282416938 * o;
o = l >>> 0, l -= o, l *= o, o = l >>> 0, l -= o, o += l * 4294967296;
}
return (o >>> 0) * 23283064365386963e-26;
};
return f;
}
r && r.exports ? r.exports = i : this.alea = i;
})(
G,
e
);
})(Qt);
var fa = Qt.exports, Pt = { exports: {} };
Pt.exports;
(function(e) {
(function(t, r, n) {
function a(u) {
var o = this, f = "";
o.x = 0, o.y = 0, o.z = 0, o.w = 0, o.next = function() {
var y = o.x ^ o.x << 11;
return o.x = o.y, o.y = o.z, o.z = o.w, o.w ^= o.w >>> 19 ^ y ^ y >>> 8;
}, u === (u | 0) ? o.x = u : f += u;
for (var c = 0; c < f.length + 64; c++)
o.x ^= f.charCodeAt(c) | 0, o.next();
}
function s(u, o) {
return o.x = u.x, o.y = u.y, o.z = u.z, o.w = u.w, o;
}
function i(u, o) {
var f = new a(u), c = o && o.state, y = function() {
return (f.next() >>> 0) / 4294967296;
};
return y.double = function() {
do
var l = f.next() >>> 11, g = (f.next() >>> 0) / 4294967296, p = (l + g) / (1 << 21);
while (p === 0);
return p;
}, y.int32 = f.next, y.quick = y, c && (typeof c == "object" && s(c, f), y.state = function() {
return s(f, {});
}), y;
}
r && r.exports ? r.exports = i : this.xor128 = i;
})(
G,
e
);
})(Pt);
var ca = Pt.exports, te = { exports: {} };
te.exports;
(function(e) {
(function(t, r, n) {
function a(u) {
var o = this, f = "";
o.next = function() {
var y = o.x ^ o.x >>> 2;
return o.x = o.y, o.y = o.z, o.z = o.w, o.w = o.v, (o.d = o.d + 362437 | 0) + (o.v = o.v ^ o.v << 4 ^ (y ^ y << 1)) | 0;
}, o.x = 0, o.y = 0, o.z = 0, o.w = 0, o.v = 0, u === (u | 0) ? o.x = u : f += u;
for (var c = 0; c < f.length + 64; c++)
o.x ^= f.charCodeAt(c) | 0, c == f.length && (o.d = o.x << 10 ^ o.x >>> 4), o.next();
}
function s(u, o) {
return o.x = u.x, o.y = u.y, o.z = u.z, o.w = u.w, o.v = u.v, o.d = u.d, o;
}
function i(u, o) {
var f = new a(u), c = o && o.state, y = function() {
return (f.next() >>> 0) / 4294967296;
};
return y.double = function() {
do
var l = f.next() >>> 11, g = (f.next() >>> 0) / 4294967296, p = (l + g) / (1 << 21);
while (p === 0);
return p;
}, y.int32 = f.next, y.quick = y, c && (typeof c == "object" && s(c, f), y.state = function() {
return s(f, {});
}), y;
}
r && r.exports ? r.exports = i : this.xorwow = i;
})(
G,
e
);
})(te);
var ga = te.exports, ee = { exports: {} };
ee.exports;
(function(e) {
(function(t, r, n) {
function a(u) {
var o = this;
o.next = function() {
var c = o.x, y = o.i, l, g;
return l = c[y], l ^= l >>> 7, g = l ^ l << 24, l = c[y + 1 & 7], g ^= l ^ l >>> 10, l = c[y + 3 & 7], g ^= l ^ l >>> 3, l = c[y + 4 & 7], g ^= l ^ l << 7, l = c[y + 7 & 7], l = l ^ l << 13, g ^= l ^ l << 9, c[y] = g, o.i = y + 1 & 7, g;
};
function f(c, y) {
var l, g = [];
if (y === (y | 0))
g[0] = y;
else
for (y = "" + y, l = 0; l < y.length; ++l)
g[l & 7] = g[l & 7] << 15 ^ y.charCodeAt(l) + g[l + 1 & 7] << 13;
for (; g.length < 8; ) g.push(0);
for (l = 0; l < 8 && g[l] === 0; ++l) ;
for (l == 8 ? g[7] = -1 : g[l], c.x = g, c.i = 0, l = 256; l > 0; --l)
c.next();
}
f(o, u);
}
function s(u, o) {
return o.x = u.x.slice(), o.i = u.i, o;
}
function i(u, o) {
u == null && (u = +/* @__PURE__ */ new Date());
var f = new a(u), c = o && o.state, y = function() {
return (f.next() >>> 0) / 4294967296;
};
return y.double = function() {
do
var l = f.next() >>> 11, g = (f.next() >>> 0) / 4294967296, p = (l + g) / (1 << 21);
while (p === 0);
return p;
}, y.int32 = f.next, y.quick = y, c && (c.x && s(c, f), y.state = function() {
return s(f, {});
}), y;
}
r && r.exports ? r.exports = i : this.xorshift7 = i;
})(
G,
e
);
})(ee);
var ya = ee.exports, ne = { exports: {} };
ne.exports;
(function(e) {
(function(t, r, n) {
function a(u) {
var o = this;
o.next = function() {
var c = o.w, y = o.X, l = o.i, g, p;
return o.w = c = c + 1640531527 | 0, p = y[l + 34 & 127], g = y[l = l + 1 & 127], p ^= p << 13, g ^= g << 17, p ^= p >>> 15, g ^= g >>> 12, p = y[l] = p ^ g, o.i = l, p + (c ^ c >>> 16) | 0;
};
function f(c, y) {
var l, g, p, h, w, C = [], E = 128;
for (y === (y | 0) ? (g = y, y = null) : (y = y + "\0", g = 0, E = Math.max(E, y.length)), p = 0, h = -32; h < E; ++h)
y && (g ^= y.charCodeAt((h + 32) % y.length)), h === 0 && (w = g), g ^= g << 10, g ^= g >>> 15, g ^= g << 4, g ^= g >>> 13, h >= 0 && (w = w + 1640531527 | 0, l = C[h & 127] ^= g + w, p = l == 0 ? p + 1 : 0);
for (p >= 128 && (C[(y && y.length || 0) & 127] = -1), p = 127, h = 4 * 128; h > 0; --h)
g = C[p + 34 & 127], l = C[p = p + 1 & 127], g ^= g << 13, l ^= l << 17, g ^= g >>> 15, l ^= l >>> 12, C[p] = g ^ l;
c.w = w, c.X = C, c.i = p;
}
f(o, u);
}
function s(u, o) {
return o.i = u.i, o.w = u.w, o.X = u.X.slice(), o;
}
function i(u, o) {
u == null && (u = +/* @__PURE__ */ new Date());
var f = new a(u), c = o && o.state, y = function() {
return (f.next() >>> 0) / 4294967296;
};
return y.double = function() {
do
var l = f.next() >>> 11, g = (f.next() >>> 0) / 4294967296, p = (l + g) / (1 << 21);
while (p === 0);
return p;
}, y.int32 = f.next, y.quick = y, c && (c.X && s(c, f), y.state = function() {
return s(f, {});
}), y;
}
r && r.exports ? r.exports = i : this.xor4096 = i;
})(
G,
// window object or global
e
);
})(ne);
var la = ne.exports, re = { exports: {} };
re.exports;
(function(e) {
(function(t, r, n) {
function a(u) {
var o = this, f = "";
o.next = function() {
var y = o.b, l = o.c, g = o.d, p = o.a;
return y = y << 25 ^ y >>> 7 ^ l, l = l - g | 0, g = g << 24 ^ g >>> 8 ^ p, p = p - y | 0, o.b = y = y << 20 ^ y >>> 12 ^ l, o.c = l = l - g | 0, o.d = g << 16 ^ l >>> 16 ^ p, o.a = p - y | 0;
}, o.a = 0, o.b = 0, o.c = -1640531527, o.d = 1367130551, u === Math.floor(u) ? (o.a = u / 4294967296 | 0, o.b = u | 0) : f += u;
for (var c = 0; c < f.length + 20; c++)
o.b ^= f.charCodeAt(c) | 0, o.next();
}
function s(u, o) {
return o.a = u.a, o.b = u.b, o.c = u.c, o.d = u.d, o;
}
function i(u, o) {
var f = new a(u), c = o && o.state, y = function() {
return (f.next() >>> 0) / 4294967296;
};
return y.double = function() {
do
var l = f.next() >>> 11, g = (f.next() >>> 0) / 4294967296, p = (l + g) / (1 << 21);
while (p === 0);
return p;
}, y.int32 = f.next, y.quick = y, c && (typeof c == "object" && s(c, f), y.state = function() {
return s(f, {});
}), y;
}
r && r.exports ? r.exports = i : this.tychei = i;
})(
G,
e
);
})(re);
var pa = re.exports, hn = { exports: {} }, ha = {}, va = /* @__PURE__ */ Object.freeze({
__proto__: null,
default: ha
}), ma = /* @__PURE__ */ nr(va);
(function(e) {
(function(t, r, n) {
var a = 256, s = 6, i = 52, u = "random", o = n.pow(a, s), f = n.pow(2, i), c = f * 2, y = a - 1, l;
function g(v, m, d) {
var O = [];
m = m == !0 ? { entropy: !0 } : m || {};
var T = C(w(
m.entropy ? [v, $(r)] : v ?? E(),
3
), O), D = new p(O), k = function() {
for (var F = D.g(s), U = o, j = 0; F < f; )
F = (F + j) * a, U *= a, j = D.g(1);
for (; F >= c; )
F /= 2, U /= 2, j >>>= 1;
return (F + j) / U;
};
return k.int32 = function() {
return D.g(4) | 0;
}, k.quick = function() {
return D.g(4) / 4294967296;
}, k.double = k, C($(D.S), r), (m.pass || d || function(F, U, j, S) {
return S && (S.S && h(S, D), F.state = function() {
return h(D, {});
}), j ? (n[u] = F, U) : F;
})(
k,
T,
"global" in m ? m.global : this == n,
m.state
);
}
function p(v) {
var m, d = v.length, O = this, T = 0, D = O.i = O.j = 0, k = O.S = [];
for (d || (v = [d++]); T < a; )
k[T] = T++;
for (T = 0; T < a; T++)
k[T] = k[D = y & D + v[T % d] + (m = k[T])], k[D] = m;
(O.g = function(F) {
for (var U, j = 0, S = O.i, ut = O.j, rt = O.S; F--; )
U = rt[S = y & S + 1], j = j * a + rt[y & (rt[S] = rt[ut = y & ut + U]) + (rt[ut] = U)];
return O.i = S, O.j = ut, j;
})(a);
}
function h(v, m) {
return m.i = v.i, m.j = v.j, m.S = v.S.slice(), m;
}
function w(v, m) {
var d = [], O = typeof v, T;
if (m && O == "object")
for (T in v)
try {
d.push(w(v[T], m - 1));
} catch {
}
return d.length ? d : O == "string" ? v : v + "\0";
}
function C(v, m) {
for (var d = v + "", O, T = 0; T < d.length; )
m[y & T] = y & (O ^= m[y & T] * 19) + d.charCodeAt(T++);
return $(m);
}
function E() {
try {
var v;
return l && (v = l.randomBytes) ? v = v(a) : (v = new Uint8Array(a), (t.crypto || t.msCrypto).getRandomValues(v)), $(v);
} catch {
var m = t.navigator, d = m && m.plugins;
return [+/* @__PURE__ */ new Date(), t, d, t.screen, $(r)];
}
}
function $(v) {
return String.fromCharCode.apply(0, v);
}
if (C(n.random(), r), e.exports) {
e.exports = g;
try {
l = ma;
} catch {
}
} else
n["seed" + u] = g;
})(
// global: `self` in browsers (including strict mode and web workers),
// otherwise `this` in Node and other environments
typeof self < "u" ? self : G,
[],
// pool: entropy pool starts empty
Math
// math: package containing random, pow, and seedrandom
);
})(hn);
var Oa = hn.exports, Ta = fa, da = ca, xa = ga, wa = ya, Ca = la, Ea = pa, nt = Oa;
nt.alea = Ta;
nt.xor128 = da;
nt.xorwow = xa;
nt.xorshift7 = wa;
nt.xor4096 = Ca;
nt.tychei = Ea;
const {
vtkErrorMacro: Fs,
vtkWarningMacro: Ls
} = A;
function Sa(e, t, r) {
return r[0] = e[0] + t[0], r[1] = e[1] + t[1], r[2] = e[2] + t[2], r;
}
function st(e, t, r) {
return r[0] = e[0] - t[0], r[1] = e[1] - t[1], r[2] = e[2] - t[2], r;
}
function R(e, t) {
return e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
}
function Da(e, t, r) {
const n = e[1] * t[2] - e[2] * t[1], a = e[2] * t[0] - e[0] * t[2], s = e[0] * t[1] - e[1] * t[0];
return r[0] = n, r[1] = a, r[2] = s, r;
}
function Aa(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3;
switch (t) {
case 1:
return Math.abs(e);
case 2:
return Math.sqrt(e[0] * e[0] + e[1] * e[1]);
case 3:
return Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]);
default: {
let r = 0;
for (let n = 0; n < t; n++)
r += e[n] * e[n];
return Math.sqrt(r);
}
}
}
function Lt(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
if (!`${e}`.includes("e"))
return +`${Math.round(`${e}e+${t}`)}e-${t}`;
const r = `${e}`.split("e");
let n = "";
return +r[1] + t > 0 && (n = "+"), +`${Math.round(`${+r[0]}e${n}${+r[1] + t}`)}e-${t}`;
}
function De(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0, 0, 0], r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
return t[0] = Lt(e[0], r), t[1] = Lt(e[1], r), t[2] = Lt(e[2], r), t;
}
function kt(e, t, r) {
return e < t ? t : e > r ? r : e;
}
function Ae(e, t, r) {
let n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [0, 0, 0];
return n[0] = kt(e[0], t[0], r[0]), n[1] = kt(e[1], t[1], r[1]), n[2] = kt(e[2], t[2], r[2]), n;
}
var Me = typeof Float32Array < "u" ? Float32Array : Array;
Math.hypot || (Math.hypot = function() {
for (var e = 0, t = arguments.length; t--; )
e += arguments[t] * arguments[t];
return Math.sqrt(e);
});
function Ma(e) {
return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 1, e[5] = 0, e[6] = 0, e[7] = 0, e[8] = 1, e;
}
function $a(e, t) {
var r = t[0], n = t[1], a = t[2], s = t[3], i = t[4], u = t[5], o = t[6], f = t[7], c = t[8], y = t[9], l = t[10], g = t[11], p = t[12], h = t[13], w = t[14], C = t[15], E = r * u - n * i, $ = r * o - a * i, v = r * f - s * i, m = n * o - a * u, d = n * f - s * u, O = a * f - s * o, T = c * h - y * p, D = c * w - l * p, k = c * C - g * p, F = y * w - l * h, U = y * C - g * h, j = l * C - g * w, S = E * j - $ * U + v * F + m * k - d * D + O * T;
return S ? (S = 1 / S, e[0] = (u * j - o * U + f * F) * S, e[1] = (a * U - n * j - s * F) * S, e[2] = (h * O - w * d + C * m) * S, e[3] = (l * d - y * O - g * m) * S, e[4] = (o * k - i * j - f * D) * S, e[5] = (r * j - a * k + s * D) * S, e[6] = (w * v - p * O - C * $) * S, e[7] = (c * O - l * v + g * $) * S, e[8] = (i * U - u * k + f * T) * S, e[9] = (n * k - r * U - s * T) * S, e[10] = (p * d - h * v + C * E) * S, e[11] = (y * v - c * d - g * E) * S, e[12] = (u * D - i * F - o * T) * S, e[13] = (r * F - n * D + a * T) * S, e[14] = (h * $ - p * m - w * E) * S, e[15] = (c * m - y * $ + l * E) * S, e) : null;
}
function Na(e, t, r) {
var n = r[0], a = r[1], s = r[2];
return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e[4] = t[4] * a, e[5] = t[5] * a, e[6] = t[6] * a, e[7] = t[7] * a, e[8] = t[8] * s, e[9] = t[9] * s, e[10] = t[10] * s, e[11] = t[11] * s, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;
}
function Fa(e, t) {
return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = t[0], e[13] = t[1], e[14] = t[2], e[15] = 1, e;
}
function La() {
var e = new Me(3);
return Me != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
}
function Rt(e, t, r) {
var n = t[0], a = t[1], s = t[2], i = r[3] * n + r[7] * a + r[11] * s + r[15];
return i = i || 1, e[0] = (r[0] * n + r[4] * a + r[8] * s + r[12]) / i, e[1] = (r[1] * n + r[5] * a + r[9] * s + r[13]) / i, e[2] = (r[2] * n + r[6] * a + r[10] * s + r[14]) / i, e;
}
(function() {
var e = La();
return function(t, r, n, a, s, i) {
var u, o;
for (r || (r = 3), n || (n = 0), a ? o = Math.min(a * r + n, t.length) : o = t.length, u = n; u < o; u += r)
e[0] = t[u], e[1] = t[u + 1], e[2] = t[u + 2], s(e, e, i), t[u] = e[0], t[u + 1] = e[1], t[u + 2] = e[2];
return t;
};
})();
const Gt = 1e-6, vn = "coincide", mn = "disjoint";
function ka(e, t, r) {
return e[0] * (r[0] - t[0]) + e[1] * (r[1] - t[1]) + e[2] * (r[2] - t[2]);
}
function On(e, t, r) {
const n = r[0] * (e[0] - t[0]) + r[1] * (e[1] - t[1]) + r[2] * (e[2] - t[2]);
return Math.abs(n);
}
function Tn(e, t, r, n) {
const a = [];
st(e, t, a);
const s = R(r, a);
n[0] = e[0] - s * r[0], n[1] = e[1] - s * r[1], n[2] = e[2] - s * r[2];
}
function dn(e, t, r) {
const n = R(e, t);
let a = R(t, t);
return a === 0 && (a = 1), r[0] = e[0] - n * t[0] / a, r[1] = e[1] - n * t[1] / a, r[2] = e[2] - n * t[2] / a, r;
}
function xn(e, t, r, n) {
const a = [];
st(e, t, a);
const s = R(r, a), i = R(r, r);
i !== 0 ? (n[0] = e[0] - s * r[0] / i, n[1] = e[1] - s * r[1] / i, n[2] = e[2] - s * r[2] / i) : (n[0] = e[0], n[1] = e[1], n[2] = e[2]);
}
function wn(e, t, r, n) {
const a = {
intersection: !1,
betweenPoints: !1,
t: Number.MAX_VALUE,
x: []
}, s = [], i = [];
st(t, e, s), st(r, e, i);
const u = R(n, i), o = R(n, s);
let f, c;
return o < 0 ? f = -o : f = o, u < 0 ? c = -u * Gt : c = u * Gt, f <= c || (a.t = u / o, a.x[0] = e[0] + a.t * s[0], a.x[1] = e[1] + a.t * s[1], a.x[2] = e[2] + a.t * s[2], a.intersection = !0, a.betweenPoints = a.t >= 0 && a.t <= 1), a;
}
function Cn(e, t, r, n) {
const a = {
intersection: !1,
l0: [],
l1: [],
error: null
}, s = [];
Da(t, n, s);
const i = s.map((y) => Math.abs(y));
if (i[0] + i[1] + i[2] < Gt) {
const y = [];
return st(e, r, y), R(t, y) === 0 ? a.error = vn : a.error = mn, a;
}
let u;
i[0] > i[1] && i[0] > i[2] ? u = "x" : i[1] > i[2] ? u = "y" : u = "z";
const o = [], f = -R(t, e), c = -R(n, r);
switch (u) {
case "x":
o[0] = 0, o[1] = (c * t[2] - f * n[2]) / s[0], o[2] = (f * n[1] - c * t[1]) / s[0];
break;
case "y":
o[0] = (f * n[2] - c * t[2]) / s[1], o[1] = 0, o[2] = (c * t[0] - f * n[0]) / s[1];
break;
case "z":
o[0] = (c * t[1] - f * n[1]) / s[2], o[1] = (f * n[0] - c * t[0]) / s[2], o[2] = 0;
break;
}
return a.l0 = o, Sa(o, s, a.l1), a.intersection = !0, a;
}
const ja = {
evaluate: ka,
distanceToPlane: On,
projectPoint: Tn,
projectVector: dn,
generalizedProjectPoint: xn,
intersectWithLine: wn,
intersectWithPlane: Cn,
DISJOINT: mn,
COINCIDE: vn
};
function _a(e, t) {
t.classHierarchy.push("vtkPlane"), e.distanceToPlane = (r) => On(r, t.origin, t.normal), e.projectPoint = (r, n) => {
Tn(r, t.origin, t.normal, n);
}, e.projectVector = (r, n) => dn(r, t.normal, n), e.push = (r) => {
if (r !== 0)
for (let n = 0; n < 3; n++)
t.origin[n] += r * t.normal[n];
}, e.generalizedProjectPoint = (r, n) => {
xn(r, t.origin, t.normal, n);
}, e.evaluateFunction = (r, n, a) => Array.isArray(r) ? t.normal[0] * (r[0] - t.origin[0]) + t.normal[1] * (r[1] - t.origin[1]) + t.normal[2] * (r[2] - t.origin[2]) : t.normal[0] * (r - t.origin[0]) + t.normal[1] * (n - t.origin[1]) + t.normal[2] * (a - t.origin[2]), e.evaluateGradient = (r) => [t.normal[0], t.normal[1], t.normal[2]], e.intersectWithLine = (r, n) => wn(r, n, t.origin, t.normal), e.intersectWithPlane = (r, n) => Cn(r, n, t.origin, t.normal);
}
const Ua = {
normal: [0, 0, 1],
origin: [0, 0, 0]
};
function En(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
Object.assign(t, Ua, r), A.obj(e, t), A.setGetArray(e, t, ["normal", "origin"], 3), _a(e, t);
}
const Ra = A.newInstance(En, "vtkPlane");
var Sn = {
newInstance: Ra,
extend: En,
...ja
};
const St = [
Number.MAX_VALUE,
-Number.MAX_VALUE,
// X
Number.MAX_VALUE,
-Number.MAX_VALUE,
// Y
Number.MAX_VALUE,
-Number.MAX_VALUE
// Z
];
function Dn(e, t) {
return e[0] === t[0] && e[1] === t[1] && e[2] === t[2] && e[3] === t[3] && e[4] === t[4] && e[5] === t[5];
}
function W(e) {
return (e == null ? void 0 : e.length) >= 6 && e[0] <= e[1] && e[2] <= e[3] && e[4] <= e[5];
}
function ae(e, t) {
return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e;
}
function se(e) {
return ae(e, St);
}
function Ot(e, t, r, n) {
const [a, s, i, u, o, f] = e;
return e[0] = a < t ? a : t, e[1] = s > t ? s : t, e[2] = i < r ? i : r, e[3] = u > r ? u : r, e[4] = o < n ? o : n, e[5] = f > n ? f : n, e;
}
function oe(e, t) {
if (t.length === 0)
return e;
if (Array.isArray(t[0]))
for (let r = 0; r < t.length; ++r)
Ot(e, ...t[r]);
else
for (let r = 0; r < t.length; r += 3)
Ot(e, ...t.slice(r, r + 3));
return e;
}
function An(e, t, r, n, a, s, i) {
const [u, o, f, c, y, l] = e;
return i === void 0 ? (e[0] = Math.min(t[0], u), e[1] = Math.max(t[1], o), e[2] = Math.min(t[2], f), e[3] = Math.max(t[3], c), e[4] = Math.min(t[4], y), e[5] = Math.max(t[5], l)) : (e[0] = Math.min(t, u), e[1] = Math.max(r, o), e[2] = Math.min(n, f), e[3] = Math.max(a, c), e[4] = Math.min(s, y), e[5] = Math.max(i, l)), e;
}
function Mn(e, t, r, n) {
const [a, s, i, u, o, f] = e;
return e[0] = t, e[1] = t > s ? t : s, e[2] = r, e[3] = r > u ? r : u, e[4] = n, e[5] = n > f ? n : f, a !== t || i !== r || o !== n;
}
function $n(e, t, r, n) {
const [a, s, i, u, o, f] = e;
return e[0] = t < a ? t : a, e[1] = t, e[2] = r < i ? r : i, e[3] = r, e[4] = n < o ? n : o, e[5] = n, s !== t || u !== r || f !== n;
}
function Nn(e, t) {
return e[0] -= t, e[1] += t, e[2] -= t, e[3] += t, e[4] -= t, e[5] += t, e;
}
function ie(e, t, r, n) {
return W(e) ? (t >= 0 ? (e[0] *= t, e[1] *= t) : (e[0] = t * e[1], e[1] = t * e[0]), r >= 0 ? (e[2] *= r, e[3] *= r) : (e[2] = r * e[3], e[3] = r * e[2]), n >= 0 ? (e[4] *= n, e[5] *= n) : (e[4] = n * e[5], e[5] = n * e[4]), !0) : !1;
}
function ue(e) {
return [0.5 * (e[0] + e[1]), 0.5 * (e[2] + e[3]), 0.5 * (e[4] + e[5])];
}
function Ga(e, t, r, n) {
if (!W(e))
return !1;
const a = ue(e);
return e[0] -= a[0], e[1] -= a[0], e[2] -= a[1], e[3] -= a[1], e[4] -= a[2], e[5] -= a[2], ie(e, t, r, n), e[0] += a[0], e[1] += a[0], e[2] += a[1], e[3] += a[1], e[4] += a[2], e[5] += a[2], !0;
}
function at(e, t) {
return e[t * 2 + 1] - e[t * 2];
}
function Dt(e) {
return [at(e, 0), at(e, 1), at(e, 2)];
}
function Fn(e) {
return e.slice(0, 2);
}
function Ln(e) {
return e.slice(2, 4);
}
function kn(e) {
return e.slice(4, 6);
}
function jn(e) {
const t = Dt(e);
return t[0] > t[1] ? t[0] > t[2] ? t[0] : t[2] : t[1] > t[2] ? t[1] : t[2];
}
function _n(e) {
if (W(e)) {
const t = Dt(e);
return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
}
return null;
}
function fe(e) {
return [e[0], e[2], e[4]];
}
function ce(e) {
return [e[1], e[3], e[5]];
}
function ct(e, t) {
return e <= 0 && t >= 0 || e >= 0 && t <= 0;
}
function ge(e, t) {
let r = 0;
for (let n = 0; n < 2; n++)
for (let a = 2; a < 4; a++)
for (let s = 4; s < 6; s++)
t[r++] = [e[n], e[a], e[s]];
return t;
}
function Un(e, t, r) {
return t[0] = e[0], t[1] = e[2], t[2] = e[4], r[0] = e[1], r[1] = e[3], r[2] = e[5], t;
}
function Rn(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
const n = ge(e, []);
for (let a = 0; a < n.length; ++a)
Rt(n[a], n[a], t);
return se(r), oe(r, n);
}
function Gn(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return t[0] = 0.5 * (e[1] - e[0]), t[1] = 0.5 * (e[3] - e[2]), t[2] = 0.5 * (e[5] - e[4]), t;
}
function Bn(e, t, r, n) {
const a = [].concat(St), s = e.getData();
for (let i = 0; i < s.length; i += 3) {
const u = [s[i], s[i + 1], s[i + 2]], o = R(u, t);
a[0] = Math.min(o, a[0]), a[1] = Math.max(o, a[1]);
const f = R(u, r);
a[2] = Math.min(f, a[2]), a[3] = Math.max(f, a[3]);
const c = R(u, n);
a[4] = Math.min(c, a[4]), a[5] = Math.max(c, a[5]);
}
return a;
}
function zn(e, t, r, n, a) {
let s = !0;
const i = [];
let u = 0;
const o = [], f = [0, 0, 0], c = 0, y = 1, l = 2;
for (let g = 0; g < 3; g++)
t[g] < e[2 * g] ? (i[g] = y, f[g] = e[2 * g], s = !1) : t[g] > e[2 * g + 1] ? (i[g] = c, f[g] = e[2 * g + 1], s = !1) : i[g] = l;
if (s)
return n[0] = t[0], n[1] = t[1], n[2] = t[2], a[0] = 0, 1;
for (let g = 0; g < 3; g++)
i[g] !== l && r[g] !== 0 ? o[g] = (f[g] - t[g]) / r[g] : o[g] = -1;
for (let g = 0; g < 3; g++)
o[u] < o[g] && (u = g);
if (o[u] > 1 || o[u] < 0)
return 0;
a[0] = o[u];
for (let g = 0; g < 3; g++)
if (u !== g) {
if (n[g] = t[g] + o[u] * r[g], n[g] < e[2 * g] || n[g] > e[2 * g + 1])
return 0;
} else
n[g] = f[g];
return 1;
}
function Vn(e, t, r) {
const n = [];
let a = 0, s = 1, i = 1;
for (let u = 4; u <= 5; ++u) {
n[2] = e[u];
for (let o = 2; o <= 3; ++o) {
n[1] = e[o];
for (let f = 0; f <= 1; ++f)
if (n[0] = e[f], a = Sn.evaluate(r, t, n), i && (s = a >= 0 ? 1 : -1, i = 0), a === 0 || s > 0 && a < 0 || s < 0 && a > 0)
return 1;
}
}
return 0;
}
function bn(e, t) {
if (!(W(e) && W(t)))
return !1;
const r = [0, 0, 0, 0, 0, 0];
let n;
for (let a = 0; a < 3; a++)
if (n = !1, t[a * 2] >= e[a * 2] && t[a * 2] <= e[a * 2 + 1] ? (n = !0, r[a * 2] = t[a * 2]) : e[a * 2] >= t[a * 2] && e[a * 2] <= t[a * 2 + 1] && (n = !0, r[a * 2] = e[a * 2]), t[a * 2 + 1] >= e[a * 2] && t[a * 2 + 1] <= e[a * 2 + 1] ? (n = !0, r[a * 2 + 1] = t[2 * a + 1]) : e[a * 2 + 1] >= t[a * 2] && e[a * 2 + 1] <= t[a * 2 + 1] && (n = !0, r[a * 2 + 1] = e[a * 2 + 1]), !n)
return !1;
return e[0] = r[0], e[1] = r[1], e[2] = r[2], e[3] = r[3], e[4] = r[4], e[5] = r[5], !0;
}
function Tt(e, t) {
if (!(W(e) && W(t)))
return !1;
for (let r = 0; r < 3; r++)
if (!(t[r * 2] >= e[r * 2] && t[r * 2] <= e[r * 2 + 1]) && !(e[r * 2] >= t[r * 2] && e[r * 2] <= t[r * 2 + 1]) && !(t[r * 2 + 1] >= e[r * 2] && t[r * 2 + 1] <= e[r * 2 + 1]) && !(e[r * 2 + 1] >= t[r * 2] && e[r * 2 + 1] <= t[r * 2 + 1]))
return !1;
return !0;
}
function dt(e, t, r, n) {
return !(t < e[0] || t > e[1] || r < e[2] || r > e[3] || n < e[4] || n > e[5]);
}
function Ba(e, t) {
return !(!Tt(e, t) || !dt(e, ...fe(t)) || !dt(e, ...ce(t)));
}
function Wn(e, t, r) {
const n = [[0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 4, 5, 2, 3, 6, 7], [0, 2, 4, 6, 1, 3, 5, 7]], a = [0, 0, 0, 0, 0, 0, 0, 0];
let s = 0;
for (let y = 0; y < 2; y++)
for (let l = 2; l < 4; l++)
for (let g = 4; g < 6; g++) {
const p = [e[y], e[l], e[g]];
a[s++] = Sn.evaluate(r, t, p);
}
let i = 2;
for (; i-- && !(ct(a[n[i][0]], a[n[i][4]]) && ct(a[n[i][1]], a[n[i][5]]) && ct(a[n[i][2]], a[n[i][6]]) && ct(a[n[i][3]], a[n[i][7]])); )
;
if (i < 0)
return !1;
const u = Math.sign(r[i]), o = Math.abs((e[i * 2 + 1] - e[i * 2]) * r[i]);
let f = u > 0 ? 1 : 0;
for (let y = 0; y < 4; y++) {
if (o === 0)
continue;
const l = Math.abs(a[n[i][y]]) / o;
u > 0 && l < f && (f = l), u < 0 && l > f && (f = l);
}
const c = (1 - f) * e[i * 2] + f * e[i * 2 + 1];
return u > 0 ? e[i * 2] = c : e[i * 2 + 1] = c, !0;
}
class za {
constructor(t) {
this.bounds = t, this.bounds || (this.bounds = new Float64Array(St));
}
getBounds() {
return this.bounds;
}
equals(t) {
return Dn(this.bounds, t);
}
isValid() {
return W(this.bounds);
}
setBounds(t) {
return ae(this.bounds, t);
}
reset() {
return se(this.bounds);
}
addPoint() {
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
r[n] = arguments[n];
return Ot(this.bounds, ...r);
}
addPoints(t) {
return oe(this.bounds, t);
}
addBounds(t, r, n, a, s, i) {
return An(this.bounds, t, r, n, a, s, i);
}
setMinPoint(t, r, n) {
return Mn(this.bounds, t, r, n);
}
setMaxPoint(t, r, n) {
return $n(this.bounds, t, r, n);
}
inflate(t) {
return Nn(this.bounds, t);
}
scale(t, r, n) {
return ie(this.bounds, t, r, n);
}
getCenter() {
return ue(this.bounds);
}
getLength(t) {
return at(this.bounds, t);
}
getLengths() {
return Dt(this.bounds);
}
getMaxLength() {
return jn(this.bounds);
}
getDiagonalLength() {
return _n(this.bounds);
}
getMinPoint() {
return fe(this.bounds);
}
getMaxPoint() {
return ce(this.bounds);
}
getXRange() {
return Fn(this.bounds);
}
getYRange() {
return Ln(this.bounds);
}
getZRange() {
return kn(this.bounds);
}
getCorners(t) {
return ge(this.bounds, t);
}
computeCornerPoints(t, r) {
return Un(this.bounds, t, r);
}
computeLocalBounds(t, r, n) {
return Bn(this.bounds, t, r, n);
}
transformBounds(t) {
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return Rn(this.bounds, t, r);
}
computeScale3(t) {
return Gn(this.bounds, t);
}
cutWithPlane(t, r) {
return Wn(this.bounds, t, r);
}
intersectBox(t, r, n, a) {
return zn(this.bounds, t, r, n, a);
}
intersectPlane(t, r) {
return Vn(this.bounds, t, r);
}
intersect(t) {
return bn(this.bounds, t);
}
intersects(t) {
return Tt(this.bounds, t);
}
containsPoint(t, r, n) {
return dt(this.bounds, t, r, n);
}
contains(t) {
return Tt(this.bounds, t);
}
}
function Va(e) {
const t = e && e.bounds;
return new za(t);
}
const ba = {
equals: Dn,
isValid: W,
setBounds: ae,
reset: se,
addPoint: Ot,
addPoints: oe,
addBounds: An,
setMinPoint: Mn,
setMaxPoint: $n,
inflate: Nn,
scale: ie,
scaleAboutCenter: Ga,
getCenter: ue,
getLength: at,
getLengths: Dt,
getMaxLength: jn,
getDiagonalLength: _n,
getMinPoint: fe,
getMaxPoint: ce,
getXRange: Fn,
getYRange: Ln,
getZRange: kn,
getCorners: ge,
computeCornerPoints: Un,
computeLocalBounds: Bn,
transformBounds: Rn,
computeScale3: Gn,
cutWithPlane: Wn,
intersectBox: zn,
intersectPlane: Vn,
intersect: bn,
intersects: Tt,
containsPoint: dt,
contains: Ba,
INIT_BOUNDS: St
};
var Q = {
newInstance: Va,
...ba
};
const Wa = {
Int8Array: 1,
Uint8Array: 1,
Uint8ClampedArray: 1,
Int16Array: 2,
Uint16Array: 2,
Int32Array: 4,
Uint32Array: 4,
Float32Array: 4,
Float64Array: 8
}, Xn = {
VOID: "",
// not sure to know what that should be
CHAR: "Int8Array",
SIGNED_CHAR: "Int8Array",
UNSIGNED_CHAR: "Uint8Array",
UNSIGNED_CHAR_CLAMPED: "Uint8ClampedArray",
// should be used for VTK.js internal purpose only
SHORT: "Int16Array",
UNSIGNED_SHORT: "Uint16Array",
INT: "Int32Array",
UNSIGNED_INT: "Uint32Array",
FLOAT: "Float32Array",
DOUBLE: "Float64Array"
}, Xa = Xn.FLOAT;
var Yn = {
DefaultDataType: Xa,
DataTypeByteSize: Wa,
VtkDataTypes: Xn
};
const {
vtkErrorMacro: Ya
} = ua, {
DefaultDataType: Ha
} = Yn, Ia = 1e-6;
function Bt(e, t, r) {
const n = e.length;
let a = Number.MAX_VALUE, s = -Number.MAX_VALUE, i, u;
for (u = t; u < n; u += r)
if (!Number.isNaN(e[u])) {
a = e[u], s = a;
break;
}
for (; u < n; u += r)
i = e[u], i < a ? a = i : i > s && (s = i);
return {
min: a,
max: s
};
}
function Ka() {
let e = Number.MAX_VALUE, t = -Number.MAX_VALUE, r = 0, n = 0;
return {
add(a) {
e > a && (e = a), t < a && (t = a), r++, n += a;
},
get() {
return {
min: e,
max: t,
count: r,
sum: n,
mean: n / r
};
},
getRange() {
return {
min: e,
max: t
};
}
};
}
function Hn(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
if (t < 0 && r > 1) {
const a = e.length / r, s = new Float64Array(a);
for (let i = 0, u = 0; i < a; ++i) {
for (let o = u + r; u < o; ++u)
s[i] += e[u] * e[u];
s[i] **= 0.5;
}
return Bt(s, 0, 1);
}
return Bt(e, t < 0 ? 0 : t, r);
}
function $e(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
const r = e || [];
for (; r.length <= t; )
r.push(null);
return r;
}
function ye(e) {
return Object.prototype.toString.call(e).slice(8, -1);
}
function qa(e) {
const t = e.getNumberOfComponents();
let r = 0;
const n = new Array(t);
for (let a = 0; a < e.getNumberOfTuples(); ++a) {
e.getTuple(a, n);
const s = Aa(n, t);
s > r && (r = s);
}
return r;
}
const Za = {
computeRange: Hn,
createRangeHelper: Ka,
fastComputeRange: Bt,
getDataType: ye,
getMaxNorm: qa
};
function Ja(e, t) {
t.classHierarchy.push("vtkDataArray");
function r(n) {
if (n < 0)
return !1;
const a = e.getNumberOfComponents(), s = t.values.length / (a > 0 ? a : 1);
if (n === s)
return !0;
if (n > s) {
const i = t.values;
return t.values = wt(t.dataType, (n + s) * a), t.values.set(i), !0;
}
return t.size > n * a && (t.size = n * a, e.dataChange()), !0;
}
e.dataChange = () => {
t.ranges = null, e.modified();
}, e.resize = (n) => {
r(n);
const a = n * e.getNumberOfComponents();
return t.size !== a ? (t.size = a, e.dataChange(), !0) : !1;
}, e.initialize = () => {
e.resize(0);
}, e.getElementComponentSize = () => t.values.BYTES_PER_ELEMENT, e.getComponent = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
return t.values[n * t.numberOfComponents + a];
}, e.setComponent = (n, a, s) => {
s !== t.values[n * t.numberOfComponents + a] && (t.values[n * t.numberOfComponents + a] = s, e.dataChange());
}, e.getValue = (n) => {
const a = n / t.numberOfComponents, s = n % t.numberOfComponents;
return e.getComponent(a, s);
}, e.setValue = (n, a) => {
const s = n / t.numberOfComponents, i = n % t.numberOfComponents;
e.setComponent(s, i, a);
}, e.getData = () => t.size === t.values.length ? t.values : t.values.subarray(0, t.size), e.getRange = function() {
let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1, a = n;
a < 0 && (a = t.numberOfComponents === 1 ? 0 : t.numberOfComponents);
let s = null;
return t.ranges || (t.ranges = $e(t.ranges, t.numberOfComponents)), s = t.ranges[a], s ? (t.rangeTuple[0] = s.min, t.rangeTuple[1] = s.max, t.rangeTuple) : (s = Hn(e.getData(), n, t.numberOfComponents), t.ranges[a] = s, t.rangeTuple[0] = s.min, t.rangeTuple[1] = s.max, t.rangeTuple);
}, e.setRange = (n, a) => {
t.ranges || (t.ranges = $e(t.ranges, t.numberOfComponents));
const s = {
min: n.min,
max: n.max
};
return t.ranges[a] = s, t.rangeTuple[0] = s.min, t.rangeTuple[1] = s.max, t.rangeTuple;
}, e.setTuple = (n, a) => {
const s = n * t.numberOfComponents;
for (let i = 0; i < t.numberOfComponents; i++)
t.values[s + i] = a[i];
}, e.setTuples = (n, a) => {
let s = n * t.numberOfComponents;
const i = Math.min(a.length, t.size - s);
for (let u = 0; u < i; )
t.values[s++] = a[u++];
}, e.insertTuple = (n, a) => (t.size <= n * t.numberOfComponents && (t.size = (n + 1) * t.numberOfComponents, r(n + 1)), e.setTuple(n, a), n), e.insertTuples = (n, a) => {
const s = n + a.length / t.numberOfComponents;
return t.size < s * t.numberOfComponents && (t.size = s * t.numberOfComponents, r(s)), e.setTuples(n, a), s;
}, e.insertNextTuple = (n) => {
const a = t.size / t.numberOfComponents;
return e.insertTuple(a, n);
}, e.insertNextTuples = (n) => {
const a = t.size / t.numberOfComponents;
return e.insertTuples(a, n);
}, e.findTuple = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ia;
for (let s = 0; s < t.size; s += t.numberOfComponents)
if (Math.abs(n[0] - t.values[s]) <= a) {
let i = !0;
for (let u = 1; u < t.numberOfComponents; ++u)
if (Math.abs(n[u] - t.values[s + u]) > a) {
i = !1;
break;
}
if (i)
return s / t.numberOfComponents;
}
return -1;
}, e.getTuple = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
const s = t.numberOfComponents || 1, i = n * s;
switch (s) {
case 4:
a[3] = t.values[i + 3];
case 3:
a[2] = t.values[i + 2];
case 2:
a[1] = t.values[i + 1];
case 1:
a[0] = t.values[i];
break;
default:
for (let u = s - 1; u >= 0; --u)
a[u] = t.values[i + u];
}
return a;
}, e.getTuples = (n, a) => {
const s = (n ?? 0) * t.numberOfComponents, i = (a ?? e.getNumberOfTuples()) * t.numberOfComponents, u = e.getData().subarray(s, i);
return u.length > 0 ? u : null;
}, e.getTupleLocation = function() {
return (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1) * t.numberOfComponents;
}, e.getNumberOfComponents = () => t.numberOfComponents, e.getNumberOfValues = () => t.size, e.getNumberOfTuples = () => t.size / t.numberOfComponents, e.getDataType = () => t.dataType, e.newClone = () => Kn({
empty: !0,
name: t.name,
dataType: t.dataType,
numberOfComponents: t.numberOfComponents
}), e.getName = () => (t.name || (e.modified(), t.name = `vtkDataArray${e.getMTime()}`), t.name), e.setData = (n, a) => {
t.values = n, t.size = n.length, t.dataType = ye(n), a && (t.numberOfComponents = a), t.size % t.numberOfComponents !== 0 && (t.numberOfComponents = 1), e.dataChange();
}, e.getState = () => {
if (t.deleted)
return null;
const n = {
...t,
vtkClass: e.getClassName()
};
n.values = Array.from(n.values), delete n.buffer, Object.keys(n).forEach((s) => {
n[s] || delete n[s];
});
const a = {};
return Object.keys(n).sort().forEach((s) => {
a[s] = n[s];
}), a.mtime && delete a.mtime, a;
}, e.deepCopy = (n) => {
const a = e.getDataType(), s = t.values;
e.shallowCopy(n), (s == null ? void 0 : s.length) >= n.getNumberOfValues() && a === n.getDataType() ? (s.set(n.getData()), t.values = s, e.dataChange()) : e.setData(n.getData().slice());
}, e.interpolateTuple = (n, a, s, i, u, o) => {
const f = t.numberOfComponents || 1;
(f !== a.getNumberOfComponents() || f !== i.getNumberOfComponents()) && Ya("numberOfComponents must match");
const c = a.getTuple(s), y = i.getTuple(u), l = [];
switch (l.length = f, f) {
case 4:
l[3] = c[3] + (y[3] - c[3]) * o;
case 3:
l[2] = c[2] + (y[2] - c[2]) * o;
case 2:
l[1] = c[1] + (y[1] - c[1]) * o;
case 1:
l[0] = c[0] + (y[0] - c[0]) * o;
break;
default:
for (let g = 0; g < f; g++)
l[g] = c[g] + (y[g] - c[g]) * o;
}
return e.insertTuple(n, l);
};
}
const Qa = {
name: "",
numberOfComponents: 1,
dataType: Ha,
rangeTuple: [0, 0]
// size: undefined,
// values: null,
// ranges: null,
};
function In(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (Object.assign(t, Qa, r), !t.empty && !t.values && !t.size)
throw new TypeError("Cannot create vtkDataArray object without: size > 0, values");
if (t.values ? Array.isArray(t.values) && (t.values = bt(t.dataType, t.values)) : t.values = wt(t.dataType, t.size), t.values && (t.size = t.size ?? t.values.length, t.dataType = ye(t.values)), Xt(e, t), Et(e, t, ["name", "numberOfComponents"]), t.size % t.numberOfComponents !== 0)
throw new RangeError("model.size is not a multiple of model.numberOfComponents");
Ja(e, t);
}
const Kn = qt(In, "vtkDataArray");
var xt = {
newInstance: Kn,
extend: In,
...Za,
...Yn
};
const {
vtkErrorMacro: Ne,
vtkWarningMacro: Pa
} = A;
function ts(e, t) {
t.classHierarchy.push("vtkFieldData");
const r = e.getState;
t.arrays && (t.arrays = t.arrays.map((n) => ({
data: b(n.data)
}))), e.initialize = () => {
e.initializeFields(), e.copyAllOn(), e.clearFieldFlags();
}, e.initializeFields = () => {
t.arrays = [], t.copyFieldFlags = {}, e.modified();
}, e.copyStructure = (n) => {
e.initializeFields(), t.copyFieldFlags = n.getCopyFieldFlags().map((a) => a), t.arrays = n.arrays().map((a) => ({
array: a
}));
}, e.getNumberOfArrays = () => t.arrays.length, e.getNumberOfActiveArrays = () => t.arrays.length, e.addArray = (n) => {
const a = n.getName(), {
array: s,
index: i
} = e.getArrayWithIndex(a);
return s != null ? (t.arrays[i] = {
data: n
}, i) : (t.arrays = [].concat(t.arrays, {
data: n
}), t.arrays.length - 1);
}, e.removeAllArrays = () => {
t.arrays = [];
}, e.removeArray = (n) => {
const a = t.arrays.findIndex((s) => s.data.getName() === n);
return e.removeArrayByIndex(a);
}, e.removeArrayByIndex = (n) => n !== -1 && n < t.arrays.length ? (t.arrays.splice(n, 1), !0) : !1, e.getArrays = () => t.arrays.map((n) => n.data), e.getArray = (n) => typeof n == "number" ? e.getArrayByIndex(n) : e.getArrayByName(n), e.getArrayByName = (n) => t.arrays.reduce((a, s, i) => s.data.getName() === n ? s.data : a, null), e.getArrayWithIndex = (n) => {
const a = t.arrays.findIndex((s) => s.data.getName() === n);
return {
array: a !== -1 ? t.arrays[a].data : null,
index: a
};
}, e.getArrayByIndex = (n) => n >= 0 && n < t.arrays.length ? t.arrays[n].data : null, e.hasArray = (n) => e.getArrayWithIndex(n).index >= 0, e.getArrayName = (n) => {
const a = t.arrays[n];
return a ? a.data.getName() : "";
}, e.getCopyFieldFlags = () => t.copyFieldFlags, e.getFlag = (n) => t.copyFieldFlags[n], e.passData = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1, s = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1;
n.getArrays().forEach((i) => {
const u = e.getFlag(i.getName());
if (u !== !1 && !(t.doCopyAllOff && u !== !0) && i) {
let o = e.getArrayByName(i.getName());
if (o)
if (i.getNumberOfComponents() === o.getNumberOfComponents())
if (a > -1 && a < i.getNumberOfTuples()) {
const f = s > -1 ? s : a;
o.insertTuple(f, i.getTuple(a));
} else
o.insertTuples(0, i.getTuples());
else
Ne("Unhandled case in passData");
else if (a < 0 || a > i.getNumberOfTuples())
e.addArray(i), n.getAttributes(i).forEach((f) => {
e.setAttribute(i, f);
});
else {
const f = i.getNumberOfComponents();
let c = i.getNumberOfValues();
const y = s > -1 ? s : a;
c <= y * f && (c = (y + 1) * f), o = xt.newInstance({
name: i.getName(),
dataType: i.getDataType(),
numberOfComponents: f,
values: A.newTypedArray(i.getDataType(), c),
size: 0
}), o.insertTuple(y, i.getTuple(a)), e.addArray(o), n.getAttributes(i).forEach((l) => {
e.setAttribute(o, l);
});
}
}
});
}, e.interpolateData = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1, s = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1, i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, u = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0.5;
n.getArrays().forEach((o) => {
const f = e.getFlag(o.getName());
if (f !== !1 && !(t.doCopyAllOff && f !== !0) && o) {
let c = e.getArrayByName(o.getName());
if (c)
if (o.getNumberOfComponents() === c.getNumberOfComponents())
if (a > -1 && a < o.getNumberOfTuples()) {
const y = i > -1 ? i : a;
c.interpolateTuple(y, o, a, o, s, u), Pa("Unexpected case in interpolateData");
} else
c.insertTuples(o.getTuples());
else
Ne("Unhandled case in interpolateData");
else if (a < 0 || s < 0 || a > o.getNumberOfTuples())
e.addArray(o), n.getAttributes(o).forEach((y) => {
e.setAttribute(o, y);
});
else {
const y = o.getNumberOfComponents();
let l = o.getNumberOfValues();
const g = i > -1 ? i : a;
l <= g * y && (l = (g + 1) * y), c = xt.newInstance({
name: o.getName(),
dataType: o.getDataType(),
numberOfComponents: y,
values: A.newTypedArray(o.getDataType(), l),
size: 0
}), c.interpolateTuple(g, o, a, o, s, u), e.addArray(c), n.getAttributes(o).forEach((p) => {
e.setAttribute(c, p);
});
}
}
});
}, e.copyFieldOn = (n) => {
t.copyFieldFlags[n] = !0;
}, e.copyFieldOff = (n) => {
t.copyFieldFlags[n] = !1;
}, e.copyAllOn = () => {
(!t.doCopyAllOn || t.doCopyAllOff) && (t.doCopyAllOn = !0, t.doCopyAllOff = !1, e.modified());
}, e.copyAllOff = () => {
(t.doCopyAllOn || !t.doCopyAllOff) && (t.doCopyAllOn = !1, t.doCopyAllOff = !0, e.modified());
}, e.clearFieldFlags = () => {
t.copyFieldFlags = {};
}, e.deepCopy = (n) => {
t.arrays = n.getArrays().map((a) => {
const s = a.newClone();
return s.deepCopy(a), {
data: s
};
});
}, e.copyFlags = (n) => n.getCopyFieldFlags().map((a) => a), e.reset = () => t.arrays.forEach((n) => n.data.reset()), e.getMTime = () => t.arrays.reduce((n, a) => a.data.getMTime() > n ? a.data.getMTime() : n, t.mtime), e.getNumberOfComponents = () => t.arrays.reduce((n, a) => n + a.data.getNumberOfComponents(), 0), e.getNumberOfTuples = () => t.arrays.length > 0 ? t.arrays[0].getNumberOfTuples() : 0, e.getState = () => {
const n = r();
return n && (n.arrays = t.arrays.map((a) => ({
data: a.data.getState()
}))), n;
};
}
const es = {
arrays: [],
copyFieldFlags: [],
// fields not to copy
doCopyAllOn: !0,
doCopyAllOff: !1
};
function qn(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
Object.assign(t, es, r), A.obj(e, t), ts(e, t);
}
const ns = A.newInstance(qn, "vtkFieldData");
var rs = {
newInstance: ns,
extend: qn
};
const as = {
SCALARS: 0,
VECTORS: 1,
NORMALS: 2,
TCOORDS: 3,
TENSORS: 4,
GLOBALIDS: 5,
PEDIGREEIDS: 6,
EDGEFLAG: 7,
NUM_ATTRIBUTES: 8
}, ss = {
MAX: 0,
EXACT: 1,
NOLIMIT: 2
}, os = {
DUPLICATECELL: 1,
// the cell is present on multiple processors
HIGHCONNECTIVITYCELL: 2,
// the cell has more neighbors than in a regular mesh
LOWCONNECTIVITYCELL: 4,
// the cell has less neighbors than in a regular mesh
REFINEDCELL: 8,
// other cells are present that refines it.
EXTERIORCELL: 16,
// the cell is on the exterior of the data set
HIDDENCELL: 32
// the cell is needed to maintain connectivity, but the data values should be ignored.
}, is = {
DUPLICATEPOINT: 1,
// the cell is present on multiple processors
HIDDENPOINT: 2
// the point is needed to maintain connectivity, but the data values should be ignored.
}, us = {
COPYTUPLE: 0,
INTERPOLATE: 1,
PASSDATA: 2,
ALLCOPY: 3
// all of the above
}, fs = "vtkGhostType", cs = {
DEFAULT: 0,
// use the point type that does not truncate any data
SINGLE: 1,
// use Float32Array
DOUBLE: 2
// use Float64Array
};
var Zn = {
AttributeCopyOperations: us,
AttributeLimitTypes: ss,
AttributeTypes: as,
CellGhostTypes: os,
DesiredOutputPrecision: cs,
PointGhostTypes: is,
ghostArrayName: fs
};
const {
AttributeTypes: X,
AttributeCopyOperations: H
} = Zn, {
vtkWarningMacro: gt
} = A;
function gs(e, t) {
const r = ["Scalars", "Vectors", "Normals", "TCoords", "Tensors", "GlobalIds", "PedigreeIds"];
function n(i) {
let u = r.find((o) => X[o.toUpperCase()] === i || typeof i != "number" && o.toLowerCase() === i.toLowerCase());
return typeof u > "u" && (u = null), u;
}
t.classHierarchy.push("vtkDataSetAttributes");
const a = {
...e
};
e.checkNumberOfComponents = (i) => !0, e.setAttribute = (i, u) => {
const o = n(u);
if (i && o.toUpperCase() === "PEDIGREEIDS" && !i.isA("vtkDataArray"))
return gt(`Cannot set attribute ${o}. The attribute must be a vtkDataArray.`), -1;
if (i && !e.checkNumberOfComponents(i, o))
return gt(`Cannot set attribute ${o}. Incorrect number of components.`), -1;
let f = t[`active${o}`];
if (f >= 0 && f < t.arrays.length) {
if (t.arrays[f] === i)
return f;
e.removeArrayByIndex(f);
}
return i ? (f = e.addArray(i), t[`active${o}`] = f) : t[`active${o}`] = -1, e.modified(), t[`active${o}`];
}, e.getAttributes = (i) => r.filter((u) => e[`get${u}`]() === i), e.setActiveAttributeByName = (i, u) => e.setActiveAttributeByIndex(e.getArrayWithIndex(i).index, u), e.setActiveAttributeByIndex = (i, u) => {
const o = n(u);
if (i >= 0 && i < t.arrays.length) {
if (o.toUpperCase() !== "PEDIGREEIDS") {
const f = e.getArrayByIndex(i);
if (!f.isA("vtkDataArray"))
return gt(`Cannot set attribute ${o}. Only vtkDataArray subclasses can be set as active attributes.`), -1;
if (!e.checkNumberOfComponents(f, o))
return gt(`Cannot set attribute ${o}. Incorrect number of components.`), -1;
}
return t[`active${o}`] = i, e.modified(), i;
}
return i === -1 && (t[`active${o}`] = i, e.modified()), -1;
}, e.getActiveAttribute = (i) => {
const u = n(i);
return e[`get${u}`]();
}, e.removeAllArrays = () => {
r.forEach((i) => {
t[`active${i}`] = -1;
}), a.removeAllArrays();
}, e.removeArrayByIndex = (i) => (i !== -1 && r.forEach((u) => {
i === t[`active${u}`] ? t[`active${u}`] = -1 : i < t[`active${u}`] && (t[`active${u}`] -= 1);
}), a.removeArrayByIndex(i)), r.forEach((i) => {
const u = `active${i}`;
e[`get${i}`] = () => e.getArrayByIndex(t[u]), e[`set${i}`] = (o) => e.setAttribute(o, i), e[`setActive${i}`] = (o) => e.setActiveAttributeByIndex(e.getArrayWithIndex(o).index, i), e[`copy${i}Off`] = () => {
const o = i.toUpperCase();
t.copyAttributeFlags[H.PASSDATA][X[o]] = !1;
}, e[`copy${i}On`] = () => {
const o = i.toUpperCase();
t.copyAttributeFlags[H.PASSDATA][X[o]] = !0;
};
}), e.initializeAttributeCopyFlags = () => {
t.copyAttributeFlags = [], Object.keys(H).filter((i) => i !== "ALLCOPY").forEach((i) => {
t.copyAttributeFlags[H[i]] = Object.keys(X).filter((u) => u !== "NUM_ATTRIBUTES").reduce((u, o) => (u[X[o]] = !0, u), []);
}), t.copyAttributeFlags[H.COPYTUPLE][X.GLOBALIDS] = !1, t.copyAttributeFlags[H.INTERPOLATE][X.GLOBALIDS] = !1, t.copyAttributeFlags[H.COPYTUPLE][X.PEDIGREEIDS] = !1;
}, e.initialize = A.chain(e.initialize, e.initializeAttributeCopyFlags), t.dataArrays && Object.keys(t.dataArrays).length && Object.keys(t.dataArrays).forEach((i) => {
!t.dataArrays[i].ref && t.dataArrays[i].type === "vtkDataArray" && e.addArray(xt.newInstance(t.dataArrays[i]));
});
const s = e.shallowCopy;
e.shallowCopy = (i, u) => {
s(i, u), t.arrays = i.getArrays().map((o) => {
const f = o.newClone();
return f.shallowCopy(o, u), {
data: f
};
});
}, e.initializeAttributeCopyFlags();
}
const ys = {
activeScalars: -1,
activeVectors: -1,
activeTensors: -1,
activeNormals: -1,
activeTCoords: -1,
activeGlobalIds: -1,
activePedigreeIds: -1
};
function Jn(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
Object.assign(t, ys, r), rs.extend(e, t, r), A.setGet(e, t, ["activeScalars", "activeNormals", "activeTCoords", "activeVectors", "activeTensors", "activeGlobalIds", "activePedigreeIds"]), t.arrays || (t.arrays = {}), gs(e, t);
}
const ls = A.newInstance(Jn, "vtkDataSetAttributes");
var Fe = {
newInstance: ls,
extend: Jn,
...Zn
};
const ps = {
UNIFORM: 0,
// data that does not vary over points/cells/etc.
DATA_OBJECT_FIELD: 0,
// to match VTK
COORDINATE: 1,
// data that specifies the location of each point
POINT_DATA: 1,
// to match VTK
POINT: 2,
// data defined at each point, but that does not specify the point location
POINT_FIELD_DATA: 2,
// to match VTK
CELL: 3,
// data defined at each cell, but that does not specify the cell
CELL_FIELD_DATA: 3,
// to match VTK
VERTEX: 4,
// data defined at each graph vertex, but that does not specify the graph vertex
VERTEX_FIELD_DATA: 4,
// to match VTK
EDGE: 5,
// data defined at each graph edge, but that does not specify the graph edge
EDGE_FIELD_DATA: 5,
// to match VTK
ROW: 6,
// data specifying a table row
ROW_DATA: 6
// to match VTK
}, hs = {
FIELD_ASSOCIATION_POINTS: 0,
FIELD_ASSOCIATION_CELLS: 1,
FIELD_ASSOCIATION_NONE: 2,
FIELD_ASSOCIATION_POINTS_THEN_CELLS: 3,
FIELD_ASSOCIATION_VERTICES: 4,
FIELD_ASSOCIATION_EDGES: 5,
FIELD_ASSOCIATION_ROWS: 6,
NUMBER_OF_ASSOCIATIONS: 7
};
var vs = {
FieldDataTypes: ps,
FieldAssociations: hs
};
const zt = ["pointData", "cellData", "fieldData"];
function ms(e, t) {
t.classHierarchy.push("vtkDataSet"), zt.forEach((n) => {
t[n] ? t[n] = b(t[n]) : t[n] = Fe.newInstance();
});
const r = e.shallowCopy;
e.shallowCopy = function(n) {
let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
r(n, a), zt.forEach((s) => {
t[s] = Fe.newInstance(), t[s].shallowCopy(n.getReferenceByName(s));
});
};
}
const Os = {
// pointData: null,
// cellData: null,
// fieldData: null,
};
function Qn(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
Object.assign(t, Os, r), A.obj(e, t), A.setGet(e, t, zt), ms(e, t);
}
const Ts = A.newInstance(Qn, "vtkDataSet");
var ds = {
newInstance: Ts,
extend: Qn,
...vs
};
const B = {
UNCHANGED: 0,
SINGLE_POINT: 1,
X_LINE: 2,
Y_LINE: 3,
Z_LINE: 4,
XY_PLANE: 5,
YZ_PLANE: 6,
XZ_PLANE: 7,
XYZ_GRID: 8,
EMPTY: 9
};
var Pn = {
StructuredType: B
};
const {
StructuredType: V
} = Pn;
function xs(e) {
let t = 0;
for (let r = 0; r < 3; ++r)
e[r * 2] < e[r * 2 + 1] && t++;
return e[0] > e[1] || e[2] > e[3] || e[4] > e[5] ? V.EMPTY : t === 3 ? V.XYZ_GRID : t === 2 ? e[0] === e[1] ? V.YZ_PLANE : e[2] === e[3] ? V.XZ_PLANE : V.XY_PLANE : t === 1 ? e[0] < e[1] ? V.X_LINE : e[2] < e[3] ? V.Y_LINE : V.Z_LINE : V.SINGLE_POINT;
}
var ws = {
getDataDescriptionFromExtent: xs,
...Pn
};
const {
vtkErrorMacro: I
} = A;
function Cs(e, t) {
t.classHierarchy.push("vtkImageData"), e.setExtent = function() {
if (t.deleted)
return I("instance deleted - cannot call any method"), !1;
for (var r = arguments.length, n = new Array(r), a = 0; a < r; a++)
n[a] = arguments[a];
const s = n.length === 1 ? n[0] : n;
if (s.length !== 6)
return !1;
const i = t.extent.some((u, o) => u !== s[o]);
return i && (t.extent = s.slice(), t.dataDescription = ws.getDataDescriptionFromExtent(t.extent), e.modified()), i;
}, e.setDimensions = function() {
let r, n, a;
if (t.deleted) {
I("instance deleted - cannot call any method");
return;
}
if (arguments.length === 1) {
const s = arguments.length <= 0 ? void 0 : arguments[0];
r = s[0], n = s[1], a = s[2];
} else if (arguments.length === 3)
r = arguments.length <= 0 ? void 0 : arguments[0], n = arguments.length <= 1 ? void 0 : arguments[1], a = arguments.length <= 2 ? void 0 : arguments[2];
else {
I("Bad dimension specification");
return;
}
e.setExtent(0, r - 1, 0, n - 1, 0, a - 1);
}, e.getDimensions = () => [t.extent[1] - t.extent[0] + 1, t.extent[3] - t.extent[2] + 1, t.extent[5] - t.extent[4] + 1], e.getNumberOfCells = () => {
const r = e.getDimensions();
let n = 1;
for (let a = 0; a < 3; a++) {
if (r[a] === 0)
return 0;
r[a] > 1 && (n *= r[a] - 1);
}
return n;
}, e.getNumberOfPoints = () => {
const r = e.getDimensions();
return r[0] * r[1] * r[2];
}, e.getPoint = (r) => {
const n = e.getDimensions();
if (n[0] === 0 || n[1] === 0 || n[2] === 0)
return I("Requesting a point from an empty image."), null;
const a = new Float64Array(3);
switch (t.dataDescription) {
case B.EMPTY:
return null;
case B.SINGLE_POINT:
break;
case B.X_LINE:
a[0] = r;
break;
case B.Y_LINE:
a[1] = r;
break;
case B.Z_LINE:
a[2] = r;
break;
case B.XY_PLANE:
a[0] = r % n[0], a[1] = r / n[0];
break;
case B.YZ_PLANE:
a[1] = r % n[1], a[2] = r / n[1];
break;
case B.XZ_PLANE:
a[0] = r % n[0], a[2] = r / n[0];
break;
case B.XYZ_GRID:
a[0] = r % n[0], a[1] = r / n[0] % n[1], a[2] = r / (n[0] * n[1]);
break;
default:
I("Invalid dataDescription");
break;
}
const s = [0, 0, 0];
return e.indexToWorld(a, s), s;
}, e.getBounds = () => e.extentToBounds(e.getSpatialExtent()), e.extentToBounds = (r) => Q.transformBounds(r, t.indexToWorld), e.getSpatialExtent = () => Q.inflate([...t.extent], 0.5), e.computeTransforms = () => {
Fa(t.indexToWorld, t.origin), t.indexToWorld[0] = t.direction[0], t.indexToWorld[1] = t.direction[1], t.indexToWorld[2] = t.direction[2], t.indexToWorld[4] = t.direction[3], t.indexToWorld[5] = t.direction[4], t.indexToWorld[6] = t.direction[5], t.indexToWorld[8] = t.direction[6], t.indexToWorld[9] = t.direction[7], t.indexToWorld[10] = t.direction[8], Na(t.indexToWorld, t.indexToWorld, t.spacing), $a(t.worldToIndex, t.indexToWorld);
}, e.indexToWorld = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return Rt(n, r, t.indexToWorld), n;
}, e.indexToWorldVec3 = e.indexToWorld, e.worldToIndex = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return Rt(n, r, t.worldToIndex), n;
}, e.worldToIndexVec3 = e.worldToIndex, e.indexToWorldBounds = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return Q.transformBounds(r, t.indexToWorld, n);
}, e.worldToIndexBounds = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
return Q.transformBounds(r, t.worldToIndex, n);
}, e.onModified(e.computeTransforms), e.computeTransforms(), e.getCenter = () => Q.getCenter(e.getBounds()), e.computeHistogram = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
const a = [0, 0, 0, 0, 0, 0];
e.worldToIndexBounds(r, a);
const s = [0, 0, 0], i = [0, 0, 0];
Q.computeCornerPoints(a, s, i), De(s, s), De(i, i);
const u = e.getDimensions();
Ae(s, [0, 0, 0], [u[0] - 1, u[1] - 1, u[2] - 1], s), Ae(i, [0, 0, 0], [u[0] - 1, u[1] - 1, u[2] - 1], i);
const o = u[0], f = u[0] * u[1], c = e.getPointData().getScalars().getData();
let y = -1 / 0, l = 1 / 0, g = 0, p = 0, h = 0;
for (let $ = s[2]; $ <= i[2]; $++)
for (let v = s[1]; v <= i[1]; v++) {
let m = s[0] + v * o + $ * f;
for (let d = s[0]; d <= i[0]; d++) {
if (!n || n([d, v, $], a)) {
const O = c[m];
O > y && (y = O), O < l && (l = O), g += O * O, p += O, h += 1;
}
++m;
}
}
const w = h > 0 ? p / h : 0, C = h ? Math.abs(g / h - w * w) : 0, E = Math.sqrt(C);
return {
minimum: l,
maximum: y,
average: w,
variance: C,
sigma: E,
count: h
};
}, e.computeIncrements = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
const a = [];
let s = n;
for (let i = 0; i < 3; ++i)
a[i] = s, s *= r[i * 2 + 1] - r[i * 2] + 1;
return a;
}, e.computeOffsetIndex = (r) => {
let [n, a, s] = r;
const i = e.getExtent(), u = e.getPointData().getScalars().getNumberOfComponents(), o = e.computeIncrements(i, u);
return Math.floor((Math.round(n) - i[0]) * o[0] + (Math.round(a) - i[2]) * o[1] + (Math.round(s) - i[4]) * o[2]);
}, e.getOffsetIndexFromWorld = (r) => {
const n = e.getExtent(), a = e.worldToIndex(r);
for (let s = 0; s < 3; ++s)
if (a[s] < n[s * 2] || a[s] > n[s * 2 + 1])
return I(`GetScalarPointer: Pixel ${a} is not in memory. Current extent = ${n}`), NaN;
return e.computeOffsetIndex(a);
}, e.getScalarValueFromWorld = function(r) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
const a = e.getPointData().getScalars().getNumberOfComponents();
if (n < 0 || n >= a)
return I(`GetScalarPointer: Scalar Component ${n} is not within bounds. Current Scalar numberOfComponents: ${a}`), NaN;
const s = e.getOffsetIndexFromWorld(r);
return Number.isNaN(s) ? s : e.getPointData().getScalars().getComponent(s, n);
};
}
const Es = {
direction: null,
// a mat3
indexToWorld: null,
// a mat4
worldToIndex: null,
// a mat4
spacing: [1, 1, 1],
origin: [0, 0, 0],
extent: [0, -1, 0, -1, 0, -1],
dataDescription: B.EMPTY
};
function tr(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
Object.assign(t, Es, r), ds.extend(e, t, r), t.direction ? Array.isArray(t.direction) && (t.direction = new Float64Array(t.direction.slice(0, 9))) : t.direction = Ma(new Float64Array(9)), t.indexToWorld = new Float64Array(16), t.worldToIndex = new Float64Array(16), A.get(e, t, ["indexToWorld", "worldToIndex"]), A.setGetArray(e, t, ["origin", "spacing"], 3), A.setGetArray(e, t, ["direction"], 9), A.getArray(e, t, ["extent"], 6), Cs(e, t);
}
const Ss = A.newInstance(tr, "vtkImageData");
var Ds = {
newInstance: Ss,
extend: tr
};
function er(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0, 0, 0, 0];
const [r, n, a, s] = t, u = e.getContext("2d").getImageData(r, n, a || e.width, s || e.height), o = Ds.newInstance({
type: "vtkImageData"
});
o.setOrigin(0, 0, 0), o.setSpacing(1, 1, 1), o.setExtent(0, (a || e.width) - 1, 0, (s || e.height) - 1, 0, 0);
const f = xt.newInstance({
numberOfComponents: 4,
values: new Uint8Array(u.data.buffer)
});
return f.setName("scalars"), o.getPointData().setScalars(f), o;
}
function As(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
flipX: !1,
flipY: !1,
rotate: 0
};
const r = document.createElement("canvas");
r.width = e.width, r.height = e.height;
const n = r.getContext("2d"), {
flipX: a,
flipY: s,
rotate: i
} = t;
return n.translate(r.width / 2, r.height / 2), n.scale(a ? -1 : 1, s ? -1 : 1), n.rotate(i * Math.PI / 180), n.drawImage(e, -e.width / 2, -e.height / 2), er(r);
}
var Ms = {
canvasToImageData: er,
imageToImageData: As
};
self.onmessage = function({ data: e }) {
const { contours: t, columes: r, rows: n, scalarData: a, segmentIndex: s, segmentVolumeId: i } = e, o = new OffscreenCanvas(r, n).getContext("2d", { willReadFrequently: !0 });
if (o) {
const f = n * r;
let c = 0;
for (const [y, l] of t) {
const { intArr: g, filledVoxels: p } = Ns(
o,
$s(l),
r,
n,
s
);
c += p, a.set(g, f * y);
}
self.postMessage({ segmentVolumeId: i, ALLfilledVoxels: c });
return;
}
self.postMessage(void 0);
};
function $s(e) {
const t = new Path2D();
for (const r of e) {
const n = new Path2D(), { x: a, y: s } = r[0];
n.moveTo(a, s);
for (let i = 1, u = r.length; i < u; i++) {
const { x: o, y: f } = r[i];
n.lineTo(o, f);
}
n.lineTo(a, s), n.closePath(), t.addPath(n);
}
return t;
}
function Ns(e, t, r, n, a) {
const s = [0, a];
e.reset(), e.imageSmoothingEnabled = !1, e.fillStyle = "rgb(0, 0, 0)", e.fillRect(0, 0, r, n), e.fillStyle = "rgb(255, 255, 255)", e.fill(t);
const i = e.canvas, u = Ms.canvasToImageData(i), o = u.getPointData().getScalars(), f = u.getNumberOfPoints(), c = new Uint8Array(f);
let y = 0;
for (let l = 0; l < f; l++) {
let g = o.getComponent(l);
g = g > 0 ? 1 : 0, y += g;
const p = s[g];
c.set([p], l);
}
return { intArr: c, filledVoxels: y };
}