@soonspacejs/plugin-heat-cloud 2.14.29 → 2.14.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +101 -101
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -42,10 +42,10 @@ function lt(i, e, t, a = "srgb") {
|
|
|
42
42
|
function ut(i, e) {
|
|
43
43
|
let { area: t, width: a, height: r, colorSpace: o } = e || {};
|
|
44
44
|
o = o ?? "srgb", t = t || {};
|
|
45
|
-
const n = t.x ?? 0, s = t.y ?? 0,
|
|
46
|
-
a = a ??
|
|
45
|
+
const n = t.x ?? 0, s = t.y ?? 0, u = Jt(i), l = t.width ?? u.width, c = t.height ?? u.height;
|
|
46
|
+
a = a ?? l, r = r ?? c;
|
|
47
47
|
const d = new OffscreenCanvas(a, r).getContext("2d");
|
|
48
|
-
return d.drawImage(i, n, s,
|
|
48
|
+
return d.drawImage(i, n, s, l, c, 0, 0, a, r), d.getImageData(0, 0, a, r, { colorSpace: o });
|
|
49
49
|
}
|
|
50
50
|
function Jt(i) {
|
|
51
51
|
let e = 0, t = 0;
|
|
@@ -54,8 +54,8 @@ function Jt(i) {
|
|
|
54
54
|
function ct(i) {
|
|
55
55
|
const { data: e, width: t, height: a, colorSpace: r } = i, o = e.length, n = new Uint8ClampedArray(o);
|
|
56
56
|
for (let s = 0; s < a; s++) {
|
|
57
|
-
const
|
|
58
|
-
n.set(d,
|
|
57
|
+
const u = s * t, l = -(u + t), c = l + t, d = e.slice(l * 4, c * 4);
|
|
58
|
+
n.set(d, u * 4);
|
|
59
59
|
}
|
|
60
60
|
return new ImageData(n, t, a, { colorSpace: r });
|
|
61
61
|
}
|
|
@@ -104,8 +104,8 @@ function mt(i, e, t = 1) {
|
|
|
104
104
|
let n = [];
|
|
105
105
|
if (t > 0) {
|
|
106
106
|
const s = o * t;
|
|
107
|
-
for (let
|
|
108
|
-
n.push(a[s +
|
|
107
|
+
for (let u = 0; u < t; u++)
|
|
108
|
+
n.push(a[s + u]);
|
|
109
109
|
}
|
|
110
110
|
return { index: o, value: n };
|
|
111
111
|
}
|
|
@@ -121,12 +121,12 @@ function pt(i, e) {
|
|
|
121
121
|
function na(i, e) {
|
|
122
122
|
const { voidValue: t, valuesAccumulate: a, verifyVoid: r = () => !1 } = e;
|
|
123
123
|
let { x: o, y: n, z: s } = i[0].size;
|
|
124
|
-
const
|
|
125
|
-
for (let m = 1; m <
|
|
124
|
+
const u = i.length;
|
|
125
|
+
for (let m = 1; m < u; m++) {
|
|
126
126
|
const p = i[m].size;
|
|
127
127
|
o = Math.max(o, p.x), n = Math.max(n, p.y), s = Math.max(s, p.z);
|
|
128
128
|
}
|
|
129
|
-
const
|
|
129
|
+
const l = o * n * s, c = new Array(l), d = o * n;
|
|
130
130
|
for (let m = 0; m < s; m++) {
|
|
131
131
|
const p = m * d;
|
|
132
132
|
for (let h = 0; h < n; h++) {
|
|
@@ -152,14 +152,14 @@ function na(i, e) {
|
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
154
|
function ye(i, e, t, a = 1) {
|
|
155
|
-
const { size: r } = i, o = S.toKey(e), [n, s] = S.getCrossAxiss(e),
|
|
155
|
+
const { size: r } = i, o = S.toKey(e), [n, s] = S.getCrossAxiss(e), u = S.toKey(n), l = S.toKey(s), c = r[u], d = r[l], m = [], p = r[o];
|
|
156
156
|
t = Math.trunc(t), t = Math.max(0, Math.min(p - 1, t));
|
|
157
157
|
let h = { x: 0, y: 0, z: 0 };
|
|
158
158
|
h[o] = t;
|
|
159
159
|
for (let x = 0; x < d; x++) {
|
|
160
|
-
h[
|
|
160
|
+
h[l] = x;
|
|
161
161
|
for (let _ = 0; _ < c; _++) {
|
|
162
|
-
h[
|
|
162
|
+
h[u] = _;
|
|
163
163
|
const { value: w } = mt(i, h, a);
|
|
164
164
|
m.push(...w);
|
|
165
165
|
}
|
|
@@ -168,10 +168,10 @@ function ye(i, e, t, a = 1) {
|
|
|
168
168
|
}
|
|
169
169
|
function ei(i, e, t) {
|
|
170
170
|
e = Math.trunc(e);
|
|
171
|
-
const { data: a, width: r, height: o, colorSpace: n } = t ? ct(i) : i, s = a.length,
|
|
171
|
+
const { data: a, width: r, height: o, colorSpace: n } = t ? ct(i) : i, s = a.length, u = s * e, l = new Uint8ClampedArray(u);
|
|
172
172
|
for (let c = 0; c < e; c++)
|
|
173
|
-
|
|
174
|
-
return { data:
|
|
173
|
+
l.set(a, c * s);
|
|
174
|
+
return { data: l, width: r, height: o, depth: e, colorSpace: n };
|
|
175
175
|
}
|
|
176
176
|
function ti(i, e, t) {
|
|
177
177
|
const a = t || {}, r = a.reverseY, o = a.axis ?? "z", n = Ie(i) ? i : ut(i, a);
|
|
@@ -179,13 +179,13 @@ function ti(i, e, t) {
|
|
|
179
179
|
}
|
|
180
180
|
function ii(i, e, t, a) {
|
|
181
181
|
t = Math.trunc(t);
|
|
182
|
-
const { data: r, width: o, height: n, colorSpace: s } = a ? ct(i) : i,
|
|
182
|
+
const { data: r, width: o, height: n, colorSpace: s } = a ? ct(i) : i, u = S.toKey(e), l = (e + 1) % 3, c = (e + 2) % 3, d = S.toKey(l), m = S.toKey(c), p = {
|
|
183
183
|
[d]: o,
|
|
184
184
|
[m]: n,
|
|
185
|
-
[
|
|
185
|
+
[u]: t
|
|
186
186
|
}, h = new Uint8ClampedArray(r.length * t), x = { x: 0, y: 0, z: 0 };
|
|
187
187
|
for (let _ = 0; _ < t; _++) {
|
|
188
|
-
x[
|
|
188
|
+
x[u] = _;
|
|
189
189
|
for (let w = 0; w < n; w++) {
|
|
190
190
|
x[m] = w;
|
|
191
191
|
for (let D = 0; D < o; D++) {
|
|
@@ -214,8 +214,8 @@ function ai(i, e, t = 1) {
|
|
|
214
214
|
let n = [];
|
|
215
215
|
if (t > 0) {
|
|
216
216
|
const s = o * t;
|
|
217
|
-
for (let
|
|
218
|
-
n.push(a[s +
|
|
217
|
+
for (let u = 0; u < t; u++)
|
|
218
|
+
n.push(a[s + u]);
|
|
219
219
|
}
|
|
220
220
|
return { index: o, value: n };
|
|
221
221
|
}
|
|
@@ -293,10 +293,10 @@ class oi {
|
|
|
293
293
|
get sliceSize() {
|
|
294
294
|
let e = this._sliceSize;
|
|
295
295
|
if (!e) {
|
|
296
|
-
const { axis: t, image3D: a } = this, { width: r, height: o, depth: n } = a, [s,
|
|
296
|
+
const { axis: t, image3D: a } = this, { width: r, height: o, depth: n } = a, [s, u] = S.getCrossAxiss(t), l = [r, o, n];
|
|
297
297
|
this._sliceSize = e = {
|
|
298
|
-
x:
|
|
299
|
-
y: u
|
|
298
|
+
x: l[s],
|
|
299
|
+
y: l[u]
|
|
300
300
|
};
|
|
301
301
|
}
|
|
302
302
|
return e;
|
|
@@ -318,8 +318,8 @@ class oi {
|
|
|
318
318
|
* @returns
|
|
319
319
|
*/
|
|
320
320
|
getSlice(e, t) {
|
|
321
|
-
const { data: a, width: r, height: o, depth: n, colorSpace: s } = this.image3D, { data:
|
|
322
|
-
return new ImageData(c,
|
|
321
|
+
const { data: a, width: r, height: o, depth: n, colorSpace: s } = this.image3D, { data: u, size: l } = ye({ data: a, size: { x: r, y: o, z: n } }, e, t, 4), c = u instanceof Uint8ClampedArray ? u : Uint8ClampedArray.from(u);
|
|
322
|
+
return new ImageData(c, l.x, l.y, { colorSpace: s });
|
|
323
323
|
}
|
|
324
324
|
/**
|
|
325
325
|
* 获取切片图像的 url
|
|
@@ -360,12 +360,12 @@ function ui(i) {
|
|
|
360
360
|
const e = i.length, t = [];
|
|
361
361
|
if (e === 0)
|
|
362
362
|
return t;
|
|
363
|
-
const [a
|
|
364
|
-
for (let
|
|
365
|
-
const
|
|
366
|
-
for (let
|
|
367
|
-
const
|
|
368
|
-
|
|
363
|
+
const [a] = li(i[0]);
|
|
364
|
+
for (let r = 0; r < e; r++) {
|
|
365
|
+
const o = i[r], n = new a().copy(o), s = o.radius, u = t[r] ?? (t[r] = []);
|
|
366
|
+
for (let l = r + 1; l < e; l++) {
|
|
367
|
+
const c = i[l];
|
|
368
|
+
n.distanceToSquared(c) <= (c.radius + s) ** 2 && (u.push(l), (t[l] = []).push(r));
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
return t;
|
|
@@ -391,8 +391,8 @@ function Se(i, e, t) {
|
|
|
391
391
|
return a === 0 ? a : i.clone().cross(e).dot(t) < 0 ? -a : a;
|
|
392
392
|
}
|
|
393
393
|
function di(i, e, t) {
|
|
394
|
-
const a = e.clone().negate(), r = t.clone().projectOnPlane(e), o = i.clone().projectOnPlane(r), n = Se(e, o, r), s = e.clone().cross(r),
|
|
395
|
-
return { yaw: n, pitch:
|
|
394
|
+
const a = e.clone().negate(), r = t.clone().projectOnPlane(e), o = i.clone().projectOnPlane(r), n = Se(e, o, r), s = e.clone().cross(r), u = i.clone().projectOnPlane(s), l = Se(e, u, s), c = i.clone().projectOnPlane(a), d = Se(r, c, a);
|
|
395
|
+
return { yaw: n, pitch: l, roll: d };
|
|
396
396
|
}
|
|
397
397
|
const be = 180 / Math.PI, Pe = {
|
|
398
398
|
yaw: [
|
|
@@ -494,19 +494,19 @@ let ht = class {
|
|
|
494
494
|
*/
|
|
495
495
|
computeAzimuth(e, t, a) {
|
|
496
496
|
const r = new f().copy(e), o = new f().copy(t ?? this.front), n = new f().copy(a ?? this.up);
|
|
497
|
-
let { yaw: s, pitch:
|
|
498
|
-
return this.degrees && (s *= be,
|
|
497
|
+
let { yaw: s, pitch: u, roll: l } = di(r, o, n);
|
|
498
|
+
return this.degrees && (s *= be, u *= be, l *= be), {
|
|
499
499
|
yaw: {
|
|
500
500
|
angle: s,
|
|
501
501
|
name: this.findAzimuthNames("yaw", s)
|
|
502
502
|
},
|
|
503
503
|
pitch: {
|
|
504
|
-
angle:
|
|
505
|
-
name: this.findAzimuthNames("pitch",
|
|
504
|
+
angle: u,
|
|
505
|
+
name: this.findAzimuthNames("pitch", u)
|
|
506
506
|
},
|
|
507
507
|
roll: {
|
|
508
|
-
angle:
|
|
509
|
-
name: this.findAzimuthNames("roll",
|
|
508
|
+
angle: l,
|
|
509
|
+
name: this.findAzimuthNames("roll", l)
|
|
510
510
|
}
|
|
511
511
|
};
|
|
512
512
|
}
|
|
@@ -603,7 +603,7 @@ void main() {
|
|
|
603
603
|
var gt = /* @__PURE__ */ ((i) => (i[i.Fill = 0] = "Fill", i[i.Align = 1] = "Align", i[i.Raw = 2] = "Raw", i))(gt || {});
|
|
604
604
|
class xt extends te {
|
|
605
605
|
constructor(e) {
|
|
606
|
-
const { map: t, opacity: a, accFactor: r, steps: o, alphaRange: n, fit: s, atomize:
|
|
606
|
+
const { map: t, opacity: a, accFactor: r, steps: o, alphaRange: n, fit: s, atomize: u, side: l, containerMin: c, containerMax: d, uniforms: m, ...p } = e ?? {}, h = a ?? 1, x = r ?? 1, _ = o ?? 100, w = new T().copy(n ?? { x: 0, y: 0.95 }), D = s ?? 0, z = u ?? !0, y = l ?? J, M = new f().copy(c ?? { x: 0, y: 0, z: 0 }), v = new f();
|
|
607
607
|
if (d)
|
|
608
608
|
v.copy(d);
|
|
609
609
|
else if (t) {
|
|
@@ -895,8 +895,8 @@ class $e extends rt {
|
|
|
895
895
|
if (!o)
|
|
896
896
|
return !1;
|
|
897
897
|
t.boundingBox || t.computeBoundingBox();
|
|
898
|
-
const { width: n, height: s, depth:
|
|
899
|
-
t.scale(n /
|
|
898
|
+
const { width: n, height: s, depth: u } = o, l = t.boundingBox.getSize(new f());
|
|
899
|
+
t.scale(n / l.x, s / l.y, u / l.z), r && this.updateMaterial();
|
|
900
900
|
}
|
|
901
901
|
/**
|
|
902
902
|
* 规范化
|
|
@@ -1071,11 +1071,11 @@ void main(){
|
|
|
1071
1071
|
}`;
|
|
1072
1072
|
class Ue extends xt {
|
|
1073
1073
|
constructor(e) {
|
|
1074
|
-
const { gradient: t, range: a, discardOut: r, voidRange: o, ...n } = e ?? {}, s = new T().copy(a ?? { x: 0, y: 100 }),
|
|
1074
|
+
const { gradient: t, range: a, discardOut: r, voidRange: o, ...n } = e ?? {}, s = new T().copy(a ?? { x: 0, y: 100 }), u = r ?? !0, l = new T().copy(o ?? { x: -100, y: -1 }), c = {
|
|
1075
1075
|
gradient: { value: t == null ? t : ee(t) },
|
|
1076
1076
|
range: { value: s },
|
|
1077
|
-
discardOut: { value:
|
|
1078
|
-
voidRange: { value:
|
|
1077
|
+
discardOut: { value: u },
|
|
1078
|
+
voidRange: { value: l }
|
|
1079
1079
|
};
|
|
1080
1080
|
super({ ...n, fragmentShader: yi, uniforms: c }), g(this, "isGradientVolumeMaterial", !0);
|
|
1081
1081
|
}
|
|
@@ -1169,22 +1169,22 @@ class Mi extends et {
|
|
|
1169
1169
|
}
|
|
1170
1170
|
}
|
|
1171
1171
|
function wi(i, e) {
|
|
1172
|
-
const { data: t, size: a } = i, { x: r, y: o, z: n } = a, s = r * o * n, { voidValue:
|
|
1172
|
+
const { data: t, size: a } = i, { x: r, y: o, z: n } = a, s = r * o * n, { voidValue: u = 0, uint8: l } = e ?? {};
|
|
1173
1173
|
let c;
|
|
1174
|
-
if (
|
|
1174
|
+
if (l) {
|
|
1175
1175
|
c = new Uint8Array(s);
|
|
1176
1176
|
for (let m = 0; m < s; m++) {
|
|
1177
|
-
const p = t[m] ??
|
|
1177
|
+
const p = t[m] ?? u;
|
|
1178
1178
|
c[m] = Math.trunc(p);
|
|
1179
1179
|
}
|
|
1180
1180
|
} else {
|
|
1181
1181
|
c = new Float32Array(s);
|
|
1182
1182
|
for (let m = 0; m < s; m++) {
|
|
1183
|
-
const p = t[m] ??
|
|
1183
|
+
const p = t[m] ?? u;
|
|
1184
1184
|
c[m] = p;
|
|
1185
1185
|
}
|
|
1186
1186
|
}
|
|
1187
|
-
const d =
|
|
1187
|
+
const d = l ? at : tt;
|
|
1188
1188
|
return new Mi(c, r, o, n, d);
|
|
1189
1189
|
}
|
|
1190
1190
|
const zi = `precision highp float;
|
|
@@ -1283,15 +1283,15 @@ class qe extends xt {
|
|
|
1283
1283
|
}
|
|
1284
1284
|
}
|
|
1285
1285
|
function Di(i, e, t) {
|
|
1286
|
-
const a = t ?? {}, { x: r, y: o } = a.range ?? { x: 0, y: 100 }, n = a.discardOut ?? !0, { x: s, y:
|
|
1286
|
+
const a = t ?? {}, { x: r, y: o } = a.range ?? { x: 0, y: 100 }, n = a.discardOut ?? !0, { x: s, y: u } = a.voidRange ?? { x: -100, y: -1 }, l = a.voidColor ?? [0, 0, 0, 0], { width: c, height: d } = e, m = Math.trunc(d / 2), p = c - 1;
|
|
1287
1287
|
function h(y) {
|
|
1288
1288
|
const M = Math.trunc(p * y);
|
|
1289
1289
|
return dt(e, m, M);
|
|
1290
1290
|
}
|
|
1291
1291
|
const x = 1 / (o - r), { data: _, size: w } = i, D = _.length, z = [];
|
|
1292
1292
|
for (let y = 0; y < D; y++) {
|
|
1293
|
-
let M =
|
|
1294
|
-
(v <= s ||
|
|
1293
|
+
let M = l, v = _[y];
|
|
1294
|
+
(v <= s || u <= v) && (v = (v - r) * x, n && (v < 0 || v > 1) || (v = Math.min(Math.max(v, 0), 1), M = h(v))), z.push(...M);
|
|
1295
1295
|
}
|
|
1296
1296
|
return { data: z, size: w };
|
|
1297
1297
|
}
|
|
@@ -1332,8 +1332,8 @@ class _t extends et {
|
|
|
1332
1332
|
}
|
|
1333
1333
|
}
|
|
1334
1334
|
function Si(i, e, t) {
|
|
1335
|
-
const a = t?.reverseY ?? !0, { data: r, width: o, height: n, depth: s, colorSpace:
|
|
1336
|
-
return
|
|
1335
|
+
const a = t?.reverseY ?? !0, { data: r, width: o, height: n, depth: s, colorSpace: u } = ti(i, e, { ...t, reverseY: a }), l = new _t(r, o, n, s);
|
|
1336
|
+
return u === "srgb" && (l.colorSpace = "srgb"), l;
|
|
1337
1337
|
}
|
|
1338
1338
|
function Ke(i, e) {
|
|
1339
1339
|
const t = e.gradient, a = Array.isArray(t) ? lt(t, 256, 1) : Ie(t) ? t : ut(t);
|
|
@@ -1491,7 +1491,7 @@ class ma extends te {
|
|
|
1491
1491
|
}
|
|
1492
1492
|
class yt extends te {
|
|
1493
1493
|
constructor(e, t) {
|
|
1494
|
-
const { solid: a = 0, exp: r = 1, useRadius: o = !0, sizeAttenuation: n = !0, star: s = !1, ...
|
|
1494
|
+
const { solid: a = 0, exp: r = 1, useRadius: o = !0, sizeAttenuation: n = !0, star: s = !1, ...u } = e ?? {}, { uniforms: l, ...c } = t || {}, d = {
|
|
1495
1495
|
star: { value: s },
|
|
1496
1496
|
solid: { value: a },
|
|
1497
1497
|
exp: { value: r }
|
|
@@ -1499,7 +1499,7 @@ class yt extends te {
|
|
|
1499
1499
|
super({
|
|
1500
1500
|
// glslVersion: GLSL3,
|
|
1501
1501
|
// @ts-ignore
|
|
1502
|
-
uniforms: Je.merge([jt.points.uniforms, d,
|
|
1502
|
+
uniforms: Je.merge([jt.points.uniforms, d, l]),
|
|
1503
1503
|
transparent: !0,
|
|
1504
1504
|
depthTest: !1,
|
|
1505
1505
|
// depthWrite:false,
|
|
@@ -1507,7 +1507,7 @@ class yt extends te {
|
|
|
1507
1507
|
useRadius: o
|
|
1508
1508
|
},
|
|
1509
1509
|
...c
|
|
1510
|
-
}), g(this, "isFogPointsMaterial", !0), g(this, "sizeAttenuation", !0), Object.assign(this, { ...
|
|
1510
|
+
}), g(this, "isFogPointsMaterial", !0), g(this, "sizeAttenuation", !0), Object.assign(this, { ...u, solid: a, exp: r, sizeAttenuation: n });
|
|
1511
1511
|
}
|
|
1512
1512
|
/**
|
|
1513
1513
|
* 使用来自Texture的数据设置点的颜色
|
|
@@ -1750,8 +1750,8 @@ class Ni extends yt {
|
|
|
1750
1750
|
}
|
|
1751
1751
|
function Pi(i) {
|
|
1752
1752
|
const { points: e, radius: t = 10, color: a = [0, 0, 0, 0] } = i, r = [], o = [], n = [];
|
|
1753
|
-
for (const { x:
|
|
1754
|
-
r.push(
|
|
1753
|
+
for (const { x: u, y: l, z: c, radius: d, color: m } of e) {
|
|
1754
|
+
r.push(u, l, c), o.push(d ?? t);
|
|
1755
1755
|
const p = m ?? a, h = p[3];
|
|
1756
1756
|
p[3] = Math.trunc(h * 255), n.push(...p);
|
|
1757
1757
|
}
|
|
@@ -1913,8 +1913,8 @@ class Fi extends yt {
|
|
|
1913
1913
|
}
|
|
1914
1914
|
function Ti(i) {
|
|
1915
1915
|
const { points: e, radius: t = 10, value: a = 100 } = i, r = [], o = [], n = [];
|
|
1916
|
-
for (const { x:
|
|
1917
|
-
r.push(
|
|
1916
|
+
for (const { x: u, y: l, z: c, radius: d, value: m } of e)
|
|
1917
|
+
r.push(u, l, c), o.push(d ?? t), n.push(m ?? a);
|
|
1918
1918
|
const s = new st();
|
|
1919
1919
|
return s.setAttribute("position", new Z(r, 3)), s.setAttribute("radius", new Z(o, 1)), s.setAttribute("value", new Z(n, 1)), s;
|
|
1920
1920
|
}
|
|
@@ -1954,9 +1954,9 @@ void main(){
|
|
|
1954
1954
|
class Ei extends te {
|
|
1955
1955
|
constructor(e) {
|
|
1956
1956
|
const t = e ?? {};
|
|
1957
|
-
let { map: a, opacity: r, axis: o, depth: n, side: s, ...
|
|
1957
|
+
let { map: a, opacity: r, axis: o, depth: n, side: s, ...u } = t;
|
|
1958
1958
|
r = r ?? 1, o = o ?? S.z, n = n ?? 0, s = s ?? Oe, super({
|
|
1959
|
-
...
|
|
1959
|
+
...u,
|
|
1960
1960
|
glslVersion: ie,
|
|
1961
1961
|
// @ts-ignore
|
|
1962
1962
|
uniforms: {
|
|
@@ -2029,8 +2029,8 @@ class Ei extends te {
|
|
|
2029
2029
|
this._sliceSize = e = new T(1, 1);
|
|
2030
2030
|
const { axis: t, map: a } = this;
|
|
2031
2031
|
if (a) {
|
|
2032
|
-
const { width: r, height: o, depth: n } = a.image, [s,
|
|
2033
|
-
e.set(
|
|
2032
|
+
const { width: r, height: o, depth: n } = a.image, [s, u] = S.getCrossAxiss(t), l = [r, o, n];
|
|
2033
|
+
e.set(l[s], l[u]);
|
|
2034
2034
|
}
|
|
2035
2035
|
}
|
|
2036
2036
|
return e;
|
|
@@ -2132,10 +2132,10 @@ function Bi(i, e) {
|
|
|
2132
2132
|
return r * (a - t) + t;
|
|
2133
2133
|
}
|
|
2134
2134
|
function ji(i, e, t) {
|
|
2135
|
-
const { size: a, data3D: r, tags: o } = e, { clim: n, radius: s, value:
|
|
2135
|
+
const { size: a, data3D: r, tags: o } = e, { clim: n, radius: s, value: u, hollow: l, valueGradient: c, valuesAccumulate: d } = i, m = new f().copy(i), p = [], h = [], x = {
|
|
2136
2136
|
particles: p,
|
|
2137
2137
|
values: h
|
|
2138
|
-
}, _ = s *
|
|
2138
|
+
}, _ = s * l, w = m.clone().subScalar(s), D = m.clone().addScalar(s);
|
|
2139
2139
|
w.max(new f(0, 0, 0));
|
|
2140
2140
|
const z = new f().copy(a).subScalar(1);
|
|
2141
2141
|
D.min(z);
|
|
@@ -2160,11 +2160,11 @@ function ji(i, e, t) {
|
|
|
2160
2160
|
o[j] = !0;
|
|
2161
2161
|
const k = {
|
|
2162
2162
|
radius: s,
|
|
2163
|
-
hollow:
|
|
2163
|
+
hollow: l,
|
|
2164
2164
|
hollowRadius: _,
|
|
2165
2165
|
distance: A,
|
|
2166
2166
|
clim: n,
|
|
2167
|
-
value:
|
|
2167
|
+
value: u
|
|
2168
2168
|
}, G = [], H = {
|
|
2169
2169
|
...k,
|
|
2170
2170
|
ratio: A / s,
|
|
@@ -2200,9 +2200,9 @@ function ji(i, e, t) {
|
|
|
2200
2200
|
return x;
|
|
2201
2201
|
}
|
|
2202
2202
|
function ki(i) {
|
|
2203
|
-
const { points: e, clim: t = { x: 0, y: 100 }, radius: a = 10, value: r = 100, hollow: o = 0, valueGradient: n = Mt, valuesAccumulate: s = Bi, size:
|
|
2204
|
-
let d =
|
|
2205
|
-
|
|
2203
|
+
const { points: e, clim: t = { x: 0, y: 100 }, radius: a = 10, value: r = 100, hollow: o = 0, valueGradient: n = Mt, valuesAccumulate: s = Bi, size: u } = i, l = { clim: t, radius: a, value: r, hollow: o, valueGradient: n, valuesAccumulate: s }, c = e.map((y) => ({ ...l, ...y }));
|
|
2204
|
+
let d = u;
|
|
2205
|
+
u || (d = new xe().setFromPoints(c).max.addScalar(1));
|
|
2206
2206
|
const m = ui(c);
|
|
2207
2207
|
let { x: p, y: h, z: x } = d;
|
|
2208
2208
|
p = d.x = Math.trunc(p), h = d.y = Math.trunc(h), x = d.z = Math.trunc(x);
|
|
@@ -2230,7 +2230,7 @@ function Ki(i, e) {
|
|
|
2230
2230
|
return i.reduce((r, o) => r + o - t, 0);
|
|
2231
2231
|
}
|
|
2232
2232
|
function Wi(i) {
|
|
2233
|
-
const { points: e, size: t, clim: a = { x: 0, y: 100 }, radius: r = 10, value: o = 100, hollow: n = 0, valueGradient: s = Mt, radiusGradient:
|
|
2233
|
+
const { points: e, size: t, clim: a = { x: 0, y: 100 }, radius: r = 10, value: o = 100, hollow: n = 0, valueGradient: s = Mt, radiusGradient: u = Hi, hollowGradient: l = $i, lineValueGradient: c = qi, valuesAccumulate: d = Ki } = i, m = { radius: r, value: o, hollow: n }, p = e.map(function(N) {
|
|
2234
2234
|
return Object.assign(new f(), m, N);
|
|
2235
2235
|
}), h = t ? new f().copy(t).subScalar(1) : new xe().setFromPoints(p).max;
|
|
2236
2236
|
h.x = Math.trunc(h.x), h.y = Math.trunc(h.y), h.z = Math.trunc(h.z);
|
|
@@ -2269,9 +2269,9 @@ function Wi(i) {
|
|
|
2269
2269
|
...W,
|
|
2270
2270
|
ratio: De / P,
|
|
2271
2271
|
point: fe
|
|
2272
|
-
}, Y =
|
|
2272
|
+
}, Y = u(ve);
|
|
2273
2273
|
ve.radius = Y;
|
|
2274
|
-
const Be =
|
|
2274
|
+
const Be = l(ve), je = Y * Be;
|
|
2275
2275
|
if (he > Y || he < je)
|
|
2276
2276
|
continue;
|
|
2277
2277
|
const Ut = c(ve), At = {
|
|
@@ -2295,25 +2295,25 @@ function Wi(i) {
|
|
|
2295
2295
|
}
|
|
2296
2296
|
function ha(i, e) {
|
|
2297
2297
|
const t = new f().setFromMatrixScale(e), a = Math.sqrt(t.lengthSq() / 3), r = new _e().setFromMatrix4(e);
|
|
2298
|
-
let { points: o, size: n, radius: s, ...
|
|
2298
|
+
let { points: o, size: n, radius: s, ...u } = i;
|
|
2299
2299
|
if (n && (n = new f().copy(n).applyMatrix3(r)), s && (s *= a), o) {
|
|
2300
|
-
const
|
|
2300
|
+
const l = [];
|
|
2301
2301
|
for (let { x: c, y: d, z: m, radius: p, ...h } of o) {
|
|
2302
2302
|
p && (p *= a);
|
|
2303
2303
|
const x = new f(c, d, m).applyMatrix4(e);
|
|
2304
|
-
Object.assign(x, h, { radius: p }),
|
|
2304
|
+
Object.assign(x, h, { radius: p }), l.push(x);
|
|
2305
2305
|
}
|
|
2306
|
-
o =
|
|
2306
|
+
o = l;
|
|
2307
2307
|
}
|
|
2308
|
-
return { points: o, size: n, radius: s, ...
|
|
2308
|
+
return { points: o, size: n, radius: s, ...u };
|
|
2309
2309
|
}
|
|
2310
2310
|
function Yi(i, e, t = 1) {
|
|
2311
2311
|
let { points: a, size: r, radius: o, ...n } = i;
|
|
2312
2312
|
if (o && (o *= t), a) {
|
|
2313
2313
|
const s = [];
|
|
2314
|
-
for (let { x:
|
|
2314
|
+
for (let { x: u, y: l, z: c, radius: d, ...m } of a) {
|
|
2315
2315
|
d && (d *= t);
|
|
2316
|
-
const p = new f(
|
|
2316
|
+
const p = new f(u, l, c).add(e).multiplyScalar(t);
|
|
2317
2317
|
Object.assign(p, m, { radius: d }), s.push(p);
|
|
2318
2318
|
}
|
|
2319
2319
|
a = s;
|
|
@@ -2331,9 +2331,9 @@ function Xi(i, e) {
|
|
|
2331
2331
|
}
|
|
2332
2332
|
const o = new f().max(r.min), n = r.max.clone().sub(o).addScalar(1);
|
|
2333
2333
|
i.size && n.min(i.size);
|
|
2334
|
-
let { scale: s, maxSize:
|
|
2335
|
-
s || (
|
|
2336
|
-
const
|
|
2334
|
+
let { scale: s, maxSize: u } = e || {};
|
|
2335
|
+
s || (u = u ?? 100, s = u / Math.max(n.x, n.y, n.z)), n.multiplyScalar(s);
|
|
2336
|
+
const l = o.clone().negate(), c = Yi(i, l, s);
|
|
2337
2337
|
return c.size = n, { options: c, position: o, scale: 1 / s };
|
|
2338
2338
|
}
|
|
2339
2339
|
const We = {
|
|
@@ -2622,11 +2622,11 @@ class va extends te {
|
|
|
2622
2622
|
const { width: c, height: d, depth: m } = o.image;
|
|
2623
2623
|
s.set(c, d, m);
|
|
2624
2624
|
}
|
|
2625
|
-
const
|
|
2626
|
-
|
|
2625
|
+
const u = n == null ? n : ee(n), l = Je.clone(We.uniforms);
|
|
2626
|
+
l.u_size.value.copy(s), l.u_clim.value.copy(r ?? new T(1, 1)), l.u_renderstyle.value = t ?? 1, l.u_renderthreshold.value = a ?? 0.5, l.u_data.value = o ?? null, l.u_cmdata.value = u ?? null, super({
|
|
2627
2627
|
...We,
|
|
2628
2628
|
// @ts-ignore
|
|
2629
|
-
uniforms:
|
|
2629
|
+
uniforms: l,
|
|
2630
2630
|
side: Q
|
|
2631
2631
|
}), g(this, "isExampleVolumeMaterial_1", !0), g(this, "_gradient");
|
|
2632
2632
|
}
|
|
@@ -2829,19 +2829,19 @@ void main(){
|
|
|
2829
2829
|
}`;
|
|
2830
2830
|
class ga extends Ze {
|
|
2831
2831
|
constructor(e) {
|
|
2832
|
-
let { color: t, threshold: a, map: r, opacity: o, range: n, steps: s, frame:
|
|
2833
|
-
t = t ?? new Qe(1, 1, 1), a = a ?? 0.25, o = o ?? 0.25, n = n ?? 0.1, s = s ?? 100,
|
|
2832
|
+
let { color: t, threshold: a, map: r, opacity: o, range: n, steps: s, frame: u, cameraPos: l } = e ?? {};
|
|
2833
|
+
t = t ?? new Qe(1, 1, 1), a = a ?? 0.25, o = o ?? 0.25, n = n ?? 0.1, s = s ?? 100, u = u ?? 100, l = l ?? new f(), super({
|
|
2834
2834
|
glslVersion: ie,
|
|
2835
2835
|
// @ts-ignore
|
|
2836
2836
|
uniforms: {
|
|
2837
2837
|
base: { value: t },
|
|
2838
2838
|
map: { value: r },
|
|
2839
|
-
cameraPos: { value:
|
|
2839
|
+
cameraPos: { value: l },
|
|
2840
2840
|
threshold: { value: a },
|
|
2841
2841
|
opacity: { value: o },
|
|
2842
2842
|
range: { value: n },
|
|
2843
2843
|
steps: { value: s },
|
|
2844
|
-
frame: { value:
|
|
2844
|
+
frame: { value: u }
|
|
2845
2845
|
},
|
|
2846
2846
|
vertexShader: wt,
|
|
2847
2847
|
fragmentShader: Zi,
|
|
@@ -3081,11 +3081,11 @@ class _a {
|
|
|
3081
3081
|
gradient: ee(this.defaultColorGradient)
|
|
3082
3082
|
};
|
|
3083
3083
|
_createTexture(e, t, a = !1) {
|
|
3084
|
-
const r = Xi({ points: e, ...t }, { maxSize: 60, ...t }), { options: o, position: n, scale: s } = r,
|
|
3084
|
+
const r = Xi({ points: e, ...t }, { maxSize: 60, ...t }), { options: o, position: n, scale: s } = r, u = a ? Wi(o) : ki(o), l = wi(u, {
|
|
3085
3085
|
...t
|
|
3086
3086
|
}), c = new Ue({
|
|
3087
3087
|
...this.defaultGradientVolumeMaterialOptions,
|
|
3088
|
-
map:
|
|
3088
|
+
map: l,
|
|
3089
3089
|
...t
|
|
3090
3090
|
}), d = new $e(c);
|
|
3091
3091
|
return d.position.copy(n), d.scale.set(s, s, s), this.ssp.addObject(d), d;
|
|
@@ -3113,12 +3113,12 @@ class _a {
|
|
|
3113
3113
|
let a = e.map;
|
|
3114
3114
|
if (!a) return;
|
|
3115
3115
|
if (e instanceof Ue) {
|
|
3116
|
-
const { gradient: o, range: n, discardOut: s, voidRange:
|
|
3116
|
+
const { gradient: o, range: n, discardOut: s, voidRange: u } = e;
|
|
3117
3117
|
a = Ke(a.image, {
|
|
3118
3118
|
gradient: o?.image,
|
|
3119
3119
|
range: n,
|
|
3120
3120
|
discardOut: s,
|
|
3121
|
-
voidRange:
|
|
3121
|
+
voidRange: u,
|
|
3122
3122
|
...t
|
|
3123
3123
|
// voidColor
|
|
3124
3124
|
});
|
|
@@ -3132,12 +3132,12 @@ class _a {
|
|
|
3132
3132
|
if (!a) return;
|
|
3133
3133
|
let r = null;
|
|
3134
3134
|
if (e instanceof Ue) {
|
|
3135
|
-
const { gradient: n, range: s, discardOut:
|
|
3135
|
+
const { gradient: n, range: s, discardOut: u, voidRange: l } = e;
|
|
3136
3136
|
r = Ke(a.image, {
|
|
3137
3137
|
gradient: n?.image,
|
|
3138
3138
|
range: s,
|
|
3139
|
-
discardOut:
|
|
3140
|
-
voidRange:
|
|
3139
|
+
discardOut: u,
|
|
3140
|
+
voidRange: l,
|
|
3141
3141
|
...t
|
|
3142
3142
|
// voidColor
|
|
3143
3143
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soonspacejs/plugin-heat-cloud",
|
|
3
3
|
"pluginName": "HeatCloudPlugin",
|
|
4
|
-
"version": "2.14.
|
|
4
|
+
"version": "2.14.30",
|
|
5
5
|
"description": "Haet-cloud plugin for SoonSpace.js",
|
|
6
6
|
"main": "dist/index.esm.js",
|
|
7
7
|
"module": "dist/index.esm.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"license": "UNLICENSED",
|
|
16
16
|
"gitHead": "4a87dd85050651088e11c3da777c49fab3db7e5d",
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"soonspacejs": "2.14.
|
|
18
|
+
"soonspacejs": "2.14.30"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@three3d/volume": "^1.4.3"
|