three-low-poly 0.9.18 → 0.9.19
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.cjs.js +8 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +121 -9
- package/dist/index.es.js +1185 -1068
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +10 -10
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +10 -10
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
var bt = Object.defineProperty;
|
|
2
2
|
var St = (e, t, o) => t in e ? bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
|
3
3
|
var A = (e, t, o) => St(e, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
-
import { Vector3 as x, MathUtils as
|
|
5
|
-
function
|
|
6
|
-
const
|
|
4
|
+
import { Vector3 as x, MathUtils as z, Quaternion as Pt, InstancedMesh as lt, SphereGeometry as U, MeshStandardMaterial as y, Matrix4 as H, BufferGeometry as E, Float32BufferAttribute as O, DoubleSide as V, Euler as Tt, BufferAttribute as D, BoxGeometry as b, Vector2 as I, LatheGeometry as k, CylinderGeometry as P, ConeGeometry as Z, Shape as j, ExtrudeGeometry as Q, DodecahedronGeometry as J, CircleGeometry as Gt, TorusGeometry as Mt, Mesh as w, ShaderMaterial as W, MeshPhysicalMaterial as tt, Group as L, PointLight as Ct, CatmullRomCurve3 as Bt, TubeGeometry as Rt, Path as Nt, Color as $, BackSide as ut, DataTexture as _t, RGBAFormat as Ut, UnsignedByteType as Ot, RepeatWrapping as ft, NearestFilter as zt, Box3 as et } from "three";
|
|
5
|
+
function bo(e, t, o, n) {
|
|
6
|
+
const s = e.position.clone(), r = s.clone().add(e.getWorldDirection(new x()).multiplyScalar(-t));
|
|
7
7
|
let a = null;
|
|
8
8
|
function i(c) {
|
|
9
9
|
a === null && (a = c);
|
|
10
10
|
const u = (c - a) / o;
|
|
11
11
|
if (u >= 1) {
|
|
12
|
-
e.position.copy(
|
|
12
|
+
e.position.copy(r), n && n();
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
|
-
e.position.lerpVectors(
|
|
15
|
+
e.position.lerpVectors(s, r, u), requestAnimationFrame(i);
|
|
16
16
|
}
|
|
17
17
|
requestAnimationFrame(i);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
const
|
|
21
|
-
let
|
|
19
|
+
function So(e, t, o, n) {
|
|
20
|
+
const s = t.length - 1;
|
|
21
|
+
let r = null;
|
|
22
22
|
function a(i) {
|
|
23
|
-
|
|
24
|
-
const l = (i -
|
|
23
|
+
r === null && (r = i);
|
|
24
|
+
const l = (i - r) / o;
|
|
25
25
|
if (l >= 1) {
|
|
26
26
|
e.position.copy(t[t.length - 1]), n && n();
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
const u = l *
|
|
29
|
+
const u = l * s, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
|
|
30
30
|
e.position.lerpVectors(f, p, h), e.lookAt(p), requestAnimationFrame(a);
|
|
31
31
|
}
|
|
32
32
|
requestAnimationFrame(a);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
let
|
|
34
|
+
function Po(e, t, o, n, s) {
|
|
35
|
+
let r = null;
|
|
36
36
|
function a(i) {
|
|
37
|
-
|
|
38
|
-
const l = (i -
|
|
37
|
+
r || (r = i);
|
|
38
|
+
const l = (i - r) / n;
|
|
39
39
|
if (l >= 1) {
|
|
40
|
-
|
|
40
|
+
s && s();
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
|
|
@@ -45,39 +45,39 @@ function bo(e, t, o, n, r) {
|
|
|
45
45
|
}
|
|
46
46
|
requestAnimationFrame(a);
|
|
47
47
|
}
|
|
48
|
-
function
|
|
48
|
+
function To(e, t, o, n, s, r) {
|
|
49
49
|
let a = null, i = 0;
|
|
50
50
|
function c(l) {
|
|
51
51
|
a === null && (a = l);
|
|
52
|
-
const u = l - a, m = n /
|
|
53
|
-
if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >=
|
|
54
|
-
|
|
52
|
+
const u = l - a, m = n / s, h = u % m / m, f = Math.sin(h * Math.PI * 2) * Math.PI / 6, p = t.x + o * Math.sin(f), d = t.z + o * Math.cos(f);
|
|
53
|
+
if (e.position.set(p, e.position.y, d), e.lookAt(t), u >= (i + 1) * m && i++, i >= s) {
|
|
54
|
+
r && r();
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
requestAnimationFrame(c);
|
|
58
58
|
}
|
|
59
59
|
requestAnimationFrame(c);
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function Go(e, t, o, n, s, r, a) {
|
|
62
62
|
let i = null;
|
|
63
63
|
function c(l) {
|
|
64
64
|
i === null && (i = l);
|
|
65
|
-
const m = (l - i) /
|
|
65
|
+
const m = (l - i) / r;
|
|
66
66
|
if (m >= 1) {
|
|
67
67
|
a && a();
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
const h = m * Math.PI * 2 *
|
|
70
|
+
const h = m * Math.PI * 2 * s, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
|
|
71
71
|
e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
|
|
72
72
|
}
|
|
73
73
|
requestAnimationFrame(c);
|
|
74
74
|
}
|
|
75
|
-
function
|
|
76
|
-
const
|
|
77
|
-
let
|
|
75
|
+
function Co(e, t, o, n) {
|
|
76
|
+
const s = e.position.clone();
|
|
77
|
+
let r = null;
|
|
78
78
|
function a(i) {
|
|
79
|
-
if (
|
|
80
|
-
e.position.copy(
|
|
79
|
+
if (r === null && (r = i), (i - r) / o >= 1) {
|
|
80
|
+
e.position.copy(s), n && n();
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
const u = new x(
|
|
@@ -85,26 +85,26 @@ function To(e, t, o, n) {
|
|
|
85
85
|
(Math.random() - 0.5) * t,
|
|
86
86
|
(Math.random() - 0.5) * t
|
|
87
87
|
);
|
|
88
|
-
e.position.copy(
|
|
88
|
+
e.position.copy(s).add(u), requestAnimationFrame(a);
|
|
89
89
|
}
|
|
90
90
|
requestAnimationFrame(a);
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function Bo(e, t, o, n, s, r) {
|
|
93
93
|
const a = e.fov;
|
|
94
94
|
e.fov = o, e.updateProjectionMatrix();
|
|
95
95
|
let i = null;
|
|
96
96
|
function c(l) {
|
|
97
97
|
i === null && (i = l);
|
|
98
|
-
const m = (l - i) /
|
|
98
|
+
const m = (l - i) / s;
|
|
99
99
|
if (m >= 1) {
|
|
100
|
-
e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(),
|
|
100
|
+
e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), r && r();
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
-
e.fov =
|
|
103
|
+
e.fov = z.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
|
|
104
104
|
}
|
|
105
105
|
requestAnimationFrame(c);
|
|
106
106
|
}
|
|
107
|
-
class
|
|
107
|
+
class Ro {
|
|
108
108
|
constructor(t) {
|
|
109
109
|
A(this, "speed");
|
|
110
110
|
A(this, "maxIntensity");
|
|
@@ -114,9 +114,9 @@ class Co {
|
|
|
114
114
|
speed: o = 2,
|
|
115
115
|
//
|
|
116
116
|
maxIntensity: n = 0.8,
|
|
117
|
-
minIntensity:
|
|
117
|
+
minIntensity: s = 0.2
|
|
118
118
|
} = t;
|
|
119
|
-
this.speed = o, this.maxIntensity = n, this.minIntensity =
|
|
119
|
+
this.speed = o, this.maxIntensity = n, this.minIntensity = s, this.material = t.material;
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
122
|
* Update the emissive intensity of the material.
|
|
@@ -133,50 +133,77 @@ class Co {
|
|
|
133
133
|
this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
function
|
|
136
|
+
function mt(e = 0, t = 1) {
|
|
137
137
|
return Math.random() * (t - e) + e;
|
|
138
138
|
}
|
|
139
|
-
function
|
|
139
|
+
function No(e = 0, t = 1) {
|
|
140
140
|
return Math.floor(Math.random() * (t - e + 1)) + e;
|
|
141
141
|
}
|
|
142
142
|
function Ft(e = 0.5, t = 0, o = 1) {
|
|
143
143
|
return t + (o - t) * Math.pow(Math.random(), e);
|
|
144
144
|
}
|
|
145
|
-
function
|
|
145
|
+
function Lt(e = 0.5, t = 0, o = 1) {
|
|
146
146
|
return t + (o - t) * Math.pow(1 - Math.random(), e);
|
|
147
147
|
}
|
|
148
|
+
class _o {
|
|
149
|
+
constructor({
|
|
150
|
+
light: t,
|
|
151
|
+
minIntensity: o = 0.8,
|
|
152
|
+
maxIntensity: n = 1.2,
|
|
153
|
+
x: s = 0,
|
|
154
|
+
y: r = 0,
|
|
155
|
+
z: a = 0,
|
|
156
|
+
jitterX: i = 0.02,
|
|
157
|
+
jitterY: c = 0,
|
|
158
|
+
jitterZ: l = 0.02
|
|
159
|
+
} = {}) {
|
|
160
|
+
A(this, "light");
|
|
161
|
+
A(this, "minIntensity");
|
|
162
|
+
A(this, "maxIntensity");
|
|
163
|
+
A(this, "x");
|
|
164
|
+
A(this, "y");
|
|
165
|
+
A(this, "z");
|
|
166
|
+
A(this, "jitterX");
|
|
167
|
+
A(this, "jitterY");
|
|
168
|
+
A(this, "jitterZ");
|
|
169
|
+
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.x = s, this.y = r, this.z = a, this.jitterX = i, this.jitterY = c, this.jitterZ = l;
|
|
170
|
+
}
|
|
171
|
+
update() {
|
|
172
|
+
this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity), this.light.position.x = Math.random() * this.jitterX - this.jitterX / 2 + this.x, this.light.position.y = Math.random() * this.jitterY - this.jitterY / 2 + this.y, this.light.position.z = Math.random() * this.jitterZ - this.jitterZ / 2 + this.z);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
148
175
|
function Dt(e, t, o) {
|
|
149
176
|
const n = t + Math.random() * (o - t);
|
|
150
177
|
return setTimeout(e, n);
|
|
151
178
|
}
|
|
152
|
-
function
|
|
179
|
+
function Uo(e, t, o) {
|
|
153
180
|
let n;
|
|
154
|
-
function
|
|
155
|
-
const
|
|
181
|
+
function s() {
|
|
182
|
+
const r = t + Math.random() * (o - t);
|
|
156
183
|
n = setTimeout(() => {
|
|
157
|
-
e(),
|
|
158
|
-
},
|
|
184
|
+
e(), s();
|
|
185
|
+
}, r);
|
|
159
186
|
}
|
|
160
|
-
return
|
|
187
|
+
return s(), () => clearTimeout(n);
|
|
161
188
|
}
|
|
162
|
-
class
|
|
189
|
+
class Oo {
|
|
163
190
|
constructor({
|
|
164
191
|
light: t,
|
|
165
192
|
//
|
|
166
193
|
minIntensity: o = 15,
|
|
167
194
|
maxIntensity: n = 20,
|
|
168
|
-
minDuration:
|
|
169
|
-
maxDuration:
|
|
195
|
+
minDuration: s = 50,
|
|
196
|
+
maxDuration: r = 250
|
|
170
197
|
} = {}) {
|
|
171
198
|
A(this, "light");
|
|
172
199
|
A(this, "minIntensity");
|
|
173
200
|
A(this, "maxIntensity");
|
|
174
201
|
A(this, "minDuration");
|
|
175
202
|
A(this, "maxDuration");
|
|
176
|
-
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration =
|
|
203
|
+
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = s, this.maxDuration = r;
|
|
177
204
|
}
|
|
178
205
|
triggerLightning() {
|
|
179
|
-
this.light && (this.light.intensity =
|
|
206
|
+
this.light && (this.light.intensity = mt(this.minIntensity, this.maxIntensity)), Dt(
|
|
180
207
|
() => {
|
|
181
208
|
this.light && (this.light.intensity = 0);
|
|
182
209
|
},
|
|
@@ -188,7 +215,7 @@ class No {
|
|
|
188
215
|
Math.random() > 0.98 && this.triggerLightning();
|
|
189
216
|
}
|
|
190
217
|
}
|
|
191
|
-
const
|
|
218
|
+
const ot = {
|
|
192
219
|
UP: new x(0, 1, 0),
|
|
193
220
|
DOWN: new x(0, -1, 0),
|
|
194
221
|
LEFT: new x(-1, 0, 0),
|
|
@@ -209,79 +236,79 @@ const et = {
|
|
|
209
236
|
const o = Math.max(0, Math.min(1, 1 - e / t));
|
|
210
237
|
return o * o * (3 - 2 * o);
|
|
211
238
|
}
|
|
212
|
-
},
|
|
239
|
+
}, zo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
213
240
|
const a = e.attributes.position;
|
|
214
241
|
for (let i = 0; i < a.count; i++) {
|
|
215
242
|
const c = new x();
|
|
216
243
|
c.fromBufferAttribute(a, i);
|
|
217
244
|
const l = c.distanceTo(t);
|
|
218
245
|
if (l < o) {
|
|
219
|
-
const m =
|
|
220
|
-
c.add(
|
|
246
|
+
const m = r(l, o) * n;
|
|
247
|
+
c.add(s.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
221
248
|
}
|
|
222
249
|
}
|
|
223
250
|
a.needsUpdate = !0;
|
|
224
|
-
},
|
|
251
|
+
}, Fo = (e, t, o, n, s, r = ot.UP, a = K.LINEAR) => {
|
|
225
252
|
const i = e.attributes.position;
|
|
226
253
|
for (let c = 0; c < i.count; c++) {
|
|
227
254
|
const l = new x();
|
|
228
255
|
l.fromBufferAttribute(i, c);
|
|
229
256
|
const u = l.distanceTo(t);
|
|
230
257
|
if (u < o) {
|
|
231
|
-
const h = a(u, o) *
|
|
232
|
-
l.add(
|
|
258
|
+
const h = a(u, o) * s, f = l.dot(r.normalize()), p = n - f;
|
|
259
|
+
l.add(r.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
|
|
233
260
|
}
|
|
234
261
|
}
|
|
235
262
|
i.needsUpdate = !0;
|
|
236
|
-
},
|
|
263
|
+
}, Lo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
237
264
|
const a = e.attributes.position;
|
|
238
265
|
for (let i = 0; i < a.count; i++) {
|
|
239
266
|
const c = new x();
|
|
240
267
|
c.fromBufferAttribute(a, i);
|
|
241
268
|
const l = c.distanceTo(t);
|
|
242
269
|
if (l < o) {
|
|
243
|
-
const u =
|
|
244
|
-
c.x +=
|
|
270
|
+
const u = r(l, o), m = n * u, h = s.clone().normalize();
|
|
271
|
+
c.x += z.randFloatSpread(m) * h.x, c.y += z.randFloatSpread(m) * h.y, c.z += z.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
|
|
245
272
|
}
|
|
246
273
|
}
|
|
247
274
|
a.needsUpdate = !0;
|
|
248
|
-
},
|
|
249
|
-
const
|
|
250
|
-
for (let a = 0; a <
|
|
275
|
+
}, Do = (e, t, o, n) => {
|
|
276
|
+
const s = e.attributes.position, r = new x();
|
|
277
|
+
for (let a = 0; a < s.count; a++) {
|
|
251
278
|
const i = new x();
|
|
252
|
-
if (i.fromBufferAttribute(
|
|
279
|
+
if (i.fromBufferAttribute(s, a), i.distanceTo(t) < o) {
|
|
253
280
|
let l = new x(), u = 0;
|
|
254
|
-
for (let m = 0; m <
|
|
255
|
-
|
|
256
|
-
u > 0 && (l.divideScalar(u), i.lerp(l, n),
|
|
281
|
+
for (let m = 0; m < s.count; m++)
|
|
282
|
+
r.fromBufferAttribute(s, m), r.distanceTo(i) < o && (l.add(r), u++);
|
|
283
|
+
u > 0 && (l.divideScalar(u), i.lerp(l, n), s.setXYZ(a, i.x, i.y, i.z));
|
|
257
284
|
}
|
|
258
285
|
}
|
|
259
|
-
|
|
260
|
-
},
|
|
286
|
+
s.needsUpdate = !0;
|
|
287
|
+
}, ko = (e, t, o, n, s = !1, r = K.LINEAR) => {
|
|
261
288
|
const a = e.attributes.position;
|
|
262
289
|
for (let i = 0; i < a.count; i++) {
|
|
263
290
|
const c = new x();
|
|
264
291
|
c.fromBufferAttribute(a, i);
|
|
265
292
|
const l = c.distanceTo(t);
|
|
266
293
|
if (l < o) {
|
|
267
|
-
const m =
|
|
294
|
+
const m = r(l, o) * n * (s ? -1 : 1), h = c.clone().sub(t).normalize();
|
|
268
295
|
c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
269
296
|
}
|
|
270
297
|
}
|
|
271
298
|
a.needsUpdate = !0;
|
|
272
|
-
},
|
|
299
|
+
}, Vo = (e, t, o, n, s = ot.UP, r = K.LINEAR) => {
|
|
273
300
|
const a = e.attributes.position, i = new Pt();
|
|
274
301
|
for (let c = 0; c < a.count; c++) {
|
|
275
302
|
const l = new x();
|
|
276
303
|
l.fromBufferAttribute(a, c);
|
|
277
304
|
const u = l.distanceTo(t);
|
|
278
305
|
if (u < o) {
|
|
279
|
-
const h =
|
|
280
|
-
i.setFromAxisAngle(
|
|
306
|
+
const h = r(u, o) * n;
|
|
307
|
+
i.setFromAxisAngle(s, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
|
|
281
308
|
}
|
|
282
309
|
}
|
|
283
310
|
a.needsUpdate = !0;
|
|
284
|
-
},
|
|
311
|
+
}, ht = {
|
|
285
312
|
X: new x(1, 0, 0),
|
|
286
313
|
Y: new x(0, 1, 0),
|
|
287
314
|
Z: new x(0, 0, 1),
|
|
@@ -289,7 +316,7 @@ const et = {
|
|
|
289
316
|
XZ: new x(1, 0, 1).normalize(),
|
|
290
317
|
YZ: new x(0, 1, 1).normalize(),
|
|
291
318
|
XYZ: new x(1, 1, 1).normalize()
|
|
292
|
-
},
|
|
319
|
+
}, it = {
|
|
293
320
|
// Red
|
|
294
321
|
CADMIUM_RED: 15073318,
|
|
295
322
|
// Cadmium Red or Bright Red. Vivid, bold red shade with warm undertones.
|
|
@@ -432,10 +459,10 @@ const et = {
|
|
|
432
459
|
// White Smoke or Light Gray. It’s a soft, pale gray shade with a hint of warmth.
|
|
433
460
|
TITANIUM_WHITE: 16777215
|
|
434
461
|
// Pure white, the brightest color possible.
|
|
435
|
-
}, kt = (e) => 1 - Math.cos(e * Math.PI / 2),
|
|
462
|
+
}, kt = (e) => 1 - Math.cos(e * Math.PI / 2), Vt = (e) => Math.sin(e * Math.PI / 2), qt = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Yt = (e) => e * e, Ht = (e) => 1 - Math.pow(1 - e, 2), Xt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Zt = (e) => e * e * e, jt = (e) => 1 - Math.pow(1 - e, 3), Qt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Kt = (e) => e * e * e * e, Jt = (e) => 1 - Math.pow(1 - e, 4), $t = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Wt = (e) => e * e * e * e * e, te = (e) => 1 - Math.pow(1 - e, 5), ee = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, oe = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), ne = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), se = (e) => e === 0 ? 0 : e === 1 ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2, re = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), ae = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), ie = (e) => e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2, ce = (e) => e, le = (e) => e * e * (3 - 2 * e), ue = (e) => 1 - Math.pow(1 - e, 0.3), me = (e) => Math.pow(e, 0.3), he = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), fe = (e) => Math.sqrt(e), pe = (e) => 1 - e, de = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), qo = {
|
|
436
463
|
SINE_EASE_IN: kt,
|
|
437
|
-
SINE_EASE_OUT:
|
|
438
|
-
SINE_EASE_IN_OUT:
|
|
464
|
+
SINE_EASE_OUT: Vt,
|
|
465
|
+
SINE_EASE_IN_OUT: qt,
|
|
439
466
|
QUADRATIC_EASE_IN: Yt,
|
|
440
467
|
QUADRATIC_EASE_OUT: Ht,
|
|
441
468
|
QUADRATIC_EASE_IN_OUT: Xt,
|
|
@@ -462,24 +489,24 @@ const et = {
|
|
|
462
489
|
SQUARE_ROOT: fe,
|
|
463
490
|
INVERSE: pe,
|
|
464
491
|
GAUSSIAN: de
|
|
465
|
-
}, Me = (e, t, o, n,
|
|
466
|
-
const
|
|
467
|
-
return a * a * a * t + 3 * a * a *
|
|
492
|
+
}, Me = (e, t, o, n, s) => {
|
|
493
|
+
const r = Math.max(0, Math.min(1, e)), a = 1 - r;
|
|
494
|
+
return a * a * a * t + 3 * a * a * r * o + 3 * a * r * r * n + r * r * r * s;
|
|
468
495
|
}, ye = (e, t = 1) => {
|
|
469
496
|
const o = Math.max(1e-3, t);
|
|
470
497
|
return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
|
|
471
498
|
}, we = (e, t = 1, o = 1) => {
|
|
472
499
|
const n = Math.max(0, Math.min(1, e));
|
|
473
500
|
return t * Math.pow(n, o);
|
|
474
|
-
},
|
|
501
|
+
}, xe = (e, t = 1, o = 1) => {
|
|
475
502
|
const n = Math.max(1e-3, Math.min(1, e));
|
|
476
503
|
return t * Math.log(o * n + 1);
|
|
477
|
-
},
|
|
478
|
-
const
|
|
479
|
-
return t *
|
|
504
|
+
}, ve = (e, t = 1, o = 0, n = 0) => {
|
|
505
|
+
const s = Math.max(0, Math.min(1, e));
|
|
506
|
+
return t * s * s + o * s + n;
|
|
480
507
|
}, ge = (e, t, o, n) => {
|
|
481
|
-
const
|
|
482
|
-
return
|
|
508
|
+
const s = Math.max(0, Math.min(1, e)), r = 1 - s;
|
|
509
|
+
return r * r * t + 2 * r * s * o + s * s * n;
|
|
483
510
|
}, Ie = (e, t = 10) => {
|
|
484
511
|
const o = Math.max(0, Math.min(1, e));
|
|
485
512
|
return 1 / (1 + Math.exp(-t * (o - 0.5)));
|
|
@@ -487,22 +514,22 @@ const et = {
|
|
|
487
514
|
CUBIC: Me,
|
|
488
515
|
DAMPED: ye,
|
|
489
516
|
EXPONENTIAL: we,
|
|
490
|
-
LOGARITHMIC:
|
|
491
|
-
PARABOLIC:
|
|
517
|
+
LOGARITHMIC: xe,
|
|
518
|
+
PARABOLIC: ve,
|
|
492
519
|
QUADRATIC: ge,
|
|
493
520
|
SIGMOID: Ie,
|
|
494
521
|
SINUSOIDAL: Ae
|
|
495
522
|
};
|
|
496
|
-
class
|
|
523
|
+
class Yo extends lt {
|
|
497
524
|
constructor(o = {}) {
|
|
498
525
|
const {
|
|
499
526
|
count: n = 20,
|
|
500
|
-
width:
|
|
501
|
-
height:
|
|
527
|
+
width: s = 1.5,
|
|
528
|
+
height: r = 3,
|
|
502
529
|
depth: a = 1.5,
|
|
503
|
-
geometry: i = new
|
|
530
|
+
geometry: i = new U(0.1, 6, 6),
|
|
504
531
|
// Small spheres
|
|
505
|
-
material: c = new
|
|
532
|
+
material: c = new y({
|
|
506
533
|
color: 16777215,
|
|
507
534
|
transparent: !0,
|
|
508
535
|
opacity: 0.6,
|
|
@@ -516,11 +543,11 @@ class ko extends ct {
|
|
|
516
543
|
A(this, "width");
|
|
517
544
|
A(this, "height");
|
|
518
545
|
A(this, "depth");
|
|
519
|
-
this.height =
|
|
546
|
+
this.height = r, this.width = s, this.depth = a;
|
|
520
547
|
for (let l = 0; l < this.count; l++) {
|
|
521
548
|
const u = new x(
|
|
522
|
-
(Math.random() - 0.5) *
|
|
523
|
-
Math.random() * (
|
|
549
|
+
(Math.random() - 0.5) * s,
|
|
550
|
+
Math.random() * (r - 1) + 0.5,
|
|
524
551
|
(Math.random() - 0.5) * a
|
|
525
552
|
);
|
|
526
553
|
this.bubblePositions.push(u), this.velocities.push(0.01 + Math.random() * 0.02), this.updateInstanceMatrix(l);
|
|
@@ -530,8 +557,8 @@ class ko extends ct {
|
|
|
530
557
|
* Updates the position of a specific bubble instance in the InstancedMesh.
|
|
531
558
|
*/
|
|
532
559
|
updateInstanceMatrix(o) {
|
|
533
|
-
const n = this.bubblePositions[o],
|
|
534
|
-
this.setMatrixAt(o,
|
|
560
|
+
const n = this.bubblePositions[o], s = new H().setPosition(n);
|
|
561
|
+
this.setMatrixAt(o, s), this.instanceMatrix.needsUpdate = !0;
|
|
535
562
|
}
|
|
536
563
|
/**
|
|
537
564
|
* Updates bubble positions, moving them upward and resetting them
|
|
@@ -547,7 +574,7 @@ class ko extends ct {
|
|
|
547
574
|
class Ee extends E {
|
|
548
575
|
constructor(t = 0.1) {
|
|
549
576
|
super();
|
|
550
|
-
const o = [], n = [],
|
|
577
|
+
const o = [], n = [], s = [
|
|
551
578
|
[0, 1],
|
|
552
579
|
// Top point
|
|
553
580
|
[0.5, 0.75],
|
|
@@ -565,31 +592,31 @@ class Ee extends E {
|
|
|
565
592
|
[-0.5, 0.75]
|
|
566
593
|
// Left upper middle
|
|
567
594
|
];
|
|
568
|
-
for (let a = 0; a <
|
|
569
|
-
const [i, c] =
|
|
595
|
+
for (let a = 0; a < s.length; a++) {
|
|
596
|
+
const [i, c] = s[a];
|
|
570
597
|
o.push(i * t, c * t, 0);
|
|
571
598
|
}
|
|
572
|
-
for (let a = 1; a <
|
|
599
|
+
for (let a = 1; a < s.length - 1; a++)
|
|
573
600
|
n.push(0, a, a + 1);
|
|
574
|
-
n.push(0,
|
|
575
|
-
const
|
|
576
|
-
this.setAttribute("position",
|
|
601
|
+
n.push(0, s.length - 1, 1);
|
|
602
|
+
const r = new O(o, 3);
|
|
603
|
+
this.setAttribute("position", r), this.setIndex(n), this.computeVertexNormals();
|
|
577
604
|
}
|
|
578
605
|
}
|
|
579
|
-
class
|
|
606
|
+
class Ho extends lt {
|
|
580
607
|
constructor(o = {}) {
|
|
581
608
|
const {
|
|
582
609
|
count: n = 200,
|
|
583
|
-
width:
|
|
584
|
-
height:
|
|
610
|
+
width: s = 20,
|
|
611
|
+
height: r = 10,
|
|
585
612
|
depth: a = 20,
|
|
586
613
|
geometry: i = new Ee(),
|
|
587
|
-
material: c = new
|
|
614
|
+
material: c = new y({
|
|
588
615
|
color: 8956467,
|
|
589
616
|
metalness: 0.1,
|
|
590
617
|
roughness: 0.8,
|
|
591
618
|
flatShading: !0,
|
|
592
|
-
side:
|
|
619
|
+
side: V
|
|
593
620
|
})
|
|
594
621
|
} = o;
|
|
595
622
|
super(i, c, n);
|
|
@@ -598,12 +625,12 @@ class qo extends ct {
|
|
|
598
625
|
A(this, "width");
|
|
599
626
|
A(this, "height");
|
|
600
627
|
A(this, "depth");
|
|
601
|
-
this.dummyMatrix = new H(), this.velocities = [], this.width =
|
|
628
|
+
this.dummyMatrix = new H(), this.velocities = [], this.width = s, this.height = r, this.depth = a;
|
|
602
629
|
for (let l = 0; l < n; l++) {
|
|
603
|
-
const u = (Math.random() - 0.5) *
|
|
630
|
+
const u = (Math.random() - 0.5) * s, m = Math.random() * (r - 1) + 0.5, h = (Math.random() - 0.5) * a, f = (Math.random() - 0.5) * Math.PI, p = (Math.random() - 0.5) * Math.PI, d = (Math.random() - 0.5) * Math.PI;
|
|
604
631
|
this.dummyMatrix.makeRotationFromEuler(new Tt(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
|
|
605
|
-
const
|
|
606
|
-
this.velocities.push(
|
|
632
|
+
const M = new x((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
|
|
633
|
+
this.velocities.push(M);
|
|
607
634
|
}
|
|
608
635
|
this.instanceMatrix.needsUpdate = !0;
|
|
609
636
|
}
|
|
@@ -611,20 +638,20 @@ class qo extends ct {
|
|
|
611
638
|
for (let o = 0; o < this.count; o++) {
|
|
612
639
|
const n = new H();
|
|
613
640
|
this.getMatrixAt(o, n);
|
|
614
|
-
const
|
|
615
|
-
|
|
616
|
-
const
|
|
617
|
-
|
|
641
|
+
const s = new x();
|
|
642
|
+
s.setFromMatrixPosition(n);
|
|
643
|
+
const r = this.velocities[o];
|
|
644
|
+
s.add(r), s.y < 0 && (s.set(
|
|
618
645
|
(Math.random() - 0.5) * this.width,
|
|
619
646
|
Math.random() * (this.height - 1) + 0.5,
|
|
620
647
|
(Math.random() - 0.5) * this.depth
|
|
621
|
-
),
|
|
648
|
+
), r.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), n.setPosition(s), this.setMatrixAt(o, n);
|
|
622
649
|
}
|
|
623
650
|
this.instanceMatrix.needsUpdate = !0;
|
|
624
651
|
}
|
|
625
652
|
}
|
|
626
653
|
const S = (e, t) => {
|
|
627
|
-
const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)),
|
|
654
|
+
const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), s = new Set(Object.keys(e[0].morphAttributes)), r = {}, a = {}, i = e[0].morphTargetsRelative, c = new E();
|
|
628
655
|
let l = 0;
|
|
629
656
|
if (e.forEach((u, m) => {
|
|
630
657
|
let h = 0;
|
|
@@ -637,7 +664,7 @@ const S = (e, t) => {
|
|
|
637
664
|
return console.error(
|
|
638
665
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + '. All geometries must have compatible attributes; make sure "' + f + '" attribute exists among all geometries, or in none of them.'
|
|
639
666
|
), null;
|
|
640
|
-
|
|
667
|
+
r[f] === void 0 && (r[f] = []), r[f].push(u.attributes[f]), h++;
|
|
641
668
|
}
|
|
642
669
|
if (h !== n.size)
|
|
643
670
|
return console.error(
|
|
@@ -648,7 +675,7 @@ const S = (e, t) => {
|
|
|
648
675
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."
|
|
649
676
|
), null;
|
|
650
677
|
for (let f in u.morphAttributes) {
|
|
651
|
-
if (!
|
|
678
|
+
if (!s.has(f))
|
|
652
679
|
return console.error(
|
|
653
680
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."
|
|
654
681
|
), null;
|
|
@@ -676,8 +703,8 @@ const S = (e, t) => {
|
|
|
676
703
|
u += h.attributes.position.count;
|
|
677
704
|
}), c.setIndex(m);
|
|
678
705
|
}
|
|
679
|
-
for (let u in
|
|
680
|
-
const m =
|
|
706
|
+
for (let u in r) {
|
|
707
|
+
const m = pt(r[u]);
|
|
681
708
|
if (!m)
|
|
682
709
|
return console.error(
|
|
683
710
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
|
|
@@ -693,7 +720,7 @@ const S = (e, t) => {
|
|
|
693
720
|
const f = [];
|
|
694
721
|
for (let d = 0; d < a[u].length; ++d)
|
|
695
722
|
f.push(a[u][d][h]);
|
|
696
|
-
const p =
|
|
723
|
+
const p = pt(f);
|
|
697
724
|
if (!p)
|
|
698
725
|
return console.error(
|
|
699
726
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " morphAttribute."
|
|
@@ -702,80 +729,103 @@ const S = (e, t) => {
|
|
|
702
729
|
}
|
|
703
730
|
}
|
|
704
731
|
return c;
|
|
705
|
-
},
|
|
706
|
-
let t, o, n,
|
|
707
|
-
if (e.forEach((
|
|
708
|
-
if (t === void 0 && (t =
|
|
732
|
+
}, pt = (e) => {
|
|
733
|
+
let t, o, n, s = 0;
|
|
734
|
+
if (e.forEach((r) => {
|
|
735
|
+
if (t === void 0 && (t = r.array.constructor), t !== r.array.constructor)
|
|
709
736
|
return console.error(
|
|
710
737
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."
|
|
711
738
|
), null;
|
|
712
|
-
if (o === void 0 && (o =
|
|
739
|
+
if (o === void 0 && (o = r.itemSize), o !== r.itemSize)
|
|
713
740
|
return console.error(
|
|
714
741
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."
|
|
715
742
|
), null;
|
|
716
|
-
if (n === void 0 && (n =
|
|
743
|
+
if (n === void 0 && (n = r.normalized), n !== r.normalized)
|
|
717
744
|
return console.error(
|
|
718
745
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."
|
|
719
746
|
), null;
|
|
720
|
-
|
|
747
|
+
s += r.array.length;
|
|
721
748
|
}), t && o) {
|
|
722
|
-
const
|
|
749
|
+
const r = new t(s);
|
|
723
750
|
let a = 0;
|
|
724
751
|
return e.forEach((i) => {
|
|
725
|
-
|
|
726
|
-
}), new
|
|
752
|
+
r.set(i.array, a), a += i.array.length;
|
|
753
|
+
}), new D(r, o, n);
|
|
727
754
|
}
|
|
728
755
|
};
|
|
729
756
|
function be(e, t = 1e-4) {
|
|
730
757
|
t = Math.max(t, Number.EPSILON);
|
|
731
|
-
const o = {}, n = e.getIndex(),
|
|
758
|
+
const o = {}, n = e.getIndex(), s = e.getAttribute("position"), r = n ? n.count : s.count;
|
|
732
759
|
let a = 0;
|
|
733
760
|
const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
|
|
734
|
-
for (let d = 0,
|
|
761
|
+
for (let d = 0, M = i.length; d < M; d++) {
|
|
735
762
|
const g = i[d];
|
|
736
763
|
c[g] = [];
|
|
737
|
-
const
|
|
738
|
-
|
|
764
|
+
const v = e.morphAttributes[g];
|
|
765
|
+
v && (l[g] = new Array(v.length).fill(0).map(() => []));
|
|
739
766
|
}
|
|
740
767
|
const h = Math.log10(1 / t), f = Math.pow(10, h);
|
|
741
|
-
for (let d = 0; d <
|
|
742
|
-
const
|
|
768
|
+
for (let d = 0; d < r; d++) {
|
|
769
|
+
const M = n ? n.getX(d) : d;
|
|
743
770
|
let g = "";
|
|
744
|
-
for (let
|
|
745
|
-
const
|
|
746
|
-
for (let N = 0; N <
|
|
747
|
-
g += `${~~(
|
|
771
|
+
for (let v = 0, R = i.length; v < R; v++) {
|
|
772
|
+
const T = i[v], G = e.getAttribute(T), C = G.itemSize;
|
|
773
|
+
for (let N = 0; N < C; N++)
|
|
774
|
+
g += `${~~(G[m[N]](M) * f)},`;
|
|
748
775
|
}
|
|
749
776
|
if (g in o)
|
|
750
777
|
u.push(o[g]);
|
|
751
778
|
else {
|
|
752
|
-
for (let
|
|
753
|
-
const
|
|
754
|
-
for (let
|
|
755
|
-
const Y = m[
|
|
756
|
-
if (
|
|
757
|
-
for (let
|
|
758
|
-
|
|
779
|
+
for (let v = 0, R = i.length; v < R; v++) {
|
|
780
|
+
const T = i[v], G = e.getAttribute(T), C = e.morphAttributes[T], N = G.itemSize, _ = c[T], nt = l[T];
|
|
781
|
+
for (let q = 0; q < N; q++) {
|
|
782
|
+
const Y = m[q];
|
|
783
|
+
if (_.push(G[Y](M)), C)
|
|
784
|
+
for (let B = 0, Et = C.length; B < Et; B++)
|
|
785
|
+
nt[B].push(C[B][Y](M));
|
|
759
786
|
}
|
|
760
787
|
}
|
|
761
788
|
o[g] = a, u.push(a), a++;
|
|
762
789
|
}
|
|
763
790
|
}
|
|
764
791
|
const p = e.clone();
|
|
765
|
-
for (let d = 0,
|
|
766
|
-
const g = i[d],
|
|
767
|
-
if (p.setAttribute(g,
|
|
768
|
-
for (let
|
|
769
|
-
const
|
|
770
|
-
p.morphAttributes[g][
|
|
792
|
+
for (let d = 0, M = i.length; d < M; d++) {
|
|
793
|
+
const g = i[d], v = e.getAttribute(g), R = new v.array.constructor(c[g]), T = new D(R, v.itemSize, v.normalized);
|
|
794
|
+
if (p.setAttribute(g, T), g in l)
|
|
795
|
+
for (let G = 0; G < l[g].length; G++) {
|
|
796
|
+
const C = e.morphAttributes[g][G], N = new C.array.constructor(l[g][G]), _ = new D(N, C.itemSize, C.normalized);
|
|
797
|
+
p.morphAttributes[g][G] = _;
|
|
771
798
|
}
|
|
772
799
|
}
|
|
773
800
|
return p.setIndex(u), p;
|
|
774
801
|
}
|
|
775
|
-
class
|
|
776
|
-
constructor(t =
|
|
802
|
+
class Se extends E {
|
|
803
|
+
constructor(t = (s, r, a) => a.set(s, r, Math.cos(s) * Math.sin(r)), o = 8, n = 8) {
|
|
804
|
+
super(), this.type = "ParametricGeometry", this.parameters = {
|
|
805
|
+
func: t,
|
|
806
|
+
slices: o,
|
|
807
|
+
stacks: n
|
|
808
|
+
};
|
|
809
|
+
const s = [], r = [], a = [], i = [], c = 1e-5, l = new x(), u = new x(), m = new x(), h = new x(), f = new x(), p = o + 1;
|
|
810
|
+
for (let d = 0; d <= n; d++) {
|
|
811
|
+
const M = d / n;
|
|
812
|
+
for (let g = 0; g <= o; g++) {
|
|
813
|
+
const v = g / o;
|
|
814
|
+
t(v, M, u), r.push(u.x, u.y, u.z), v - c >= 0 ? (t(v - c, M, m), h.subVectors(u, m)) : (t(v + c, M, m), h.subVectors(m, u)), M - c >= 0 ? (t(v, M - c, m), f.subVectors(u, m)) : (t(v, M + c, m), f.subVectors(m, u)), l.crossVectors(h, f).normalize(), a.push(l.x, l.y, l.z), i.push(v, M);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
for (let d = 0; d < n; d++)
|
|
818
|
+
for (let M = 0; M < o; M++) {
|
|
819
|
+
const g = d * p + M, v = d * p + M + 1, R = (d + 1) * p + M + 1, T = (d + 1) * p + M;
|
|
820
|
+
s.push(g, v, T), s.push(v, R, T);
|
|
821
|
+
}
|
|
822
|
+
this.setIndex(s), this.setAttribute("position", new O(r, 3)), this.setAttribute("normal", new O(a, 3)), this.setAttribute("uv", new O(i, 2));
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
class yt extends E {
|
|
826
|
+
constructor(t = 1, o = 1.5, n = 0.5, s = 0.05, r = 0.05) {
|
|
777
827
|
super();
|
|
778
|
-
const a = t, i = o, c = n, l =
|
|
828
|
+
const a = t, i = o, c = n, l = s, u = r, m = [
|
|
779
829
|
// Front cover
|
|
780
830
|
0,
|
|
781
831
|
0,
|
|
@@ -1268,7 +1318,7 @@ class wt extends E {
|
|
|
1268
1318
|
0,
|
|
1269
1319
|
1
|
|
1270
1320
|
// Back cover edge
|
|
1271
|
-
],
|
|
1321
|
+
], M = [
|
|
1272
1322
|
0,
|
|
1273
1323
|
1,
|
|
1274
1324
|
2,
|
|
@@ -1367,24 +1417,24 @@ class wt extends E {
|
|
|
1367
1417
|
54,
|
|
1368
1418
|
55
|
|
1369
1419
|
// Back cover edge
|
|
1370
|
-
], g = new Float32Array(m),
|
|
1371
|
-
|
|
1372
|
-
const
|
|
1373
|
-
|
|
1420
|
+
], g = new Float32Array(m), v = new Float32Array(h), R = new Float32Array(d), T = new Uint16Array(M), G = new E();
|
|
1421
|
+
G.setAttribute("position", new D(g, 3)), G.setAttribute("normal", new D(v, 3)), G.setAttribute("uv", new D(R, 2)), G.setIndex(new D(T, 1));
|
|
1422
|
+
const C = new b(t - l - u, i - u * 2, c - l * 2);
|
|
1423
|
+
C.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(S([G, C], !0));
|
|
1374
1424
|
}
|
|
1375
1425
|
}
|
|
1376
|
-
function
|
|
1426
|
+
function wt({
|
|
1377
1427
|
scaleXMin: e = 0.4,
|
|
1378
1428
|
scaleXMax: t = 0.7,
|
|
1379
1429
|
scaleYMin: o = 0.3,
|
|
1380
1430
|
scaleYMax: n = 0.95,
|
|
1381
|
-
scaleZMin:
|
|
1382
|
-
scaleZMax:
|
|
1431
|
+
scaleZMin: s = 0.1,
|
|
1432
|
+
scaleZMax: r = 0.5
|
|
1383
1433
|
} = {}) {
|
|
1384
1434
|
return new x(
|
|
1385
|
-
|
|
1435
|
+
mt(e, t),
|
|
1386
1436
|
Ft(0.25, o, n),
|
|
1387
|
-
|
|
1437
|
+
Lt(0.8, s, r)
|
|
1388
1438
|
);
|
|
1389
1439
|
}
|
|
1390
1440
|
function xt({
|
|
@@ -1392,38 +1442,38 @@ function xt({
|
|
|
1392
1442
|
pagesMaterial: t,
|
|
1393
1443
|
scales: o
|
|
1394
1444
|
}) {
|
|
1395
|
-
const n = new
|
|
1445
|
+
const n = new yt(), s = new lt(n, [e, t], o.length), r = new H();
|
|
1396
1446
|
let a = 0;
|
|
1397
1447
|
for (let i = 0; i < o.length; i++) {
|
|
1398
1448
|
const c = o[i], l = new H();
|
|
1399
|
-
l.makeScale(c.x, c.y, c.z),
|
|
1449
|
+
l.makeScale(c.x, c.y, c.z), r.identity(), r.multiply(l), r.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), s.setMatrixAt(i, r), a += c.z * 0.5;
|
|
1400
1450
|
}
|
|
1401
|
-
return
|
|
1451
|
+
return s;
|
|
1402
1452
|
}
|
|
1403
|
-
function
|
|
1453
|
+
function Xo({
|
|
1404
1454
|
coverMaterial: e,
|
|
1405
1455
|
pagesMaterial: t,
|
|
1406
1456
|
count: o = 10,
|
|
1407
1457
|
scaleXMin: n = 0.4,
|
|
1408
|
-
scaleXMax:
|
|
1409
|
-
scaleYMin:
|
|
1458
|
+
scaleXMax: s = 0.7,
|
|
1459
|
+
scaleYMin: r = 0.3,
|
|
1410
1460
|
scaleYMax: a = 0.95,
|
|
1411
1461
|
scaleZMin: i = 0.1,
|
|
1412
1462
|
scaleZMax: c = 0.5
|
|
1413
1463
|
}) {
|
|
1414
1464
|
const l = Array.from(
|
|
1415
1465
|
{ length: o },
|
|
1416
|
-
() =>
|
|
1466
|
+
() => wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c })
|
|
1417
1467
|
);
|
|
1418
1468
|
return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1419
1469
|
}
|
|
1420
|
-
function
|
|
1470
|
+
function Zo({
|
|
1421
1471
|
coverMaterial: e,
|
|
1422
1472
|
pagesMaterial: t,
|
|
1423
1473
|
length: o = 10,
|
|
1424
1474
|
scaleXMin: n = 0.4,
|
|
1425
|
-
scaleXMax:
|
|
1426
|
-
scaleYMin:
|
|
1475
|
+
scaleXMax: s = 0.7,
|
|
1476
|
+
scaleYMin: r = 0.3,
|
|
1427
1477
|
scaleYMax: a = 0.95,
|
|
1428
1478
|
scaleZMin: i = 0.1,
|
|
1429
1479
|
scaleZMax: c = 0.5
|
|
@@ -1431,43 +1481,43 @@ function Yo({
|
|
|
1431
1481
|
const l = [];
|
|
1432
1482
|
let u = o;
|
|
1433
1483
|
for (; u > 0; ) {
|
|
1434
|
-
const m =
|
|
1484
|
+
const m = wt({ scaleXMin: n, scaleXMax: s, scaleYMin: r, scaleYMax: a, scaleZMin: i, scaleZMax: c });
|
|
1435
1485
|
m.z = Math.min(m.z, u), l.push(m), u -= m.z;
|
|
1436
1486
|
}
|
|
1437
1487
|
return xt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1438
1488
|
}
|
|
1439
|
-
class
|
|
1440
|
-
constructor(t = 2, o = 0.3, n = 0.6,
|
|
1489
|
+
class jo extends E {
|
|
1490
|
+
constructor(t = 2, o = 0.3, n = 0.6, s = 5, r = 5, a = Math.PI / 4) {
|
|
1441
1491
|
super();
|
|
1442
1492
|
const i = [], c = [];
|
|
1443
|
-
for (let f = 0; f <
|
|
1444
|
-
const p = f * o, d = p + o,
|
|
1493
|
+
for (let f = 0; f < s; f++) {
|
|
1494
|
+
const p = f * o, d = p + o, M = f * n, g = M + n;
|
|
1445
1495
|
i.push(
|
|
1446
1496
|
// Vertical riser
|
|
1447
1497
|
-t / 2,
|
|
1448
1498
|
p,
|
|
1449
|
-
|
|
1499
|
+
M,
|
|
1450
1500
|
// Bottom-left
|
|
1451
1501
|
t / 2,
|
|
1452
1502
|
p,
|
|
1453
|
-
|
|
1503
|
+
M,
|
|
1454
1504
|
// Bottom-right
|
|
1455
1505
|
t / 2,
|
|
1456
1506
|
d,
|
|
1457
|
-
|
|
1507
|
+
M,
|
|
1458
1508
|
// Top-right
|
|
1459
1509
|
-t / 2,
|
|
1460
1510
|
d,
|
|
1461
|
-
|
|
1511
|
+
M,
|
|
1462
1512
|
// Top-left
|
|
1463
1513
|
// Horizontal tread
|
|
1464
1514
|
-t / 2,
|
|
1465
1515
|
d,
|
|
1466
|
-
|
|
1516
|
+
M,
|
|
1467
1517
|
// Top-left
|
|
1468
1518
|
t / 2,
|
|
1469
1519
|
d,
|
|
1470
|
-
|
|
1520
|
+
M,
|
|
1471
1521
|
// Top-right
|
|
1472
1522
|
t / 2,
|
|
1473
1523
|
d,
|
|
@@ -1478,24 +1528,24 @@ class Ho extends E {
|
|
|
1478
1528
|
g
|
|
1479
1529
|
// Back-left
|
|
1480
1530
|
);
|
|
1481
|
-
const
|
|
1531
|
+
const v = f * 8;
|
|
1482
1532
|
c.push(
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1533
|
+
v,
|
|
1534
|
+
v + 1,
|
|
1535
|
+
v + 2,
|
|
1536
|
+
v,
|
|
1537
|
+
v + 2,
|
|
1538
|
+
v + 3
|
|
1489
1539
|
), c.push(
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1540
|
+
v + 4,
|
|
1541
|
+
v + 5,
|
|
1542
|
+
v + 6,
|
|
1543
|
+
v + 4,
|
|
1544
|
+
v + 6,
|
|
1545
|
+
v + 7
|
|
1496
1546
|
);
|
|
1497
1547
|
}
|
|
1498
|
-
const l =
|
|
1548
|
+
const l = s * o, u = s * n, m = t * 2;
|
|
1499
1549
|
i.push(
|
|
1500
1550
|
// Landing platform (4 vertices)
|
|
1501
1551
|
-m / 2,
|
|
@@ -1515,7 +1565,7 @@ class Ho extends E {
|
|
|
1515
1565
|
u + n
|
|
1516
1566
|
// Top-left
|
|
1517
1567
|
);
|
|
1518
|
-
const h =
|
|
1568
|
+
const h = s * 8;
|
|
1519
1569
|
c.push(
|
|
1520
1570
|
h,
|
|
1521
1571
|
h + 1,
|
|
@@ -1528,69 +1578,69 @@ class Ho extends E {
|
|
|
1528
1578
|
);
|
|
1529
1579
|
for (let f = 0; f < 2; f++) {
|
|
1530
1580
|
const p = f === 0 ? 1 : -1;
|
|
1531
|
-
for (let d = 0; d <
|
|
1532
|
-
const
|
|
1581
|
+
for (let d = 0; d < r; d++) {
|
|
1582
|
+
const M = l + d * o, g = M + o, v = p * (m / 4), R = u + n, T = d * n * Math.cos(a), G = d * n * Math.sin(a), C = v + p * T - t / 2 * Math.cos(a), N = v + p * T + t / 2 * Math.cos(a), _ = R + G, nt = C + p * n * Math.cos(a), q = N + p * n * Math.cos(a), Y = _ + n * Math.sin(a);
|
|
1533
1583
|
i.push(
|
|
1534
1584
|
// Vertical riser
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1585
|
+
C,
|
|
1586
|
+
M,
|
|
1587
|
+
_,
|
|
1538
1588
|
// Bottom-left
|
|
1539
1589
|
N,
|
|
1540
|
-
|
|
1541
|
-
|
|
1590
|
+
M,
|
|
1591
|
+
_,
|
|
1542
1592
|
// Bottom-right
|
|
1543
1593
|
N,
|
|
1544
1594
|
g,
|
|
1545
|
-
|
|
1595
|
+
_,
|
|
1546
1596
|
// Top-right
|
|
1547
|
-
|
|
1597
|
+
C,
|
|
1548
1598
|
g,
|
|
1549
|
-
|
|
1599
|
+
_,
|
|
1550
1600
|
// Top-left
|
|
1551
1601
|
// Horizontal tread
|
|
1552
|
-
|
|
1602
|
+
C,
|
|
1553
1603
|
g,
|
|
1554
|
-
|
|
1604
|
+
_,
|
|
1555
1605
|
// Top-left
|
|
1556
1606
|
N,
|
|
1557
1607
|
g,
|
|
1558
|
-
|
|
1608
|
+
_,
|
|
1559
1609
|
// Top-right
|
|
1560
|
-
|
|
1610
|
+
q,
|
|
1561
1611
|
g,
|
|
1562
1612
|
Y,
|
|
1563
1613
|
// Back-right
|
|
1564
|
-
|
|
1614
|
+
nt,
|
|
1565
1615
|
g,
|
|
1566
1616
|
Y
|
|
1567
1617
|
// Back-left
|
|
1568
1618
|
);
|
|
1569
|
-
const
|
|
1619
|
+
const B = h + 4 + f * r * 8 + d * 8;
|
|
1570
1620
|
c.push(
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1621
|
+
B,
|
|
1622
|
+
B + 1,
|
|
1623
|
+
B + 2,
|
|
1624
|
+
B,
|
|
1625
|
+
B + 2,
|
|
1626
|
+
B + 3
|
|
1577
1627
|
), c.push(
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1628
|
+
B + 4,
|
|
1629
|
+
B + 5,
|
|
1630
|
+
B + 6,
|
|
1631
|
+
B + 4,
|
|
1632
|
+
B + 6,
|
|
1633
|
+
B + 7
|
|
1584
1634
|
);
|
|
1585
1635
|
}
|
|
1586
1636
|
}
|
|
1587
|
-
this.setIndex(c), this.setAttribute("position", new
|
|
1637
|
+
this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
|
|
1588
1638
|
}
|
|
1589
1639
|
}
|
|
1590
|
-
class
|
|
1591
|
-
constructor(t = 5, o = 3, n = 5,
|
|
1640
|
+
class Qo extends E {
|
|
1641
|
+
constructor(t = 5, o = 3, n = 5, s = 0.2) {
|
|
1592
1642
|
super();
|
|
1593
|
-
const
|
|
1643
|
+
const r = [
|
|
1594
1644
|
// Floor vertices
|
|
1595
1645
|
-t / 2,
|
|
1596
1646
|
0,
|
|
@@ -1665,14 +1715,14 @@ class Xo extends E {
|
|
|
1665
1715
|
10,
|
|
1666
1716
|
11
|
|
1667
1717
|
];
|
|
1668
|
-
this.setIndex(a), this.setAttribute("position", new
|
|
1718
|
+
this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
|
|
1669
1719
|
}
|
|
1670
1720
|
}
|
|
1671
|
-
class
|
|
1672
|
-
constructor(t = 2, o = 0.3, n = 0.5,
|
|
1721
|
+
class Ko extends E {
|
|
1722
|
+
constructor(t = 2, o = 0.3, n = 0.5, s = 5, r = 2) {
|
|
1673
1723
|
super();
|
|
1674
1724
|
const a = [], i = [];
|
|
1675
|
-
for (let m = 0; m <
|
|
1725
|
+
for (let m = 0; m < s; m++) {
|
|
1676
1726
|
const h = m * o, f = h + o, p = m * n, d = p + n;
|
|
1677
1727
|
a.push(
|
|
1678
1728
|
// Vertical riser
|
|
@@ -1710,24 +1760,24 @@ class Zo extends E {
|
|
|
1710
1760
|
d
|
|
1711
1761
|
// Back-left
|
|
1712
1762
|
);
|
|
1713
|
-
const
|
|
1763
|
+
const M = m * 8;
|
|
1714
1764
|
i.push(
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1765
|
+
M,
|
|
1766
|
+
M + 1,
|
|
1767
|
+
M + 2,
|
|
1768
|
+
M,
|
|
1769
|
+
M + 2,
|
|
1770
|
+
M + 3
|
|
1721
1771
|
), i.push(
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1772
|
+
M + 4,
|
|
1773
|
+
M + 5,
|
|
1774
|
+
M + 6,
|
|
1775
|
+
M + 4,
|
|
1776
|
+
M + 6,
|
|
1777
|
+
M + 7
|
|
1728
1778
|
);
|
|
1729
1779
|
}
|
|
1730
|
-
const c =
|
|
1780
|
+
const c = s * o, l = s * n;
|
|
1731
1781
|
a.push(
|
|
1732
1782
|
// Landing platform (4 vertices)
|
|
1733
1783
|
-t / 2,
|
|
@@ -1740,14 +1790,14 @@ class Zo extends E {
|
|
|
1740
1790
|
// Bottom-right
|
|
1741
1791
|
t / 2,
|
|
1742
1792
|
c,
|
|
1743
|
-
l +
|
|
1793
|
+
l + r,
|
|
1744
1794
|
// Top-right
|
|
1745
1795
|
-t / 2,
|
|
1746
1796
|
c,
|
|
1747
|
-
l +
|
|
1797
|
+
l + r
|
|
1748
1798
|
// Top-left
|
|
1749
1799
|
);
|
|
1750
|
-
const u =
|
|
1800
|
+
const u = s * 8;
|
|
1751
1801
|
i.push(
|
|
1752
1802
|
u,
|
|
1753
1803
|
u + 1,
|
|
@@ -1758,71 +1808,71 @@ class Zo extends E {
|
|
|
1758
1808
|
u + 3
|
|
1759
1809
|
// Second triangle for landing
|
|
1760
1810
|
);
|
|
1761
|
-
for (let m = 0; m <
|
|
1811
|
+
for (let m = 0; m < s; m++) {
|
|
1762
1812
|
const h = c + m * o, f = h + o, p = -t / 2 - m * n, d = p - n;
|
|
1763
1813
|
a.push(
|
|
1764
1814
|
// Vertical riser
|
|
1765
1815
|
p,
|
|
1766
1816
|
h,
|
|
1767
|
-
l +
|
|
1817
|
+
l + r,
|
|
1768
1818
|
// Bottom-left
|
|
1769
1819
|
p,
|
|
1770
1820
|
h,
|
|
1771
|
-
l +
|
|
1821
|
+
l + r - t,
|
|
1772
1822
|
// Bottom-right
|
|
1773
1823
|
p,
|
|
1774
1824
|
f,
|
|
1775
|
-
l +
|
|
1825
|
+
l + r - t,
|
|
1776
1826
|
// Top-right
|
|
1777
1827
|
p,
|
|
1778
1828
|
f,
|
|
1779
|
-
l +
|
|
1829
|
+
l + r,
|
|
1780
1830
|
// Top-left
|
|
1781
1831
|
// Horizontal tread
|
|
1782
1832
|
p,
|
|
1783
1833
|
f,
|
|
1784
|
-
l +
|
|
1834
|
+
l + r,
|
|
1785
1835
|
// Top-left
|
|
1786
1836
|
p,
|
|
1787
1837
|
f,
|
|
1788
|
-
l +
|
|
1838
|
+
l + r - t,
|
|
1789
1839
|
// Top-right
|
|
1790
1840
|
d,
|
|
1791
1841
|
f,
|
|
1792
|
-
l +
|
|
1842
|
+
l + r - t,
|
|
1793
1843
|
// Back-right
|
|
1794
1844
|
d,
|
|
1795
1845
|
f,
|
|
1796
|
-
l +
|
|
1846
|
+
l + r
|
|
1797
1847
|
// Back-left
|
|
1798
1848
|
);
|
|
1799
|
-
const
|
|
1849
|
+
const M = u + 4 + m * 8;
|
|
1800
1850
|
i.push(
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1851
|
+
M,
|
|
1852
|
+
M + 1,
|
|
1853
|
+
M + 2,
|
|
1854
|
+
M,
|
|
1855
|
+
M + 2,
|
|
1856
|
+
M + 3
|
|
1807
1857
|
), i.push(
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1858
|
+
M + 4,
|
|
1859
|
+
M + 5,
|
|
1860
|
+
M + 6,
|
|
1861
|
+
M + 4,
|
|
1862
|
+
M + 6,
|
|
1863
|
+
M + 7
|
|
1814
1864
|
);
|
|
1815
1865
|
}
|
|
1816
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
1866
|
+
this.setIndex(i), this.setAttribute("position", new O(a, 3)), this.computeVertexNormals();
|
|
1817
1867
|
}
|
|
1818
1868
|
}
|
|
1819
|
-
class
|
|
1820
|
-
constructor(t = 1, o = 0.4, n = 0.2,
|
|
1869
|
+
class Jo extends E {
|
|
1870
|
+
constructor(t = 1, o = 0.4, n = 0.2, s = 20, r = 2, a = Math.PI / 8) {
|
|
1821
1871
|
super();
|
|
1822
1872
|
const i = [], c = [];
|
|
1823
1873
|
let l = 0;
|
|
1824
|
-
for (let u = 0; u <
|
|
1825
|
-
const m =
|
|
1874
|
+
for (let u = 0; u < s; u++) {
|
|
1875
|
+
const m = r * Math.cos(l), h = r * Math.sin(l), f = u * n, p = f + n;
|
|
1826
1876
|
i.push(
|
|
1827
1877
|
// Front face (vertical riser)
|
|
1828
1878
|
m - t / 2 * Math.cos(l),
|
|
@@ -1881,16 +1931,16 @@ class jo extends E {
|
|
|
1881
1931
|
// Second triangle for tread
|
|
1882
1932
|
), l += a;
|
|
1883
1933
|
}
|
|
1884
|
-
this.setIndex(c), this.setAttribute("position", new
|
|
1934
|
+
this.setIndex(c), this.setAttribute("position", new O(i, 3)), this.computeVertexNormals();
|
|
1885
1935
|
}
|
|
1886
1936
|
}
|
|
1887
|
-
class
|
|
1888
|
-
constructor(t = 2, o = 0.3, n = 0.5,
|
|
1937
|
+
class $o extends E {
|
|
1938
|
+
constructor(t = 2, o = 0.3, n = 0.5, s = 10) {
|
|
1889
1939
|
super();
|
|
1890
|
-
const
|
|
1891
|
-
for (let i = 0; i <
|
|
1940
|
+
const r = [], a = [];
|
|
1941
|
+
for (let i = 0; i < s; i++) {
|
|
1892
1942
|
const c = i * o, l = c + o, u = i * n, m = u + n;
|
|
1893
|
-
|
|
1943
|
+
r.push(
|
|
1894
1944
|
// Bottom face of riser (front face)
|
|
1895
1945
|
-t / 2,
|
|
1896
1946
|
c,
|
|
@@ -1947,89 +1997,89 @@ class Qo extends E {
|
|
|
1947
1997
|
// Second triangle for tread
|
|
1948
1998
|
);
|
|
1949
1999
|
}
|
|
1950
|
-
this.setIndex(a), this.setAttribute("position", new
|
|
2000
|
+
this.setIndex(a), this.setAttribute("position", new O(r, 3)), this.computeVertexNormals();
|
|
1951
2001
|
}
|
|
1952
2002
|
}
|
|
1953
|
-
class
|
|
2003
|
+
class Pe extends E {
|
|
1954
2004
|
constructor() {
|
|
1955
2005
|
super();
|
|
1956
2006
|
const t = [
|
|
1957
|
-
new
|
|
2007
|
+
new I(0, 0),
|
|
1958
2008
|
// Bottom of the jar
|
|
1959
|
-
new
|
|
2009
|
+
new I(1.2, 0),
|
|
1960
2010
|
// Base
|
|
1961
|
-
new
|
|
2011
|
+
new I(1.5, 1.5),
|
|
1962
2012
|
// Mid-body
|
|
1963
|
-
new
|
|
2013
|
+
new I(1, 3),
|
|
1964
2014
|
// Narrow neck
|
|
1965
|
-
new
|
|
2015
|
+
new I(0.6, 3.5),
|
|
1966
2016
|
// Mouth of the jar
|
|
1967
|
-
new
|
|
2017
|
+
new I(0.5, 3.5)
|
|
1968
2018
|
// Cork
|
|
1969
|
-
], o = new
|
|
2019
|
+
], o = new k(t, 10), n = new P(0.6, 0.5, 0.3, 10);
|
|
1970
2020
|
n.translate(0, 3.5, 0), this.copy(S([o, n], !0));
|
|
1971
2021
|
}
|
|
1972
2022
|
}
|
|
1973
|
-
function
|
|
1974
|
-
const
|
|
1975
|
-
return e + (
|
|
2023
|
+
function vt(e, t, o, n, s) {
|
|
2024
|
+
const r = (n - t) / (o - e);
|
|
2025
|
+
return e + (s - t) / r;
|
|
1976
2026
|
}
|
|
1977
|
-
function
|
|
1978
|
-
const
|
|
1979
|
-
return t +
|
|
2027
|
+
function Te(e, t, o, n, s) {
|
|
2028
|
+
const r = (n - t) / (o - e);
|
|
2029
|
+
return t + r * (s - e);
|
|
1980
2030
|
}
|
|
1981
|
-
const
|
|
1982
|
-
calculateXFromSlopeIntercept:
|
|
1983
|
-
calculateYFromSlopeIntercept:
|
|
2031
|
+
const Wo = {
|
|
2032
|
+
calculateXFromSlopeIntercept: vt,
|
|
2033
|
+
calculateYFromSlopeIntercept: Te
|
|
1984
2034
|
};
|
|
1985
|
-
class
|
|
2035
|
+
class Ge extends E {
|
|
1986
2036
|
constructor() {
|
|
1987
2037
|
super();
|
|
1988
2038
|
const t = [
|
|
1989
|
-
new
|
|
2039
|
+
new I(0, 0),
|
|
1990
2040
|
// Origin
|
|
1991
|
-
new
|
|
2041
|
+
new I(0.8, 0),
|
|
1992
2042
|
// Base
|
|
1993
|
-
new
|
|
2043
|
+
new I(1, 1.5),
|
|
1994
2044
|
// Rounded body
|
|
1995
|
-
new
|
|
2045
|
+
new I(0.5, 2.2),
|
|
1996
2046
|
// Neck
|
|
1997
|
-
new
|
|
2047
|
+
new I(0.6, 2.5),
|
|
1998
2048
|
// Mouth
|
|
1999
|
-
new
|
|
2049
|
+
new I(0.5, 2.5)
|
|
2000
2050
|
// Cork
|
|
2001
|
-
], o = new
|
|
2051
|
+
], o = new k(t, 10), n = new P(0.55, 0.45, 0.2, 10);
|
|
2002
2052
|
n.translate(0, 2.5, 0);
|
|
2003
|
-
const
|
|
2004
|
-
new
|
|
2005
|
-
new
|
|
2006
|
-
new
|
|
2007
|
-
new
|
|
2008
|
-
],
|
|
2009
|
-
|
|
2053
|
+
const s = [
|
|
2054
|
+
new I(0, 0),
|
|
2055
|
+
new I(0.8, 0),
|
|
2056
|
+
new I(vt(0.8, 0, 1, 1.5, 1), 1),
|
|
2057
|
+
new I(0, 1)
|
|
2058
|
+
], r = new k(s, 10);
|
|
2059
|
+
r.translate(0, 0.1, 0), r.scale(0.9, 0.9, 0.9), this.copy(S([o, n, r], !0));
|
|
2010
2060
|
}
|
|
2011
2061
|
}
|
|
2012
|
-
class
|
|
2013
|
-
constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight:
|
|
2062
|
+
class Ce extends E {
|
|
2063
|
+
constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
|
|
2014
2064
|
super();
|
|
2015
|
-
const a = n -
|
|
2065
|
+
const a = n - s, i = new P(t, t, a, r);
|
|
2016
2066
|
i.translate(0, a / 2, 0);
|
|
2017
|
-
const c = 0.3, l = new P(o, t, c,
|
|
2067
|
+
const c = 0.3, l = new P(o, t, c, r);
|
|
2018
2068
|
l.translate(0, a + c / 2, 0);
|
|
2019
|
-
const u = new P(o, o,
|
|
2020
|
-
u.translate(0, a + c +
|
|
2069
|
+
const u = new P(o, o, s, r);
|
|
2070
|
+
u.translate(0, a + c + s / 2, 0), this.copy(S([i, l, u], !1));
|
|
2021
2071
|
}
|
|
2022
2072
|
}
|
|
2023
|
-
class
|
|
2073
|
+
class Be extends E {
|
|
2024
2074
|
constructor(t = 0.4, o = 1.2, n = 0.2) {
|
|
2025
2075
|
super();
|
|
2026
|
-
const
|
|
2027
|
-
|
|
2076
|
+
const s = o * 0.6, r = new b(t / 2, s, n);
|
|
2077
|
+
r.translate(0, s / 2, 0);
|
|
2028
2078
|
const a = t * 1.5, i = new b(a, t / 4, n);
|
|
2029
|
-
i.translate(0,
|
|
2079
|
+
i.translate(0, s * 0.75, 0), this.copy(S([r, i], !1)), this.computeVertexNormals();
|
|
2030
2080
|
}
|
|
2031
2081
|
}
|
|
2032
|
-
class
|
|
2082
|
+
class Re extends E {
|
|
2033
2083
|
constructor() {
|
|
2034
2084
|
super();
|
|
2035
2085
|
const t = new b(5, 1, 5);
|
|
@@ -2041,13 +2091,13 @@ class Be extends E {
|
|
|
2041
2091
|
[1.8, 2.3, -2.2],
|
|
2042
2092
|
[-1.8, 2.3, 2.2],
|
|
2043
2093
|
[1.8, 2.3, 2.2]
|
|
2044
|
-
],
|
|
2094
|
+
], s = [];
|
|
2045
2095
|
n.forEach((l) => {
|
|
2046
2096
|
const u = new P(0.2, 0.2, 3.5, 16);
|
|
2047
|
-
u.translate(l[0], l[1], l[2]),
|
|
2097
|
+
u.translate(l[0], l[1], l[2]), s.push(u);
|
|
2048
2098
|
});
|
|
2049
|
-
const
|
|
2050
|
-
|
|
2099
|
+
const r = new Z(3.5, 2, 4);
|
|
2100
|
+
r.rotateY(Math.PI / 4), r.translate(0, 5, 0);
|
|
2051
2101
|
const a = new j();
|
|
2052
2102
|
a.moveTo(-1, 0), a.lineTo(-1, 2), a.absarc(0, 2, 1, Math.PI, 0, !0), a.lineTo(1, 0);
|
|
2053
2103
|
const i = {
|
|
@@ -2058,8 +2108,8 @@ class Be extends E {
|
|
|
2058
2108
|
S(
|
|
2059
2109
|
[
|
|
2060
2110
|
t,
|
|
2061
|
-
S([o, ...
|
|
2062
|
-
|
|
2111
|
+
S([o, ...s], !1),
|
|
2112
|
+
r,
|
|
2063
2113
|
c
|
|
2064
2114
|
],
|
|
2065
2115
|
!0
|
|
@@ -2067,75 +2117,75 @@ class Be extends E {
|
|
|
2067
2117
|
), this.computeVertexNormals();
|
|
2068
2118
|
}
|
|
2069
2119
|
}
|
|
2070
|
-
class
|
|
2120
|
+
class Ne extends E {
|
|
2071
2121
|
constructor(t = 1.75, o = 0.75) {
|
|
2072
2122
|
super();
|
|
2073
|
-
const n = t * 0.05,
|
|
2123
|
+
const n = t * 0.05, s = t * 0.15, r = t * 0.15, a = t * 0.75;
|
|
2074
2124
|
let i = 0;
|
|
2075
2125
|
const c = new b(o, n, o);
|
|
2076
2126
|
c.translate(0, i + n / 2, 0), i += n;
|
|
2077
|
-
const l = new b(o * 0.8,
|
|
2078
|
-
l.translate(0, i +
|
|
2079
|
-
const u = new b(o * 0.6,
|
|
2080
|
-
u.translate(0, i +
|
|
2127
|
+
const l = new b(o * 0.8, s, o * 0.8);
|
|
2128
|
+
l.translate(0, i + s / 2, 0), i += s;
|
|
2129
|
+
const u = new b(o * 0.6, r, o * 0.6);
|
|
2130
|
+
u.translate(0, i + r / 2, 0), i += r;
|
|
2081
2131
|
const m = new b(o * 0.4, a, o * 0.4);
|
|
2082
2132
|
m.translate(0, i + a / 2, 0), i += a;
|
|
2083
2133
|
const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
2084
2134
|
h.translate(0, i + 0.1 / 2, 0), this.copy(S([c, l, u, m, h], !1)), this.computeVertexNormals();
|
|
2085
2135
|
}
|
|
2086
2136
|
}
|
|
2087
|
-
class
|
|
2088
|
-
constructor(t = 0.6, o = 1, n = 0.2,
|
|
2137
|
+
class _e extends E {
|
|
2138
|
+
constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
|
|
2089
2139
|
super();
|
|
2090
|
-
const
|
|
2091
|
-
a.translate(0,
|
|
2092
|
-
const i = new P(
|
|
2093
|
-
i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0,
|
|
2140
|
+
const r = o - s / 2, a = new b(t, r, n);
|
|
2141
|
+
a.translate(0, r / 2, 0);
|
|
2142
|
+
const i = new P(s / 2, s / 2, n, 16, 1, !1, 0, Math.PI);
|
|
2143
|
+
i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, r, 0), this.copy(S([a, i], !1)), this.computeVertexNormals();
|
|
2094
2144
|
}
|
|
2095
2145
|
}
|
|
2096
|
-
class
|
|
2146
|
+
class Ue extends E {
|
|
2097
2147
|
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
2098
2148
|
super();
|
|
2099
|
-
const
|
|
2100
|
-
|
|
2149
|
+
const s = new b(t, o, n);
|
|
2150
|
+
s.translate(0, o / 2, 0), this.copy(s);
|
|
2101
2151
|
}
|
|
2102
2152
|
}
|
|
2103
|
-
class
|
|
2153
|
+
class Oe extends E {
|
|
2104
2154
|
constructor({ height: t = 2.25 } = {}) {
|
|
2105
2155
|
super();
|
|
2106
2156
|
const o = new b(1.2, 0.5, 1.2);
|
|
2107
2157
|
o.translate(0, 0.25, 0);
|
|
2108
2158
|
const n = new b(1, t, 1);
|
|
2109
2159
|
n.translate(0, 0.5 + t / 2, 0);
|
|
2110
|
-
const
|
|
2111
|
-
|
|
2160
|
+
const s = new b(1.4, 0.3, 1.4);
|
|
2161
|
+
s.translate(0, 0.5 + t + 0.15, 0), this.copy(S([o, n, s], !1));
|
|
2112
2162
|
}
|
|
2113
2163
|
}
|
|
2114
|
-
class
|
|
2164
|
+
class gt extends E {
|
|
2115
2165
|
constructor({
|
|
2116
2166
|
barHeight: t = 2,
|
|
2117
2167
|
//
|
|
2118
2168
|
barRadius: o = 0.05,
|
|
2119
2169
|
spikeHeight: n = 0.3,
|
|
2120
|
-
spikeRadius:
|
|
2121
|
-
spikeScaleZ:
|
|
2170
|
+
spikeRadius: s = 0.075,
|
|
2171
|
+
spikeScaleZ: r = 1,
|
|
2122
2172
|
radialSegments: a = 8
|
|
2123
2173
|
} = {}) {
|
|
2124
2174
|
super();
|
|
2125
2175
|
const i = new P(o, o, t, a);
|
|
2126
2176
|
i.translate(0, t / 2, 0);
|
|
2127
|
-
const c = new Z(
|
|
2128
|
-
c.translate(0, t + n / 2, 0), c.scale(1, 1,
|
|
2177
|
+
const c = new Z(s, n, a);
|
|
2178
|
+
c.translate(0, t + n / 2, 0), c.scale(1, 1, r), this.copy(S([i, c], !1));
|
|
2129
2179
|
}
|
|
2130
2180
|
}
|
|
2131
|
-
class
|
|
2181
|
+
class ze extends E {
|
|
2132
2182
|
constructor({
|
|
2133
2183
|
count: t = 20,
|
|
2134
2184
|
//
|
|
2135
2185
|
spacing: o = 0.4,
|
|
2136
2186
|
barHeight: n = 2,
|
|
2137
|
-
barRadius:
|
|
2138
|
-
spikeHeight:
|
|
2187
|
+
barRadius: s = 0.05,
|
|
2188
|
+
spikeHeight: r = 0.3,
|
|
2139
2189
|
spikeRadius: a = 0.075,
|
|
2140
2190
|
spikeScaleZ: i = 1,
|
|
2141
2191
|
railHeight: c = 0.1,
|
|
@@ -2144,42 +2194,42 @@ class Oe extends E {
|
|
|
2144
2194
|
radialSegments: m = 8
|
|
2145
2195
|
} = {}) {
|
|
2146
2196
|
super();
|
|
2147
|
-
const h = [], f = new
|
|
2197
|
+
const h = [], f = new gt({ barHeight: n, barRadius: s, spikeHeight: r, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new b(t * o, c, l);
|
|
2148
2198
|
for (let g = 0; g < t; g++) {
|
|
2149
|
-
const
|
|
2150
|
-
|
|
2199
|
+
const v = f.clone();
|
|
2200
|
+
v.translate(g * o, 0, 0), h.push(v);
|
|
2151
2201
|
}
|
|
2152
2202
|
const d = p.clone();
|
|
2153
2203
|
d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
|
|
2154
|
-
const
|
|
2155
|
-
|
|
2204
|
+
const M = p.clone();
|
|
2205
|
+
M.translate(o * (t - 1) / 2, c / 2, 0), h.push(M), this.copy(S(h));
|
|
2156
2206
|
}
|
|
2157
2207
|
}
|
|
2158
|
-
class
|
|
2208
|
+
class Fe extends E {
|
|
2159
2209
|
constructor({
|
|
2160
2210
|
width: t = 5,
|
|
2161
2211
|
//
|
|
2162
2212
|
height: o = 8,
|
|
2163
2213
|
depth: n = 1,
|
|
2164
|
-
shelves:
|
|
2165
|
-
frameThickness:
|
|
2214
|
+
shelves: s = 4,
|
|
2215
|
+
frameThickness: r = 0.1,
|
|
2166
2216
|
open: a = !1
|
|
2167
2217
|
} = {}) {
|
|
2168
2218
|
super();
|
|
2169
|
-
const i = o, c = t, l = n, u = new b(
|
|
2170
|
-
h.translate(-c / 2 +
|
|
2219
|
+
const i = o, c = t, l = n, u = new b(r, i, l), m = new b(c - 2 * r, r, l), h = u.clone();
|
|
2220
|
+
h.translate(-c / 2 + r / 2, i / 2, 0);
|
|
2171
2221
|
const f = u.clone();
|
|
2172
|
-
f.translate(c / 2 -
|
|
2222
|
+
f.translate(c / 2 - r / 2, i / 2, 0);
|
|
2173
2223
|
const p = m.clone();
|
|
2174
|
-
p.translate(0, i -
|
|
2224
|
+
p.translate(0, i - r / 2, 0);
|
|
2175
2225
|
const d = m.clone();
|
|
2176
|
-
d.translate(0,
|
|
2177
|
-
const
|
|
2178
|
-
|
|
2179
|
-
const g = [],
|
|
2180
|
-
for (let R = 1; R <=
|
|
2181
|
-
const
|
|
2182
|
-
|
|
2226
|
+
d.translate(0, r / 2, 0);
|
|
2227
|
+
const M = new b(c, i, r);
|
|
2228
|
+
M.translate(0, i / 2, -l / 2 + r / 2);
|
|
2229
|
+
const g = [], v = (i - r) / (s + 1);
|
|
2230
|
+
for (let R = 1; R <= s; R++) {
|
|
2231
|
+
const T = m.clone();
|
|
2232
|
+
T.translate(0, r / 2 + R * v, 0), g.push(T);
|
|
2183
2233
|
}
|
|
2184
2234
|
this.copy(S([
|
|
2185
2235
|
h,
|
|
@@ -2187,23 +2237,23 @@ class Le extends E {
|
|
|
2187
2237
|
f,
|
|
2188
2238
|
p,
|
|
2189
2239
|
d,
|
|
2190
|
-
...a ? [] : [
|
|
2240
|
+
...a ? [] : [M],
|
|
2191
2241
|
...g
|
|
2192
2242
|
], !1));
|
|
2193
2243
|
}
|
|
2194
2244
|
}
|
|
2195
|
-
class
|
|
2245
|
+
class Le extends E {
|
|
2196
2246
|
constructor() {
|
|
2197
2247
|
super();
|
|
2198
2248
|
const t = new b(5, 0.3, 3);
|
|
2199
2249
|
t.translate(0, 3.15, 0);
|
|
2200
2250
|
const o = [
|
|
2201
|
-
new
|
|
2251
|
+
new I(0.2, 0),
|
|
2202
2252
|
//
|
|
2203
|
-
new
|
|
2204
|
-
new
|
|
2205
|
-
new
|
|
2206
|
-
], n = new
|
|
2253
|
+
new I(0.25, 0.5),
|
|
2254
|
+
new I(0.15, 1.5),
|
|
2255
|
+
new I(0.3, 3)
|
|
2256
|
+
], n = new k(o, 32), r = S(
|
|
2207
2257
|
[
|
|
2208
2258
|
[2.1, 0, 1.1],
|
|
2209
2259
|
[-2.1, 0, 1.1],
|
|
@@ -2214,18 +2264,52 @@ class Fe extends E {
|
|
|
2214
2264
|
return i.translate(a[0], a[1], a[2]), i;
|
|
2215
2265
|
})
|
|
2216
2266
|
);
|
|
2217
|
-
this.copy(S([t,
|
|
2267
|
+
this.copy(S([t, r], !0));
|
|
2218
2268
|
}
|
|
2219
2269
|
}
|
|
2220
|
-
class
|
|
2270
|
+
class It extends Se {
|
|
2271
|
+
constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
|
|
2272
|
+
super(
|
|
2273
|
+
(r, a, i) => {
|
|
2274
|
+
const c = r * Math.PI * 2, l = Math.sin(a * Math.PI), u = o * l * Math.cos(c), m = a * t, h = o * l * Math.sin(c);
|
|
2275
|
+
i.set(u, m, -h);
|
|
2276
|
+
},
|
|
2277
|
+
n,
|
|
2278
|
+
s
|
|
2279
|
+
);
|
|
2280
|
+
}
|
|
2281
|
+
}
|
|
2282
|
+
class De extends E {
|
|
2283
|
+
constructor({
|
|
2284
|
+
radiusTop: t = 0.2,
|
|
2285
|
+
//
|
|
2286
|
+
radiusBottom: o = 0.2,
|
|
2287
|
+
height: n = 1,
|
|
2288
|
+
flameHeight: s = 0.25,
|
|
2289
|
+
flameRadius: r = 0.05,
|
|
2290
|
+
segments: a = 16
|
|
2291
|
+
} = {}) {
|
|
2292
|
+
super();
|
|
2293
|
+
const i = new P(t, o, n, a);
|
|
2294
|
+
i.translate(0, n / 2, 0);
|
|
2295
|
+
const c = new It({
|
|
2296
|
+
segmentsU: a,
|
|
2297
|
+
segmentsV: a,
|
|
2298
|
+
height: s,
|
|
2299
|
+
radius: r
|
|
2300
|
+
});
|
|
2301
|
+
c.translate(0, n, 0), this.copy(S([i, c], !0));
|
|
2302
|
+
}
|
|
2303
|
+
}
|
|
2304
|
+
class ke extends E {
|
|
2221
2305
|
constructor() {
|
|
2222
2306
|
super();
|
|
2223
2307
|
const t = [], o = [];
|
|
2224
2308
|
for (let n = 0; n < 5; n++) {
|
|
2225
|
-
const
|
|
2226
|
-
f.scale(
|
|
2309
|
+
const s = 0.8 + Math.random() * 0.4, r = 0.8 + Math.random() * 0.4, a = 0.8 + Math.random() * 0.4, i = Math.random() * Math.PI, c = Math.random() * Math.PI, l = Math.random() * Math.PI, u = (Math.random() - 0.5) * 4, m = 0, h = (Math.random() - 0.5) * 4, f = new J(1, 0);
|
|
2310
|
+
f.scale(s, r, a), f.rotateX(i), f.rotateY(c), f.rotateZ(l), f.translate(u, m, h), t.push(f);
|
|
2227
2311
|
const p = new J(1, 0);
|
|
2228
|
-
p.scale(
|
|
2312
|
+
p.scale(s * 0.9, r * 0.5, a * 0.9), p.rotateX(i), p.rotateY(c), p.rotateZ(l), p.translate(u, m + 0.3, h), o.push(p);
|
|
2229
2313
|
}
|
|
2230
2314
|
this.copy(
|
|
2231
2315
|
S([
|
|
@@ -2235,23 +2319,23 @@ class ze extends E {
|
|
|
2235
2319
|
);
|
|
2236
2320
|
}
|
|
2237
2321
|
}
|
|
2238
|
-
function
|
|
2322
|
+
function Ve(e, t = ht.XYZ, o = 0.5, n = 2) {
|
|
2239
2323
|
e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = be(e), e.computeVertexNormals();
|
|
2240
|
-
const
|
|
2241
|
-
for (let
|
|
2242
|
-
const a = new x().fromBufferAttribute(
|
|
2243
|
-
a.add(c),
|
|
2324
|
+
const s = e.getAttribute("position");
|
|
2325
|
+
for (let r = 0; r < s.count; r++) {
|
|
2326
|
+
const a = new x().fromBufferAttribute(s, r), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
|
|
2327
|
+
a.add(c), s.setXYZ(r, a.x, a.y, a.z);
|
|
2244
2328
|
}
|
|
2245
|
-
return
|
|
2329
|
+
return s.needsUpdate = !0, e.computeVertexNormals(), e;
|
|
2246
2330
|
}
|
|
2247
|
-
class
|
|
2331
|
+
class qe extends E {
|
|
2248
2332
|
constructor(t = 1, o = 4, n = 4) {
|
|
2249
2333
|
super();
|
|
2250
|
-
const
|
|
2251
|
-
this.copy(
|
|
2334
|
+
const s = new U(t, o, n);
|
|
2335
|
+
this.copy(Ve(s, ht.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
|
|
2252
2336
|
}
|
|
2253
2337
|
}
|
|
2254
|
-
class
|
|
2338
|
+
class Ye extends E {
|
|
2255
2339
|
constructor() {
|
|
2256
2340
|
super();
|
|
2257
2341
|
const t = [];
|
|
@@ -2262,102 +2346,102 @@ class qe extends E {
|
|
|
2262
2346
|
this.copy(S(t));
|
|
2263
2347
|
}
|
|
2264
2348
|
}
|
|
2265
|
-
class
|
|
2266
|
-
constructor(t = 0.1, o = 0.1, n = 0.4,
|
|
2349
|
+
class He extends E {
|
|
2350
|
+
constructor(t = 0.1, o = 0.1, n = 0.4, s = 8) {
|
|
2267
2351
|
super();
|
|
2268
|
-
const
|
|
2269
|
-
|
|
2270
|
-
const a = new
|
|
2271
|
-
i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([
|
|
2352
|
+
const r = new P(t * 0.6, o * 0.6, n, s);
|
|
2353
|
+
r.translate(0, 0, 0);
|
|
2354
|
+
const a = new U(t, s, s), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
|
|
2355
|
+
i.translate(0, n / 2 + t * 0.6, -t * 0.6), c.translate(0, n / 2 + t * 0.6, t * 0.6), l.translate(0, -n / 2 - o * 0.6, -o * 0.6), u.translate(0, -n / 2 - o * 0.6, o * 0.6), this.copy(S([r, i, c, l, u], !1));
|
|
2272
2356
|
}
|
|
2273
2357
|
}
|
|
2274
|
-
class
|
|
2358
|
+
class Xe extends E {
|
|
2275
2359
|
constructor({
|
|
2276
2360
|
flaskRadius: t = 1,
|
|
2277
2361
|
//
|
|
2278
2362
|
neckRadius: o = 0.3,
|
|
2279
2363
|
height: n = 2.5,
|
|
2280
|
-
neckHeight:
|
|
2281
|
-
radialSegments:
|
|
2364
|
+
neckHeight: s = 1,
|
|
2365
|
+
radialSegments: r = 16
|
|
2282
2366
|
} = {}) {
|
|
2283
2367
|
super();
|
|
2284
2368
|
const a = [
|
|
2285
|
-
new
|
|
2369
|
+
new I(0, 0),
|
|
2286
2370
|
// Bottom of the flask
|
|
2287
|
-
new
|
|
2371
|
+
new I(t * 0.875, 0),
|
|
2288
2372
|
// Flat base with minimum width
|
|
2289
|
-
new
|
|
2373
|
+
new I(t, 0.1),
|
|
2290
2374
|
// End of the rounded base
|
|
2291
|
-
new
|
|
2375
|
+
new I(o, n),
|
|
2292
2376
|
// Start of the straight neck
|
|
2293
|
-
new
|
|
2377
|
+
new I(o, n + s),
|
|
2294
2378
|
// End of the straight neck
|
|
2295
|
-
new
|
|
2379
|
+
new I(o * 1.1, n + s + 0.3)
|
|
2296
2380
|
// Slight outward lip at the top
|
|
2297
|
-
], i = new
|
|
2381
|
+
], i = new k(a, r);
|
|
2298
2382
|
this.copy(S([i], !1));
|
|
2299
2383
|
}
|
|
2300
2384
|
}
|
|
2301
|
-
const
|
|
2385
|
+
const tn = (e, t) => e / (1 - Math.cos(t)), At = (e, t) => e / (2 * Math.sin(t)), Ze = (e, t) => e * (1 - Math.cos(t)), en = (e, t) => 2 * e * Math.sin(t), dt = (e, t) => {
|
|
2302
2386
|
const o = 2 * t;
|
|
2303
2387
|
return Math.asin(o / (2 * e));
|
|
2304
|
-
},
|
|
2388
|
+
}, on = (e, t, o) => ({
|
|
2305
2389
|
x: e * Math.sin(o) * Math.cos(t),
|
|
2306
2390
|
y: e * Math.sin(o) * Math.sin(t),
|
|
2307
2391
|
z: e * Math.cos(o)
|
|
2308
|
-
}),
|
|
2309
|
-
const n = Math.sqrt(e * e + t * t + o * o),
|
|
2310
|
-
return { radius: n, theta:
|
|
2392
|
+
}), nn = (e, t, o) => {
|
|
2393
|
+
const n = Math.sqrt(e * e + t * t + o * o), s = Math.atan2(t, e), r = Math.acos(o / n);
|
|
2394
|
+
return { radius: n, theta: s, phi: r };
|
|
2311
2395
|
};
|
|
2312
|
-
function
|
|
2313
|
-
const a = n ?
|
|
2314
|
-
for (let l = 0; l <=
|
|
2315
|
-
const u = i - (i - a) /
|
|
2316
|
-
c.push(new
|
|
2396
|
+
function je(e, t, o, n = 0, s = 0, r = 32) {
|
|
2397
|
+
const a = n ? dt(e, n) : 0, i = s ? Math.PI - dt(e, s) : Math.PI, c = [];
|
|
2398
|
+
for (let l = 0; l <= r; l++) {
|
|
2399
|
+
const u = i - (i - a) / r * l, m = e * Math.sin(u), h = t * Math.cos(u) + o;
|
|
2400
|
+
c.push(new I(m, h));
|
|
2317
2401
|
}
|
|
2318
2402
|
return [...c];
|
|
2319
2403
|
}
|
|
2320
|
-
class
|
|
2404
|
+
class Qe extends E {
|
|
2321
2405
|
constructor() {
|
|
2322
2406
|
super();
|
|
2323
2407
|
const t = [
|
|
2324
|
-
...
|
|
2325
|
-
new
|
|
2326
|
-
], o = new
|
|
2408
|
+
...je(1, 1, 0.5, 0.2, 0, 32),
|
|
2409
|
+
new I(0.2, 3)
|
|
2410
|
+
], o = new k(t, 32);
|
|
2327
2411
|
this.copy(o);
|
|
2328
2412
|
}
|
|
2329
2413
|
}
|
|
2330
|
-
class
|
|
2414
|
+
class Ke extends E {
|
|
2331
2415
|
constructor() {
|
|
2332
2416
|
super();
|
|
2333
2417
|
const t = [
|
|
2334
|
-
new
|
|
2418
|
+
new I(1, 0),
|
|
2335
2419
|
// Bottom of the bowl
|
|
2336
|
-
new
|
|
2420
|
+
new I(1.2, 0.5),
|
|
2337
2421
|
// Slight flare at the base
|
|
2338
|
-
new
|
|
2422
|
+
new I(1.4, 1.5),
|
|
2339
2423
|
// Outer wall
|
|
2340
|
-
new
|
|
2424
|
+
new I(1.3, 1.8),
|
|
2341
2425
|
// Flared edge
|
|
2342
|
-
new
|
|
2426
|
+
new I(0.8, 1.8)
|
|
2343
2427
|
// Lip of the bowl
|
|
2344
|
-
], o = new
|
|
2428
|
+
], o = new k(t, 12), n = new Gt(1, 12);
|
|
2345
2429
|
n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(S([o, n], !1));
|
|
2346
2430
|
}
|
|
2347
2431
|
}
|
|
2348
|
-
class
|
|
2432
|
+
class Je extends E {
|
|
2349
2433
|
constructor({
|
|
2350
2434
|
radius: t = 0.3,
|
|
2351
2435
|
//
|
|
2352
2436
|
height: o = 0.4,
|
|
2353
2437
|
count: n = 3,
|
|
2354
|
-
thickness:
|
|
2355
|
-
radialSegments:
|
|
2438
|
+
thickness: s = 0.03,
|
|
2439
|
+
radialSegments: r = 16
|
|
2356
2440
|
} = {}) {
|
|
2357
2441
|
super();
|
|
2358
|
-
const a = new
|
|
2442
|
+
const a = new Mt(t, s, 8, r);
|
|
2359
2443
|
a.rotateX(Math.PI / 2), a.translate(0, o, 0);
|
|
2360
|
-
const i = new P(
|
|
2444
|
+
const i = new P(s * 0.6, s * 0.6, o, r), c = [];
|
|
2361
2445
|
for (let l = 0; l < n; l++) {
|
|
2362
2446
|
const u = l / n * Math.PI * 2, m = i.clone();
|
|
2363
2447
|
m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
|
|
@@ -2365,14 +2449,14 @@ class Qe extends E {
|
|
|
2365
2449
|
this.copy(S([a, ...c], !1));
|
|
2366
2450
|
}
|
|
2367
2451
|
}
|
|
2368
|
-
class
|
|
2452
|
+
class $e extends E {
|
|
2369
2453
|
constructor() {
|
|
2370
2454
|
super();
|
|
2371
2455
|
const t = new P(0.5, 0.6, 0.3, 16);
|
|
2372
2456
|
t.translate(0, 0.15, 0);
|
|
2373
2457
|
const o = new P(0.15, 0.15, 2, 12, 1, !0);
|
|
2374
2458
|
o.translate(0, 1.3, 0);
|
|
2375
|
-
const n = new
|
|
2459
|
+
const n = new U(0.3, 16, 16);
|
|
2376
2460
|
n.translate(0, 2.4, 0), this.copy(
|
|
2377
2461
|
S(
|
|
2378
2462
|
[t, S([o, n])],
|
|
@@ -2381,68 +2465,68 @@ class Ke extends E {
|
|
|
2381
2465
|
);
|
|
2382
2466
|
}
|
|
2383
2467
|
}
|
|
2384
|
-
class
|
|
2385
|
-
constructor(t = 0.2, o = 0.2, n = 3,
|
|
2468
|
+
class ct extends E {
|
|
2469
|
+
constructor(t = 0.2, o = 0.2, n = 3, s = 32, r = !0) {
|
|
2386
2470
|
super();
|
|
2387
|
-
const a = new P(t, o, n,
|
|
2471
|
+
const a = new P(t, o, n, s, 1, r), i = new U(o, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
2388
2472
|
i.translate(0, -(n / 2), 0), this.copy(S([a, i], !1));
|
|
2389
2473
|
}
|
|
2390
2474
|
}
|
|
2391
|
-
class
|
|
2475
|
+
class We extends E {
|
|
2392
2476
|
constructor({
|
|
2393
2477
|
radius: t = 3,
|
|
2394
2478
|
//
|
|
2395
2479
|
height: o = 0.6,
|
|
2396
2480
|
widthSegments: n = 64,
|
|
2397
|
-
heightSegments:
|
|
2398
|
-
phiStart:
|
|
2481
|
+
heightSegments: s = 16,
|
|
2482
|
+
phiStart: r = 0,
|
|
2399
2483
|
phiLength: a = Math.PI * 2
|
|
2400
2484
|
} = {}) {
|
|
2401
|
-
super(), this.copy(new
|
|
2485
|
+
super(), this.copy(new U(t, n, s, r, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
|
|
2402
2486
|
}
|
|
2403
2487
|
}
|
|
2404
|
-
class
|
|
2488
|
+
class to extends E {
|
|
2405
2489
|
constructor({
|
|
2406
2490
|
radius: t = At(5, Math.PI / 10),
|
|
2407
2491
|
//
|
|
2408
2492
|
widthSegments: o = 64,
|
|
2409
2493
|
heightSegments: n = 32,
|
|
2410
|
-
phiStart:
|
|
2411
|
-
phiLength:
|
|
2494
|
+
phiStart: s = 0,
|
|
2495
|
+
phiLength: r = Math.PI * 2,
|
|
2412
2496
|
thetaLength: a = Math.PI / 10
|
|
2413
2497
|
} = {}) {
|
|
2414
|
-
super(), this.copy(new
|
|
2415
|
-
const i =
|
|
2498
|
+
super(), this.copy(new U(t, o, n, s, r, 0, a));
|
|
2499
|
+
const i = Ze(t, a);
|
|
2416
2500
|
this.translate(0, -t + i, 0);
|
|
2417
2501
|
}
|
|
2418
2502
|
}
|
|
2419
|
-
class
|
|
2503
|
+
class eo extends E {
|
|
2420
2504
|
constructor({
|
|
2421
2505
|
trunkRadiusTop: t = 0.25,
|
|
2422
2506
|
trunkRadiusBottom: o = 0.4,
|
|
2423
2507
|
trunkHeight: n = 2.5,
|
|
2424
|
-
trunkSegments:
|
|
2425
|
-
leafSize:
|
|
2508
|
+
trunkSegments: s = 14,
|
|
2509
|
+
leafSize: r = 0.8,
|
|
2426
2510
|
leafCount: a = 6,
|
|
2427
2511
|
leafDetail: i = 0,
|
|
2428
2512
|
leafSpreadRadius: c = 1.5
|
|
2429
2513
|
} = {}) {
|
|
2430
2514
|
super();
|
|
2431
|
-
const l = new P(t, o, n,
|
|
2515
|
+
const l = new P(t, o, n, s);
|
|
2432
2516
|
l.translate(0, n / 2, 0);
|
|
2433
2517
|
const u = [];
|
|
2434
2518
|
for (let m = 0; m < a; m++) {
|
|
2435
|
-
const h = new J(
|
|
2519
|
+
const h = new J(r, i);
|
|
2436
2520
|
h.translate(
|
|
2437
2521
|
(Math.random() - 0.5) * c,
|
|
2438
|
-
(Math.random() - 0.5) *
|
|
2522
|
+
(Math.random() - 0.5) * r + n,
|
|
2439
2523
|
(Math.random() - 0.5) * c
|
|
2440
2524
|
), u.push(h);
|
|
2441
2525
|
}
|
|
2442
2526
|
this.copy(S([l.toNonIndexed(), S(u, !1)], !0)), this.computeVertexNormals();
|
|
2443
2527
|
}
|
|
2444
2528
|
}
|
|
2445
|
-
const
|
|
2529
|
+
const oo = {
|
|
2446
2530
|
uniforms: {
|
|
2447
2531
|
time: { value: 0 }
|
|
2448
2532
|
},
|
|
@@ -2486,37 +2570,37 @@ const to = {
|
|
|
2486
2570
|
}
|
|
2487
2571
|
`
|
|
2488
2572
|
};
|
|
2489
|
-
class
|
|
2573
|
+
class sn extends w {
|
|
2490
2574
|
constructor() {
|
|
2491
2575
|
super(
|
|
2492
|
-
new
|
|
2493
|
-
new W(
|
|
2576
|
+
new U(5, 32, 32),
|
|
2577
|
+
new W(oo)
|
|
2494
2578
|
);
|
|
2495
2579
|
}
|
|
2496
2580
|
}
|
|
2497
|
-
class
|
|
2581
|
+
class rn extends w {
|
|
2498
2582
|
constructor({
|
|
2499
2583
|
width: t = 1,
|
|
2500
2584
|
height: o = 1.5,
|
|
2501
2585
|
depth: n = 0.5,
|
|
2502
|
-
coverThickness:
|
|
2503
|
-
pageIndent:
|
|
2504
|
-
coverColor: a =
|
|
2505
|
-
pageColor: i =
|
|
2586
|
+
coverThickness: s = 0.05,
|
|
2587
|
+
pageIndent: r = 0.05,
|
|
2588
|
+
coverColor: a = it.DARK_RED,
|
|
2589
|
+
pageColor: i = it.TITANIUM_WHITE
|
|
2506
2590
|
} = {}) {
|
|
2507
2591
|
super(
|
|
2508
|
-
new
|
|
2592
|
+
new yt(t, o, n, s, r),
|
|
2509
2593
|
[
|
|
2510
|
-
new
|
|
2511
|
-
new
|
|
2594
|
+
new y({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
|
|
2595
|
+
new y({ color: i, flatShading: !0 })
|
|
2512
2596
|
]
|
|
2513
2597
|
);
|
|
2514
2598
|
}
|
|
2515
2599
|
}
|
|
2516
|
-
class
|
|
2600
|
+
class an extends w {
|
|
2517
2601
|
constructor() {
|
|
2518
|
-
super(new
|
|
2519
|
-
new
|
|
2602
|
+
super(new Pe(), [
|
|
2603
|
+
new y({
|
|
2520
2604
|
color: 8965290,
|
|
2521
2605
|
transparent: !0,
|
|
2522
2606
|
depthWrite: !1,
|
|
@@ -2524,17 +2608,17 @@ class nn extends y {
|
|
|
2524
2608
|
roughness: 0.1,
|
|
2525
2609
|
metalness: 0.5
|
|
2526
2610
|
}),
|
|
2527
|
-
new
|
|
2611
|
+
new y({
|
|
2528
2612
|
color: 9127187,
|
|
2529
2613
|
roughness: 1
|
|
2530
2614
|
})
|
|
2531
2615
|
]);
|
|
2532
2616
|
}
|
|
2533
2617
|
}
|
|
2534
|
-
class
|
|
2618
|
+
class cn extends w {
|
|
2535
2619
|
constructor() {
|
|
2536
|
-
super(new
|
|
2537
|
-
new
|
|
2620
|
+
super(new Ge(), [
|
|
2621
|
+
new y({
|
|
2538
2622
|
color: 8965375,
|
|
2539
2623
|
transparent: !0,
|
|
2540
2624
|
depthWrite: !1,
|
|
@@ -2542,12 +2626,12 @@ class sn extends y {
|
|
|
2542
2626
|
roughness: 0.1,
|
|
2543
2627
|
metalness: 0.3
|
|
2544
2628
|
}),
|
|
2545
|
-
new
|
|
2629
|
+
new y({
|
|
2546
2630
|
color: 9127187,
|
|
2547
2631
|
roughness: 1
|
|
2548
2632
|
}),
|
|
2549
|
-
new
|
|
2550
|
-
color:
|
|
2633
|
+
new y({
|
|
2634
|
+
color: it.PINK_SHERBET,
|
|
2551
2635
|
transparent: !0,
|
|
2552
2636
|
depthWrite: !1,
|
|
2553
2637
|
opacity: 0.5
|
|
@@ -2555,10 +2639,10 @@ class sn extends y {
|
|
|
2555
2639
|
]);
|
|
2556
2640
|
}
|
|
2557
2641
|
}
|
|
2558
|
-
class
|
|
2642
|
+
class ln extends w {
|
|
2559
2643
|
constructor() {
|
|
2560
2644
|
super(
|
|
2561
|
-
new
|
|
2645
|
+
new Ce(),
|
|
2562
2646
|
new tt({
|
|
2563
2647
|
color: 5597999,
|
|
2564
2648
|
roughness: 0.1,
|
|
@@ -2571,98 +2655,98 @@ class rn extends y {
|
|
|
2571
2655
|
);
|
|
2572
2656
|
}
|
|
2573
2657
|
}
|
|
2574
|
-
class
|
|
2658
|
+
class un extends w {
|
|
2575
2659
|
constructor({
|
|
2576
2660
|
width: t = 0.4,
|
|
2577
2661
|
height: o = 1.2,
|
|
2578
2662
|
depth: n = 0.2
|
|
2579
2663
|
} = {}) {
|
|
2580
2664
|
super(
|
|
2581
|
-
new
|
|
2582
|
-
new
|
|
2665
|
+
new Be(t, o, n),
|
|
2666
|
+
new y({ color: 7829367, roughness: 0.8 })
|
|
2583
2667
|
);
|
|
2584
2668
|
}
|
|
2585
2669
|
}
|
|
2586
|
-
class
|
|
2670
|
+
class mn extends w {
|
|
2587
2671
|
constructor() {
|
|
2588
2672
|
super(
|
|
2589
|
-
new
|
|
2673
|
+
new Re(),
|
|
2590
2674
|
[
|
|
2591
|
-
new
|
|
2675
|
+
new y({ color: 8421504, flatShading: !0 }),
|
|
2592
2676
|
// Base
|
|
2593
|
-
new
|
|
2677
|
+
new y({ color: 6908265, flatShading: !0 }),
|
|
2594
2678
|
// Building
|
|
2595
|
-
new
|
|
2679
|
+
new y({ color: 5263440, flatShading: !0 }),
|
|
2596
2680
|
// Roof
|
|
2597
|
-
new
|
|
2681
|
+
new y({ color: 4210752, flatShading: !0 })
|
|
2598
2682
|
// Arched entrance
|
|
2599
2683
|
]
|
|
2600
2684
|
);
|
|
2601
2685
|
}
|
|
2602
2686
|
}
|
|
2603
|
-
class
|
|
2687
|
+
class hn extends w {
|
|
2604
2688
|
constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
|
|
2605
2689
|
super(
|
|
2606
|
-
new
|
|
2607
|
-
new
|
|
2690
|
+
new Ne(t, o),
|
|
2691
|
+
new y({ color: 7829367, roughness: 0.8 })
|
|
2608
2692
|
);
|
|
2609
2693
|
}
|
|
2610
2694
|
}
|
|
2611
|
-
class
|
|
2612
|
-
constructor(t = 0.6, o = 1, n = 0.2,
|
|
2695
|
+
class fn extends w {
|
|
2696
|
+
constructor(t = 0.6, o = 1, n = 0.2, s = 0.6) {
|
|
2613
2697
|
super(
|
|
2614
|
-
new
|
|
2615
|
-
new
|
|
2698
|
+
new _e(t, o, n, s),
|
|
2699
|
+
new y({ color: 7829367, roughness: 0.8 })
|
|
2616
2700
|
);
|
|
2617
2701
|
}
|
|
2618
2702
|
}
|
|
2619
|
-
class
|
|
2703
|
+
class pn extends w {
|
|
2620
2704
|
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
2621
2705
|
super(
|
|
2622
|
-
new
|
|
2623
|
-
new
|
|
2706
|
+
new Ue(t, o, n),
|
|
2707
|
+
new y({ color: 7829367, roughness: 0.8 })
|
|
2624
2708
|
);
|
|
2625
2709
|
}
|
|
2626
2710
|
}
|
|
2627
|
-
class
|
|
2711
|
+
class dn extends w {
|
|
2628
2712
|
constructor({ height: t = 2.25 } = {}) {
|
|
2629
2713
|
super(
|
|
2630
|
-
new
|
|
2631
|
-
new
|
|
2714
|
+
new Oe({ height: t }),
|
|
2715
|
+
new y({ color: 9141627, flatShading: !0 })
|
|
2632
2716
|
);
|
|
2633
2717
|
}
|
|
2634
2718
|
}
|
|
2635
|
-
class
|
|
2719
|
+
class Mn extends w {
|
|
2636
2720
|
constructor({
|
|
2637
2721
|
barHeight: t = 2,
|
|
2638
2722
|
//
|
|
2639
2723
|
barRadius: o = 0.05,
|
|
2640
2724
|
spikeHeight: n = 0.3,
|
|
2641
|
-
spikeRadius:
|
|
2642
|
-
spikeScaleZ:
|
|
2725
|
+
spikeRadius: s = 0.075,
|
|
2726
|
+
spikeScaleZ: r = 1,
|
|
2643
2727
|
radialSegments: a = 8
|
|
2644
2728
|
} = {}) {
|
|
2645
2729
|
super(
|
|
2646
|
-
new
|
|
2730
|
+
new gt({
|
|
2647
2731
|
barHeight: t,
|
|
2648
2732
|
barRadius: o,
|
|
2649
2733
|
spikeHeight: n,
|
|
2650
|
-
spikeRadius:
|
|
2651
|
-
spikeScaleZ:
|
|
2734
|
+
spikeRadius: s,
|
|
2735
|
+
spikeScaleZ: r,
|
|
2652
2736
|
radialSegments: a
|
|
2653
2737
|
}),
|
|
2654
|
-
new
|
|
2738
|
+
new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
|
|
2655
2739
|
);
|
|
2656
2740
|
}
|
|
2657
2741
|
}
|
|
2658
|
-
class
|
|
2742
|
+
class yn extends w {
|
|
2659
2743
|
constructor({
|
|
2660
2744
|
count: t = 20,
|
|
2661
2745
|
//
|
|
2662
2746
|
spacing: o = 0.4,
|
|
2663
2747
|
barHeight: n = 2,
|
|
2664
|
-
barRadius:
|
|
2665
|
-
spikeHeight:
|
|
2748
|
+
barRadius: s = 0.05,
|
|
2749
|
+
spikeHeight: r = 0.3,
|
|
2666
2750
|
spikeRadius: a = 0.075,
|
|
2667
2751
|
spikeScaleZ: i = 1,
|
|
2668
2752
|
railHeight: c = 0.1,
|
|
@@ -2671,12 +2755,12 @@ class pn extends y {
|
|
|
2671
2755
|
radialSegments: m = 8
|
|
2672
2756
|
} = {}) {
|
|
2673
2757
|
super(
|
|
2674
|
-
new
|
|
2758
|
+
new ze({
|
|
2675
2759
|
count: t,
|
|
2676
2760
|
spacing: o,
|
|
2677
2761
|
barHeight: n,
|
|
2678
|
-
barRadius:
|
|
2679
|
-
spikeHeight:
|
|
2762
|
+
barRadius: s,
|
|
2763
|
+
spikeHeight: r,
|
|
2680
2764
|
spikeRadius: a,
|
|
2681
2765
|
spikeScaleZ: i,
|
|
2682
2766
|
railHeight: c,
|
|
@@ -2684,166 +2768,179 @@ class pn extends y {
|
|
|
2684
2768
|
railOffset: u,
|
|
2685
2769
|
radialSegments: m
|
|
2686
2770
|
}),
|
|
2687
|
-
new
|
|
2771
|
+
new y({ color: 3355443, metalness: 0.8, roughness: 0.4 })
|
|
2688
2772
|
);
|
|
2689
2773
|
}
|
|
2690
2774
|
}
|
|
2691
|
-
class
|
|
2775
|
+
class wn extends w {
|
|
2692
2776
|
constructor({
|
|
2693
2777
|
width: t = 5,
|
|
2694
2778
|
//
|
|
2695
2779
|
height: o = 8,
|
|
2696
2780
|
depth: n = 1,
|
|
2697
|
-
shelves:
|
|
2698
|
-
frameThickness:
|
|
2781
|
+
shelves: s = 4,
|
|
2782
|
+
frameThickness: r = 0.1,
|
|
2699
2783
|
open: a = !1
|
|
2700
2784
|
} = {}) {
|
|
2701
2785
|
super(
|
|
2702
|
-
new
|
|
2703
|
-
new
|
|
2786
|
+
new Fe({ width: t, height: o, depth: n, shelves: s, frameThickness: r, open: a }),
|
|
2787
|
+
new y({ color: 9127187 })
|
|
2704
2788
|
);
|
|
2705
2789
|
}
|
|
2706
2790
|
}
|
|
2707
|
-
class
|
|
2791
|
+
class xn extends w {
|
|
2708
2792
|
constructor() {
|
|
2709
|
-
super(new
|
|
2710
|
-
new
|
|
2793
|
+
super(new Le(), [
|
|
2794
|
+
new y({ color: 9132587 }),
|
|
2711
2795
|
// Desk surface
|
|
2712
|
-
new
|
|
2796
|
+
new y({ color: 4929057 })
|
|
2713
2797
|
// Desk legs
|
|
2714
2798
|
]);
|
|
2715
2799
|
}
|
|
2716
2800
|
}
|
|
2717
|
-
class
|
|
2718
|
-
constructor(
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2801
|
+
class vn extends w {
|
|
2802
|
+
constructor({
|
|
2803
|
+
radiusTop: t = 0.2,
|
|
2804
|
+
//
|
|
2805
|
+
radiusBottom: o = 0.2,
|
|
2806
|
+
height: n = 1,
|
|
2807
|
+
flameHeight: s = 0.25,
|
|
2808
|
+
flameRadius: r = 0.05,
|
|
2809
|
+
segments: a = 16
|
|
2810
|
+
} = {}) {
|
|
2811
|
+
super(
|
|
2812
|
+
new De({
|
|
2813
|
+
radiusTop: t,
|
|
2814
|
+
radiusBottom: o,
|
|
2815
|
+
height: n,
|
|
2816
|
+
flameHeight: s,
|
|
2817
|
+
flameRadius: r,
|
|
2818
|
+
segments: a
|
|
2819
|
+
}),
|
|
2820
|
+
[
|
|
2821
|
+
new y({ color: 16777215 }),
|
|
2822
|
+
new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
|
|
2823
|
+
]
|
|
2824
|
+
);
|
|
2736
2825
|
}
|
|
2737
2826
|
}
|
|
2738
|
-
class
|
|
2827
|
+
class gn extends w {
|
|
2828
|
+
constructor({ height: t = 0.25, radius: o = 0.05, segmentsU: n = 16, segmentsV: s = 16 } = {}) {
|
|
2829
|
+
super(
|
|
2830
|
+
new It({ segmentsU: n, segmentsV: s, height: t, radius: o }),
|
|
2831
|
+
new y({ color: 16766720, emissive: 16753920, emissiveIntensity: 0.35 })
|
|
2832
|
+
);
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
class In extends L {
|
|
2739
2836
|
constructor(t = 1.3, o = 0.5) {
|
|
2740
2837
|
super();
|
|
2741
|
-
const n = new P(o, o, 0.2, 16),
|
|
2742
|
-
|
|
2743
|
-
const a = new P(o * 0.9, o * 0.9, t), i = new
|
|
2838
|
+
const n = new P(o, o, 0.2, 16), s = new y({ color: 9127187, flatShading: !0 }), r = new w(n, s);
|
|
2839
|
+
r.position.set(0, 0, 0), this.add(r);
|
|
2840
|
+
const a = new P(o * 0.9, o * 0.9, t), i = new y({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new w(a, i);
|
|
2744
2841
|
c.position.set(0, t / 2 + 0.1, 0), this.add(c);
|
|
2745
|
-
const l = new Z(o * 1.1, 0.5, 8), u = new
|
|
2842
|
+
const l = new Z(o * 1.1, 0.5, 8), u = new y({ color: 9127187, flatShading: !0 }), m = new w(l, u);
|
|
2746
2843
|
m.position.set(0, t + 0.35, 0), this.add(m);
|
|
2747
|
-
const h = new
|
|
2844
|
+
const h = new Mt(o * 0.8, 0.05, 8, 16), f = new y({ color: 9127187, flatShading: !0 }), p = new w(h, f);
|
|
2748
2845
|
p.position.set(0, t + 0.85, 0), this.add(p);
|
|
2749
|
-
const d = new
|
|
2846
|
+
const d = new Ct(16755200, 1.5, 15);
|
|
2750
2847
|
d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
|
|
2751
2848
|
}
|
|
2752
2849
|
}
|
|
2753
|
-
class
|
|
2850
|
+
class An extends w {
|
|
2754
2851
|
constructor() {
|
|
2755
|
-
super(new
|
|
2756
|
-
new
|
|
2757
|
-
new
|
|
2852
|
+
super(new ke(), [
|
|
2853
|
+
new y({ color: 8421504, flatShading: !0 }),
|
|
2854
|
+
new y({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 })
|
|
2758
2855
|
]);
|
|
2759
2856
|
}
|
|
2760
2857
|
}
|
|
2761
|
-
class
|
|
2858
|
+
class En extends w {
|
|
2762
2859
|
constructor(t = 1, o = 4, n = 4) {
|
|
2763
2860
|
super(
|
|
2764
|
-
new
|
|
2765
|
-
new
|
|
2861
|
+
new qe(t, o, n),
|
|
2862
|
+
new y({ color: 8421504, flatShading: !0 })
|
|
2766
2863
|
);
|
|
2767
2864
|
}
|
|
2768
2865
|
}
|
|
2769
|
-
class
|
|
2866
|
+
class bn extends w {
|
|
2770
2867
|
constructor() {
|
|
2771
|
-
super(new
|
|
2868
|
+
super(new Ye(), new y({ color: 8421504, flatShading: !0 }));
|
|
2772
2869
|
}
|
|
2773
2870
|
}
|
|
2774
|
-
class
|
|
2871
|
+
class Sn extends L {
|
|
2775
2872
|
constructor() {
|
|
2776
2873
|
super();
|
|
2777
|
-
const t = new P(0.3, 0.4, 0.1, 16), o = new
|
|
2874
|
+
const t = new P(0.3, 0.4, 0.1, 16), o = new y({
|
|
2778
2875
|
color: 3355443,
|
|
2779
2876
|
roughness: 0.6,
|
|
2780
2877
|
metalness: 0.3
|
|
2781
|
-
}), n = new
|
|
2878
|
+
}), n = new w(t, o);
|
|
2782
2879
|
n.position.y = 0.05;
|
|
2783
|
-
const
|
|
2880
|
+
const s = new P(0.1, 0.1, 0.7, 16), r = new y({
|
|
2784
2881
|
color: 5592405,
|
|
2785
2882
|
roughness: 0.5,
|
|
2786
2883
|
metalness: 0.4
|
|
2787
|
-
}), a = new
|
|
2884
|
+
}), a = new w(s, r);
|
|
2788
2885
|
a.position.y = 0.4;
|
|
2789
|
-
const i = new Z(0.075, 0.2, 16), c = new
|
|
2886
|
+
const i = new Z(0.075, 0.2, 16), c = new y({
|
|
2790
2887
|
color: 16733440,
|
|
2791
2888
|
emissive: 16733440,
|
|
2792
2889
|
emissiveIntensity: 0.6,
|
|
2793
2890
|
transparent: !0,
|
|
2794
2891
|
opacity: 0.8
|
|
2795
|
-
}), l = new
|
|
2892
|
+
}), l = new w(i, c);
|
|
2796
2893
|
l.position.y = 0.8, this.add(n, a, l);
|
|
2797
2894
|
}
|
|
2798
2895
|
}
|
|
2799
|
-
class
|
|
2896
|
+
class Pn extends L {
|
|
2800
2897
|
constructor() {
|
|
2801
2898
|
super();
|
|
2802
|
-
const t = new b(3, 4, 0.1), o = new
|
|
2899
|
+
const t = new b(3, 4, 0.1), o = new y({
|
|
2803
2900
|
color: 3026478,
|
|
2804
2901
|
roughness: 0.8,
|
|
2805
2902
|
metalness: 0.6
|
|
2806
|
-
}), n = new b(0.2, 0.5, 0.2),
|
|
2903
|
+
}), n = new b(0.2, 0.5, 0.2), s = new y({
|
|
2807
2904
|
color: 11184810,
|
|
2808
2905
|
roughness: 0.5,
|
|
2809
2906
|
metalness: 0.7
|
|
2810
|
-
}),
|
|
2907
|
+
}), r = new P(0.3, 0.3, 0.1, 16), a = new y({
|
|
2811
2908
|
color: 5592405,
|
|
2812
2909
|
roughness: 0.7,
|
|
2813
2910
|
metalness: 0.5
|
|
2814
|
-
}), i = new
|
|
2815
|
-
for (let
|
|
2816
|
-
const g = new
|
|
2817
|
-
g.position.set(
|
|
2911
|
+
}), i = new w(t, o);
|
|
2912
|
+
for (let M = -1; M <= 1; M++) {
|
|
2913
|
+
const g = new w(n, s);
|
|
2914
|
+
g.position.set(M, 1.5, 0.1), i.add(g);
|
|
2818
2915
|
}
|
|
2819
|
-
const c = new
|
|
2916
|
+
const c = new w(r, a);
|
|
2820
2917
|
c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
|
|
2821
|
-
const l = new
|
|
2918
|
+
const l = new U(0.15, 8, 8), u = new y({
|
|
2822
2919
|
color: 16711680,
|
|
2823
2920
|
emissive: 16711680,
|
|
2824
2921
|
emissiveIntensity: 0.5
|
|
2825
|
-
}), m = new
|
|
2922
|
+
}), m = new w(l, u);
|
|
2826
2923
|
m.position.set(0, -1, 0.1), i.add(m), this.add(i);
|
|
2827
2924
|
let h = 0.015, f = 0.8, p = 0.2;
|
|
2828
2925
|
function d() {
|
|
2829
2926
|
requestAnimationFrame(d);
|
|
2830
|
-
const
|
|
2831
|
-
m.material.emissiveIntensity =
|
|
2927
|
+
const M = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
|
|
2928
|
+
m.material.emissiveIntensity = M;
|
|
2832
2929
|
}
|
|
2833
2930
|
d();
|
|
2834
2931
|
}
|
|
2835
2932
|
}
|
|
2836
|
-
class
|
|
2933
|
+
class Tn extends w {
|
|
2837
2934
|
constructor({
|
|
2838
2935
|
flaskRadius: t = 1,
|
|
2839
2936
|
//
|
|
2840
2937
|
neckRadius: o = 0.3,
|
|
2841
2938
|
height: n = 2.5,
|
|
2842
|
-
neckHeight:
|
|
2843
|
-
radialSegments:
|
|
2939
|
+
neckHeight: s = 1,
|
|
2940
|
+
radialSegments: r = 16
|
|
2844
2941
|
} = {}) {
|
|
2845
2942
|
super(
|
|
2846
|
-
new
|
|
2943
|
+
new Xe({ flaskRadius: t, neckRadius: o, height: n, neckHeight: s, radialSegments: r }),
|
|
2847
2944
|
new tt({
|
|
2848
2945
|
color: 8965375,
|
|
2849
2946
|
transparent: !0,
|
|
@@ -2852,15 +2949,15 @@ class En extends y {
|
|
|
2852
2949
|
metalness: 0.1,
|
|
2853
2950
|
reflectivity: 0.8,
|
|
2854
2951
|
transmission: 0.9,
|
|
2855
|
-
side:
|
|
2952
|
+
side: V
|
|
2856
2953
|
})
|
|
2857
2954
|
);
|
|
2858
2955
|
}
|
|
2859
2956
|
}
|
|
2860
|
-
class
|
|
2957
|
+
class Gn extends w {
|
|
2861
2958
|
constructor() {
|
|
2862
2959
|
super(
|
|
2863
|
-
new
|
|
2960
|
+
new Qe(),
|
|
2864
2961
|
new tt({
|
|
2865
2962
|
color: 8965375,
|
|
2866
2963
|
transparent: !0,
|
|
@@ -2870,111 +2967,111 @@ class bn extends y {
|
|
|
2870
2967
|
metalness: 0.1,
|
|
2871
2968
|
reflectivity: 0.8,
|
|
2872
2969
|
transmission: 0.9,
|
|
2873
|
-
side:
|
|
2970
|
+
side: V
|
|
2874
2971
|
})
|
|
2875
2972
|
);
|
|
2876
2973
|
}
|
|
2877
2974
|
}
|
|
2878
|
-
class
|
|
2975
|
+
class Cn extends L {
|
|
2879
2976
|
constructor() {
|
|
2880
2977
|
super();
|
|
2881
|
-
const t = new b(2, 3, 0.1), o = new
|
|
2978
|
+
const t = new b(2, 3, 0.1), o = new y({
|
|
2882
2979
|
color: 3355443,
|
|
2883
2980
|
roughness: 0.8,
|
|
2884
2981
|
metalness: 0.5
|
|
2885
|
-
}), n = new
|
|
2982
|
+
}), n = new w(t, o), s = new P(0.1, 0.1, 0.2, 8), r = new P(0.05, 0.05, 1, 8), a = new y({
|
|
2886
2983
|
color: 11184810,
|
|
2887
2984
|
roughness: 0.5,
|
|
2888
2985
|
metalness: 0.7
|
|
2889
2986
|
});
|
|
2890
2987
|
for (let i = -0.5; i <= 0.5; i += 0.5) {
|
|
2891
|
-
const c = new
|
|
2988
|
+
const c = new w(s, a);
|
|
2892
2989
|
c.position.set(i, 1, 0.1);
|
|
2893
|
-
const l = new
|
|
2990
|
+
const l = new w(r, a);
|
|
2894
2991
|
l.position.y = 0.5, c.add(l), this.add(c);
|
|
2895
2992
|
}
|
|
2896
2993
|
this.add(n);
|
|
2897
2994
|
}
|
|
2898
2995
|
}
|
|
2899
|
-
class
|
|
2996
|
+
class Bn extends L {
|
|
2900
2997
|
constructor() {
|
|
2901
2998
|
super();
|
|
2902
|
-
const t = new b(1, 0.2, 0.5), o = new
|
|
2999
|
+
const t = new b(1, 0.2, 0.5), o = new y({
|
|
2903
3000
|
color: 4473924,
|
|
2904
3001
|
roughness: 0.6,
|
|
2905
3002
|
metalness: 0.3
|
|
2906
|
-
}), n = new
|
|
3003
|
+
}), n = new w(t, o);
|
|
2907
3004
|
n.position.y = 0.1;
|
|
2908
|
-
const
|
|
2909
|
-
|
|
2910
|
-
const a = new P(0.1, 0.1, 0.4, 8), i = new
|
|
3005
|
+
const s = new b(0.2, 1, 0.2), r = new w(s, o);
|
|
3006
|
+
r.position.set(0, 0.6, -0.2);
|
|
3007
|
+
const a = new P(0.1, 0.1, 0.4, 8), i = new y({
|
|
2911
3008
|
color: 3355443,
|
|
2912
3009
|
roughness: 0.5,
|
|
2913
3010
|
metalness: 0.6
|
|
2914
|
-
}), c = new
|
|
3011
|
+
}), c = new w(a, i);
|
|
2915
3012
|
c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
|
|
2916
|
-
const l = new b(0.6, 0.1, 0.6), u = new
|
|
3013
|
+
const l = new b(0.6, 0.1, 0.6), u = new y({
|
|
2917
3014
|
color: 5592405,
|
|
2918
3015
|
roughness: 0.8,
|
|
2919
3016
|
metalness: 0.2
|
|
2920
|
-
}), m = new
|
|
2921
|
-
m.position.set(0, 0.6, 0), this.add(n,
|
|
3017
|
+
}), m = new w(l, u);
|
|
3018
|
+
m.position.set(0, 0.6, 0), this.add(n, r, c, m);
|
|
2922
3019
|
}
|
|
2923
3020
|
}
|
|
2924
|
-
class
|
|
3021
|
+
class Rn extends L {
|
|
2925
3022
|
constructor() {
|
|
2926
3023
|
super();
|
|
2927
|
-
const t = new
|
|
3024
|
+
const t = new Ke(), o = new P(0.2, 0.3, 1.5, 8);
|
|
2928
3025
|
o.translate(0, 0.75, 0);
|
|
2929
|
-
const n = new
|
|
3026
|
+
const n = new y({
|
|
2930
3027
|
color: 6045747,
|
|
2931
3028
|
// Dark earthy tone
|
|
2932
3029
|
roughness: 1,
|
|
2933
3030
|
metalness: 0,
|
|
2934
|
-
side:
|
|
3031
|
+
side: V
|
|
2935
3032
|
// Render inside and outside
|
|
2936
|
-
}),
|
|
3033
|
+
}), s = new y({
|
|
2937
3034
|
color: 9132587,
|
|
2938
3035
|
// Slightly lighter earthy color
|
|
2939
3036
|
roughness: 0.8,
|
|
2940
3037
|
metalness: 0.1
|
|
2941
|
-
}),
|
|
2942
|
-
|
|
2943
|
-
const a = new
|
|
2944
|
-
a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(
|
|
3038
|
+
}), r = new w(t, n);
|
|
3039
|
+
r.castShadow = !0;
|
|
3040
|
+
const a = new w(o, s);
|
|
3041
|
+
a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(r, a);
|
|
2945
3042
|
}
|
|
2946
3043
|
}
|
|
2947
|
-
class
|
|
2948
|
-
constructor({ width: o = 3, height: n = 4, depth:
|
|
3044
|
+
class Nn extends w {
|
|
3045
|
+
constructor({ width: o = 3, height: n = 4, depth: s = 0.1 } = {}) {
|
|
2949
3046
|
super();
|
|
2950
3047
|
A(this, "geometry");
|
|
2951
3048
|
A(this, "material");
|
|
2952
|
-
this.geometry = new b(o, n,
|
|
3049
|
+
this.geometry = new b(o, n, s), this.material = new y({
|
|
2953
3050
|
color: 3026478,
|
|
2954
3051
|
roughness: 0.8,
|
|
2955
3052
|
metalness: 0.6
|
|
2956
3053
|
});
|
|
2957
3054
|
}
|
|
2958
3055
|
}
|
|
2959
|
-
class
|
|
3056
|
+
class _n extends w {
|
|
2960
3057
|
constructor({
|
|
2961
3058
|
radius: o = 0.15,
|
|
2962
3059
|
//
|
|
2963
3060
|
color: n = 16762823,
|
|
2964
|
-
emissive:
|
|
2965
|
-
emissiveIntensity:
|
|
3061
|
+
emissive: s = 16711680,
|
|
3062
|
+
emissiveIntensity: r = 0.5
|
|
2966
3063
|
} = {}) {
|
|
2967
3064
|
super();
|
|
2968
3065
|
A(this, "geometry");
|
|
2969
3066
|
A(this, "material");
|
|
2970
|
-
this.geometry = new
|
|
3067
|
+
this.geometry = new U(o, 8, 8), this.material = new y({
|
|
2971
3068
|
color: n,
|
|
2972
|
-
emissive:
|
|
2973
|
-
emissiveIntensity:
|
|
3069
|
+
emissive: s,
|
|
3070
|
+
emissiveIntensity: r
|
|
2974
3071
|
});
|
|
2975
3072
|
}
|
|
2976
3073
|
}
|
|
2977
|
-
class
|
|
3074
|
+
class Un extends L {
|
|
2978
3075
|
constructor() {
|
|
2979
3076
|
super();
|
|
2980
3077
|
const t = 100, o = 0.05, n = new Bt(
|
|
@@ -2987,17 +3084,17 @@ class Bn extends O {
|
|
|
2987
3084
|
Math.sin(m) * 0.4
|
|
2988
3085
|
);
|
|
2989
3086
|
})
|
|
2990
|
-
),
|
|
3087
|
+
), s = new Rt(n, 200, 0.1, 8, !1), r = new y({
|
|
2991
3088
|
color: 8965375,
|
|
2992
3089
|
transparent: !0,
|
|
2993
3090
|
opacity: 0.3,
|
|
2994
3091
|
roughness: 0.1,
|
|
2995
3092
|
metalness: 0.2,
|
|
2996
3093
|
emissive: 8965375
|
|
2997
|
-
}), a = new
|
|
3094
|
+
}), a = new w(s, r);
|
|
2998
3095
|
this.add(a);
|
|
2999
3096
|
function i() {
|
|
3000
|
-
|
|
3097
|
+
r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
3001
3098
|
}
|
|
3002
3099
|
function c() {
|
|
3003
3100
|
requestAnimationFrame(c), i();
|
|
@@ -3005,18 +3102,18 @@ class Bn extends O {
|
|
|
3005
3102
|
c();
|
|
3006
3103
|
}
|
|
3007
3104
|
}
|
|
3008
|
-
class
|
|
3105
|
+
class On extends w {
|
|
3009
3106
|
constructor({
|
|
3010
3107
|
radius: t = 0.3,
|
|
3011
3108
|
//
|
|
3012
3109
|
height: o = 0.4,
|
|
3013
3110
|
count: n = 3,
|
|
3014
|
-
thickness:
|
|
3015
|
-
radialSegments:
|
|
3111
|
+
thickness: s = 0.03,
|
|
3112
|
+
radialSegments: r = 16
|
|
3016
3113
|
} = {}) {
|
|
3017
3114
|
super(
|
|
3018
|
-
new
|
|
3019
|
-
new
|
|
3115
|
+
new Je({ radius: t, height: o, count: n, thickness: s, radialSegments: r }),
|
|
3116
|
+
new y({
|
|
3020
3117
|
color: 8947848,
|
|
3021
3118
|
roughness: 0.7,
|
|
3022
3119
|
metalness: 0.3
|
|
@@ -3024,27 +3121,27 @@ class Rn extends y {
|
|
|
3024
3121
|
);
|
|
3025
3122
|
}
|
|
3026
3123
|
}
|
|
3027
|
-
class
|
|
3124
|
+
class zn extends w {
|
|
3028
3125
|
constructor() {
|
|
3029
|
-
super(new
|
|
3030
|
-
new
|
|
3126
|
+
super(new $e(), [
|
|
3127
|
+
new y({
|
|
3031
3128
|
color: 3355443,
|
|
3032
3129
|
roughness: 0.6,
|
|
3033
3130
|
metalness: 0.5
|
|
3034
3131
|
}),
|
|
3035
|
-
new
|
|
3132
|
+
new y({
|
|
3036
3133
|
color: 16737792,
|
|
3037
3134
|
roughness: 0.5,
|
|
3038
3135
|
metalness: 0.8,
|
|
3039
|
-
side:
|
|
3136
|
+
side: V
|
|
3040
3137
|
})
|
|
3041
3138
|
]);
|
|
3042
3139
|
}
|
|
3043
3140
|
}
|
|
3044
|
-
class
|
|
3045
|
-
constructor(t = 0.2, o = 0.2, n = 3,
|
|
3141
|
+
class Fn extends w {
|
|
3142
|
+
constructor(t = 0.2, o = 0.2, n = 3, s = 32) {
|
|
3046
3143
|
super(
|
|
3047
|
-
new
|
|
3144
|
+
new ct(t, o, n, s),
|
|
3048
3145
|
new tt({
|
|
3049
3146
|
color: 8965375,
|
|
3050
3147
|
transparent: !0,
|
|
@@ -3054,66 +3151,66 @@ class _n extends y {
|
|
|
3054
3151
|
reflectivity: 0.8,
|
|
3055
3152
|
transmission: 0.9,
|
|
3056
3153
|
depthWrite: !1,
|
|
3057
|
-
side:
|
|
3154
|
+
side: V
|
|
3058
3155
|
})
|
|
3059
3156
|
);
|
|
3060
3157
|
}
|
|
3061
3158
|
}
|
|
3062
|
-
class
|
|
3159
|
+
class Ln extends L {
|
|
3063
3160
|
constructor(t = 3, o = [65450, 16711850, 11141375]) {
|
|
3064
3161
|
super();
|
|
3065
|
-
const n = new b(3, 0.2, 1),
|
|
3162
|
+
const n = new b(3, 0.2, 1), s = new y({
|
|
3066
3163
|
color: 9127187,
|
|
3067
3164
|
// Wooden color or change to metallic tone
|
|
3068
3165
|
roughness: 0.7,
|
|
3069
3166
|
metalness: 0.3
|
|
3070
|
-
}),
|
|
3071
|
-
|
|
3072
|
-
const a = new
|
|
3167
|
+
}), r = new w(n, s);
|
|
3168
|
+
r.position.y = 0.5, r.castShadow = !0;
|
|
3169
|
+
const a = new ct(0.1, 0.1, 1, 16), i = new y({
|
|
3073
3170
|
color: 11184810,
|
|
3074
3171
|
transparent: !0,
|
|
3075
3172
|
opacity: 0.4,
|
|
3076
3173
|
roughness: 0.1,
|
|
3077
3174
|
metalness: 0.5,
|
|
3078
3175
|
depthWrite: !1,
|
|
3079
|
-
side:
|
|
3176
|
+
side: V
|
|
3080
3177
|
});
|
|
3081
3178
|
for (let c = 0; c < t; c++) {
|
|
3082
|
-
const l = new
|
|
3179
|
+
const l = new w(a, i), u = (c - (t - 1) / 2) * 0.8;
|
|
3083
3180
|
l.position.set(u, 1, 0), l.castShadow = !0;
|
|
3084
|
-
const m = new
|
|
3181
|
+
const m = new ct(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new y({
|
|
3085
3182
|
color: h,
|
|
3086
3183
|
emissive: h,
|
|
3087
3184
|
emissiveIntensity: 0.5,
|
|
3088
3185
|
transparent: !0,
|
|
3089
3186
|
opacity: 0.6
|
|
3090
|
-
}), p = new
|
|
3091
|
-
p.position.set(0, -0.25, 0), l.add(p),
|
|
3187
|
+
}), p = new w(m, f);
|
|
3188
|
+
p.position.set(0, -0.25, 0), l.add(p), r.add(l);
|
|
3092
3189
|
}
|
|
3093
|
-
this.add(
|
|
3190
|
+
this.add(r);
|
|
3094
3191
|
}
|
|
3095
3192
|
}
|
|
3096
|
-
class
|
|
3193
|
+
class no extends j {
|
|
3097
3194
|
constructor(t = 5, o = 0.5, n = 1) {
|
|
3098
3195
|
super();
|
|
3099
|
-
const
|
|
3196
|
+
const s = Math.PI * 2 / t, r = s / 2, a = s / 4;
|
|
3100
3197
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
3101
3198
|
for (let i = 1; i <= t; ++i) {
|
|
3102
|
-
let c = Math.cos(
|
|
3103
|
-
this.quadraticCurveTo(c, l, u, m), c = Math.cos(
|
|
3199
|
+
let c = Math.cos(s * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(s * i - a * 3) * (o / Math.cos(a)), u = Math.cos(s * i - r) * o, m = -Math.sin(s * i - r) * o;
|
|
3200
|
+
this.quadraticCurveTo(c, l, u, m), c = Math.cos(s * i - a) * (o / Math.cos(a)), l = -Math.sin(s * i - a) * (o / Math.cos(a)), u = Math.cos(s * i) * n, m = -Math.sin(s * i) * n, this.quadraticCurveTo(c, l, u, m);
|
|
3104
3201
|
}
|
|
3105
3202
|
this.closePath();
|
|
3106
3203
|
}
|
|
3107
3204
|
}
|
|
3108
|
-
class
|
|
3109
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3205
|
+
class Dn extends w {
|
|
3206
|
+
constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
|
|
3110
3207
|
super();
|
|
3111
|
-
const
|
|
3112
|
-
depth:
|
|
3113
|
-
bevelEnabled:
|
|
3208
|
+
const r = new no(t, o, n), a = new Q(r, {
|
|
3209
|
+
depth: s,
|
|
3210
|
+
bevelEnabled: s > 0,
|
|
3114
3211
|
bevelThickness: 0,
|
|
3115
3212
|
bevelSize: 0
|
|
3116
|
-
}), i = new
|
|
3213
|
+
}), i = new y({
|
|
3117
3214
|
color: 16776960,
|
|
3118
3215
|
emissive: 16766720,
|
|
3119
3216
|
emissiveIntensity: 0.25,
|
|
@@ -3124,31 +3221,31 @@ class On extends y {
|
|
|
3124
3221
|
a.center(), this.geometry = a, this.material = i;
|
|
3125
3222
|
}
|
|
3126
3223
|
}
|
|
3127
|
-
class
|
|
3128
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3224
|
+
class so extends j {
|
|
3225
|
+
constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25) {
|
|
3129
3226
|
super();
|
|
3130
3227
|
const a = Math.PI * 2 / t, i = a / 4;
|
|
3131
3228
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
3132
3229
|
for (let c = 1; c <= t; ++c)
|
|
3133
3230
|
this.lineTo(Math.cos(a * c - i * 3) * o, -Math.sin(a * c - i * 3) * o), this.lineTo(Math.cos(a * c - i * 2) * o, -Math.sin(a * c - i * 2) * o), this.lineTo(Math.cos(a * c - i) * n, -Math.sin(a * c - i) * n), this.lineTo(Math.cos(a * c) * n, -Math.sin(a * c) * n);
|
|
3134
|
-
if (this.closePath(),
|
|
3135
|
-
const c = new Nt(), l = Math.PI * 2 /
|
|
3136
|
-
c.moveTo(Math.cos(0) *
|
|
3137
|
-
for (let u = 1; u <
|
|
3138
|
-
c.lineTo(Math.cos(l * u) *
|
|
3139
|
-
c.lineTo(Math.cos(0) *
|
|
3231
|
+
if (this.closePath(), r > 0 && s > 2) {
|
|
3232
|
+
const c = new Nt(), l = Math.PI * 2 / s;
|
|
3233
|
+
c.moveTo(Math.cos(0) * r, -Math.sin(0) * r);
|
|
3234
|
+
for (let u = 1; u < s; ++u)
|
|
3235
|
+
c.lineTo(Math.cos(l * u) * r, -Math.sin(l * u) * r);
|
|
3236
|
+
c.lineTo(Math.cos(0) * r, -Math.sin(0) * r), this.holes.push(c);
|
|
3140
3237
|
}
|
|
3141
3238
|
}
|
|
3142
3239
|
}
|
|
3143
|
-
class
|
|
3144
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3240
|
+
class kn extends w {
|
|
3241
|
+
constructor(t = 5, o = 0.5, n = 1, s = 5, r = 0.25, a = 0.25) {
|
|
3145
3242
|
super();
|
|
3146
|
-
const i = new
|
|
3243
|
+
const i = new so(t, o, n, s, r), c = new Q(i, {
|
|
3147
3244
|
depth: a,
|
|
3148
3245
|
bevelEnabled: a > 0,
|
|
3149
3246
|
bevelThickness: 0,
|
|
3150
3247
|
bevelSize: 0
|
|
3151
|
-
}), l = new
|
|
3248
|
+
}), l = new y({
|
|
3152
3249
|
color: 11184810,
|
|
3153
3250
|
metalness: 0.8,
|
|
3154
3251
|
roughness: 0.2
|
|
@@ -3156,8 +3253,8 @@ class Ln extends y {
|
|
|
3156
3253
|
c.center(), this.geometry = c, this.material = l;
|
|
3157
3254
|
}
|
|
3158
3255
|
}
|
|
3159
|
-
class
|
|
3160
|
-
constructor(t = 1, o = 2.1, n = 1.4,
|
|
3256
|
+
class ro extends j {
|
|
3257
|
+
constructor(t = 1, o = 2.1, n = 1.4, s = 1.6) {
|
|
3161
3258
|
super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
|
|
3162
3259
|
-o * 0.375 * t,
|
|
3163
3260
|
n * t,
|
|
@@ -3166,7 +3263,7 @@ class no extends j {
|
|
|
3166
3263
|
n * t / 3,
|
|
3167
3264
|
// Control point 2 for the left side of the heart
|
|
3168
3265
|
0,
|
|
3169
|
-
-
|
|
3266
|
+
-s * t
|
|
3170
3267
|
// Bottom tip of the heart, controlled by `tipDepth`
|
|
3171
3268
|
), this.bezierCurveTo(
|
|
3172
3269
|
o * t,
|
|
@@ -3181,15 +3278,15 @@ class no extends j {
|
|
|
3181
3278
|
);
|
|
3182
3279
|
}
|
|
3183
3280
|
}
|
|
3184
|
-
class
|
|
3185
|
-
constructor(t = 1, o = 1, n = 1,
|
|
3281
|
+
class Vn extends w {
|
|
3282
|
+
constructor(t = 1, o = 1, n = 1, s = 10, r = 0.25) {
|
|
3186
3283
|
super();
|
|
3187
|
-
const a = new
|
|
3188
|
-
depth:
|
|
3189
|
-
bevelEnabled:
|
|
3284
|
+
const a = new ro(t, o, n, s), i = new Q(a, {
|
|
3285
|
+
depth: r,
|
|
3286
|
+
bevelEnabled: r > 0,
|
|
3190
3287
|
bevelThickness: 0,
|
|
3191
3288
|
bevelSize: 0
|
|
3192
|
-
}), c = new
|
|
3289
|
+
}), c = new y({
|
|
3193
3290
|
color: 12986408,
|
|
3194
3291
|
emissive: 12981270,
|
|
3195
3292
|
emissiveIntensity: 0.25,
|
|
@@ -3200,25 +3297,25 @@ class Fn extends y {
|
|
|
3200
3297
|
i.center(), this.geometry = i, this.material = c;
|
|
3201
3298
|
}
|
|
3202
3299
|
}
|
|
3203
|
-
class
|
|
3300
|
+
class ao extends j {
|
|
3204
3301
|
constructor(t = 5, o = 0.5, n = 1) {
|
|
3205
3302
|
super();
|
|
3206
|
-
const
|
|
3303
|
+
const s = Math.PI * 2 / t, r = s / 2;
|
|
3207
3304
|
this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
|
|
3208
3305
|
for (let a = 1; a <= t; ++a)
|
|
3209
|
-
this.lineTo(Math.cos(
|
|
3306
|
+
this.lineTo(Math.cos(s * a - r) * o, Math.sin(s * a - r) * o), this.lineTo(Math.cos(s * a) * n, Math.sin(s * a) * n);
|
|
3210
3307
|
this.closePath();
|
|
3211
3308
|
}
|
|
3212
3309
|
}
|
|
3213
|
-
class
|
|
3214
|
-
constructor(t = 5, o = 0.5, n = 1,
|
|
3310
|
+
class qn extends w {
|
|
3311
|
+
constructor(t = 5, o = 0.5, n = 1, s = 0.25) {
|
|
3215
3312
|
super();
|
|
3216
|
-
const
|
|
3217
|
-
depth:
|
|
3218
|
-
bevelEnabled:
|
|
3313
|
+
const r = new ao(t, o, n), a = new Q(r, {
|
|
3314
|
+
depth: s,
|
|
3315
|
+
bevelEnabled: s > 0,
|
|
3219
3316
|
bevelThickness: 0,
|
|
3220
3317
|
bevelSize: 0
|
|
3221
|
-
}), i = new
|
|
3318
|
+
}), i = new y({
|
|
3222
3319
|
color: 16776960,
|
|
3223
3320
|
emissive: 16766720,
|
|
3224
3321
|
emissiveIntensity: 0.25,
|
|
@@ -3229,18 +3326,18 @@ class zn extends y {
|
|
|
3229
3326
|
a.center(), this.geometry = a, this.material = i;
|
|
3230
3327
|
}
|
|
3231
3328
|
}
|
|
3232
|
-
class
|
|
3329
|
+
class Yn extends w {
|
|
3233
3330
|
constructor() {
|
|
3234
|
-
super(new
|
|
3331
|
+
super(new He(), new y({ color: 16777215 }));
|
|
3235
3332
|
}
|
|
3236
3333
|
}
|
|
3237
|
-
class
|
|
3334
|
+
class Hn extends w {
|
|
3238
3335
|
constructor({
|
|
3239
3336
|
trunkRadiusTop: t = 0.25,
|
|
3240
3337
|
trunkRadiusBottom: o = 0.4,
|
|
3241
3338
|
trunkHeight: n = 2.5,
|
|
3242
|
-
trunkSegments:
|
|
3243
|
-
trunkColor:
|
|
3339
|
+
trunkSegments: s = 14,
|
|
3340
|
+
trunkColor: r = 9127187,
|
|
3244
3341
|
leafSize: a = 0.8,
|
|
3245
3342
|
leafCount: i = 6,
|
|
3246
3343
|
leafDetail: c = 0,
|
|
@@ -3248,24 +3345,24 @@ class kn extends y {
|
|
|
3248
3345
|
leafColor: u = 2263842
|
|
3249
3346
|
} = {}) {
|
|
3250
3347
|
super(
|
|
3251
|
-
new
|
|
3348
|
+
new eo({
|
|
3252
3349
|
trunkRadiusTop: t,
|
|
3253
3350
|
trunkRadiusBottom: o,
|
|
3254
3351
|
trunkHeight: n,
|
|
3255
|
-
trunkSegments:
|
|
3352
|
+
trunkSegments: s,
|
|
3256
3353
|
leafSize: a,
|
|
3257
3354
|
leafCount: i,
|
|
3258
3355
|
leafDetail: c,
|
|
3259
3356
|
leafSpreadRadius: l
|
|
3260
3357
|
}),
|
|
3261
3358
|
[
|
|
3262
|
-
new
|
|
3263
|
-
color:
|
|
3359
|
+
new y({
|
|
3360
|
+
color: r,
|
|
3264
3361
|
roughness: 0.9,
|
|
3265
3362
|
metalness: 0,
|
|
3266
3363
|
flatShading: !0
|
|
3267
3364
|
}),
|
|
3268
|
-
new
|
|
3365
|
+
new y({
|
|
3269
3366
|
color: u,
|
|
3270
3367
|
roughness: 0.8,
|
|
3271
3368
|
metalness: 0,
|
|
@@ -3275,55 +3372,55 @@ class kn extends y {
|
|
|
3275
3372
|
);
|
|
3276
3373
|
}
|
|
3277
3374
|
}
|
|
3278
|
-
class
|
|
3375
|
+
class Xn extends w {
|
|
3279
3376
|
constructor({
|
|
3280
3377
|
radius: t = 3,
|
|
3281
3378
|
//
|
|
3282
3379
|
height: o = 0.6,
|
|
3283
3380
|
widthSegments: n = 64,
|
|
3284
|
-
heightSegments:
|
|
3285
|
-
phiStart:
|
|
3381
|
+
heightSegments: s = 16,
|
|
3382
|
+
phiStart: r = 0,
|
|
3286
3383
|
phiLength: a = Math.PI * 2
|
|
3287
3384
|
} = {}) {
|
|
3288
3385
|
super(
|
|
3289
|
-
new
|
|
3386
|
+
new We({
|
|
3290
3387
|
radius: t,
|
|
3291
3388
|
height: o,
|
|
3292
3389
|
widthSegments: n,
|
|
3293
|
-
heightSegments:
|
|
3294
|
-
phiStart:
|
|
3390
|
+
heightSegments: s,
|
|
3391
|
+
phiStart: r,
|
|
3295
3392
|
phiLength: a
|
|
3296
3393
|
}),
|
|
3297
|
-
new
|
|
3394
|
+
new y({ color: 65280, flatShading: !0 })
|
|
3298
3395
|
);
|
|
3299
3396
|
}
|
|
3300
3397
|
}
|
|
3301
|
-
class
|
|
3398
|
+
class Zn extends w {
|
|
3302
3399
|
constructor({
|
|
3303
3400
|
radius: t = At(5, Math.PI / 10),
|
|
3304
3401
|
//
|
|
3305
3402
|
widthSegments: o = 64,
|
|
3306
3403
|
heightSegments: n = 32,
|
|
3307
|
-
phiStart:
|
|
3308
|
-
phiLength:
|
|
3404
|
+
phiStart: s = 0,
|
|
3405
|
+
phiLength: r = Math.PI * 2,
|
|
3309
3406
|
thetaLength: a = Math.PI / 10
|
|
3310
3407
|
} = {}) {
|
|
3311
3408
|
super(
|
|
3312
|
-
new
|
|
3409
|
+
new to({
|
|
3313
3410
|
radius: t,
|
|
3314
3411
|
widthSegments: o,
|
|
3315
3412
|
heightSegments: n,
|
|
3316
|
-
phiStart:
|
|
3317
|
-
phiLength:
|
|
3413
|
+
phiStart: s,
|
|
3414
|
+
phiLength: r,
|
|
3318
3415
|
thetaLength: a
|
|
3319
3416
|
}),
|
|
3320
|
-
new
|
|
3417
|
+
new y({ color: 65280, flatShading: !0 })
|
|
3321
3418
|
);
|
|
3322
3419
|
}
|
|
3323
3420
|
}
|
|
3324
|
-
function
|
|
3325
|
-
e.onBeforeCompile = (
|
|
3326
|
-
|
|
3421
|
+
function jn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
|
|
3422
|
+
e.onBeforeCompile = (s) => {
|
|
3423
|
+
s.uniforms.time = { value: t }, s.uniforms.waveFrequency = { value: o }, s.uniforms.waveAmplitude = { value: n }, s.vertexShader = `
|
|
3327
3424
|
uniform float time;
|
|
3328
3425
|
uniform float waveFrequency;
|
|
3329
3426
|
uniform float waveAmplitude;
|
|
@@ -3337,20 +3434,20 @@ function Yn(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
|
|
|
3337
3434
|
|
|
3338
3435
|
return displaced;
|
|
3339
3436
|
}
|
|
3340
|
-
` +
|
|
3437
|
+
` + s.vertexShader, s.vertexShader = s.vertexShader.replace(
|
|
3341
3438
|
"#include <begin_vertex>",
|
|
3342
3439
|
`
|
|
3343
3440
|
vec3 transformed = waterDisplacement(position, normal);
|
|
3344
3441
|
`
|
|
3345
|
-
), e.userData.shader =
|
|
3442
|
+
), e.userData.shader = s;
|
|
3346
3443
|
};
|
|
3347
3444
|
}
|
|
3348
|
-
function
|
|
3445
|
+
function Qn(e, t) {
|
|
3349
3446
|
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
3350
3447
|
}
|
|
3351
|
-
function
|
|
3352
|
-
e.onBeforeCompile = (
|
|
3353
|
-
|
|
3448
|
+
function Kn(e, { time: t = 0, intensity: o = 1, axis: n = ht.XYZ, scale: s = 10 } = {}) {
|
|
3449
|
+
e.onBeforeCompile = (r) => {
|
|
3450
|
+
r.uniforms.time = { value: t }, r.uniforms.axis = { value: n }, r.uniforms.intensity = { value: o }, r.uniforms.scale = { value: s }, r.vertexShader = `
|
|
3354
3451
|
uniform float time;
|
|
3355
3452
|
uniform vec3 axis;
|
|
3356
3453
|
uniform float intensity;
|
|
@@ -3381,7 +3478,7 @@ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
|
|
|
3381
3478
|
|
|
3382
3479
|
return o4.y * d.y + o4.x * (1.0 - d.y);
|
|
3383
3480
|
}
|
|
3384
|
-
` +
|
|
3481
|
+
` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
|
|
3385
3482
|
"#include <begin_vertex>",
|
|
3386
3483
|
`
|
|
3387
3484
|
vec3 transformed = vec3(position);
|
|
@@ -3389,19 +3486,19 @@ function Xn(e, { time: t = 0, intensity: o = 1, axis: n = mt.XYZ, scale: r = 10
|
|
|
3389
3486
|
transformed += normalize(axis) * n * intensity;
|
|
3390
3487
|
vec3 transformedNormal = normal;
|
|
3391
3488
|
`
|
|
3392
|
-
), e.userData.shader =
|
|
3489
|
+
), e.userData.shader = r;
|
|
3393
3490
|
};
|
|
3394
3491
|
}
|
|
3395
|
-
function
|
|
3492
|
+
function Jn(e, t) {
|
|
3396
3493
|
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
3397
3494
|
}
|
|
3398
|
-
const
|
|
3495
|
+
const st = {
|
|
3399
3496
|
uniforms: {
|
|
3400
3497
|
turbidity: { value: 10 },
|
|
3401
3498
|
rayleigh: { value: 2 },
|
|
3402
3499
|
mieCoefficient: { value: 5e-3 },
|
|
3403
3500
|
mieDirectionalG: { value: 0.8 },
|
|
3404
|
-
sunPosition: { value: new x().setFromSphericalCoords(1,
|
|
3501
|
+
sunPosition: { value: new x().setFromSphericalCoords(1, z.degToRad(90), z.degToRad(180)) },
|
|
3405
3502
|
up: { value: new x(0, 1, 0) }
|
|
3406
3503
|
},
|
|
3407
3504
|
vertexShader: `
|
|
@@ -3557,7 +3654,7 @@ const nt = {
|
|
|
3557
3654
|
#include <colorspace_fragment>
|
|
3558
3655
|
}
|
|
3559
3656
|
`
|
|
3560
|
-
},
|
|
3657
|
+
}, rt = {
|
|
3561
3658
|
uniforms: {
|
|
3562
3659
|
topColor: { value: new $(0.5, 0.8, 1) },
|
|
3563
3660
|
bottomColor: { value: new $(1, 1, 1) }
|
|
@@ -3578,7 +3675,7 @@ const nt = {
|
|
|
3578
3675
|
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
3579
3676
|
}
|
|
3580
3677
|
`
|
|
3581
|
-
},
|
|
3678
|
+
}, $n = {
|
|
3582
3679
|
uniforms: {
|
|
3583
3680
|
tDiffuse: { value: null },
|
|
3584
3681
|
opacity: { value: 1 }
|
|
@@ -3599,7 +3696,7 @@ const nt = {
|
|
|
3599
3696
|
gl_FragColor = opacity * texel;
|
|
3600
3697
|
}
|
|
3601
3698
|
`
|
|
3602
|
-
},
|
|
3699
|
+
}, at = {
|
|
3603
3700
|
uniforms: {
|
|
3604
3701
|
topColor: { value: new $(51) },
|
|
3605
3702
|
bottomColor: { value: new $(17) },
|
|
@@ -3626,20 +3723,20 @@ const nt = {
|
|
|
3626
3723
|
}
|
|
3627
3724
|
`
|
|
3628
3725
|
};
|
|
3629
|
-
class
|
|
3726
|
+
class Wn extends w {
|
|
3630
3727
|
constructor() {
|
|
3631
3728
|
super();
|
|
3632
3729
|
A(this, "geometry");
|
|
3633
3730
|
A(this, "material");
|
|
3634
3731
|
this.geometry = new b(1, 1, 1), this.material = new W({
|
|
3635
|
-
uniforms:
|
|
3636
|
-
vertexShader:
|
|
3637
|
-
fragmentShader:
|
|
3732
|
+
uniforms: st.uniforms,
|
|
3733
|
+
vertexShader: st.vertexShader,
|
|
3734
|
+
fragmentShader: st.fragmentShader,
|
|
3638
3735
|
depthWrite: !1,
|
|
3639
|
-
side:
|
|
3736
|
+
side: ut
|
|
3640
3737
|
}), this.scale.setScalar(45e4);
|
|
3641
|
-
const o =
|
|
3642
|
-
this.material.uniforms.sunPosition.value =
|
|
3738
|
+
const o = z.degToRad(89), n = z.degToRad(180), s = new x().setFromSphericalCoords(1, o, n);
|
|
3739
|
+
this.material.uniforms.sunPosition.value = s;
|
|
3643
3740
|
}
|
|
3644
3741
|
/**
|
|
3645
3742
|
* Set the sun position.
|
|
@@ -3655,46 +3752,46 @@ class Qn extends y {
|
|
|
3655
3752
|
* - This is the horizontal angle in the xy-plane.
|
|
3656
3753
|
*/
|
|
3657
3754
|
sunPosition(o, n) {
|
|
3658
|
-
const
|
|
3659
|
-
|
|
3755
|
+
const s = new x();
|
|
3756
|
+
s.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = s;
|
|
3660
3757
|
}
|
|
3661
3758
|
}
|
|
3662
|
-
class
|
|
3759
|
+
class ts extends w {
|
|
3663
3760
|
constructor(o = 1e3) {
|
|
3664
3761
|
super();
|
|
3665
3762
|
A(this, "geometry");
|
|
3666
3763
|
A(this, "material");
|
|
3667
3764
|
this.geometry = new b(o, o, o), this.material = new W({
|
|
3668
|
-
uniforms:
|
|
3669
|
-
vertexShader:
|
|
3670
|
-
fragmentShader:
|
|
3671
|
-
side:
|
|
3765
|
+
uniforms: rt.uniforms,
|
|
3766
|
+
vertexShader: rt.vertexShader,
|
|
3767
|
+
fragmentShader: rt.fragmentShader,
|
|
3768
|
+
side: ut
|
|
3672
3769
|
});
|
|
3673
3770
|
}
|
|
3674
3771
|
}
|
|
3675
|
-
class
|
|
3772
|
+
class es extends w {
|
|
3676
3773
|
constructor(o = 1e3) {
|
|
3677
3774
|
super();
|
|
3678
3775
|
A(this, "geometry");
|
|
3679
3776
|
A(this, "material");
|
|
3680
|
-
this.geometry = new
|
|
3681
|
-
vertexShader:
|
|
3682
|
-
fragmentShader:
|
|
3683
|
-
uniforms:
|
|
3684
|
-
side:
|
|
3777
|
+
this.geometry = new U(o, 32, 15), this.material = new W({
|
|
3778
|
+
vertexShader: at.vertexShader,
|
|
3779
|
+
fragmentShader: at.fragmentShader,
|
|
3780
|
+
uniforms: at.uniforms,
|
|
3781
|
+
side: ut
|
|
3685
3782
|
});
|
|
3686
3783
|
}
|
|
3687
3784
|
}
|
|
3688
|
-
const
|
|
3785
|
+
const os = (e) => {
|
|
3689
3786
|
const t = new Uint8Array(4 * e * e);
|
|
3690
3787
|
for (let n = 0; n < e * e; n++) {
|
|
3691
|
-
const
|
|
3692
|
-
t[
|
|
3788
|
+
const s = n * 4, r = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
|
|
3789
|
+
t[s] = r, t[s + 1] = r, t[s + 2] = r, t[s + 3] = 255;
|
|
3693
3790
|
}
|
|
3694
3791
|
const o = new _t(t, e, e, Ut, Ot);
|
|
3695
|
-
return o.wrapS =
|
|
3792
|
+
return o.wrapS = ft, o.wrapT = ft, o.minFilter = zt, o.needsUpdate = !0, o;
|
|
3696
3793
|
};
|
|
3697
|
-
function
|
|
3794
|
+
function ns(e) {
|
|
3698
3795
|
const t = parseInt(e.slice(1), 16);
|
|
3699
3796
|
return [
|
|
3700
3797
|
t >> 16 & 255,
|
|
@@ -3705,95 +3802,95 @@ function Wn(e) {
|
|
|
3705
3802
|
// b
|
|
3706
3803
|
];
|
|
3707
3804
|
}
|
|
3708
|
-
function
|
|
3805
|
+
function ss(e) {
|
|
3709
3806
|
const [t, o, n] = X(e);
|
|
3710
|
-
return
|
|
3807
|
+
return co(t, o, n);
|
|
3711
3808
|
}
|
|
3712
3809
|
function X(e) {
|
|
3713
3810
|
const t = e >> 16 & 255, o = e >> 8 & 255, n = e & 255;
|
|
3714
3811
|
return [t, o, n];
|
|
3715
3812
|
}
|
|
3716
|
-
function
|
|
3813
|
+
function rs(e, t, o) {
|
|
3717
3814
|
t /= 100, o /= 100;
|
|
3718
3815
|
function n(c, l, u) {
|
|
3719
3816
|
return u < 0 && (u += 1), u > 1 && (u -= 1), u < 1 / 6 ? c + (l - c) * 6 * u : u < 1 / 2 ? l : u < 2 / 3 ? c + (l - c) * (2 / 3 - u) * 6 : c;
|
|
3720
3817
|
}
|
|
3721
|
-
let
|
|
3818
|
+
let s, r, a;
|
|
3722
3819
|
if (t === 0)
|
|
3723
|
-
|
|
3820
|
+
s = r = a = o;
|
|
3724
3821
|
else {
|
|
3725
3822
|
const c = o < 0.5 ? o * (1 + t) : o + t - o * t, l = 2 * o - c;
|
|
3726
|
-
|
|
3823
|
+
s = n(l, c, e / 360 + 1 / 3), r = n(l, c, e / 360), a = n(l, c, e / 360 - 1 / 3);
|
|
3727
3824
|
}
|
|
3728
3825
|
const i = (c) => Math.round(c * 255);
|
|
3729
3826
|
return [
|
|
3730
|
-
i(r),
|
|
3731
3827
|
i(s),
|
|
3828
|
+
i(r),
|
|
3732
3829
|
i(a)
|
|
3733
3830
|
];
|
|
3734
3831
|
}
|
|
3735
|
-
function
|
|
3832
|
+
function io(e, t, o) {
|
|
3736
3833
|
t /= 100, o /= 100;
|
|
3737
|
-
const n = (a) => (a + e / 30) % 12,
|
|
3738
|
-
return [
|
|
3834
|
+
const n = (a) => (a + e / 30) % 12, s = t * Math.min(o, 1 - o), r = (a) => o - s * Math.max(-1, Math.min(n(a) - 3, Math.min(9 - n(a), 1)));
|
|
3835
|
+
return [r(0) * 255, r(8) * 255, r(4) * 255];
|
|
3739
3836
|
}
|
|
3740
|
-
function
|
|
3837
|
+
function as(e, t, o) {
|
|
3741
3838
|
return [e / 255, t / 255, o / 255];
|
|
3742
3839
|
}
|
|
3743
|
-
function
|
|
3840
|
+
function is(e, t, o) {
|
|
3744
3841
|
return e = Math.round(e), t = Math.round(t), o = Math.round(o), (e << 16) + (t << 8) + o;
|
|
3745
3842
|
}
|
|
3746
|
-
function
|
|
3843
|
+
function co(e, t, o) {
|
|
3747
3844
|
e /= 255, t /= 255, o /= 255;
|
|
3748
|
-
const n = Math.max(e, t, o),
|
|
3845
|
+
const n = Math.max(e, t, o), s = Math.min(e, t, o), r = n - s;
|
|
3749
3846
|
let a = 0, i = 0;
|
|
3750
|
-
const c = (n +
|
|
3751
|
-
|
|
3847
|
+
const c = (n + s) / 2;
|
|
3848
|
+
r !== 0 && (n === e ? a = ((t - o) / r + (t < o ? 6 : 0)) * 60 : n === t ? a = ((o - e) / r + 2) * 60 : n === o && (a = ((e - t) / r + 4) * 60)), r !== 0 && (i = r / (1 - Math.abs(2 * c - 1))), a = Math.round(a), i = Math.round(i * 100);
|
|
3752
3849
|
const l = Math.round(c * 100);
|
|
3753
3850
|
return [a, i, l];
|
|
3754
3851
|
}
|
|
3755
|
-
function
|
|
3852
|
+
function lo(e, t) {
|
|
3756
3853
|
return Math.sqrt(
|
|
3757
3854
|
Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2) + Math.pow(e[2] - t[2], 2)
|
|
3758
3855
|
);
|
|
3759
3856
|
}
|
|
3760
|
-
function
|
|
3857
|
+
function uo(e, t) {
|
|
3761
3858
|
return Math.abs(e[0] - t[0]) + //
|
|
3762
3859
|
Math.abs(e[1] - t[1]) + Math.abs(e[2] - t[2]);
|
|
3763
3860
|
}
|
|
3764
|
-
function
|
|
3861
|
+
function cs(e, t) {
|
|
3765
3862
|
const o = X(e);
|
|
3766
|
-
let n = null,
|
|
3767
|
-
for (const
|
|
3768
|
-
const a = X(
|
|
3769
|
-
i <
|
|
3863
|
+
let n = null, s = 1 / 0;
|
|
3864
|
+
for (const r of t) {
|
|
3865
|
+
const a = X(r), i = lo(o, a);
|
|
3866
|
+
i < s && (s = i, n = r);
|
|
3770
3867
|
}
|
|
3771
3868
|
return n;
|
|
3772
3869
|
}
|
|
3773
|
-
function
|
|
3870
|
+
function ls(e, t) {
|
|
3774
3871
|
const o = X(e);
|
|
3775
|
-
let n = null,
|
|
3776
|
-
for (const
|
|
3777
|
-
const a = X(
|
|
3778
|
-
i <
|
|
3872
|
+
let n = null, s = 1 / 0;
|
|
3873
|
+
for (const r of t) {
|
|
3874
|
+
const a = X(r), i = uo(o, a);
|
|
3875
|
+
i < s && (s = i, n = r);
|
|
3779
3876
|
}
|
|
3780
3877
|
return n;
|
|
3781
3878
|
}
|
|
3782
|
-
function
|
|
3879
|
+
function us(e) {
|
|
3783
3880
|
const t = (e + Math.floor(-30 + Math.random() * 61)) % 360, o = Math.floor(60 + Math.random() * 21), n = Math.floor(50 + Math.random() * 21);
|
|
3784
|
-
return
|
|
3881
|
+
return io(t, o, n);
|
|
3785
3882
|
}
|
|
3786
|
-
function
|
|
3787
|
-
const t = new
|
|
3883
|
+
function ms(e) {
|
|
3884
|
+
const t = new et().setFromObject(e), o = new x();
|
|
3788
3885
|
t.getCenter(o), e.position.sub(o);
|
|
3789
3886
|
}
|
|
3790
|
-
function
|
|
3791
|
-
const o = new
|
|
3887
|
+
function hs(e, t = new x(0, 0, 0)) {
|
|
3888
|
+
const o = new et().setFromObject(e), n = new x();
|
|
3792
3889
|
o.getCenter(n);
|
|
3793
|
-
const
|
|
3794
|
-
e.position.add(
|
|
3890
|
+
const s = new x().subVectors(t, n);
|
|
3891
|
+
e.position.add(s);
|
|
3795
3892
|
}
|
|
3796
|
-
function
|
|
3893
|
+
function fs(e) {
|
|
3797
3894
|
e.computeBoundingBox();
|
|
3798
3895
|
const t = e.boundingBox;
|
|
3799
3896
|
if (t) {
|
|
@@ -3801,22 +3898,28 @@ function ls(e) {
|
|
|
3801
3898
|
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
|
|
3802
3899
|
}
|
|
3803
3900
|
}
|
|
3804
|
-
function
|
|
3901
|
+
function mo(e, t, o) {
|
|
3805
3902
|
return Math.max(0, Math.min(1, (e - t) / (o - t)));
|
|
3806
3903
|
}
|
|
3807
|
-
function
|
|
3904
|
+
function ps(e, t, o, n, s, r = 20, a = 0, i = 1) {
|
|
3808
3905
|
const c = [];
|
|
3809
|
-
for (let l = 0; l <=
|
|
3810
|
-
const u = l /
|
|
3811
|
-
c.push(new
|
|
3906
|
+
for (let l = 0; l <= r; l++) {
|
|
3907
|
+
const u = l / r, m = e(mo(u, a, i)), h = t + m * (o - t), f = n + u * (s - n);
|
|
3908
|
+
c.push(new I(h, f));
|
|
3812
3909
|
}
|
|
3813
3910
|
return c;
|
|
3814
3911
|
}
|
|
3815
|
-
function
|
|
3816
|
-
const o = new
|
|
3912
|
+
function ds(e) {
|
|
3913
|
+
const o = new et().setFromObject(e).getCenter(new x());
|
|
3817
3914
|
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
|
|
3818
3915
|
}
|
|
3819
|
-
function
|
|
3916
|
+
function Ms(e, t = new x(0, 0, 0)) {
|
|
3917
|
+
const o = new et().setFromObject(e), n = new x();
|
|
3918
|
+
o.getCenter(n);
|
|
3919
|
+
const s = new x().subVectors(t, n);
|
|
3920
|
+
e.position.add(s);
|
|
3921
|
+
}
|
|
3922
|
+
function ys(e) {
|
|
3820
3923
|
e.geometry.computeBoundingBox();
|
|
3821
3924
|
const t = e.geometry.boundingBox;
|
|
3822
3925
|
if (t) {
|
|
@@ -3824,100 +3927,108 @@ function hs(e) {
|
|
|
3824
3927
|
e.geometry.translate(-o.x, -o.y, -o.z);
|
|
3825
3928
|
}
|
|
3826
3929
|
}
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3930
|
+
function ws(e, t = new x(0, 0, 0)) {
|
|
3931
|
+
e.geometry.computeBoundingBox();
|
|
3932
|
+
const o = e.geometry.boundingBox;
|
|
3933
|
+
if (o) {
|
|
3934
|
+
const n = o.getCenter(new x()), s = new x().subVectors(t, n);
|
|
3935
|
+
e.geometry.translate(s.x, s.y, s.z);
|
|
3832
3936
|
}
|
|
3833
|
-
|
|
3834
|
-
|
|
3937
|
+
}
|
|
3938
|
+
const ho = (e, t, o, n, s = 24) => {
|
|
3835
3939
|
let r = [];
|
|
3836
|
-
for (let
|
|
3837
|
-
const
|
|
3838
|
-
r.push(new
|
|
3940
|
+
for (let a = 0; a <= s; a++) {
|
|
3941
|
+
const i = a / s, c = F.CUBIC(i, e.x, t.x, o.x, n.x), l = F.CUBIC(i, e.y, t.y, o.y, n.y);
|
|
3942
|
+
r.push(new I(c, l));
|
|
3839
3943
|
}
|
|
3840
3944
|
return r;
|
|
3841
|
-
},
|
|
3842
|
-
let s = [];
|
|
3843
|
-
for (let a = 0; a <= r; a++) {
|
|
3844
|
-
const i = a / r, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3845
|
-
s.push(new v(c, l));
|
|
3846
|
-
}
|
|
3847
|
-
return s;
|
|
3848
|
-
}, fo = (e, t, o, n, r = 24) => {
|
|
3945
|
+
}, fo = (e, t, o, n = 24) => {
|
|
3849
3946
|
let s = [];
|
|
3850
|
-
for (let
|
|
3851
|
-
const
|
|
3852
|
-
s.push(new
|
|
3947
|
+
for (let r = 0; r <= n; r++) {
|
|
3948
|
+
const a = r / n, i = F.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3949
|
+
s.push(new I(i, c));
|
|
3853
3950
|
}
|
|
3854
3951
|
return s;
|
|
3855
|
-
}, po = (e, t, o, n,
|
|
3856
|
-
let a = [];
|
|
3857
|
-
for (let i = 0; i <= s; i++) {
|
|
3858
|
-
const c = i / s, l = o * c * c + n * c + r + e.x, u = e.y + c * (t.y - e.y);
|
|
3859
|
-
a.push(new v(l, u));
|
|
3860
|
-
}
|
|
3861
|
-
return a;
|
|
3862
|
-
}, Mo = (e, t, o, n = 24) => {
|
|
3952
|
+
}, po = (e, t, o, n, s = 24) => {
|
|
3863
3953
|
let r = [];
|
|
3864
|
-
for (let
|
|
3865
|
-
const
|
|
3866
|
-
r.push(new
|
|
3954
|
+
for (let a = 0; a <= s; a++) {
|
|
3955
|
+
const i = a / s, c = F.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3956
|
+
r.push(new I(c, l));
|
|
3867
3957
|
}
|
|
3868
3958
|
return r;
|
|
3869
|
-
},
|
|
3959
|
+
}, Mo = (e, t, o, n, s = 24) => {
|
|
3870
3960
|
let r = [];
|
|
3871
|
-
for (let
|
|
3872
|
-
const
|
|
3873
|
-
r.push(new
|
|
3961
|
+
for (let a = 0; a <= s; a++) {
|
|
3962
|
+
const i = a / s, c = F.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3963
|
+
r.push(new I(c, l));
|
|
3874
3964
|
}
|
|
3875
3965
|
return r;
|
|
3876
|
-
},
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3966
|
+
}, yo = (e, t, o, n, s, r = 24) => {
|
|
3967
|
+
let a = [];
|
|
3968
|
+
for (let i = 0; i <= r; i++) {
|
|
3969
|
+
const c = i / r, l = o * c * c + n * c + s + e.x, u = e.y + c * (t.y - e.y);
|
|
3970
|
+
a.push(new I(l, u));
|
|
3971
|
+
}
|
|
3972
|
+
return a;
|
|
3973
|
+
}, wo = (e, t, o, n = 24) => {
|
|
3974
|
+
let s = [];
|
|
3975
|
+
for (let r = 0; r <= n; r++) {
|
|
3976
|
+
const a = r / n, i = F.QUADRATIC(a, e.x, t.x, o.x), c = F.QUADRATIC(a, e.y, t.y, o.y);
|
|
3977
|
+
s.push(new I(i, c));
|
|
3978
|
+
}
|
|
3979
|
+
return s;
|
|
3980
|
+
}, xo = (e, t, o, n = 24) => {
|
|
3981
|
+
let s = [];
|
|
3982
|
+
for (let r = 0; r <= n; r++) {
|
|
3983
|
+
const a = r / n, i = F.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3984
|
+
s.push(new I(i, c));
|
|
3985
|
+
}
|
|
3986
|
+
return s;
|
|
3987
|
+
}, xs = {
|
|
3988
|
+
createCubicCurvePoints: ho,
|
|
3989
|
+
createDampedCurvePoints: fo,
|
|
3990
|
+
createExponentialCurvePoints: po,
|
|
3991
|
+
createLogarithmicCurvePoints: Mo,
|
|
3992
|
+
createParabolicCurvePoints: yo,
|
|
3993
|
+
createQuadraticCurvePoints: wo,
|
|
3994
|
+
createSigmoidCurvePoints: xo
|
|
3884
3995
|
};
|
|
3885
|
-
function
|
|
3886
|
-
const l =
|
|
3996
|
+
function vs(e, t, o, n, s, r = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
|
|
3997
|
+
const l = s || vo(e, t, o);
|
|
3887
3998
|
return [
|
|
3888
3999
|
// Triangle 1
|
|
3889
|
-
{ pos: e, norm: l, uv:
|
|
4000
|
+
{ pos: e, norm: l, uv: r },
|
|
3890
4001
|
{ pos: t, norm: l, uv: a },
|
|
3891
4002
|
{ pos: n, norm: l, uv: c },
|
|
3892
4003
|
// Triangle 2
|
|
3893
|
-
{ pos: e, norm: l, uv:
|
|
4004
|
+
{ pos: e, norm: l, uv: r },
|
|
3894
4005
|
{ pos: n, norm: l, uv: c },
|
|
3895
4006
|
{ pos: o, norm: l, uv: i }
|
|
3896
4007
|
];
|
|
3897
4008
|
}
|
|
3898
|
-
function
|
|
4009
|
+
function vo(e, t, o) {
|
|
3899
4010
|
const n = [
|
|
3900
4011
|
t[0] - e[0],
|
|
3901
4012
|
t[1] - e[1],
|
|
3902
4013
|
t[2] - e[2]
|
|
3903
|
-
],
|
|
4014
|
+
], s = [
|
|
3904
4015
|
o[0] - e[0],
|
|
3905
4016
|
o[1] - e[1],
|
|
3906
4017
|
o[2] - e[2]
|
|
3907
|
-
],
|
|
3908
|
-
n[1] *
|
|
3909
|
-
n[2] *
|
|
3910
|
-
n[0] *
|
|
3911
|
-
], a = Math.sqrt(
|
|
3912
|
-
return
|
|
3913
|
-
}
|
|
3914
|
-
function
|
|
3915
|
-
return e.map(([o, n,
|
|
4018
|
+
], r = [
|
|
4019
|
+
n[1] * s[2] - n[2] * s[1],
|
|
4020
|
+
n[2] * s[0] - n[0] * s[2],
|
|
4021
|
+
n[0] * s[1] - n[1] * s[0]
|
|
4022
|
+
], a = Math.sqrt(r[0] ** 2 + r[1] ** 2 + r[2] ** 2);
|
|
4023
|
+
return r.map((i) => i / a);
|
|
4024
|
+
}
|
|
4025
|
+
function gs(e, t) {
|
|
4026
|
+
return e.map(([o, n, s]) => {
|
|
3916
4027
|
switch (t) {
|
|
3917
4028
|
case "x":
|
|
3918
|
-
return [n,
|
|
4029
|
+
return [n, s];
|
|
3919
4030
|
case "y":
|
|
3920
|
-
return [o,
|
|
4031
|
+
return [o, s];
|
|
3921
4032
|
case "z":
|
|
3922
4033
|
return [o, n];
|
|
3923
4034
|
default:
|
|
@@ -3925,220 +4036,226 @@ function ds(e, t) {
|
|
|
3925
4036
|
}
|
|
3926
4037
|
});
|
|
3927
4038
|
}
|
|
3928
|
-
function
|
|
3929
|
-
const [t, o, n] = e,
|
|
3930
|
-
return
|
|
4039
|
+
function go(e) {
|
|
4040
|
+
const [t, o, n] = e, s = Math.abs(t), r = Math.abs(o), a = Math.abs(n);
|
|
4041
|
+
return s >= r && s >= a ? [n > 0 ? n : -n, o] : r >= s && r >= a ? [t, n > 0 ? n : -n] : [t, o];
|
|
3931
4042
|
}
|
|
3932
|
-
function
|
|
3933
|
-
return e.map((t) =>
|
|
4043
|
+
function Is(e) {
|
|
4044
|
+
return e.map((t) => go(t));
|
|
3934
4045
|
}
|
|
3935
|
-
function
|
|
4046
|
+
function As(e) {
|
|
3936
4047
|
return e.map(([t, o, n]) => {
|
|
3937
|
-
const
|
|
4048
|
+
const s = Math.atan2(n, t), r = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = s / (2 * Math.PI) + 0.5, i = 1 - r / Math.PI;
|
|
3938
4049
|
return [a, i];
|
|
3939
4050
|
});
|
|
3940
4051
|
}
|
|
3941
|
-
function
|
|
4052
|
+
function Es(e) {
|
|
3942
4053
|
return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
|
|
3943
4054
|
}
|
|
3944
|
-
function
|
|
4055
|
+
function bs(e) {
|
|
3945
4056
|
return e.map(([t, o, n]) => {
|
|
3946
|
-
const
|
|
3947
|
-
return [Math.atan2(n, t) / (2 * Math.PI) + 0.5,
|
|
4057
|
+
const s = Math.sqrt(t ** 2 + n ** 2);
|
|
4058
|
+
return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, s];
|
|
3948
4059
|
});
|
|
3949
4060
|
}
|
|
3950
|
-
function
|
|
4061
|
+
function Io(e, t, o, n, s) {
|
|
3951
4062
|
return [
|
|
3952
4063
|
(e[0] - t) / (o - t),
|
|
3953
|
-
(e[1] - n) / (
|
|
4064
|
+
(e[1] - n) / (s - n)
|
|
3954
4065
|
];
|
|
3955
4066
|
}
|
|
3956
|
-
function
|
|
3957
|
-
const [n,
|
|
3958
|
-
return e.map((i) =>
|
|
4067
|
+
function Ss(e, t, o) {
|
|
4068
|
+
const [n, s] = t, [r, a] = o;
|
|
4069
|
+
return e.map((i) => Io(i, n, r, s, a));
|
|
3959
4070
|
}
|
|
3960
|
-
function
|
|
3961
|
-
const t = Math.min(...e.map((
|
|
4071
|
+
function Ps(e) {
|
|
4072
|
+
const t = Math.min(...e.map((r) => r[0])), o = Math.max(...e.map((r) => r[0])), n = Math.min(...e.map((r) => r[1])), s = Math.max(...e.map((r) => r[1]));
|
|
3962
4073
|
return {
|
|
3963
4074
|
minBounds: [t, n],
|
|
3964
|
-
maxBounds: [o,
|
|
4075
|
+
maxBounds: [o, s]
|
|
3965
4076
|
};
|
|
3966
4077
|
}
|
|
3967
4078
|
export {
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
4079
|
+
Wn as AtmosphericSkybox,
|
|
4080
|
+
ht as Axis,
|
|
4081
|
+
jo as BifurcatedStaircaseGeometry,
|
|
4082
|
+
Yn as Bone,
|
|
4083
|
+
He as BoneGeometry,
|
|
4084
|
+
rn as Book,
|
|
4085
|
+
yt as BookGeometry,
|
|
4086
|
+
wn as Bookshelf,
|
|
4087
|
+
Fe as BookshelfGeometry,
|
|
4088
|
+
Yo as BubblingEffect,
|
|
4089
|
+
Sn as BunsenBurner,
|
|
4090
|
+
Dn as Burst,
|
|
4091
|
+
no as BurstShape,
|
|
4092
|
+
vn as Candle,
|
|
4093
|
+
De as CandleGeometry,
|
|
4094
|
+
it as ColorPalette,
|
|
4095
|
+
un as CrossHeadstone,
|
|
4096
|
+
Be as CrossHeadstoneGeometry,
|
|
4097
|
+
ts as DaySkybox,
|
|
4098
|
+
xn as Desk,
|
|
4099
|
+
Le as DeskGeometry,
|
|
4100
|
+
Qo as DioramaGeometry,
|
|
4101
|
+
ot as Direction,
|
|
4102
|
+
qo as Easing,
|
|
4103
|
+
Pn as ElectricPanel,
|
|
3992
4104
|
Ee as EllipticLeafGeometry,
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
4105
|
+
Ro as EmissivePulseAnimation,
|
|
4106
|
+
Tn as ErlenmeyerFlask,
|
|
4107
|
+
Xe as ErlenmeyerFlaskGeometry,
|
|
3996
4108
|
K as Falloff,
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4109
|
+
gn as Flame,
|
|
4110
|
+
It as FlameGeometry,
|
|
4111
|
+
Gn as FlorenceFlask,
|
|
4112
|
+
Qe as FlorenceFlaskGeometry,
|
|
4113
|
+
kn as Gear,
|
|
4114
|
+
so as GearShape,
|
|
4115
|
+
Vn as Heart,
|
|
4116
|
+
ro as HeartShape,
|
|
4117
|
+
Xn as Hill,
|
|
4118
|
+
We as HillGeometry,
|
|
4119
|
+
an as Jar,
|
|
4120
|
+
Pe as JarGeometry,
|
|
4121
|
+
Ko as LShapedStaircaseGeometry,
|
|
4122
|
+
In as Lantern,
|
|
4123
|
+
Ho as LeafEffect,
|
|
4124
|
+
Cn as LeverPanel,
|
|
4125
|
+
_o as LightFlickerAnimation,
|
|
4126
|
+
Oo as LightningAnimation,
|
|
4127
|
+
Wo as LineEquations,
|
|
4128
|
+
mn as Mausoleum,
|
|
4129
|
+
Re as MausoleumGeometry,
|
|
4130
|
+
Bn as Microscope,
|
|
4131
|
+
sn as Moon,
|
|
4132
|
+
Rn as MortarAndPestle,
|
|
4133
|
+
Ke as MortarGeometry,
|
|
4134
|
+
An as MossyRocks,
|
|
4135
|
+
ke as MossyRocksGeometry,
|
|
4136
|
+
Zn as Mound,
|
|
4137
|
+
to as MoundGeometry,
|
|
4138
|
+
es as NightSkybox,
|
|
4139
|
+
hn as ObeliskHeadstone,
|
|
4140
|
+
Ne as ObeliskHeadstoneGeometry,
|
|
4141
|
+
Nn as Panel,
|
|
4142
|
+
_n as PanelLight,
|
|
4028
4143
|
F as ParametricCurve,
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4144
|
+
xs as ParametricCurveUtils,
|
|
4145
|
+
cn as PotionBottle,
|
|
4146
|
+
Ge as PotionBottleGeometry,
|
|
4147
|
+
En as Rock,
|
|
4148
|
+
qe as RockGeometry,
|
|
4149
|
+
bn as Rocks,
|
|
4150
|
+
Ye as RocksGeometry,
|
|
4151
|
+
fn as RoundedHeadstone,
|
|
4152
|
+
_e as RoundedHeadstoneGeometry,
|
|
4153
|
+
Jo as SpiralStaircaseGeometry,
|
|
4154
|
+
Un as SpiralTube,
|
|
4155
|
+
pn as SquareHeadstone,
|
|
4156
|
+
Ue as SquareHeadstoneGeometry,
|
|
4157
|
+
$o as StaircaseGeometry,
|
|
4158
|
+
On as Stand,
|
|
4159
|
+
Je as StandGeometry,
|
|
4160
|
+
qn as Star,
|
|
4161
|
+
ao as StarShape,
|
|
4162
|
+
dn as StoneFencePost,
|
|
4163
|
+
Oe as StoneFencePostGeometry,
|
|
4164
|
+
zn as TeslaCoil,
|
|
4165
|
+
$e as TeslaCoilGeometry,
|
|
4166
|
+
Fn as TestTube,
|
|
4167
|
+
ct as TestTubeGeometry,
|
|
4168
|
+
Ln as TestTubeRack,
|
|
4169
|
+
Hn as Tree,
|
|
4170
|
+
eo as TreeGeometry,
|
|
4171
|
+
ln as WineBottle,
|
|
4172
|
+
Ce as WineBottleGeometry,
|
|
4173
|
+
Mn as WroughtIronBar,
|
|
4174
|
+
gt as WroughtIronBarGeometry,
|
|
4175
|
+
yn as WroughtIronFence,
|
|
4176
|
+
ze as WroughtIronFenceGeometry,
|
|
4177
|
+
Kn as addNoiseDisplacement,
|
|
4178
|
+
jn as addWaterDisplacement,
|
|
4179
|
+
je as appendSphericalCurve,
|
|
4180
|
+
st as atmosphericShader,
|
|
4181
|
+
uo as calculateChannelDifference,
|
|
4182
|
+
lo as calculateDistance,
|
|
4183
|
+
vo as calculateNormal,
|
|
4184
|
+
Ps as calculateUVBounds,
|
|
4185
|
+
vt as calculateXFromSlopeIntercept,
|
|
4186
|
+
Te as calculateYFromSlopeIntercept,
|
|
4187
|
+
bo as cameraDollyAnimation,
|
|
4188
|
+
So as cameraFlythroughAnimation,
|
|
4189
|
+
Po as cameraOrbitAnimation,
|
|
4190
|
+
To as cameraPendulumAnimation,
|
|
4191
|
+
Go as cameraSpiralAscensionAnimation,
|
|
4192
|
+
Co as cameraWobbleAnimation,
|
|
4193
|
+
Bo as cameraZoomInAnimation,
|
|
4194
|
+
Ze as capHeightFromRadius,
|
|
4195
|
+
en as capWidthFromRadius,
|
|
4196
|
+
nn as cartesianToSpherical,
|
|
4197
|
+
ms as centerGroup,
|
|
4198
|
+
hs as centerGroupAtTarget,
|
|
4199
|
+
fs as centerInstancedMesh,
|
|
4200
|
+
ds as centerMesh,
|
|
4201
|
+
Ms as centerMeshAtTarget,
|
|
4202
|
+
ys as centerMeshGeometry,
|
|
4203
|
+
ws as centerMeshGeometryAtTarget,
|
|
4204
|
+
os as checkerboardTexture,
|
|
4088
4205
|
re as circularEaseIn,
|
|
4089
4206
|
ie as circularEaseInOut,
|
|
4090
4207
|
ae as circularEaseOut,
|
|
4091
4208
|
ue as concave,
|
|
4092
4209
|
me as convex,
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
|
|
4210
|
+
ho as createCubicCurvePoints,
|
|
4211
|
+
fo as createDampedCurvePoints,
|
|
4212
|
+
po as createExponentialCurvePoints,
|
|
4213
|
+
Mo as createLogarithmicCurvePoints,
|
|
4214
|
+
yo as createParabolicCurvePoints,
|
|
4215
|
+
vs as createQuad,
|
|
4216
|
+
wo as createQuadraticCurvePoints,
|
|
4217
|
+
xo as createSigmoidCurvePoints,
|
|
4101
4218
|
Me as cubicCurve,
|
|
4102
4219
|
Zt as cubicEaseIn,
|
|
4103
4220
|
Qt as cubicEaseInOut,
|
|
4104
4221
|
jt as cubicEaseOut,
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4222
|
+
go as cubicUVMapping,
|
|
4223
|
+
Is as cubicUVMappingBatch,
|
|
4224
|
+
Es as cylindricalUVMapping,
|
|
4108
4225
|
ye as dampedCurve,
|
|
4109
|
-
|
|
4110
|
-
|
|
4226
|
+
rt as daySkyShader,
|
|
4227
|
+
zo as displacementBrush,
|
|
4111
4228
|
we as exponentialCurve,
|
|
4112
4229
|
oe as exponentialEaseIn,
|
|
4113
4230
|
se as exponentialEaseInOut,
|
|
4114
4231
|
ne as exponentialEaseOut,
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4232
|
+
$n as fadeShader,
|
|
4233
|
+
cs as findClosestColor,
|
|
4234
|
+
ls as findClosestColorChannelWise,
|
|
4235
|
+
Fo as flattenBrush,
|
|
4119
4236
|
de as gaussian,
|
|
4120
|
-
|
|
4121
|
-
|
|
4237
|
+
us as getAnalogousColors,
|
|
4238
|
+
ss as hexToHsl,
|
|
4122
4239
|
X as hexToRgb,
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4240
|
+
rs as hslToHex,
|
|
4241
|
+
io as hslToRgb,
|
|
4242
|
+
ps as interpolateCurve,
|
|
4126
4243
|
pe as inverse,
|
|
4127
4244
|
ce as linear,
|
|
4128
4245
|
he as logarithmic,
|
|
4129
|
-
|
|
4246
|
+
xe as logarithmicCurve,
|
|
4130
4247
|
Ft as logarithmicRandomMax,
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4248
|
+
Lt as logarithmicRandomMin,
|
|
4249
|
+
oo as moonShader,
|
|
4250
|
+
at as nightSkyShader,
|
|
4251
|
+
Lo as noiseBrush,
|
|
4252
|
+
as as normalizeRgb,
|
|
4253
|
+
Io as normalizeUV,
|
|
4254
|
+
Ss as normalizeUVBatch,
|
|
4255
|
+
ve as parabolicCurve,
|
|
4256
|
+
ns as parseHexCode,
|
|
4257
|
+
gs as planarUVMapping,
|
|
4258
|
+
bs as polarUVMapping,
|
|
4142
4259
|
ge as quadraticCurve,
|
|
4143
4260
|
Yt as quadraticEaseIn,
|
|
4144
4261
|
Xt as quadraticEaseInOut,
|
|
@@ -4149,31 +4266,31 @@ export {
|
|
|
4149
4266
|
Wt as quinticEaseIn,
|
|
4150
4267
|
ee as quinticEaseInOut,
|
|
4151
4268
|
te as quinticEaseOut,
|
|
4152
|
-
|
|
4269
|
+
tn as radiusFromCapHeight,
|
|
4153
4270
|
At as radiusFromCapWidth,
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4271
|
+
mt as randomFloat,
|
|
4272
|
+
No as randomInteger,
|
|
4273
|
+
Ve as randomTransformVertices,
|
|
4274
|
+
is as rgbToHex,
|
|
4275
|
+
co as rgbToHsl,
|
|
4276
|
+
Xo as rowOfBooksByCount,
|
|
4277
|
+
Zo as rowOfBooksByLength,
|
|
4161
4278
|
xt as rowOfBooksByScales,
|
|
4162
|
-
|
|
4279
|
+
Uo as setRandomInterval,
|
|
4163
4280
|
Dt as setRandomTimeout,
|
|
4164
4281
|
Ie as sigmoidCurve,
|
|
4165
4282
|
kt as sineEaseIn,
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4283
|
+
qt as sineEaseInOut,
|
|
4284
|
+
Vt as sineEaseOut,
|
|
4285
|
+
Do as smoothBrush,
|
|
4169
4286
|
le as smoothstep,
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4287
|
+
on as sphericalToCartesian,
|
|
4288
|
+
As as sphericalUVMapping,
|
|
4289
|
+
ko as spikeBrush,
|
|
4173
4290
|
fe as squareRoot,
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4291
|
+
dt as thetaLengthForRadius,
|
|
4292
|
+
Vo as twistBrush,
|
|
4293
|
+
Jn as updateNoiseDisplacementTime,
|
|
4294
|
+
Qn as updateWaterDisplacementTime
|
|
4178
4295
|
};
|
|
4179
4296
|
//# sourceMappingURL=index.es.js.map
|