three-low-poly 0.9.13 → 0.9.15
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 +12 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +611 -53
- package/dist/index.es.js +1895 -1496
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +12 -12
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +12 -12
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,216 +1,489 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { Vector3 as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
var gt = Object.defineProperty;
|
|
2
|
+
var bt = (e, t, o) => t in e ? gt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
|
3
|
+
var g = (e, t, o) => bt(e, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
+
import { Vector3 as b, MathUtils as O, Quaternion as It, InstancedMesh as rt, SphereGeometry as N, MeshStandardMaterial as M, Matrix4 as X, BufferGeometry as S, Float32BufferAttribute as q, DoubleSide as L, Euler as At, BufferAttribute as R, BoxGeometry as A, ConeGeometry as Z, CylinderGeometry as E, Vector2 as I, LatheGeometry as Y, CircleGeometry as St, TorusGeometry as ht, DodecahedronGeometry as at, Group as G, ShaderMaterial as $, Mesh as y, Shape as j, ExtrudeGeometry as H, MeshBasicMaterial as Et, PointLight as ft, MeshPhysicalMaterial as J, CatmullRomCurve3 as Pt, TubeGeometry as Tt, Path as Gt, Color as K, BackSide as it, DataTexture as Bt, RGBAFormat as Ct, UnsignedByteType as Ut, RepeatWrapping as ut, NearestFilter as zt, Box3 as ct } from "three";
|
|
5
|
+
function ro(e, t, o, n) {
|
|
6
|
+
const r = e.position.clone(), s = r.clone().add(e.getWorldDirection(new b()).multiplyScalar(-t));
|
|
7
|
+
let a = null;
|
|
8
|
+
function i(c) {
|
|
9
|
+
a === null && (a = c);
|
|
10
|
+
const u = (c - a) / o;
|
|
11
|
+
if (u >= 1) {
|
|
12
|
+
e.position.copy(s), n && n();
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
e.position.lerpVectors(r, s, u), requestAnimationFrame(i);
|
|
16
|
+
}
|
|
17
|
+
requestAnimationFrame(i);
|
|
18
|
+
}
|
|
19
|
+
function ao(e, t, o, n) {
|
|
20
|
+
const r = t.length - 1;
|
|
21
|
+
let s = null;
|
|
22
|
+
function a(i) {
|
|
23
|
+
s === null && (s = i);
|
|
24
|
+
const l = (i - s) / o;
|
|
25
|
+
if (l >= 1) {
|
|
26
|
+
e.position.copy(t[t.length - 1]), n && n();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const u = l * r, m = Math.floor(u), h = u - m, f = t[m], p = t[m + 1];
|
|
30
|
+
e.position.lerpVectors(f, p, h), e.lookAt(p), requestAnimationFrame(a);
|
|
31
|
+
}
|
|
32
|
+
requestAnimationFrame(a);
|
|
33
|
+
}
|
|
34
|
+
function io(e, t, o, n, r) {
|
|
35
|
+
let s = null;
|
|
36
|
+
function a(i) {
|
|
37
|
+
s || (s = i);
|
|
38
|
+
const l = (i - s) / n;
|
|
39
|
+
if (l >= 1) {
|
|
40
|
+
r && r();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const u = l * Math.PI * 2, m = t.x + o * Math.cos(u), h = t.z + o * Math.sin(u);
|
|
44
|
+
e.position.set(m, e.position.y, h), e.lookAt(t), requestAnimationFrame(a);
|
|
45
|
+
}
|
|
46
|
+
requestAnimationFrame(a);
|
|
47
|
+
}
|
|
48
|
+
function co(e, t, o, n, r, s) {
|
|
49
|
+
let a = null, i = 0;
|
|
50
|
+
function c(l) {
|
|
51
|
+
a === null && (a = l);
|
|
52
|
+
const u = l - a, m = n / r, 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 >= r) {
|
|
54
|
+
s && s();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
requestAnimationFrame(c);
|
|
58
|
+
}
|
|
59
|
+
requestAnimationFrame(c);
|
|
60
|
+
}
|
|
61
|
+
function lo(e, t, o, n, r, s, a) {
|
|
62
|
+
let i = null;
|
|
63
|
+
function c(l) {
|
|
64
|
+
i === null && (i = l);
|
|
65
|
+
const m = (l - i) / s;
|
|
66
|
+
if (m >= 1) {
|
|
67
|
+
a && a();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const h = m * Math.PI * 2 * r, f = t.x + o * Math.cos(h), p = t.z + o * Math.sin(h), d = t.y + n * m;
|
|
71
|
+
e.position.set(f, d, p), e.lookAt(t), requestAnimationFrame(c);
|
|
72
|
+
}
|
|
73
|
+
requestAnimationFrame(c);
|
|
74
|
+
}
|
|
75
|
+
function uo(e, t, o, n) {
|
|
76
|
+
const r = e.position.clone();
|
|
77
|
+
let s = null;
|
|
78
|
+
function a(i) {
|
|
79
|
+
if (s === null && (s = i), (i - s) / o >= 1) {
|
|
80
|
+
e.position.copy(r), n && n();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const u = new b(
|
|
84
|
+
(Math.random() - 0.5) * t,
|
|
85
|
+
(Math.random() - 0.5) * t,
|
|
86
|
+
(Math.random() - 0.5) * t
|
|
87
|
+
);
|
|
88
|
+
e.position.copy(r).add(u), requestAnimationFrame(a);
|
|
89
|
+
}
|
|
90
|
+
requestAnimationFrame(a);
|
|
91
|
+
}
|
|
92
|
+
function mo(e, t, o, n, r, s) {
|
|
93
|
+
const a = e.fov;
|
|
94
|
+
e.fov = o, e.updateProjectionMatrix();
|
|
95
|
+
let i = null;
|
|
96
|
+
function c(l) {
|
|
97
|
+
i === null && (i = l);
|
|
98
|
+
const m = (l - i) / r;
|
|
99
|
+
if (m >= 1) {
|
|
100
|
+
e.fov = n, e.updateProjectionMatrix(), e.lookAt(t), e.fov = a, e.updateProjectionMatrix(), s && s();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
e.fov = O.lerp(o, n, m), e.updateProjectionMatrix(), e.lookAt(t), requestAnimationFrame(c);
|
|
104
|
+
}
|
|
105
|
+
requestAnimationFrame(c);
|
|
106
|
+
}
|
|
107
|
+
const W = {
|
|
108
|
+
UP: new b(0, 1, 0),
|
|
109
|
+
DOWN: new b(0, -1, 0),
|
|
110
|
+
LEFT: new b(-1, 0, 0),
|
|
111
|
+
RIGHT: new b(1, 0, 0),
|
|
112
|
+
FORWARD: new b(0, 0, 1),
|
|
113
|
+
BACKWARD: new b(0, 0, -1)
|
|
19
114
|
}, Q = {
|
|
20
|
-
LINEAR: (
|
|
21
|
-
QUADRATIC: (
|
|
22
|
-
SQUARE_ROOT: (
|
|
23
|
-
LOGARITHMIC: (
|
|
24
|
-
SINE: (
|
|
25
|
-
EXPONENTIAL: (
|
|
26
|
-
CUBIC: (
|
|
27
|
-
GAUSSIAN: (
|
|
28
|
-
INVERSE: (
|
|
29
|
-
SMOOTHSTEP: (
|
|
30
|
-
const o = Math.max(0, Math.min(1, 1 -
|
|
115
|
+
LINEAR: (e, t) => 1 - e / t,
|
|
116
|
+
QUADRATIC: (e, t) => Math.pow(1 - e / t, 2),
|
|
117
|
+
SQUARE_ROOT: (e, t) => Math.pow(1 - e / t, 0.5),
|
|
118
|
+
LOGARITHMIC: (e, t) => Math.log(1 + (t - e)) / Math.log(1 + t),
|
|
119
|
+
SINE: (e, t) => Math.cos(e / t * Math.PI / 2),
|
|
120
|
+
EXPONENTIAL: (e, t) => Math.exp(-e / t),
|
|
121
|
+
CUBIC: (e, t) => Math.pow(1 - e / t, 3),
|
|
122
|
+
GAUSSIAN: (e, t) => Math.exp(-Math.pow(e, 2) / (2 * Math.pow(t / 3, 2))),
|
|
123
|
+
INVERSE: (e, t) => t / (t + e),
|
|
124
|
+
SMOOTHSTEP: (e, t) => {
|
|
125
|
+
const o = Math.max(0, Math.min(1, 1 - e / t));
|
|
31
126
|
return o * o * (3 - 2 * o);
|
|
32
127
|
}
|
|
33
|
-
},
|
|
34
|
-
const
|
|
35
|
-
for (let
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
const l =
|
|
128
|
+
}, ho = (e, t, o, n, r = W.UP, s = Q.LINEAR) => {
|
|
129
|
+
const a = e.attributes.position;
|
|
130
|
+
for (let i = 0; i < a.count; i++) {
|
|
131
|
+
const c = new b();
|
|
132
|
+
c.fromBufferAttribute(a, i);
|
|
133
|
+
const l = c.distanceTo(t);
|
|
39
134
|
if (l < o) {
|
|
40
|
-
const m =
|
|
41
|
-
|
|
135
|
+
const m = s(l, o) * n;
|
|
136
|
+
c.add(r.clone().multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
42
137
|
}
|
|
43
138
|
}
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
const
|
|
47
|
-
for (let
|
|
48
|
-
const l = new
|
|
49
|
-
l.fromBufferAttribute(
|
|
50
|
-
const u = l.distanceTo(
|
|
139
|
+
a.needsUpdate = !0;
|
|
140
|
+
}, fo = (e, t, o, n, r, s = W.UP, a = Q.LINEAR) => {
|
|
141
|
+
const i = e.attributes.position;
|
|
142
|
+
for (let c = 0; c < i.count; c++) {
|
|
143
|
+
const l = new b();
|
|
144
|
+
l.fromBufferAttribute(i, c);
|
|
145
|
+
const u = l.distanceTo(t);
|
|
51
146
|
if (u < o) {
|
|
52
|
-
const h =
|
|
53
|
-
l.add(
|
|
147
|
+
const h = a(u, o) * r, f = l.dot(s.normalize()), p = n - f;
|
|
148
|
+
l.add(s.clone().multiplyScalar(p * h)), i.setXYZ(c, l.x, l.y, l.z);
|
|
54
149
|
}
|
|
55
150
|
}
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
const
|
|
59
|
-
for (let
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const l =
|
|
151
|
+
i.needsUpdate = !0;
|
|
152
|
+
}, po = (e, t, o, n, r = W.UP, s = Q.LINEAR) => {
|
|
153
|
+
const a = e.attributes.position;
|
|
154
|
+
for (let i = 0; i < a.count; i++) {
|
|
155
|
+
const c = new b();
|
|
156
|
+
c.fromBufferAttribute(a, i);
|
|
157
|
+
const l = c.distanceTo(t);
|
|
63
158
|
if (l < o) {
|
|
64
|
-
const u =
|
|
65
|
-
|
|
159
|
+
const u = s(l, o), m = n * u, h = r.clone().normalize();
|
|
160
|
+
c.x += O.randFloatSpread(m) * h.x, c.y += O.randFloatSpread(m) * h.y, c.z += O.randFloatSpread(m) * h.z, a.setXYZ(i, c.x, c.y, c.z);
|
|
66
161
|
}
|
|
67
162
|
}
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
const
|
|
71
|
-
for (let
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
let l = new
|
|
75
|
-
for (let m = 0; m <
|
|
76
|
-
|
|
77
|
-
u > 0 && (l.divideScalar(u),
|
|
163
|
+
a.needsUpdate = !0;
|
|
164
|
+
}, yo = (e, t, o, n) => {
|
|
165
|
+
const r = e.attributes.position, s = new b();
|
|
166
|
+
for (let a = 0; a < r.count; a++) {
|
|
167
|
+
const i = new b();
|
|
168
|
+
if (i.fromBufferAttribute(r, a), i.distanceTo(t) < o) {
|
|
169
|
+
let l = new b(), u = 0;
|
|
170
|
+
for (let m = 0; m < r.count; m++)
|
|
171
|
+
s.fromBufferAttribute(r, m), s.distanceTo(i) < o && (l.add(s), u++);
|
|
172
|
+
u > 0 && (l.divideScalar(u), i.lerp(l, n), r.setXYZ(a, i.x, i.y, i.z));
|
|
78
173
|
}
|
|
79
174
|
}
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
const
|
|
83
|
-
for (let
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
const l =
|
|
175
|
+
r.needsUpdate = !0;
|
|
176
|
+
}, Mo = (e, t, o, n, r = !1, s = Q.LINEAR) => {
|
|
177
|
+
const a = e.attributes.position;
|
|
178
|
+
for (let i = 0; i < a.count; i++) {
|
|
179
|
+
const c = new b();
|
|
180
|
+
c.fromBufferAttribute(a, i);
|
|
181
|
+
const l = c.distanceTo(t);
|
|
87
182
|
if (l < o) {
|
|
88
|
-
const m =
|
|
89
|
-
|
|
183
|
+
const m = s(l, o) * n * (r ? -1 : 1), h = c.clone().sub(t).normalize();
|
|
184
|
+
c.add(h.multiplyScalar(m)), a.setXYZ(i, c.x, c.y, c.z);
|
|
90
185
|
}
|
|
91
186
|
}
|
|
92
|
-
|
|
93
|
-
},
|
|
94
|
-
const
|
|
95
|
-
for (let
|
|
96
|
-
const l = new
|
|
97
|
-
l.fromBufferAttribute(
|
|
98
|
-
const u = l.distanceTo(
|
|
187
|
+
a.needsUpdate = !0;
|
|
188
|
+
}, wo = (e, t, o, n, r = W.UP, s = Q.LINEAR) => {
|
|
189
|
+
const a = e.attributes.position, i = new It();
|
|
190
|
+
for (let c = 0; c < a.count; c++) {
|
|
191
|
+
const l = new b();
|
|
192
|
+
l.fromBufferAttribute(a, c);
|
|
193
|
+
const u = l.distanceTo(t);
|
|
99
194
|
if (u < o) {
|
|
100
|
-
const h =
|
|
101
|
-
|
|
195
|
+
const h = s(u, o) * n;
|
|
196
|
+
i.setFromAxisAngle(r, h), l.sub(t).applyQuaternion(i).add(t), a.setXYZ(c, l.x, l.y, l.z);
|
|
102
197
|
}
|
|
103
198
|
}
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
199
|
+
a.needsUpdate = !0;
|
|
200
|
+
}, lt = {
|
|
201
|
+
X: new b(1, 0, 0),
|
|
202
|
+
Y: new b(0, 1, 0),
|
|
203
|
+
Z: new b(0, 0, 1),
|
|
204
|
+
XY: new b(1, 1, 0).normalize(),
|
|
205
|
+
XZ: new b(1, 0, 1).normalize(),
|
|
206
|
+
YZ: new b(0, 1, 1).normalize(),
|
|
207
|
+
XYZ: new b(1, 1, 1).normalize()
|
|
208
|
+
}, Nt = (e) => 1 - Math.cos(e * Math.PI / 2), kt = (e) => Math.sin(e * Math.PI / 2), Ft = (e) => -0.5 * (Math.cos(Math.PI * e) - 1), Ot = (e) => e * e, _t = (e) => 1 - Math.pow(1 - e, 2), Rt = (e) => e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2, Lt = (e) => e * e * e, qt = (e) => 1 - Math.pow(1 - e, 3), Dt = (e) => e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2, Vt = (e) => e * e * e * e, Xt = (e) => 1 - Math.pow(1 - e, 4), Zt = (e) => e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2, Yt = (e) => e * e * e * e * e, jt = (e) => 1 - Math.pow(1 - e, 5), Ht = (e) => e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2, Qt = (e) => e === 0 ? 0 : Math.pow(2, 10 * e - 10), Kt = (e) => e === 1 ? 1 : 1 - Math.pow(2, -10 * e), $t = (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, Jt = (e) => 1 - Math.sqrt(1 - Math.pow(e, 2)), Wt = (e) => Math.sqrt(1 - Math.pow(e - 1, 2)), te = (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, ee = (e) => e, oe = (e) => e * e * (3 - 2 * e), ne = (e) => 1 - Math.pow(1 - e, 0.3), se = (e) => Math.pow(e, 0.3), re = (e) => Math.log(Math.max(0.01, e)) / Math.log(2), ae = (e) => Math.sqrt(e), ie = (e) => 1 - e, ce = (e) => Math.exp(-Math.pow(e - 0.5, 2) / (2 * 0.5)), vo = {
|
|
209
|
+
SINE_EASE_IN: Nt,
|
|
210
|
+
SINE_EASE_OUT: kt,
|
|
211
|
+
SINE_EASE_IN_OUT: Ft,
|
|
212
|
+
QUADRATIC_EASE_IN: Ot,
|
|
213
|
+
QUADRATIC_EASE_OUT: _t,
|
|
214
|
+
QUADRATIC_EASE_IN_OUT: Rt,
|
|
215
|
+
CUBIC_EASE_IN: Lt,
|
|
216
|
+
CUBIC_EASE_OUT: qt,
|
|
217
|
+
CUBIC_EASE_IN_OUT: Dt,
|
|
218
|
+
QUARTIC_EASE_IN: Vt,
|
|
219
|
+
QUARTIC_EASE_OUT: Xt,
|
|
220
|
+
QUARTIC_EASE_IN_OUT: Zt,
|
|
221
|
+
QUINTIC_EASE_IN: Yt,
|
|
222
|
+
QUINTIC_EASE_OUT: jt,
|
|
223
|
+
QUINTIC_EASE_IN_OUT: Ht,
|
|
224
|
+
EXPONENTIAL_EASE_IN: Qt,
|
|
225
|
+
EXPONENTIAL_EASE_OUT: Kt,
|
|
226
|
+
EXPONENTIAL_EASE_IN_OUT: $t,
|
|
227
|
+
CIRCULAR_EASE_IN: Jt,
|
|
228
|
+
CIRCULAR_EASE_OUT: Wt,
|
|
229
|
+
CIRCULAR_EASE_IN_OUT: te,
|
|
230
|
+
LINEAR: ee,
|
|
231
|
+
SMOOTHSTEP: oe,
|
|
232
|
+
CONCAVE: ne,
|
|
233
|
+
CONVEX: se,
|
|
234
|
+
LOGARITHMIC: re,
|
|
235
|
+
SQUARE_ROOT: ae,
|
|
236
|
+
INVERSE: ie,
|
|
237
|
+
GAUSSIAN: ce
|
|
238
|
+
}, le = (e, t, o, n, r) => {
|
|
239
|
+
const s = Math.max(0, Math.min(1, e)), a = 1 - s;
|
|
240
|
+
return a * a * a * t + 3 * a * a * s * o + 3 * a * s * s * n + s * s * s * r;
|
|
241
|
+
}, ue = (e, t = 1) => {
|
|
242
|
+
const o = Math.max(1e-3, t);
|
|
243
|
+
return (1 - Math.exp(-o * e)) / (1 - Math.exp(-o));
|
|
244
|
+
}, me = (e, t = 1, o = 1) => {
|
|
245
|
+
const n = Math.max(0, Math.min(1, e));
|
|
246
|
+
return t * Math.pow(n, o);
|
|
247
|
+
}, he = (e, t = 1, o = 1) => {
|
|
248
|
+
const n = Math.max(1e-3, Math.min(1, e));
|
|
249
|
+
return t * Math.log(o * n + 1);
|
|
250
|
+
}, fe = (e, t = 1, o = 0, n = 0) => {
|
|
251
|
+
const r = Math.max(0, Math.min(1, e));
|
|
252
|
+
return t * r * r + o * r + n;
|
|
253
|
+
}, pe = (e, t, o, n) => {
|
|
254
|
+
const r = Math.max(0, Math.min(1, e)), s = 1 - r;
|
|
255
|
+
return s * s * t + 2 * s * r * o + r * r * n;
|
|
256
|
+
}, de = (e, t = 10) => {
|
|
257
|
+
const o = Math.max(0, Math.min(1, e));
|
|
258
|
+
return 1 / (1 + Math.exp(-t * (o - 0.5)));
|
|
259
|
+
}, ye = (e) => Math.sin(e * Math.PI * 0.5), _ = {
|
|
260
|
+
CUBIC: le,
|
|
261
|
+
DAMPED: ue,
|
|
262
|
+
EXPONENTIAL: me,
|
|
263
|
+
LOGARITHMIC: he,
|
|
264
|
+
PARABOLIC: fe,
|
|
265
|
+
QUADRATIC: pe,
|
|
266
|
+
SIGMOID: de,
|
|
267
|
+
SINUSOIDAL: ye
|
|
165
268
|
};
|
|
166
|
-
class
|
|
167
|
-
constructor() {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
269
|
+
class xo extends rt {
|
|
270
|
+
constructor(o = {}) {
|
|
271
|
+
const {
|
|
272
|
+
count: n = 20,
|
|
273
|
+
width: r = 1.5,
|
|
274
|
+
height: s = 3,
|
|
275
|
+
depth: a = 1.5,
|
|
276
|
+
geometry: i = new N(0.1, 6, 6),
|
|
277
|
+
// Small spheres
|
|
278
|
+
material: c = new M({
|
|
279
|
+
color: 16777215,
|
|
280
|
+
transparent: !0,
|
|
281
|
+
opacity: 0.6,
|
|
282
|
+
roughness: 0.3,
|
|
283
|
+
metalness: 0.3
|
|
284
|
+
})
|
|
285
|
+
} = o;
|
|
286
|
+
super(i, c, n);
|
|
287
|
+
g(this, "bubblePositions", []);
|
|
288
|
+
g(this, "velocities", []);
|
|
289
|
+
g(this, "width");
|
|
290
|
+
g(this, "height");
|
|
291
|
+
g(this, "depth");
|
|
292
|
+
this.height = s, this.width = r, this.depth = a;
|
|
293
|
+
for (let l = 0; l < this.count; l++) {
|
|
294
|
+
const u = new b(
|
|
295
|
+
(Math.random() - 0.5) * r,
|
|
296
|
+
Math.random() * (s - 1) + 0.5,
|
|
297
|
+
(Math.random() - 0.5) * a
|
|
298
|
+
);
|
|
299
|
+
this.bubblePositions.push(u), this.velocities.push(0.01 + Math.random() * 0.02), this.updateInstanceMatrix(l);
|
|
188
300
|
}
|
|
189
|
-
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Updates the position of a specific bubble instance in the InstancedMesh.
|
|
304
|
+
*/
|
|
305
|
+
updateInstanceMatrix(o) {
|
|
306
|
+
const n = this.bubblePositions[o], r = new X().setPosition(n);
|
|
307
|
+
this.setMatrixAt(o, r), this.instanceMatrix.needsUpdate = !0;
|
|
190
308
|
}
|
|
191
309
|
/**
|
|
192
310
|
* Updates bubble positions, moving them upward and resetting them
|
|
193
311
|
* to the bottom if they reach the top.
|
|
194
312
|
*/
|
|
195
|
-
|
|
196
|
-
this.
|
|
197
|
-
|
|
198
|
-
|
|
313
|
+
update() {
|
|
314
|
+
for (let o = 0; o < this.count; o++) {
|
|
315
|
+
const n = this.bubblePositions[o];
|
|
316
|
+
n.y += this.velocities[o], n.y > this.height && (n.x = (Math.random() - 0.5) * this.width, n.y = 0, n.z = (Math.random() - 0.5) * this.depth), this.updateInstanceMatrix(o);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
class go {
|
|
321
|
+
constructor(t) {
|
|
322
|
+
g(this, "speed");
|
|
323
|
+
g(this, "maxIntensity");
|
|
324
|
+
g(this, "minIntensity");
|
|
325
|
+
g(this, "material");
|
|
326
|
+
const {
|
|
327
|
+
speed: o = 2,
|
|
328
|
+
//
|
|
329
|
+
maxIntensity: n = 0.8,
|
|
330
|
+
minIntensity: r = 0.2
|
|
331
|
+
} = t;
|
|
332
|
+
this.speed = o, this.maxIntensity = n, this.minIntensity = r, this.material = t.material;
|
|
199
333
|
}
|
|
200
334
|
/**
|
|
201
|
-
*
|
|
335
|
+
* Update the emissive intensity of the material.
|
|
336
|
+
*
|
|
337
|
+
* Use Three.Clock getElapsedTime()
|
|
338
|
+
*
|
|
339
|
+
* Example:
|
|
340
|
+
* ```
|
|
341
|
+
* const clock = new THREE.Clock();
|
|
342
|
+
* effect.update(clock.getElapsedTime());
|
|
343
|
+
* ```
|
|
202
344
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
requestAnimationFrame(o), this.updateBubbles();
|
|
206
|
-
};
|
|
207
|
-
o();
|
|
345
|
+
update(t = 0) {
|
|
346
|
+
this.material.emissiveIntensity = this.minIntensity + Math.abs(Math.sin(t * this.speed)) * (this.maxIntensity - this.minIntensity);
|
|
208
347
|
}
|
|
209
348
|
}
|
|
210
|
-
|
|
211
|
-
|
|
349
|
+
class Me extends S {
|
|
350
|
+
constructor(t = 0.1) {
|
|
351
|
+
super();
|
|
352
|
+
const o = [], n = [], r = [
|
|
353
|
+
[0, 1],
|
|
354
|
+
// Top point
|
|
355
|
+
[0.5, 0.75],
|
|
356
|
+
// Right upper middle
|
|
357
|
+
[0.75, 0.25],
|
|
358
|
+
// Right lower middle
|
|
359
|
+
[0.5, -0.5],
|
|
360
|
+
// Right bottom middle
|
|
361
|
+
[0, -1],
|
|
362
|
+
// Bottom point
|
|
363
|
+
[-0.5, -0.5],
|
|
364
|
+
// Left bottom middle
|
|
365
|
+
[-0.75, 0.25],
|
|
366
|
+
// Left lower middle
|
|
367
|
+
[-0.5, 0.75]
|
|
368
|
+
// Left upper middle
|
|
369
|
+
];
|
|
370
|
+
for (let a = 0; a < r.length; a++) {
|
|
371
|
+
const [i, c] = r[a];
|
|
372
|
+
o.push(i * t, c * t, 0);
|
|
373
|
+
}
|
|
374
|
+
for (let a = 1; a < r.length - 1; a++)
|
|
375
|
+
n.push(0, a, a + 1);
|
|
376
|
+
n.push(0, r.length - 1, 1);
|
|
377
|
+
const s = new q(o, 3);
|
|
378
|
+
this.setAttribute("position", s), this.setIndex(n), this.computeVertexNormals();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
class bo extends rt {
|
|
382
|
+
constructor(o = {}) {
|
|
383
|
+
const {
|
|
384
|
+
count: n = 200,
|
|
385
|
+
width: r = 20,
|
|
386
|
+
height: s = 10,
|
|
387
|
+
depth: a = 20,
|
|
388
|
+
geometry: i = new Me(),
|
|
389
|
+
material: c = new M({
|
|
390
|
+
color: 8956467,
|
|
391
|
+
metalness: 0.1,
|
|
392
|
+
roughness: 0.8,
|
|
393
|
+
flatShading: !0,
|
|
394
|
+
side: L
|
|
395
|
+
})
|
|
396
|
+
} = o;
|
|
397
|
+
super(i, c, n);
|
|
398
|
+
g(this, "dummyMatrix");
|
|
399
|
+
g(this, "velocities");
|
|
400
|
+
g(this, "width");
|
|
401
|
+
g(this, "height");
|
|
402
|
+
g(this, "depth");
|
|
403
|
+
this.dummyMatrix = new X(), this.velocities = [], this.width = r, this.height = s, this.depth = a;
|
|
404
|
+
for (let l = 0; l < n; l++) {
|
|
405
|
+
const u = (Math.random() - 0.5) * r, m = Math.random() * (s - 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;
|
|
406
|
+
this.dummyMatrix.makeRotationFromEuler(new At(f, p, d)), this.dummyMatrix.setPosition(u, m, h), this.setMatrixAt(l, this.dummyMatrix);
|
|
407
|
+
const w = new b((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01);
|
|
408
|
+
this.velocities.push(w);
|
|
409
|
+
}
|
|
410
|
+
this.instanceMatrix.needsUpdate = !0;
|
|
411
|
+
}
|
|
412
|
+
update() {
|
|
413
|
+
for (let o = 0; o < this.count; o++) {
|
|
414
|
+
const n = new X();
|
|
415
|
+
this.getMatrixAt(o, n);
|
|
416
|
+
const r = new b();
|
|
417
|
+
r.setFromMatrixPosition(n);
|
|
418
|
+
const s = this.velocities[o];
|
|
419
|
+
r.add(s), r.y < 0 && (r.set(
|
|
420
|
+
(Math.random() - 0.5) * this.width,
|
|
421
|
+
Math.random() * (this.height - 1) + 0.5,
|
|
422
|
+
(Math.random() - 0.5) * this.depth
|
|
423
|
+
), s.set((Math.random() - 0.5) * 0.01, -5e-3, (Math.random() - 0.5) * 0.01)), n.setPosition(r), this.setMatrixAt(o, n);
|
|
424
|
+
}
|
|
425
|
+
this.instanceMatrix.needsUpdate = !0;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
function pt(e = 0, t = 1) {
|
|
429
|
+
return Math.random() * (t - e) + e;
|
|
430
|
+
}
|
|
431
|
+
function Io(e = 0, t = 1) {
|
|
432
|
+
return Math.floor(Math.random() * (t - e + 1)) + e;
|
|
433
|
+
}
|
|
434
|
+
function we(e = 0.5, t = 0, o = 1) {
|
|
435
|
+
return t + (o - t) * Math.pow(Math.random(), e);
|
|
436
|
+
}
|
|
437
|
+
function ve(e = 0.5, t = 0, o = 1) {
|
|
438
|
+
return t + (o - t) * Math.pow(1 - Math.random(), e);
|
|
439
|
+
}
|
|
440
|
+
function xe(e, t, o) {
|
|
441
|
+
const n = t + Math.random() * (o - t);
|
|
442
|
+
return setTimeout(e, n);
|
|
443
|
+
}
|
|
444
|
+
function Ao(e, t, o) {
|
|
445
|
+
let n;
|
|
446
|
+
function r() {
|
|
447
|
+
const s = t + Math.random() * (o - t);
|
|
448
|
+
n = setTimeout(() => {
|
|
449
|
+
e(), r();
|
|
450
|
+
}, s);
|
|
451
|
+
}
|
|
452
|
+
return r(), () => clearTimeout(n);
|
|
453
|
+
}
|
|
454
|
+
class So {
|
|
455
|
+
constructor({
|
|
456
|
+
light: t,
|
|
457
|
+
//
|
|
458
|
+
minIntensity: o = 15,
|
|
459
|
+
maxIntensity: n = 20,
|
|
460
|
+
minDuration: r = 50,
|
|
461
|
+
maxDuration: s = 250
|
|
462
|
+
} = {}) {
|
|
463
|
+
g(this, "light");
|
|
464
|
+
g(this, "minIntensity");
|
|
465
|
+
g(this, "maxIntensity");
|
|
466
|
+
g(this, "minDuration");
|
|
467
|
+
g(this, "maxDuration");
|
|
468
|
+
this.light = t, this.minIntensity = o, this.maxIntensity = n, this.minDuration = r, this.maxDuration = s;
|
|
469
|
+
}
|
|
470
|
+
triggerLightning() {
|
|
471
|
+
this.light && (this.light.intensity = pt(this.minIntensity, this.maxIntensity)), xe(
|
|
472
|
+
() => {
|
|
473
|
+
this.light && (this.light.intensity = 0);
|
|
474
|
+
},
|
|
475
|
+
this.minDuration,
|
|
476
|
+
this.maxDuration
|
|
477
|
+
);
|
|
478
|
+
}
|
|
479
|
+
update() {
|
|
480
|
+
Math.random() > 0.98 && this.triggerLightning();
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
const T = (e, t) => {
|
|
484
|
+
const o = e[0].index !== null, n = new Set(Object.keys(e[0].attributes)), r = new Set(Object.keys(e[0].morphAttributes)), s = {}, a = {}, i = e[0].morphTargetsRelative, c = new S();
|
|
212
485
|
let l = 0;
|
|
213
|
-
if (
|
|
486
|
+
if (e.forEach((u, m) => {
|
|
214
487
|
let h = 0;
|
|
215
488
|
if (o !== (u.index !== null))
|
|
216
489
|
return console.error(
|
|
@@ -221,24 +494,24 @@ const C = (t, e) => {
|
|
|
221
494
|
return console.error(
|
|
222
495
|
"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.'
|
|
223
496
|
), null;
|
|
224
|
-
|
|
497
|
+
s[f] === void 0 && (s[f] = []), s[f].push(u.attributes[f]), h++;
|
|
225
498
|
}
|
|
226
499
|
if (h !== n.size)
|
|
227
500
|
return console.error(
|
|
228
501
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". Make sure all geometries have the same number of attributes."
|
|
229
502
|
), null;
|
|
230
|
-
if (
|
|
503
|
+
if (i !== u.morphTargetsRelative)
|
|
231
504
|
return console.error(
|
|
232
505
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphTargetsRelative must be consistent throughout all geometries."
|
|
233
506
|
), null;
|
|
234
507
|
for (let f in u.morphAttributes) {
|
|
235
|
-
if (!
|
|
508
|
+
if (!r.has(f))
|
|
236
509
|
return console.error(
|
|
237
510
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". .morphAttributes must be consistent throughout all geometries."
|
|
238
511
|
), null;
|
|
239
|
-
|
|
512
|
+
a[f] === void 0 && (a[f] = []), a[f].push(u.morphAttributes[f]);
|
|
240
513
|
}
|
|
241
|
-
if (
|
|
514
|
+
if (c.userData.mergedUserData = c.userData.mergedUserData || [], c.userData.mergedUserData.push(u.userData), t) {
|
|
242
515
|
let f;
|
|
243
516
|
if (u.index)
|
|
244
517
|
f = u.index.count;
|
|
@@ -248,235 +521,235 @@ const C = (t, e) => {
|
|
|
248
521
|
return console.error(
|
|
249
522
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index " + m + ". The geometry must have either an index or a position attribute"
|
|
250
523
|
), null;
|
|
251
|
-
|
|
524
|
+
c.addGroup(l, f, m), l += f;
|
|
252
525
|
}
|
|
253
526
|
}), o) {
|
|
254
527
|
let u = 0;
|
|
255
528
|
const m = [];
|
|
256
|
-
|
|
529
|
+
e.forEach((h) => {
|
|
257
530
|
const f = h.index;
|
|
258
531
|
for (let p = 0; p < f.count; ++p)
|
|
259
532
|
m.push(f.getX(p) + u);
|
|
260
533
|
u += h.attributes.position.count;
|
|
261
|
-
}),
|
|
534
|
+
}), c.setIndex(m);
|
|
262
535
|
}
|
|
263
|
-
for (let u in
|
|
264
|
-
const m =
|
|
536
|
+
for (let u in s) {
|
|
537
|
+
const m = mt(s[u]);
|
|
265
538
|
if (!m)
|
|
266
539
|
return console.error(
|
|
267
540
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " attribute."
|
|
268
541
|
), null;
|
|
269
|
-
|
|
542
|
+
c.setAttribute(u, m);
|
|
270
543
|
}
|
|
271
|
-
for (let u in
|
|
272
|
-
const m =
|
|
544
|
+
for (let u in a) {
|
|
545
|
+
const m = a[u][0].length;
|
|
273
546
|
if (m === 0)
|
|
274
547
|
break;
|
|
275
|
-
|
|
548
|
+
c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[u] = [];
|
|
276
549
|
for (let h = 0; h < m; ++h) {
|
|
277
550
|
const f = [];
|
|
278
|
-
for (let
|
|
279
|
-
f.push(
|
|
280
|
-
const p =
|
|
551
|
+
for (let d = 0; d < a[u].length; ++d)
|
|
552
|
+
f.push(a[u][d][h]);
|
|
553
|
+
const p = mt(f);
|
|
281
554
|
if (!p)
|
|
282
555
|
return console.error(
|
|
283
556
|
"THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the " + u + " morphAttribute."
|
|
284
557
|
), null;
|
|
285
|
-
|
|
558
|
+
c.morphAttributes[u].push(p);
|
|
286
559
|
}
|
|
287
560
|
}
|
|
288
|
-
return
|
|
289
|
-
},
|
|
290
|
-
let
|
|
291
|
-
if (
|
|
292
|
-
if (
|
|
561
|
+
return c;
|
|
562
|
+
}, mt = (e) => {
|
|
563
|
+
let t, o, n, r = 0;
|
|
564
|
+
if (e.forEach((s) => {
|
|
565
|
+
if (t === void 0 && (t = s.array.constructor), t !== s.array.constructor)
|
|
293
566
|
return console.error(
|
|
294
567
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."
|
|
295
568
|
), null;
|
|
296
|
-
if (o === void 0 && (o =
|
|
569
|
+
if (o === void 0 && (o = s.itemSize), o !== s.itemSize)
|
|
297
570
|
return console.error(
|
|
298
571
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."
|
|
299
572
|
), null;
|
|
300
|
-
if (n === void 0 && (n =
|
|
573
|
+
if (n === void 0 && (n = s.normalized), n !== s.normalized)
|
|
301
574
|
return console.error(
|
|
302
575
|
"THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."
|
|
303
576
|
), null;
|
|
304
|
-
|
|
305
|
-
}),
|
|
306
|
-
const
|
|
307
|
-
let
|
|
308
|
-
return
|
|
309
|
-
|
|
310
|
-
}), new R(
|
|
577
|
+
r += s.array.length;
|
|
578
|
+
}), t && o) {
|
|
579
|
+
const s = new t(r);
|
|
580
|
+
let a = 0;
|
|
581
|
+
return e.forEach((i) => {
|
|
582
|
+
s.set(i.array, a), a += i.array.length;
|
|
583
|
+
}), new R(s, o, n);
|
|
311
584
|
}
|
|
312
585
|
};
|
|
313
|
-
function
|
|
314
|
-
|
|
315
|
-
const o = {}, n =
|
|
316
|
-
let
|
|
317
|
-
const
|
|
318
|
-
for (let
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
const x =
|
|
322
|
-
x && (l[
|
|
323
|
-
}
|
|
324
|
-
const h = Math.log10(1 /
|
|
325
|
-
for (let
|
|
326
|
-
const
|
|
327
|
-
let
|
|
328
|
-
for (let x = 0,
|
|
329
|
-
const
|
|
330
|
-
for (let
|
|
331
|
-
|
|
586
|
+
function ge(e, t = 1e-4) {
|
|
587
|
+
t = Math.max(t, Number.EPSILON);
|
|
588
|
+
const o = {}, n = e.getIndex(), r = e.getAttribute("position"), s = n ? n.count : r.count;
|
|
589
|
+
let a = 0;
|
|
590
|
+
const i = Object.keys(e.attributes), c = {}, l = {}, u = [], m = ["getX", "getY", "getZ", "getW"];
|
|
591
|
+
for (let d = 0, w = i.length; d < w; d++) {
|
|
592
|
+
const v = i[d];
|
|
593
|
+
c[v] = [];
|
|
594
|
+
const x = e.morphAttributes[v];
|
|
595
|
+
x && (l[v] = new Array(x.length).fill(0).map(() => []));
|
|
596
|
+
}
|
|
597
|
+
const h = Math.log10(1 / t), f = Math.pow(10, h);
|
|
598
|
+
for (let d = 0; d < s; d++) {
|
|
599
|
+
const w = n ? n.getX(d) : d;
|
|
600
|
+
let v = "";
|
|
601
|
+
for (let x = 0, U = i.length; x < U; x++) {
|
|
602
|
+
const z = i[x], P = e.getAttribute(z), B = P.itemSize;
|
|
603
|
+
for (let k = 0; k < B; k++)
|
|
604
|
+
v += `${~~(P[m[k]](w) * f)},`;
|
|
332
605
|
}
|
|
333
|
-
if (
|
|
334
|
-
u.push(o[
|
|
606
|
+
if (v in o)
|
|
607
|
+
u.push(o[v]);
|
|
335
608
|
else {
|
|
336
|
-
for (let x = 0,
|
|
337
|
-
const
|
|
338
|
-
for (let
|
|
339
|
-
const V = m[
|
|
340
|
-
if (
|
|
341
|
-
for (let
|
|
342
|
-
|
|
609
|
+
for (let x = 0, U = i.length; x < U; x++) {
|
|
610
|
+
const z = i[x], P = e.getAttribute(z), B = e.morphAttributes[z], k = P.itemSize, F = c[z], tt = l[z];
|
|
611
|
+
for (let D = 0; D < k; D++) {
|
|
612
|
+
const V = m[D];
|
|
613
|
+
if (F.push(P[V](w)), B)
|
|
614
|
+
for (let C = 0, xt = B.length; C < xt; C++)
|
|
615
|
+
tt[C].push(B[C][V](w));
|
|
343
616
|
}
|
|
344
617
|
}
|
|
345
|
-
o[
|
|
618
|
+
o[v] = a, u.push(a), a++;
|
|
346
619
|
}
|
|
347
620
|
}
|
|
348
|
-
const p =
|
|
349
|
-
for (let
|
|
350
|
-
const
|
|
351
|
-
if (p.setAttribute(
|
|
352
|
-
for (let
|
|
353
|
-
const
|
|
354
|
-
p.morphAttributes[
|
|
621
|
+
const p = e.clone();
|
|
622
|
+
for (let d = 0, w = i.length; d < w; d++) {
|
|
623
|
+
const v = i[d], x = e.getAttribute(v), U = new x.array.constructor(c[v]), z = new R(U, x.itemSize, x.normalized);
|
|
624
|
+
if (p.setAttribute(v, z), v in l)
|
|
625
|
+
for (let P = 0; P < l[v].length; P++) {
|
|
626
|
+
const B = e.morphAttributes[v][P], k = new B.array.constructor(l[v][P]), F = new R(k, B.itemSize, B.normalized);
|
|
627
|
+
p.morphAttributes[v][P] = F;
|
|
355
628
|
}
|
|
356
629
|
}
|
|
357
630
|
return p.setIndex(u), p;
|
|
358
631
|
}
|
|
359
|
-
class
|
|
360
|
-
constructor(
|
|
632
|
+
class dt extends S {
|
|
633
|
+
constructor(t = 1, o = 1.5, n = 0.5, r = 0.05, s = 0.05) {
|
|
361
634
|
super();
|
|
362
|
-
const
|
|
635
|
+
const a = t, i = o, c = n, l = r, u = s, m = [
|
|
363
636
|
// Front cover
|
|
364
637
|
0,
|
|
365
638
|
0,
|
|
366
639
|
0,
|
|
367
|
-
|
|
640
|
+
a,
|
|
368
641
|
0,
|
|
369
642
|
0,
|
|
370
|
-
|
|
371
|
-
|
|
643
|
+
a,
|
|
644
|
+
i,
|
|
372
645
|
0,
|
|
373
646
|
0,
|
|
374
|
-
|
|
647
|
+
i,
|
|
375
648
|
0,
|
|
376
649
|
// Back cover
|
|
377
|
-
|
|
650
|
+
a,
|
|
378
651
|
0,
|
|
379
|
-
-
|
|
652
|
+
-c,
|
|
380
653
|
0,
|
|
381
654
|
0,
|
|
382
|
-
-
|
|
655
|
+
-c,
|
|
383
656
|
0,
|
|
384
|
-
|
|
385
|
-
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
-
|
|
657
|
+
i,
|
|
658
|
+
-c,
|
|
659
|
+
a,
|
|
660
|
+
i,
|
|
661
|
+
-c,
|
|
389
662
|
// Spine
|
|
390
663
|
0,
|
|
391
664
|
0,
|
|
392
|
-
-
|
|
665
|
+
-c,
|
|
393
666
|
0,
|
|
394
667
|
0,
|
|
395
668
|
0,
|
|
396
669
|
0,
|
|
397
|
-
|
|
670
|
+
i,
|
|
398
671
|
0,
|
|
399
672
|
0,
|
|
400
|
-
|
|
401
|
-
-
|
|
673
|
+
i,
|
|
674
|
+
-c,
|
|
402
675
|
// Inside front cover
|
|
403
|
-
|
|
676
|
+
a,
|
|
404
677
|
0,
|
|
405
678
|
-l,
|
|
406
679
|
l,
|
|
407
680
|
0,
|
|
408
681
|
-l,
|
|
409
682
|
l,
|
|
410
|
-
|
|
683
|
+
i,
|
|
411
684
|
-l,
|
|
412
|
-
|
|
413
|
-
|
|
685
|
+
a,
|
|
686
|
+
i,
|
|
414
687
|
-l,
|
|
415
688
|
// Inside back cover
|
|
416
689
|
l,
|
|
417
690
|
0,
|
|
418
|
-
-
|
|
419
|
-
|
|
691
|
+
-c + l,
|
|
692
|
+
a,
|
|
420
693
|
0,
|
|
421
|
-
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
-
|
|
694
|
+
-c + l,
|
|
695
|
+
a,
|
|
696
|
+
i,
|
|
697
|
+
-c + l,
|
|
425
698
|
l,
|
|
426
|
-
|
|
427
|
-
-
|
|
699
|
+
i,
|
|
700
|
+
-c + l,
|
|
428
701
|
// Inside spine
|
|
429
702
|
l,
|
|
430
703
|
0,
|
|
431
704
|
-l,
|
|
432
705
|
l,
|
|
433
706
|
0,
|
|
434
|
-
-
|
|
707
|
+
-c + l,
|
|
435
708
|
l,
|
|
436
|
-
|
|
437
|
-
-
|
|
709
|
+
i,
|
|
710
|
+
-c + l,
|
|
438
711
|
l,
|
|
439
|
-
|
|
712
|
+
i,
|
|
440
713
|
-l,
|
|
441
714
|
// Front cover top
|
|
442
715
|
0,
|
|
443
|
-
|
|
716
|
+
i,
|
|
444
717
|
0,
|
|
445
|
-
|
|
446
|
-
|
|
718
|
+
a,
|
|
719
|
+
i,
|
|
447
720
|
0,
|
|
448
|
-
|
|
449
|
-
|
|
721
|
+
a,
|
|
722
|
+
i,
|
|
450
723
|
-l,
|
|
451
724
|
l,
|
|
452
|
-
|
|
725
|
+
i,
|
|
453
726
|
-l,
|
|
454
727
|
// Back cover top
|
|
455
728
|
0,
|
|
456
|
-
|
|
457
|
-
-
|
|
729
|
+
i,
|
|
730
|
+
-c,
|
|
458
731
|
l,
|
|
459
|
-
|
|
460
|
-
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
-
|
|
732
|
+
i,
|
|
733
|
+
-c + l,
|
|
734
|
+
a,
|
|
735
|
+
i,
|
|
736
|
+
-c + l,
|
|
737
|
+
a,
|
|
738
|
+
i,
|
|
739
|
+
-c,
|
|
467
740
|
// Spine cover top
|
|
468
741
|
0,
|
|
469
|
-
|
|
742
|
+
i,
|
|
470
743
|
0,
|
|
471
744
|
l,
|
|
472
|
-
|
|
745
|
+
i,
|
|
473
746
|
-l,
|
|
474
747
|
l,
|
|
475
|
-
|
|
476
|
-
-
|
|
748
|
+
i,
|
|
749
|
+
-c + l,
|
|
477
750
|
0,
|
|
478
|
-
|
|
479
|
-
-
|
|
751
|
+
i,
|
|
752
|
+
-c,
|
|
480
753
|
// Front cover bottom
|
|
481
754
|
0,
|
|
482
755
|
0,
|
|
@@ -484,64 +757,64 @@ class he extends I {
|
|
|
484
757
|
l,
|
|
485
758
|
0,
|
|
486
759
|
-l,
|
|
487
|
-
|
|
760
|
+
a,
|
|
488
761
|
0,
|
|
489
762
|
-l,
|
|
490
|
-
|
|
763
|
+
a,
|
|
491
764
|
0,
|
|
492
765
|
0,
|
|
493
766
|
// Back cover bottom
|
|
494
767
|
0,
|
|
495
768
|
0,
|
|
496
|
-
-
|
|
497
|
-
|
|
769
|
+
-c,
|
|
770
|
+
a,
|
|
498
771
|
0,
|
|
499
|
-
-
|
|
500
|
-
|
|
772
|
+
-c,
|
|
773
|
+
a,
|
|
501
774
|
0,
|
|
502
|
-
-
|
|
775
|
+
-c + l,
|
|
503
776
|
l,
|
|
504
777
|
0,
|
|
505
|
-
-
|
|
778
|
+
-c + l,
|
|
506
779
|
// Spine cover bottom
|
|
507
780
|
0,
|
|
508
781
|
0,
|
|
509
782
|
0,
|
|
510
783
|
0,
|
|
511
784
|
0,
|
|
512
|
-
-
|
|
785
|
+
-c,
|
|
513
786
|
l,
|
|
514
787
|
0,
|
|
515
|
-
-
|
|
788
|
+
-c + l,
|
|
516
789
|
l,
|
|
517
790
|
0,
|
|
518
791
|
-l,
|
|
519
792
|
// Front cover edge
|
|
520
|
-
|
|
793
|
+
a,
|
|
521
794
|
0,
|
|
522
795
|
0,
|
|
523
|
-
|
|
796
|
+
a,
|
|
524
797
|
0,
|
|
525
798
|
-l,
|
|
526
|
-
|
|
527
|
-
|
|
799
|
+
a,
|
|
800
|
+
i,
|
|
528
801
|
-l,
|
|
529
|
-
|
|
530
|
-
|
|
802
|
+
a,
|
|
803
|
+
i,
|
|
531
804
|
0,
|
|
532
805
|
// Back cover edge
|
|
533
|
-
|
|
806
|
+
a,
|
|
534
807
|
0,
|
|
535
|
-
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
-
|
|
542
|
-
|
|
808
|
+
-c,
|
|
809
|
+
a,
|
|
810
|
+
i,
|
|
811
|
+
-c,
|
|
812
|
+
a,
|
|
813
|
+
i,
|
|
814
|
+
-c + l,
|
|
815
|
+
a,
|
|
543
816
|
0,
|
|
544
|
-
-
|
|
817
|
+
-c + l
|
|
545
818
|
], h = [
|
|
546
819
|
0,
|
|
547
820
|
0,
|
|
@@ -725,7 +998,7 @@ class he extends I {
|
|
|
725
998
|
0,
|
|
726
999
|
0
|
|
727
1000
|
// Back cover edge
|
|
728
|
-
], f =
|
|
1001
|
+
], f = t / (t * 2 + n), p = (t + n) / (t * 2 + n), d = [
|
|
729
1002
|
p,
|
|
730
1003
|
0,
|
|
731
1004
|
1,
|
|
@@ -852,7 +1125,7 @@ class he extends I {
|
|
|
852
1125
|
0,
|
|
853
1126
|
1
|
|
854
1127
|
// Back cover edge
|
|
855
|
-
],
|
|
1128
|
+
], w = [
|
|
856
1129
|
0,
|
|
857
1130
|
1,
|
|
858
1131
|
2,
|
|
@@ -951,138 +1224,126 @@ class he extends I {
|
|
|
951
1224
|
54,
|
|
952
1225
|
55
|
|
953
1226
|
// Back cover edge
|
|
954
|
-
],
|
|
955
|
-
|
|
956
|
-
const
|
|
957
|
-
|
|
1227
|
+
], v = new Float32Array(m), x = new Float32Array(h), U = new Float32Array(d), z = new Uint16Array(w), P = new S();
|
|
1228
|
+
P.setAttribute("position", new R(v, 3)), P.setAttribute("normal", new R(x, 3)), P.setAttribute("uv", new R(U, 2)), P.setIndex(new R(z, 1));
|
|
1229
|
+
const B = new A(t - l - u, i - u * 2, c - l * 2);
|
|
1230
|
+
B.translate((t - l - u) / 2 + l, i / 2, -c / 2), this.copy(T([P, B], !0));
|
|
958
1231
|
}
|
|
959
1232
|
}
|
|
960
|
-
function
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
function ro(t = 0, e = 1) {
|
|
964
|
-
return Math.floor(Math.random() * (e - t + 1)) + t;
|
|
965
|
-
}
|
|
966
|
-
function yt(t = 0.5, e = 0, o = 1) {
|
|
967
|
-
return e + (o - e) * Math.pow(Math.random(), t);
|
|
968
|
-
}
|
|
969
|
-
function wt(t = 0.5, e = 0, o = 1) {
|
|
970
|
-
return e + (o - e) * Math.pow(1 - Math.random(), t);
|
|
971
|
-
}
|
|
972
|
-
function fe({
|
|
973
|
-
scaleXMin: t = 0.4,
|
|
974
|
-
scaleXMax: e = 0.7,
|
|
1233
|
+
function yt({
|
|
1234
|
+
scaleXMin: e = 0.4,
|
|
1235
|
+
scaleXMax: t = 0.7,
|
|
975
1236
|
scaleYMin: o = 0.3,
|
|
976
1237
|
scaleYMax: n = 0.95,
|
|
977
|
-
scaleZMin:
|
|
978
|
-
scaleZMax:
|
|
1238
|
+
scaleZMin: r = 0.1,
|
|
1239
|
+
scaleZMax: s = 0.5
|
|
979
1240
|
} = {}) {
|
|
980
|
-
return new
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
1241
|
+
return new b(
|
|
1242
|
+
pt(e, t),
|
|
1243
|
+
we(0.25, o, n),
|
|
1244
|
+
ve(0.8, r, s)
|
|
984
1245
|
);
|
|
985
1246
|
}
|
|
986
|
-
function
|
|
987
|
-
coverMaterial:
|
|
988
|
-
pagesMaterial:
|
|
1247
|
+
function Mt({
|
|
1248
|
+
coverMaterial: e,
|
|
1249
|
+
pagesMaterial: t,
|
|
989
1250
|
scales: o
|
|
990
1251
|
}) {
|
|
991
|
-
const n = new
|
|
992
|
-
let
|
|
993
|
-
for (let
|
|
994
|
-
const
|
|
995
|
-
l.makeScale(
|
|
1252
|
+
const n = new dt(), r = new rt(n, [e, t], o.length), s = new X();
|
|
1253
|
+
let a = 0;
|
|
1254
|
+
for (let i = 0; i < o.length; i++) {
|
|
1255
|
+
const c = o[i], l = new X();
|
|
1256
|
+
l.makeScale(c.x, c.y, c.z), s.identity(), s.multiply(l), s.setPosition(0.01 + Math.random() * 0.1, 0, a + c.z * 0.5), r.setMatrixAt(i, s), a += c.z * 0.5;
|
|
996
1257
|
}
|
|
997
|
-
return
|
|
1258
|
+
return r;
|
|
998
1259
|
}
|
|
999
|
-
function
|
|
1000
|
-
coverMaterial:
|
|
1001
|
-
pagesMaterial:
|
|
1260
|
+
function Eo({
|
|
1261
|
+
coverMaterial: e,
|
|
1262
|
+
pagesMaterial: t,
|
|
1002
1263
|
count: o = 10,
|
|
1003
1264
|
scaleXMin: n = 0.4,
|
|
1004
|
-
scaleXMax:
|
|
1005
|
-
scaleYMin:
|
|
1006
|
-
scaleYMax:
|
|
1007
|
-
scaleZMin:
|
|
1008
|
-
scaleZMax:
|
|
1265
|
+
scaleXMax: r = 0.7,
|
|
1266
|
+
scaleYMin: s = 0.3,
|
|
1267
|
+
scaleYMax: a = 0.95,
|
|
1268
|
+
scaleZMin: i = 0.1,
|
|
1269
|
+
scaleZMax: c = 0.5
|
|
1009
1270
|
}) {
|
|
1010
1271
|
const l = Array.from(
|
|
1011
1272
|
{ length: o },
|
|
1012
|
-
() =>
|
|
1273
|
+
() => yt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c })
|
|
1013
1274
|
);
|
|
1014
|
-
return
|
|
1275
|
+
return Mt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1015
1276
|
}
|
|
1016
|
-
function
|
|
1017
|
-
coverMaterial:
|
|
1018
|
-
pagesMaterial:
|
|
1277
|
+
function Po({
|
|
1278
|
+
coverMaterial: e,
|
|
1279
|
+
pagesMaterial: t,
|
|
1019
1280
|
length: o = 10,
|
|
1020
1281
|
scaleXMin: n = 0.4,
|
|
1021
|
-
scaleXMax:
|
|
1022
|
-
scaleYMin:
|
|
1023
|
-
scaleYMax:
|
|
1024
|
-
scaleZMin:
|
|
1025
|
-
scaleZMax:
|
|
1282
|
+
scaleXMax: r = 0.7,
|
|
1283
|
+
scaleYMin: s = 0.3,
|
|
1284
|
+
scaleYMax: a = 0.95,
|
|
1285
|
+
scaleZMin: i = 0.1,
|
|
1286
|
+
scaleZMax: c = 0.5
|
|
1026
1287
|
}) {
|
|
1027
1288
|
const l = [];
|
|
1028
1289
|
let u = o;
|
|
1029
1290
|
for (; u > 0; ) {
|
|
1030
|
-
const m =
|
|
1291
|
+
const m = yt({ scaleXMin: n, scaleXMax: r, scaleYMin: s, scaleYMax: a, scaleZMin: i, scaleZMax: c });
|
|
1031
1292
|
m.z = Math.min(m.z, u), l.push(m), u -= m.z;
|
|
1032
1293
|
}
|
|
1033
|
-
return
|
|
1294
|
+
return Mt({ coverMaterial: e, pagesMaterial: t, scales: l });
|
|
1034
1295
|
}
|
|
1035
|
-
class
|
|
1036
|
-
constructor(
|
|
1296
|
+
class To extends S {
|
|
1297
|
+
constructor(t = 2, o = 0.3, n = 0.6, r = 5, s = 5, a = Math.PI / 4) {
|
|
1037
1298
|
super();
|
|
1038
|
-
const
|
|
1039
|
-
for (let f = 0; f <
|
|
1040
|
-
const p = f * o,
|
|
1041
|
-
|
|
1299
|
+
const i = [], c = [];
|
|
1300
|
+
for (let f = 0; f < r; f++) {
|
|
1301
|
+
const p = f * o, d = p + o, w = f * n, v = w + n;
|
|
1302
|
+
i.push(
|
|
1042
1303
|
// Vertical riser
|
|
1043
|
-
-
|
|
1304
|
+
-t / 2,
|
|
1044
1305
|
p,
|
|
1045
|
-
|
|
1306
|
+
w,
|
|
1046
1307
|
// Bottom-left
|
|
1047
|
-
|
|
1308
|
+
t / 2,
|
|
1048
1309
|
p,
|
|
1049
|
-
|
|
1310
|
+
w,
|
|
1050
1311
|
// Bottom-right
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1312
|
+
t / 2,
|
|
1313
|
+
d,
|
|
1314
|
+
w,
|
|
1054
1315
|
// Top-right
|
|
1055
|
-
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1316
|
+
-t / 2,
|
|
1317
|
+
d,
|
|
1318
|
+
w,
|
|
1058
1319
|
// Top-left
|
|
1059
1320
|
// Horizontal tread
|
|
1060
|
-
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1321
|
+
-t / 2,
|
|
1322
|
+
d,
|
|
1323
|
+
w,
|
|
1063
1324
|
// Top-left
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1325
|
+
t / 2,
|
|
1326
|
+
d,
|
|
1327
|
+
w,
|
|
1067
1328
|
// Top-right
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1329
|
+
t / 2,
|
|
1330
|
+
d,
|
|
1331
|
+
v,
|
|
1071
1332
|
// Back-right
|
|
1072
|
-
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1333
|
+
-t / 2,
|
|
1334
|
+
d,
|
|
1335
|
+
v
|
|
1075
1336
|
// Back-left
|
|
1076
1337
|
);
|
|
1077
1338
|
const x = f * 8;
|
|
1078
|
-
|
|
1339
|
+
c.push(
|
|
1079
1340
|
x,
|
|
1080
1341
|
x + 1,
|
|
1081
1342
|
x + 2,
|
|
1082
1343
|
x,
|
|
1083
1344
|
x + 2,
|
|
1084
1345
|
x + 3
|
|
1085
|
-
),
|
|
1346
|
+
), c.push(
|
|
1086
1347
|
x + 4,
|
|
1087
1348
|
x + 5,
|
|
1088
1349
|
x + 6,
|
|
@@ -1091,8 +1352,8 @@ class io extends I {
|
|
|
1091
1352
|
x + 7
|
|
1092
1353
|
);
|
|
1093
1354
|
}
|
|
1094
|
-
const l =
|
|
1095
|
-
|
|
1355
|
+
const l = r * o, u = r * n, m = t * 2;
|
|
1356
|
+
i.push(
|
|
1096
1357
|
// Landing platform (4 vertices)
|
|
1097
1358
|
-m / 2,
|
|
1098
1359
|
l,
|
|
@@ -1111,8 +1372,8 @@ class io extends I {
|
|
|
1111
1372
|
u + n
|
|
1112
1373
|
// Top-left
|
|
1113
1374
|
);
|
|
1114
|
-
const h =
|
|
1115
|
-
|
|
1375
|
+
const h = r * 8;
|
|
1376
|
+
c.push(
|
|
1116
1377
|
h,
|
|
1117
1378
|
h + 1,
|
|
1118
1379
|
h + 2,
|
|
@@ -1124,121 +1385,121 @@ class io extends I {
|
|
|
1124
1385
|
);
|
|
1125
1386
|
for (let f = 0; f < 2; f++) {
|
|
1126
1387
|
const p = f === 0 ? 1 : -1;
|
|
1127
|
-
for (let
|
|
1128
|
-
const
|
|
1129
|
-
|
|
1388
|
+
for (let d = 0; d < s; d++) {
|
|
1389
|
+
const w = l + d * o, v = w + o, x = p * (m / 4), U = u + n, z = d * n * Math.cos(a), P = d * n * Math.sin(a), B = x + p * z - t / 2 * Math.cos(a), k = x + p * z + t / 2 * Math.cos(a), F = U + P, tt = B + p * n * Math.cos(a), D = k + p * n * Math.cos(a), V = F + n * Math.sin(a);
|
|
1390
|
+
i.push(
|
|
1130
1391
|
// Vertical riser
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1392
|
+
B,
|
|
1393
|
+
w,
|
|
1394
|
+
F,
|
|
1134
1395
|
// Bottom-left
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1396
|
+
k,
|
|
1397
|
+
w,
|
|
1398
|
+
F,
|
|
1138
1399
|
// Bottom-right
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1400
|
+
k,
|
|
1401
|
+
v,
|
|
1402
|
+
F,
|
|
1142
1403
|
// Top-right
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1404
|
+
B,
|
|
1405
|
+
v,
|
|
1406
|
+
F,
|
|
1146
1407
|
// Top-left
|
|
1147
1408
|
// Horizontal tread
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1409
|
+
B,
|
|
1410
|
+
v,
|
|
1411
|
+
F,
|
|
1151
1412
|
// Top-left
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1413
|
+
k,
|
|
1414
|
+
v,
|
|
1415
|
+
F,
|
|
1155
1416
|
// Top-right
|
|
1156
|
-
|
|
1157
|
-
|
|
1417
|
+
D,
|
|
1418
|
+
v,
|
|
1158
1419
|
V,
|
|
1159
1420
|
// Back-right
|
|
1160
|
-
|
|
1161
|
-
|
|
1421
|
+
tt,
|
|
1422
|
+
v,
|
|
1162
1423
|
V
|
|
1163
1424
|
// Back-left
|
|
1164
1425
|
);
|
|
1165
|
-
const
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
),
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1426
|
+
const C = h + 4 + f * s * 8 + d * 8;
|
|
1427
|
+
c.push(
|
|
1428
|
+
C,
|
|
1429
|
+
C + 1,
|
|
1430
|
+
C + 2,
|
|
1431
|
+
C,
|
|
1432
|
+
C + 2,
|
|
1433
|
+
C + 3
|
|
1434
|
+
), c.push(
|
|
1435
|
+
C + 4,
|
|
1436
|
+
C + 5,
|
|
1437
|
+
C + 6,
|
|
1438
|
+
C + 4,
|
|
1439
|
+
C + 6,
|
|
1440
|
+
C + 7
|
|
1180
1441
|
);
|
|
1181
1442
|
}
|
|
1182
1443
|
}
|
|
1183
|
-
this.setIndex(
|
|
1444
|
+
this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
|
|
1184
1445
|
}
|
|
1185
1446
|
}
|
|
1186
|
-
class
|
|
1187
|
-
constructor(
|
|
1447
|
+
class Go extends S {
|
|
1448
|
+
constructor(t = 5, o = 3, n = 5, r = 0.2) {
|
|
1188
1449
|
super();
|
|
1189
|
-
const
|
|
1450
|
+
const s = [
|
|
1190
1451
|
// Floor vertices
|
|
1191
|
-
-
|
|
1452
|
+
-t / 2,
|
|
1192
1453
|
0,
|
|
1193
1454
|
-n / 2,
|
|
1194
1455
|
// 0
|
|
1195
|
-
|
|
1456
|
+
t / 2,
|
|
1196
1457
|
0,
|
|
1197
1458
|
-n / 2,
|
|
1198
1459
|
// 1
|
|
1199
|
-
|
|
1460
|
+
t / 2,
|
|
1200
1461
|
0,
|
|
1201
1462
|
n / 2,
|
|
1202
1463
|
// 2
|
|
1203
|
-
-
|
|
1464
|
+
-t / 2,
|
|
1204
1465
|
0,
|
|
1205
1466
|
n / 2,
|
|
1206
1467
|
// 3
|
|
1207
1468
|
// Back wall vertices
|
|
1208
|
-
-
|
|
1469
|
+
-t / 2,
|
|
1209
1470
|
0,
|
|
1210
1471
|
-n / 2,
|
|
1211
1472
|
// 4
|
|
1212
|
-
|
|
1473
|
+
t / 2,
|
|
1213
1474
|
0,
|
|
1214
1475
|
-n / 2,
|
|
1215
1476
|
// 5
|
|
1216
|
-
|
|
1477
|
+
t / 2,
|
|
1217
1478
|
o,
|
|
1218
1479
|
-n / 2,
|
|
1219
1480
|
// 6
|
|
1220
|
-
-
|
|
1481
|
+
-t / 2,
|
|
1221
1482
|
o,
|
|
1222
1483
|
-n / 2,
|
|
1223
1484
|
// 7
|
|
1224
1485
|
// Left wall vertices
|
|
1225
|
-
-
|
|
1486
|
+
-t / 2,
|
|
1226
1487
|
0,
|
|
1227
1488
|
-n / 2,
|
|
1228
1489
|
// 8
|
|
1229
|
-
-
|
|
1490
|
+
-t / 2,
|
|
1230
1491
|
0,
|
|
1231
1492
|
n / 2,
|
|
1232
1493
|
// 9
|
|
1233
|
-
-
|
|
1494
|
+
-t / 2,
|
|
1234
1495
|
o,
|
|
1235
1496
|
n / 2,
|
|
1236
1497
|
// 10
|
|
1237
|
-
-
|
|
1498
|
+
-t / 2,
|
|
1238
1499
|
o,
|
|
1239
1500
|
-n / 2
|
|
1240
1501
|
// 11
|
|
1241
|
-
],
|
|
1502
|
+
], a = [
|
|
1242
1503
|
// Floor
|
|
1243
1504
|
0,
|
|
1244
1505
|
1,
|
|
@@ -1261,90 +1522,90 @@ class lo extends I {
|
|
|
1261
1522
|
10,
|
|
1262
1523
|
11
|
|
1263
1524
|
];
|
|
1264
|
-
this.setIndex(
|
|
1525
|
+
this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
|
|
1265
1526
|
}
|
|
1266
1527
|
}
|
|
1267
|
-
class
|
|
1268
|
-
constructor(
|
|
1528
|
+
class Bo extends S {
|
|
1529
|
+
constructor(t = 2, o = 0.3, n = 0.5, r = 5, s = 2) {
|
|
1269
1530
|
super();
|
|
1270
|
-
const
|
|
1271
|
-
for (let m = 0; m <
|
|
1272
|
-
const h = m * o, f = h + o, p = m * n,
|
|
1273
|
-
|
|
1531
|
+
const a = [], i = [];
|
|
1532
|
+
for (let m = 0; m < r; m++) {
|
|
1533
|
+
const h = m * o, f = h + o, p = m * n, d = p + n;
|
|
1534
|
+
a.push(
|
|
1274
1535
|
// Vertical riser
|
|
1275
|
-
-
|
|
1536
|
+
-t / 2,
|
|
1276
1537
|
h,
|
|
1277
1538
|
p,
|
|
1278
1539
|
// Bottom-left
|
|
1279
|
-
|
|
1540
|
+
t / 2,
|
|
1280
1541
|
h,
|
|
1281
1542
|
p,
|
|
1282
1543
|
// Bottom-right
|
|
1283
|
-
|
|
1544
|
+
t / 2,
|
|
1284
1545
|
f,
|
|
1285
1546
|
p,
|
|
1286
1547
|
// Top-right
|
|
1287
|
-
-
|
|
1548
|
+
-t / 2,
|
|
1288
1549
|
f,
|
|
1289
1550
|
p,
|
|
1290
1551
|
// Top-left
|
|
1291
1552
|
// Horizontal tread
|
|
1292
|
-
-
|
|
1553
|
+
-t / 2,
|
|
1293
1554
|
f,
|
|
1294
1555
|
p,
|
|
1295
1556
|
// Top-left
|
|
1296
|
-
|
|
1557
|
+
t / 2,
|
|
1297
1558
|
f,
|
|
1298
1559
|
p,
|
|
1299
1560
|
// Top-right
|
|
1300
|
-
|
|
1561
|
+
t / 2,
|
|
1301
1562
|
f,
|
|
1302
|
-
|
|
1563
|
+
d,
|
|
1303
1564
|
// Back-right
|
|
1304
|
-
-
|
|
1565
|
+
-t / 2,
|
|
1305
1566
|
f,
|
|
1306
|
-
|
|
1567
|
+
d
|
|
1307
1568
|
// Back-left
|
|
1308
1569
|
);
|
|
1309
|
-
const
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
),
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1570
|
+
const w = m * 8;
|
|
1571
|
+
i.push(
|
|
1572
|
+
w,
|
|
1573
|
+
w + 1,
|
|
1574
|
+
w + 2,
|
|
1575
|
+
w,
|
|
1576
|
+
w + 2,
|
|
1577
|
+
w + 3
|
|
1578
|
+
), i.push(
|
|
1579
|
+
w + 4,
|
|
1580
|
+
w + 5,
|
|
1581
|
+
w + 6,
|
|
1582
|
+
w + 4,
|
|
1583
|
+
w + 6,
|
|
1584
|
+
w + 7
|
|
1324
1585
|
);
|
|
1325
1586
|
}
|
|
1326
|
-
const
|
|
1327
|
-
|
|
1587
|
+
const c = r * o, l = r * n;
|
|
1588
|
+
a.push(
|
|
1328
1589
|
// Landing platform (4 vertices)
|
|
1329
|
-
-
|
|
1330
|
-
|
|
1590
|
+
-t / 2,
|
|
1591
|
+
c,
|
|
1331
1592
|
l,
|
|
1332
1593
|
// Bottom-left
|
|
1333
|
-
|
|
1334
|
-
|
|
1594
|
+
t / 2,
|
|
1595
|
+
c,
|
|
1335
1596
|
l,
|
|
1336
1597
|
// Bottom-right
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
l +
|
|
1598
|
+
t / 2,
|
|
1599
|
+
c,
|
|
1600
|
+
l + s,
|
|
1340
1601
|
// Top-right
|
|
1341
|
-
-
|
|
1342
|
-
|
|
1343
|
-
l +
|
|
1602
|
+
-t / 2,
|
|
1603
|
+
c,
|
|
1604
|
+
l + s
|
|
1344
1605
|
// Top-left
|
|
1345
1606
|
);
|
|
1346
|
-
const u =
|
|
1347
|
-
|
|
1607
|
+
const u = r * 8;
|
|
1608
|
+
i.push(
|
|
1348
1609
|
u,
|
|
1349
1610
|
u + 1,
|
|
1350
1611
|
u + 2,
|
|
@@ -1354,176 +1615,176 @@ class uo extends I {
|
|
|
1354
1615
|
u + 3
|
|
1355
1616
|
// Second triangle for landing
|
|
1356
1617
|
);
|
|
1357
|
-
for (let m = 0; m <
|
|
1358
|
-
const h =
|
|
1359
|
-
|
|
1618
|
+
for (let m = 0; m < r; m++) {
|
|
1619
|
+
const h = c + m * o, f = h + o, p = -t / 2 - m * n, d = p - n;
|
|
1620
|
+
a.push(
|
|
1360
1621
|
// Vertical riser
|
|
1361
1622
|
p,
|
|
1362
1623
|
h,
|
|
1363
|
-
l +
|
|
1624
|
+
l + s,
|
|
1364
1625
|
// Bottom-left
|
|
1365
1626
|
p,
|
|
1366
1627
|
h,
|
|
1367
|
-
l +
|
|
1628
|
+
l + s - t,
|
|
1368
1629
|
// Bottom-right
|
|
1369
1630
|
p,
|
|
1370
1631
|
f,
|
|
1371
|
-
l +
|
|
1632
|
+
l + s - t,
|
|
1372
1633
|
// Top-right
|
|
1373
1634
|
p,
|
|
1374
1635
|
f,
|
|
1375
|
-
l +
|
|
1636
|
+
l + s,
|
|
1376
1637
|
// Top-left
|
|
1377
1638
|
// Horizontal tread
|
|
1378
1639
|
p,
|
|
1379
1640
|
f,
|
|
1380
|
-
l +
|
|
1641
|
+
l + s,
|
|
1381
1642
|
// Top-left
|
|
1382
1643
|
p,
|
|
1383
1644
|
f,
|
|
1384
|
-
l +
|
|
1645
|
+
l + s - t,
|
|
1385
1646
|
// Top-right
|
|
1386
|
-
|
|
1647
|
+
d,
|
|
1387
1648
|
f,
|
|
1388
|
-
l +
|
|
1649
|
+
l + s - t,
|
|
1389
1650
|
// Back-right
|
|
1390
|
-
|
|
1651
|
+
d,
|
|
1391
1652
|
f,
|
|
1392
|
-
l +
|
|
1653
|
+
l + s
|
|
1393
1654
|
// Back-left
|
|
1394
1655
|
);
|
|
1395
|
-
const
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
),
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1656
|
+
const w = u + 4 + m * 8;
|
|
1657
|
+
i.push(
|
|
1658
|
+
w,
|
|
1659
|
+
w + 1,
|
|
1660
|
+
w + 2,
|
|
1661
|
+
w,
|
|
1662
|
+
w + 2,
|
|
1663
|
+
w + 3
|
|
1664
|
+
), i.push(
|
|
1665
|
+
w + 4,
|
|
1666
|
+
w + 5,
|
|
1667
|
+
w + 6,
|
|
1668
|
+
w + 4,
|
|
1669
|
+
w + 6,
|
|
1670
|
+
w + 7
|
|
1410
1671
|
);
|
|
1411
1672
|
}
|
|
1412
|
-
this.setIndex(
|
|
1673
|
+
this.setIndex(i), this.setAttribute("position", new q(a, 3)), this.computeVertexNormals();
|
|
1413
1674
|
}
|
|
1414
1675
|
}
|
|
1415
|
-
class
|
|
1416
|
-
constructor(
|
|
1676
|
+
class Co extends S {
|
|
1677
|
+
constructor(t = 1, o = 0.4, n = 0.2, r = 20, s = 2, a = Math.PI / 8) {
|
|
1417
1678
|
super();
|
|
1418
|
-
const
|
|
1679
|
+
const i = [], c = [];
|
|
1419
1680
|
let l = 0;
|
|
1420
|
-
for (let u = 0; u <
|
|
1421
|
-
const m =
|
|
1422
|
-
|
|
1681
|
+
for (let u = 0; u < r; u++) {
|
|
1682
|
+
const m = s * Math.cos(l), h = s * Math.sin(l), f = u * n, p = f + n;
|
|
1683
|
+
i.push(
|
|
1423
1684
|
// Front face (vertical riser)
|
|
1424
|
-
m -
|
|
1685
|
+
m - t / 2 * Math.cos(l),
|
|
1425
1686
|
f,
|
|
1426
|
-
h -
|
|
1687
|
+
h - t / 2 * Math.sin(l),
|
|
1427
1688
|
// Bottom-left
|
|
1428
|
-
m +
|
|
1689
|
+
m + t / 2 * Math.cos(l),
|
|
1429
1690
|
f,
|
|
1430
|
-
h +
|
|
1691
|
+
h + t / 2 * Math.sin(l),
|
|
1431
1692
|
// Bottom-right
|
|
1432
|
-
m +
|
|
1693
|
+
m + t / 2 * Math.cos(l),
|
|
1433
1694
|
p,
|
|
1434
|
-
h +
|
|
1695
|
+
h + t / 2 * Math.sin(l),
|
|
1435
1696
|
// Top-right
|
|
1436
|
-
m -
|
|
1697
|
+
m - t / 2 * Math.cos(l),
|
|
1437
1698
|
p,
|
|
1438
|
-
h -
|
|
1699
|
+
h - t / 2 * Math.sin(l)
|
|
1439
1700
|
// Top-left
|
|
1440
|
-
),
|
|
1701
|
+
), i.push(
|
|
1441
1702
|
// Top face (horizontal tread)
|
|
1442
|
-
m -
|
|
1703
|
+
m - t / 2 * Math.cos(l),
|
|
1443
1704
|
p,
|
|
1444
|
-
h -
|
|
1705
|
+
h - t / 2 * Math.sin(l),
|
|
1445
1706
|
// Top-left-front
|
|
1446
|
-
m +
|
|
1707
|
+
m + t / 2 * Math.cos(l),
|
|
1447
1708
|
p,
|
|
1448
|
-
h +
|
|
1709
|
+
h + t / 2 * Math.sin(l),
|
|
1449
1710
|
// Top-right-front
|
|
1450
|
-
m +
|
|
1711
|
+
m + t / 2 * Math.cos(l) - o * Math.sin(l),
|
|
1451
1712
|
p,
|
|
1452
|
-
h +
|
|
1713
|
+
h + t / 2 * Math.sin(l) + o * Math.cos(l),
|
|
1453
1714
|
// Back-right
|
|
1454
|
-
m -
|
|
1715
|
+
m - t / 2 * Math.cos(l) - o * Math.sin(l),
|
|
1455
1716
|
p,
|
|
1456
|
-
h -
|
|
1717
|
+
h - t / 2 * Math.sin(l) + o * Math.cos(l)
|
|
1457
1718
|
// Back-left
|
|
1458
1719
|
);
|
|
1459
|
-
const
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1720
|
+
const d = u * 8;
|
|
1721
|
+
c.push(
|
|
1722
|
+
d,
|
|
1723
|
+
d + 1,
|
|
1724
|
+
d + 2,
|
|
1464
1725
|
// First triangle for riser
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1726
|
+
d,
|
|
1727
|
+
d + 2,
|
|
1728
|
+
d + 3
|
|
1468
1729
|
// Second triangle for riser
|
|
1469
|
-
),
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1730
|
+
), c.push(
|
|
1731
|
+
d + 4,
|
|
1732
|
+
d + 5,
|
|
1733
|
+
d + 6,
|
|
1473
1734
|
// First triangle for tread
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1735
|
+
d + 4,
|
|
1736
|
+
d + 6,
|
|
1737
|
+
d + 7
|
|
1477
1738
|
// Second triangle for tread
|
|
1478
|
-
), l +=
|
|
1739
|
+
), l += a;
|
|
1479
1740
|
}
|
|
1480
|
-
this.setIndex(
|
|
1741
|
+
this.setIndex(c), this.setAttribute("position", new q(i, 3)), this.computeVertexNormals();
|
|
1481
1742
|
}
|
|
1482
1743
|
}
|
|
1483
|
-
class
|
|
1484
|
-
constructor(
|
|
1744
|
+
class Uo extends S {
|
|
1745
|
+
constructor(t = 2, o = 0.3, n = 0.5, r = 10) {
|
|
1485
1746
|
super();
|
|
1486
|
-
const
|
|
1487
|
-
for (let
|
|
1488
|
-
const
|
|
1489
|
-
|
|
1747
|
+
const s = [], a = [];
|
|
1748
|
+
for (let i = 0; i < r; i++) {
|
|
1749
|
+
const c = i * o, l = c + o, u = i * n, m = u + n;
|
|
1750
|
+
s.push(
|
|
1490
1751
|
// Bottom face of riser (front face)
|
|
1491
|
-
-
|
|
1492
|
-
|
|
1752
|
+
-t / 2,
|
|
1753
|
+
c,
|
|
1493
1754
|
u,
|
|
1494
1755
|
// 0: Bottom-left-front
|
|
1495
|
-
|
|
1496
|
-
|
|
1756
|
+
t / 2,
|
|
1757
|
+
c,
|
|
1497
1758
|
u,
|
|
1498
1759
|
// 1: Bottom-right-front
|
|
1499
|
-
|
|
1760
|
+
t / 2,
|
|
1500
1761
|
l,
|
|
1501
1762
|
u,
|
|
1502
1763
|
// 2: Top-right-front
|
|
1503
|
-
-
|
|
1764
|
+
-t / 2,
|
|
1504
1765
|
l,
|
|
1505
1766
|
u,
|
|
1506
1767
|
// 3: Top-left-front
|
|
1507
1768
|
// Top face of tread (horizontal step)
|
|
1508
|
-
-
|
|
1769
|
+
-t / 2,
|
|
1509
1770
|
l,
|
|
1510
1771
|
u,
|
|
1511
1772
|
// 4: Top-left-front (repeated)
|
|
1512
|
-
|
|
1773
|
+
t / 2,
|
|
1513
1774
|
l,
|
|
1514
1775
|
u,
|
|
1515
1776
|
// 5: Top-right-front (repeated)
|
|
1516
|
-
|
|
1777
|
+
t / 2,
|
|
1517
1778
|
l,
|
|
1518
1779
|
m,
|
|
1519
1780
|
// 6: Top-right-back
|
|
1520
|
-
-
|
|
1781
|
+
-t / 2,
|
|
1521
1782
|
l,
|
|
1522
1783
|
m
|
|
1523
1784
|
// 7: Top-left-back
|
|
1524
1785
|
);
|
|
1525
|
-
const h =
|
|
1526
|
-
|
|
1786
|
+
const h = i * 8;
|
|
1787
|
+
a.push(
|
|
1527
1788
|
h,
|
|
1528
1789
|
h + 1,
|
|
1529
1790
|
h + 2,
|
|
@@ -1532,7 +1793,7 @@ class ho extends I {
|
|
|
1532
1793
|
h + 2,
|
|
1533
1794
|
h + 3
|
|
1534
1795
|
// Second triangle for riser
|
|
1535
|
-
),
|
|
1796
|
+
), a.push(
|
|
1536
1797
|
h + 4,
|
|
1537
1798
|
h + 6,
|
|
1538
1799
|
h + 5,
|
|
@@ -1543,356 +1804,349 @@ class ho extends I {
|
|
|
1543
1804
|
// Second triangle for tread
|
|
1544
1805
|
);
|
|
1545
1806
|
}
|
|
1546
|
-
this.setIndex(
|
|
1807
|
+
this.setIndex(a), this.setAttribute("position", new q(s, 3)), this.computeVertexNormals();
|
|
1547
1808
|
}
|
|
1548
1809
|
}
|
|
1549
|
-
class
|
|
1550
|
-
constructor(
|
|
1810
|
+
class be extends S {
|
|
1811
|
+
constructor(t = 0.4, o = 1.2, n = 0.2) {
|
|
1551
1812
|
super();
|
|
1552
|
-
const
|
|
1553
|
-
|
|
1554
|
-
const
|
|
1555
|
-
|
|
1813
|
+
const r = o * 0.6, s = new A(t / 2, r, n);
|
|
1814
|
+
s.translate(0, r / 2, 0);
|
|
1815
|
+
const a = t * 1.5, i = new A(a, t / 4, n);
|
|
1816
|
+
i.translate(0, r * 0.75, 0), this.copy(T([s, i], !1)), this.computeVertexNormals();
|
|
1556
1817
|
}
|
|
1557
1818
|
}
|
|
1558
|
-
class
|
|
1559
|
-
constructor(
|
|
1819
|
+
class Ie extends S {
|
|
1820
|
+
constructor(t = 1.75, o = 0.75) {
|
|
1560
1821
|
super();
|
|
1561
|
-
const n =
|
|
1562
|
-
let
|
|
1563
|
-
const
|
|
1564
|
-
|
|
1565
|
-
const l = new
|
|
1566
|
-
l.translate(0,
|
|
1567
|
-
const u = new
|
|
1568
|
-
u.translate(0,
|
|
1569
|
-
const m = new
|
|
1570
|
-
m.translate(0,
|
|
1822
|
+
const n = t * 0.05, r = t * 0.15, s = t * 0.15, a = t * 0.75;
|
|
1823
|
+
let i = 0;
|
|
1824
|
+
const c = new A(o, n, o);
|
|
1825
|
+
c.translate(0, i + n / 2, 0), i += n;
|
|
1826
|
+
const l = new A(o * 0.8, r, o * 0.8);
|
|
1827
|
+
l.translate(0, i + r / 2, 0), i += r;
|
|
1828
|
+
const u = new A(o * 0.6, s, o * 0.6);
|
|
1829
|
+
u.translate(0, i + s / 2, 0), i += s;
|
|
1830
|
+
const m = new A(o * 0.4, a, o * 0.4);
|
|
1831
|
+
m.translate(0, i + a / 2, 0), i += a;
|
|
1571
1832
|
const h = new Z(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
1572
|
-
h.translate(0,
|
|
1833
|
+
h.translate(0, i + 0.1 / 2, 0), this.copy(T([c, l, u, m, h], !1)), this.computeVertexNormals();
|
|
1573
1834
|
}
|
|
1574
1835
|
}
|
|
1575
|
-
class
|
|
1576
|
-
constructor(
|
|
1836
|
+
class Ae extends S {
|
|
1837
|
+
constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
|
|
1577
1838
|
super();
|
|
1578
|
-
const
|
|
1579
|
-
|
|
1580
|
-
const
|
|
1581
|
-
|
|
1839
|
+
const s = o - r / 2, a = new A(t, s, n);
|
|
1840
|
+
a.translate(0, s / 2, 0);
|
|
1841
|
+
const i = new E(r / 2, r / 2, n, 16, 1, !1, 0, Math.PI);
|
|
1842
|
+
i.rotateY(Math.PI / 2), i.rotateX(Math.PI / 2), i.translate(0, s, 0), this.copy(T([a, i], !1)), this.computeVertexNormals();
|
|
1582
1843
|
}
|
|
1583
1844
|
}
|
|
1584
|
-
class
|
|
1585
|
-
constructor(
|
|
1845
|
+
class Se extends S {
|
|
1846
|
+
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
1586
1847
|
super();
|
|
1587
|
-
const
|
|
1588
|
-
|
|
1848
|
+
const r = new A(t, o, n);
|
|
1849
|
+
r.translate(0, o / 2, 0), this.copy(r);
|
|
1589
1850
|
}
|
|
1590
1851
|
}
|
|
1591
|
-
class
|
|
1592
|
-
constructor({ height:
|
|
1852
|
+
class Ee extends S {
|
|
1853
|
+
constructor({ height: t = 2.25 } = {}) {
|
|
1593
1854
|
super();
|
|
1594
|
-
const o = new
|
|
1855
|
+
const o = new A(1.2, 0.5, 1.2);
|
|
1595
1856
|
o.translate(0, 0.25, 0);
|
|
1596
|
-
const n = new
|
|
1597
|
-
n.translate(0, 0.5 +
|
|
1598
|
-
const
|
|
1599
|
-
|
|
1857
|
+
const n = new A(1, t, 1);
|
|
1858
|
+
n.translate(0, 0.5 + t / 2, 0);
|
|
1859
|
+
const r = new A(1.4, 0.3, 1.4);
|
|
1860
|
+
r.translate(0, 0.5 + t + 0.15, 0), this.copy(T([o, n, r], !1));
|
|
1600
1861
|
}
|
|
1601
1862
|
}
|
|
1602
|
-
class
|
|
1863
|
+
class wt extends S {
|
|
1603
1864
|
constructor({
|
|
1604
|
-
barHeight:
|
|
1865
|
+
barHeight: t = 2,
|
|
1605
1866
|
//
|
|
1606
1867
|
barRadius: o = 0.05,
|
|
1607
1868
|
spikeHeight: n = 0.3,
|
|
1608
|
-
spikeRadius:
|
|
1609
|
-
spikeScaleZ:
|
|
1610
|
-
radialSegments:
|
|
1869
|
+
spikeRadius: r = 0.075,
|
|
1870
|
+
spikeScaleZ: s = 1,
|
|
1871
|
+
radialSegments: a = 8
|
|
1611
1872
|
} = {}) {
|
|
1612
1873
|
super();
|
|
1613
|
-
const
|
|
1614
|
-
|
|
1615
|
-
const
|
|
1616
|
-
|
|
1874
|
+
const i = new E(o, o, t, a);
|
|
1875
|
+
i.translate(0, t / 2, 0);
|
|
1876
|
+
const c = new Z(r, n, a);
|
|
1877
|
+
c.translate(0, t + n / 2, 0), c.scale(1, 1, s), this.copy(T([i, c], !1));
|
|
1617
1878
|
}
|
|
1618
1879
|
}
|
|
1619
|
-
class
|
|
1880
|
+
class Pe extends S {
|
|
1620
1881
|
constructor({
|
|
1621
|
-
count:
|
|
1882
|
+
count: t = 20,
|
|
1622
1883
|
//
|
|
1623
1884
|
spacing: o = 0.4,
|
|
1624
1885
|
barHeight: n = 2,
|
|
1625
|
-
barRadius:
|
|
1626
|
-
spikeHeight:
|
|
1627
|
-
spikeRadius:
|
|
1628
|
-
spikeScaleZ:
|
|
1629
|
-
railHeight:
|
|
1886
|
+
barRadius: r = 0.05,
|
|
1887
|
+
spikeHeight: s = 0.3,
|
|
1888
|
+
spikeRadius: a = 0.075,
|
|
1889
|
+
spikeScaleZ: i = 1,
|
|
1890
|
+
railHeight: c = 0.1,
|
|
1630
1891
|
railDepth: l = 0.05,
|
|
1631
1892
|
railOffset: u = 0,
|
|
1632
1893
|
radialSegments: m = 8
|
|
1633
1894
|
} = {}) {
|
|
1634
1895
|
super();
|
|
1635
|
-
const h = [], f = new
|
|
1636
|
-
for (let
|
|
1896
|
+
const h = [], f = new wt({ barHeight: n, barRadius: r, spikeHeight: s, spikeRadius: a, spikeScaleZ: i, radialSegments: m }), p = new A(t * o, c, l);
|
|
1897
|
+
for (let v = 0; v < t; v++) {
|
|
1637
1898
|
const x = f.clone();
|
|
1638
|
-
x.translate(
|
|
1899
|
+
x.translate(v * o, 0, 0), h.push(x);
|
|
1639
1900
|
}
|
|
1640
|
-
const
|
|
1641
|
-
|
|
1642
|
-
const
|
|
1643
|
-
|
|
1901
|
+
const d = p.clone();
|
|
1902
|
+
d.translate(o * (t - 1) / 2, n - u - c / 2, 0), h.push(d);
|
|
1903
|
+
const w = p.clone();
|
|
1904
|
+
w.translate(o * (t - 1) / 2, c / 2, 0), h.push(w), this.copy(T(h));
|
|
1644
1905
|
}
|
|
1645
1906
|
}
|
|
1646
|
-
class
|
|
1907
|
+
class Te extends S {
|
|
1647
1908
|
constructor({
|
|
1648
|
-
width:
|
|
1909
|
+
width: t = 5,
|
|
1649
1910
|
//
|
|
1650
1911
|
height: o = 8,
|
|
1651
1912
|
depth: n = 1,
|
|
1652
|
-
shelves:
|
|
1653
|
-
frameThickness:
|
|
1654
|
-
open:
|
|
1913
|
+
shelves: r = 4,
|
|
1914
|
+
frameThickness: s = 0.1,
|
|
1915
|
+
open: a = !1
|
|
1655
1916
|
} = {}) {
|
|
1656
1917
|
super();
|
|
1657
|
-
const
|
|
1658
|
-
h.translate(-
|
|
1918
|
+
const i = o, c = t, l = n, u = new A(s, i, l), m = new A(c - 2 * s, s, l), h = u.clone();
|
|
1919
|
+
h.translate(-c / 2 + s / 2, i / 2, 0);
|
|
1659
1920
|
const f = u.clone();
|
|
1660
|
-
f.translate(
|
|
1921
|
+
f.translate(c / 2 - s / 2, i / 2, 0);
|
|
1661
1922
|
const p = m.clone();
|
|
1662
|
-
p.translate(0,
|
|
1663
|
-
const
|
|
1664
|
-
|
|
1665
|
-
const
|
|
1666
|
-
|
|
1667
|
-
const
|
|
1668
|
-
for (let
|
|
1669
|
-
const
|
|
1670
|
-
|
|
1923
|
+
p.translate(0, i - s / 2, 0);
|
|
1924
|
+
const d = m.clone();
|
|
1925
|
+
d.translate(0, s / 2, 0);
|
|
1926
|
+
const w = new A(c, i, s);
|
|
1927
|
+
w.translate(0, i / 2, -l / 2 + s / 2);
|
|
1928
|
+
const v = [], x = (i - s) / (r + 1);
|
|
1929
|
+
for (let U = 1; U <= r; U++) {
|
|
1930
|
+
const z = m.clone();
|
|
1931
|
+
z.translate(0, s / 2 + U * x, 0), v.push(z);
|
|
1671
1932
|
}
|
|
1672
|
-
this.copy(
|
|
1933
|
+
this.copy(T([
|
|
1673
1934
|
h,
|
|
1674
1935
|
//
|
|
1675
1936
|
f,
|
|
1676
1937
|
p,
|
|
1677
|
-
|
|
1678
|
-
...
|
|
1679
|
-
...
|
|
1938
|
+
d,
|
|
1939
|
+
...a ? [] : [w],
|
|
1940
|
+
...v
|
|
1680
1941
|
], !1));
|
|
1681
1942
|
}
|
|
1682
1943
|
}
|
|
1683
|
-
class
|
|
1684
|
-
constructor(
|
|
1944
|
+
class Ge extends S {
|
|
1945
|
+
constructor() {
|
|
1685
1946
|
super();
|
|
1686
|
-
const
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
//
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
[
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
o.push(c * e, i * e, 0);
|
|
1707
|
-
}
|
|
1708
|
-
for (let s = 1; s < a.length - 1; s++)
|
|
1709
|
-
n.push(0, s, s + 1);
|
|
1710
|
-
n.push(0, a.length - 1, 1);
|
|
1711
|
-
const r = new D(o, 3);
|
|
1712
|
-
this.setAttribute("position", r), this.setIndex(n), this.computeVertexNormals();
|
|
1713
|
-
}
|
|
1714
|
-
}
|
|
1715
|
-
function Et(t, e = L.XYZ, o = 0.5, n = 2) {
|
|
1716
|
-
t.deleteAttribute("uv"), t.deleteAttribute("normal"), t = pt(t), t.computeVertexNormals();
|
|
1717
|
-
const a = t.getAttribute("position");
|
|
1718
|
-
for (let r = 0; r < a.count; r++) {
|
|
1719
|
-
const s = new g().fromBufferAttribute(a, r), c = Math.random() * (n - o) + o, i = e.clone().multiplyScalar(c);
|
|
1720
|
-
s.add(i), a.setXYZ(r, s.x, s.y, s.z);
|
|
1947
|
+
const t = new A(5, 0.3, 3);
|
|
1948
|
+
t.translate(0, 3.15, 0);
|
|
1949
|
+
const o = [
|
|
1950
|
+
new I(0.2, 0),
|
|
1951
|
+
//
|
|
1952
|
+
new I(0.25, 0.5),
|
|
1953
|
+
new I(0.15, 1.5),
|
|
1954
|
+
new I(0.3, 3)
|
|
1955
|
+
], n = new Y(o, 32), s = T(
|
|
1956
|
+
[
|
|
1957
|
+
[2.1, 0, 1.1],
|
|
1958
|
+
[-2.1, 0, 1.1],
|
|
1959
|
+
[2.1, 0, -1.1],
|
|
1960
|
+
[-2.1, 0, -1.1]
|
|
1961
|
+
].map((a) => {
|
|
1962
|
+
const i = n.clone();
|
|
1963
|
+
return i.translate(a[0], a[1], a[2]), i;
|
|
1964
|
+
})
|
|
1965
|
+
);
|
|
1966
|
+
this.copy(T([t, s], !0));
|
|
1721
1967
|
}
|
|
1722
|
-
return a.needsUpdate = !0, t.computeVertexNormals(), t;
|
|
1723
1968
|
}
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1969
|
+
function Be(e, t = lt.XYZ, o = 0.5, n = 2) {
|
|
1970
|
+
e.deleteAttribute("uv"), e.deleteAttribute("normal"), e = ge(e), e.computeVertexNormals();
|
|
1971
|
+
const r = e.getAttribute("position");
|
|
1972
|
+
for (let s = 0; s < r.count; s++) {
|
|
1973
|
+
const a = new b().fromBufferAttribute(r, s), i = Math.random() * (n - o) + o, c = t.clone().multiplyScalar(i);
|
|
1974
|
+
a.add(c), r.setXYZ(s, a.x, a.y, a.z);
|
|
1729
1975
|
}
|
|
1976
|
+
return r.needsUpdate = !0, e.computeVertexNormals(), e;
|
|
1730
1977
|
}
|
|
1731
|
-
class
|
|
1732
|
-
constructor(
|
|
1978
|
+
class Ce extends S {
|
|
1979
|
+
constructor(t = 1, o = 4, n = 4) {
|
|
1733
1980
|
super();
|
|
1734
|
-
const r = new
|
|
1735
|
-
|
|
1736
|
-
const s = new z(e, a, a), c = s.clone(), i = s.clone(), l = s.clone(), u = s.clone();
|
|
1737
|
-
c.translate(0, n / 2 + e * 0.6, -e * 0.6), i.translate(0, n / 2 + e * 0.6, e * 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(C([r, c, i, l, u], !1));
|
|
1981
|
+
const r = new N(t, o, n);
|
|
1982
|
+
this.copy(Be(r, lt.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
|
|
1738
1983
|
}
|
|
1739
1984
|
}
|
|
1740
|
-
class
|
|
1741
|
-
constructor() {
|
|
1985
|
+
class Ue extends S {
|
|
1986
|
+
constructor(t = 0.1, o = 0.1, n = 0.4, r = 8) {
|
|
1742
1987
|
super();
|
|
1743
|
-
const
|
|
1744
|
-
|
|
1988
|
+
const s = new E(t * 0.6, o * 0.6, n, r);
|
|
1989
|
+
s.translate(0, 0, 0);
|
|
1990
|
+
const a = new N(t, r, r), i = a.clone(), c = a.clone(), l = a.clone(), u = a.clone();
|
|
1991
|
+
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(T([s, i, c, l, u], !1));
|
|
1745
1992
|
}
|
|
1746
1993
|
}
|
|
1747
|
-
class
|
|
1994
|
+
class ze extends S {
|
|
1748
1995
|
constructor({
|
|
1749
|
-
flaskRadius:
|
|
1996
|
+
flaskRadius: t = 1,
|
|
1750
1997
|
//
|
|
1751
1998
|
neckRadius: o = 0.3,
|
|
1752
1999
|
height: n = 2.5,
|
|
1753
|
-
neckHeight:
|
|
1754
|
-
radialSegments:
|
|
2000
|
+
neckHeight: r = 1,
|
|
2001
|
+
radialSegments: s = 16
|
|
1755
2002
|
} = {}) {
|
|
1756
2003
|
super();
|
|
1757
|
-
const
|
|
1758
|
-
new
|
|
2004
|
+
const a = [
|
|
2005
|
+
new I(0, 0),
|
|
1759
2006
|
// Bottom of the flask
|
|
1760
|
-
new
|
|
2007
|
+
new I(t * 0.875, 0),
|
|
1761
2008
|
// Flat base with minimum width
|
|
1762
|
-
new
|
|
2009
|
+
new I(t, 0.1),
|
|
1763
2010
|
// End of the rounded base
|
|
1764
|
-
new
|
|
2011
|
+
new I(o, n),
|
|
1765
2012
|
// Start of the straight neck
|
|
1766
|
-
new
|
|
2013
|
+
new I(o, n + r),
|
|
1767
2014
|
// End of the straight neck
|
|
1768
|
-
new
|
|
2015
|
+
new I(o * 1.1, n + r + 0.3)
|
|
1769
2016
|
// Slight outward lip at the top
|
|
1770
|
-
],
|
|
1771
|
-
this.copy(
|
|
2017
|
+
], i = new Y(a, s);
|
|
2018
|
+
this.copy(T([i], !1));
|
|
1772
2019
|
}
|
|
1773
2020
|
}
|
|
1774
|
-
class
|
|
2021
|
+
class Ne extends S {
|
|
1775
2022
|
constructor() {
|
|
1776
2023
|
super();
|
|
1777
|
-
const
|
|
1778
|
-
|
|
2024
|
+
const t = new N(1, 16, 16), o = new E(0.2, 0.2, 2, 16, 1, !0);
|
|
2025
|
+
o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(T([t, o], !1));
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
2028
|
+
class ke extends S {
|
|
2029
|
+
constructor() {
|
|
2030
|
+
super();
|
|
2031
|
+
const t = [
|
|
2032
|
+
new I(1, 0),
|
|
1779
2033
|
// Bottom of the bowl
|
|
1780
|
-
new
|
|
2034
|
+
new I(1.2, 0.5),
|
|
1781
2035
|
// Slight flare at the base
|
|
1782
|
-
new
|
|
2036
|
+
new I(1.4, 1.5),
|
|
1783
2037
|
// Outer wall
|
|
1784
|
-
new
|
|
2038
|
+
new I(1.3, 1.8),
|
|
1785
2039
|
// Flared edge
|
|
1786
|
-
new
|
|
2040
|
+
new I(0.8, 1.8)
|
|
1787
2041
|
// Lip of the bowl
|
|
1788
|
-
], o = new
|
|
1789
|
-
n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(
|
|
2042
|
+
], o = new Y(t, 12), n = new St(1, 12);
|
|
2043
|
+
n.rotateX(-Math.PI / 2), n.translate(0, 0, 0), this.copy(T([o, n], !1));
|
|
1790
2044
|
}
|
|
1791
2045
|
}
|
|
1792
|
-
class
|
|
2046
|
+
class Fe extends S {
|
|
1793
2047
|
constructor({
|
|
1794
|
-
radius:
|
|
2048
|
+
radius: t = 0.3,
|
|
1795
2049
|
//
|
|
1796
2050
|
height: o = 0.4,
|
|
1797
2051
|
count: n = 3,
|
|
1798
|
-
thickness:
|
|
1799
|
-
radialSegments:
|
|
2052
|
+
thickness: r = 0.03,
|
|
2053
|
+
radialSegments: s = 16
|
|
1800
2054
|
} = {}) {
|
|
1801
2055
|
super();
|
|
1802
|
-
const
|
|
1803
|
-
|
|
1804
|
-
const
|
|
2056
|
+
const a = new ht(t, r, 8, s);
|
|
2057
|
+
a.rotateX(Math.PI / 2), a.translate(0, o, 0);
|
|
2058
|
+
const i = new E(r * 0.6, r * 0.6, o, s), c = [];
|
|
1805
2059
|
for (let l = 0; l < n; l++) {
|
|
1806
|
-
const u = l / n * Math.PI * 2, m =
|
|
1807
|
-
m.translate(Math.cos(u) *
|
|
2060
|
+
const u = l / n * Math.PI * 2, m = i.clone();
|
|
2061
|
+
m.translate(Math.cos(u) * t, o / 2, Math.sin(u) * t), c.push(m);
|
|
1808
2062
|
}
|
|
1809
|
-
this.copy(
|
|
2063
|
+
this.copy(T([a, ...c], !1));
|
|
1810
2064
|
}
|
|
1811
2065
|
}
|
|
1812
|
-
class
|
|
1813
|
-
constructor(
|
|
2066
|
+
class st extends S {
|
|
2067
|
+
constructor(t = 0.2, o = 0.2, n = 3, r = 32, s = !0) {
|
|
1814
2068
|
super();
|
|
1815
|
-
const
|
|
1816
|
-
|
|
2069
|
+
const a = new E(t, o, n, r, 1, s), i = new N(o, r, r / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
2070
|
+
i.translate(0, -(n / 2), 0), this.copy(T([a, i], !1));
|
|
1817
2071
|
}
|
|
1818
2072
|
}
|
|
1819
|
-
class
|
|
1820
|
-
constructor({ radius:
|
|
2073
|
+
class Oe extends S {
|
|
2074
|
+
constructor({ radius: t = 0.5, neckRadius: o = 0.2, height: n = 3, neckHeight: r = 1, segments: s = 16 } = {}) {
|
|
1821
2075
|
super();
|
|
1822
|
-
const
|
|
1823
|
-
|
|
1824
|
-
const
|
|
1825
|
-
l.translate(0,
|
|
1826
|
-
const u = new E(o, o,
|
|
1827
|
-
u.translate(0,
|
|
2076
|
+
const a = n - r, i = new E(t, t, a, s);
|
|
2077
|
+
i.translate(0, a / 2, 0);
|
|
2078
|
+
const c = 0.3, l = new E(o, t, c, s);
|
|
2079
|
+
l.translate(0, a + c / 2, 0);
|
|
2080
|
+
const u = new E(o, o, r, s);
|
|
2081
|
+
u.translate(0, a + c + r / 2, 0), this.copy(T([i, l, u], !1));
|
|
1828
2082
|
}
|
|
1829
2083
|
}
|
|
1830
|
-
class
|
|
2084
|
+
class _e extends S {
|
|
1831
2085
|
constructor({
|
|
1832
|
-
radius:
|
|
2086
|
+
radius: t = 3,
|
|
1833
2087
|
//
|
|
1834
2088
|
height: o = 0.6,
|
|
1835
2089
|
widthSegments: n = 64,
|
|
1836
|
-
heightSegments:
|
|
1837
|
-
phiStart:
|
|
1838
|
-
phiLength:
|
|
2090
|
+
heightSegments: r = 16,
|
|
2091
|
+
phiStart: s = 0,
|
|
2092
|
+
phiLength: a = Math.PI * 2
|
|
1839
2093
|
} = {}) {
|
|
1840
|
-
super(), this.copy(new
|
|
2094
|
+
super(), this.copy(new N(t, n, r, s, a, 0, Math.PI / 2)), this.scale(1, o / t, 1);
|
|
1841
2095
|
}
|
|
1842
2096
|
}
|
|
1843
|
-
const
|
|
1844
|
-
x:
|
|
1845
|
-
y:
|
|
1846
|
-
z:
|
|
1847
|
-
}),
|
|
1848
|
-
const n = Math.sqrt(
|
|
1849
|
-
return { radius: n, theta:
|
|
2097
|
+
const zo = (e, t) => e / (1 - Math.cos(t)), vt = (e, t) => e / (2 * Math.sin(t)), Re = (e, t) => e * (1 - Math.cos(t)), No = (e, t) => 2 * e * Math.sin(t), ko = (e, t, o) => ({
|
|
2098
|
+
x: e * Math.sin(o) * Math.cos(t),
|
|
2099
|
+
y: e * Math.sin(o) * Math.sin(t),
|
|
2100
|
+
z: e * Math.cos(o)
|
|
2101
|
+
}), Fo = (e, t, o) => {
|
|
2102
|
+
const n = Math.sqrt(e * e + t * t + o * o), r = Math.atan2(t, e), s = Math.acos(o / n);
|
|
2103
|
+
return { radius: n, theta: r, phi: s };
|
|
1850
2104
|
};
|
|
1851
|
-
class
|
|
2105
|
+
class Le extends S {
|
|
1852
2106
|
constructor({
|
|
1853
|
-
radius:
|
|
2107
|
+
radius: t = vt(5, Math.PI / 10),
|
|
1854
2108
|
//
|
|
1855
2109
|
widthSegments: o = 64,
|
|
1856
2110
|
heightSegments: n = 32,
|
|
1857
|
-
phiStart:
|
|
1858
|
-
phiLength:
|
|
1859
|
-
thetaLength:
|
|
2111
|
+
phiStart: r = 0,
|
|
2112
|
+
phiLength: s = Math.PI * 2,
|
|
2113
|
+
thetaLength: a = Math.PI / 10
|
|
1860
2114
|
} = {}) {
|
|
1861
|
-
super(), this.copy(new
|
|
1862
|
-
const
|
|
1863
|
-
this.translate(0, -
|
|
2115
|
+
super(), this.copy(new N(t, o, n, r, s, 0, a));
|
|
2116
|
+
const i = Re(t, a);
|
|
2117
|
+
this.translate(0, -t + i, 0);
|
|
1864
2118
|
}
|
|
1865
2119
|
}
|
|
1866
|
-
class
|
|
2120
|
+
class qe extends S {
|
|
1867
2121
|
constructor({
|
|
1868
|
-
trunkRadiusTop:
|
|
2122
|
+
trunkRadiusTop: t = 0.25,
|
|
1869
2123
|
trunkRadiusBottom: o = 0.4,
|
|
1870
2124
|
trunkHeight: n = 2.5,
|
|
1871
|
-
trunkSegments:
|
|
1872
|
-
leafSize:
|
|
1873
|
-
leafCount:
|
|
1874
|
-
leafDetail:
|
|
1875
|
-
leafSpreadRadius:
|
|
2125
|
+
trunkSegments: r = 14,
|
|
2126
|
+
leafSize: s = 0.8,
|
|
2127
|
+
leafCount: a = 6,
|
|
2128
|
+
leafDetail: i = 0,
|
|
2129
|
+
leafSpreadRadius: c = 1.5
|
|
1876
2130
|
} = {}) {
|
|
1877
2131
|
super();
|
|
1878
|
-
const l = new E(
|
|
2132
|
+
const l = new E(t, o, n, r);
|
|
1879
2133
|
l.translate(0, n / 2, 0);
|
|
1880
2134
|
const u = [];
|
|
1881
|
-
for (let m = 0; m <
|
|
1882
|
-
const h = new
|
|
2135
|
+
for (let m = 0; m < a; m++) {
|
|
2136
|
+
const h = new at(s, i);
|
|
1883
2137
|
h.translate(
|
|
1884
|
-
(Math.random() - 0.5) *
|
|
1885
|
-
(Math.random() - 0.5) *
|
|
1886
|
-
(Math.random() - 0.5) *
|
|
2138
|
+
(Math.random() - 0.5) * c,
|
|
2139
|
+
(Math.random() - 0.5) * s + n,
|
|
2140
|
+
(Math.random() - 0.5) * c
|
|
1887
2141
|
), u.push(h);
|
|
1888
2142
|
}
|
|
1889
|
-
this.copy(
|
|
2143
|
+
this.copy(T([l.toNonIndexed(), T(u, !1)], !0)), this.computeVertexNormals();
|
|
1890
2144
|
}
|
|
1891
2145
|
}
|
|
1892
|
-
class
|
|
2146
|
+
class Oo extends G {
|
|
1893
2147
|
constructor() {
|
|
1894
2148
|
super();
|
|
1895
|
-
const
|
|
2149
|
+
const t = new N(5, 32, 32), o = new $({
|
|
1896
2150
|
uniforms: {
|
|
1897
2151
|
time: { value: 0 }
|
|
1898
2152
|
},
|
|
@@ -1935,181 +2189,174 @@ class Mo extends A {
|
|
|
1935
2189
|
gl_FragColor = vec4(color, 1.0);
|
|
1936
2190
|
}
|
|
1937
2191
|
`
|
|
1938
|
-
}), n = new
|
|
2192
|
+
}), n = new y(t, o);
|
|
1939
2193
|
this.add(n);
|
|
1940
2194
|
}
|
|
1941
2195
|
}
|
|
1942
|
-
class
|
|
2196
|
+
class _o extends y {
|
|
1943
2197
|
constructor({
|
|
1944
|
-
width:
|
|
2198
|
+
width: t = 1,
|
|
1945
2199
|
height: o = 1.5,
|
|
1946
2200
|
depth: n = 0.5,
|
|
1947
|
-
coverThickness:
|
|
1948
|
-
pageIndent:
|
|
1949
|
-
coverColor:
|
|
1950
|
-
pageColor:
|
|
2201
|
+
coverThickness: r = 0.05,
|
|
2202
|
+
pageIndent: s = 0.05,
|
|
2203
|
+
coverColor: a = 9109504,
|
|
2204
|
+
pageColor: i = 16777215
|
|
1951
2205
|
} = {}) {
|
|
1952
|
-
super(), this.geometry = new
|
|
1953
|
-
new
|
|
1954
|
-
new
|
|
2206
|
+
super(), this.geometry = new dt(t, o, n, r, s), this.material = [
|
|
2207
|
+
new M({ color: a, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
|
|
2208
|
+
new M({ color: i, flatShading: !0 })
|
|
1955
2209
|
];
|
|
1956
2210
|
}
|
|
1957
2211
|
}
|
|
1958
|
-
class
|
|
2212
|
+
class Ro extends y {
|
|
1959
2213
|
constructor({
|
|
1960
|
-
width:
|
|
2214
|
+
width: t = 0.4,
|
|
1961
2215
|
height: o = 1.2,
|
|
1962
2216
|
depth: n = 0.2,
|
|
1963
|
-
material:
|
|
2217
|
+
material: r = new M({ color: 7829367, roughness: 0.8 })
|
|
1964
2218
|
} = {}) {
|
|
1965
|
-
const
|
|
1966
|
-
super(
|
|
2219
|
+
const s = new be(t, o, n);
|
|
2220
|
+
super(s, r);
|
|
1967
2221
|
}
|
|
1968
2222
|
}
|
|
1969
|
-
class
|
|
2223
|
+
class Lo extends G {
|
|
1970
2224
|
constructor() {
|
|
1971
2225
|
super();
|
|
1972
|
-
const
|
|
2226
|
+
const t = new A(5, 1, 5), o = new M({ color: 8421504, flatShading: !0 }), n = new y(t, o);
|
|
1973
2227
|
n.position.set(0, 0.5, 0), this.add(n);
|
|
1974
|
-
const
|
|
1975
|
-
|
|
1976
|
-
const
|
|
2228
|
+
const r = new A(4, 3, 4), s = new M({ color: 6908265, flatShading: !0 }), a = new y(r, s);
|
|
2229
|
+
a.position.set(0, 2.5, 0), this.add(a);
|
|
2230
|
+
const i = new Z(3.5, 2, 4), c = new M({ color: 5263440, flatShading: !0 }), l = new y(i, c);
|
|
1977
2231
|
l.rotation.y = Math.PI / 4, l.position.set(0, 5, 0), this.add(l);
|
|
1978
|
-
const u = new E(0.2, 0.2, 3.5, 16), m = new
|
|
2232
|
+
const u = new E(0.2, 0.2, 3.5, 16), m = new M({ color: 6908265, flatShading: !0 });
|
|
1979
2233
|
[
|
|
1980
2234
|
[-1.8, 2.3, -2.2],
|
|
1981
2235
|
[1.8, 2.3, -2.2],
|
|
1982
2236
|
[-1.8, 2.3, 2.2],
|
|
1983
2237
|
[1.8, 2.3, 2.2]
|
|
1984
2238
|
].forEach((x) => {
|
|
1985
|
-
const
|
|
1986
|
-
|
|
2239
|
+
const U = new y(u, m);
|
|
2240
|
+
U.position.set(x[0], x[1], x[2]), this.add(U);
|
|
1987
2241
|
});
|
|
1988
|
-
const f = new
|
|
2242
|
+
const f = new j();
|
|
1989
2243
|
f.moveTo(-1, 0), f.lineTo(-1, 2), f.absarc(0, 2, 1, Math.PI, 0, !0), f.lineTo(1, 0);
|
|
1990
2244
|
const p = {
|
|
1991
2245
|
depth: 0.5,
|
|
1992
2246
|
bevelEnabled: !1
|
|
1993
|
-
},
|
|
1994
|
-
|
|
2247
|
+
}, d = new H(f, p), w = new M({ color: 4210752, flatShading: !0 }), v = new y(d, w);
|
|
2248
|
+
v.position.set(0, 0.5, 1.7), this.add(v);
|
|
1995
2249
|
}
|
|
1996
2250
|
}
|
|
1997
|
-
class
|
|
1998
|
-
constructor({ totalHeight:
|
|
1999
|
-
super(), this.geometry = new
|
|
2251
|
+
class qo extends y {
|
|
2252
|
+
constructor({ totalHeight: t = 1.75, baseWidth: o = 0.75 } = {}) {
|
|
2253
|
+
super(), this.geometry = new Ie(t, o), this.material = new M({ color: 7829367, roughness: 0.8 });
|
|
2000
2254
|
}
|
|
2001
2255
|
}
|
|
2002
|
-
class
|
|
2003
|
-
constructor(
|
|
2004
|
-
super(), this.geometry = new
|
|
2256
|
+
class Do extends y {
|
|
2257
|
+
constructor(t = 0.6, o = 1, n = 0.2, r = 0.6) {
|
|
2258
|
+
super(), this.geometry = new Ae(t, o, n, r), this.material = new M({ color: 7829367, roughness: 0.8 });
|
|
2005
2259
|
}
|
|
2006
2260
|
}
|
|
2007
|
-
class
|
|
2008
|
-
constructor(
|
|
2009
|
-
super(), this.geometry = new
|
|
2261
|
+
class Vo extends y {
|
|
2262
|
+
constructor(t = 0.5, o = 0.8, n = 0.15) {
|
|
2263
|
+
super(), this.geometry = new Se(t, o, n), this.material = new M({ color: 7829367, roughness: 0.8 });
|
|
2010
2264
|
}
|
|
2011
2265
|
}
|
|
2012
|
-
class
|
|
2013
|
-
constructor({ height:
|
|
2014
|
-
super(), this.geometry = new
|
|
2266
|
+
class Xo extends y {
|
|
2267
|
+
constructor({ height: t = 2.25 } = {}) {
|
|
2268
|
+
super(), this.geometry = new Ee({ height: t }), this.material = new M({ color: 9141627, flatShading: !0 });
|
|
2015
2269
|
}
|
|
2016
2270
|
}
|
|
2017
|
-
class
|
|
2271
|
+
class Zo extends y {
|
|
2018
2272
|
constructor({
|
|
2019
|
-
barHeight:
|
|
2273
|
+
barHeight: t = 2,
|
|
2020
2274
|
//
|
|
2021
2275
|
barRadius: o = 0.05,
|
|
2022
2276
|
spikeHeight: n = 0.3,
|
|
2023
|
-
spikeRadius:
|
|
2024
|
-
spikeScaleZ:
|
|
2025
|
-
radialSegments:
|
|
2277
|
+
spikeRadius: r = 0.075,
|
|
2278
|
+
spikeScaleZ: s = 1,
|
|
2279
|
+
radialSegments: a = 8
|
|
2026
2280
|
} = {}) {
|
|
2027
|
-
super(), this.geometry = new
|
|
2028
|
-
barHeight:
|
|
2281
|
+
super(), this.geometry = new wt({
|
|
2282
|
+
barHeight: t,
|
|
2029
2283
|
barRadius: o,
|
|
2030
2284
|
spikeHeight: n,
|
|
2031
|
-
spikeRadius:
|
|
2032
|
-
spikeScaleZ:
|
|
2033
|
-
radialSegments:
|
|
2034
|
-
}), this.material = new
|
|
2285
|
+
spikeRadius: r,
|
|
2286
|
+
spikeScaleZ: s,
|
|
2287
|
+
radialSegments: a
|
|
2288
|
+
}), this.material = new M({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
2035
2289
|
}
|
|
2036
2290
|
}
|
|
2037
|
-
class
|
|
2291
|
+
class Yo extends y {
|
|
2038
2292
|
constructor({
|
|
2039
|
-
count:
|
|
2293
|
+
count: t = 20,
|
|
2040
2294
|
//
|
|
2041
2295
|
spacing: o = 0.4,
|
|
2042
2296
|
barHeight: n = 2,
|
|
2043
|
-
barRadius:
|
|
2044
|
-
spikeHeight:
|
|
2045
|
-
spikeRadius:
|
|
2046
|
-
spikeScaleZ:
|
|
2047
|
-
railHeight:
|
|
2297
|
+
barRadius: r = 0.05,
|
|
2298
|
+
spikeHeight: s = 0.3,
|
|
2299
|
+
spikeRadius: a = 0.075,
|
|
2300
|
+
spikeScaleZ: i = 1,
|
|
2301
|
+
railHeight: c = 0.1,
|
|
2048
2302
|
railDepth: l = 0.05,
|
|
2049
2303
|
railOffset: u = 0,
|
|
2050
2304
|
radialSegments: m = 8
|
|
2051
2305
|
} = {}) {
|
|
2052
|
-
super(), this.geometry = new
|
|
2053
|
-
count:
|
|
2306
|
+
super(), this.geometry = new Pe({
|
|
2307
|
+
count: t,
|
|
2054
2308
|
spacing: o,
|
|
2055
2309
|
barHeight: n,
|
|
2056
|
-
barRadius:
|
|
2057
|
-
spikeHeight:
|
|
2058
|
-
spikeRadius:
|
|
2059
|
-
spikeScaleZ:
|
|
2060
|
-
railHeight:
|
|
2310
|
+
barRadius: r,
|
|
2311
|
+
spikeHeight: s,
|
|
2312
|
+
spikeRadius: a,
|
|
2313
|
+
spikeScaleZ: i,
|
|
2314
|
+
railHeight: c,
|
|
2061
2315
|
railDepth: l,
|
|
2062
2316
|
railOffset: u,
|
|
2063
2317
|
radialSegments: m
|
|
2064
|
-
}), this.material = new
|
|
2318
|
+
}), this.material = new M({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
2065
2319
|
}
|
|
2066
2320
|
}
|
|
2067
|
-
class
|
|
2321
|
+
class jo extends y {
|
|
2068
2322
|
constructor({
|
|
2069
|
-
width:
|
|
2323
|
+
width: t = 5,
|
|
2070
2324
|
//
|
|
2071
2325
|
height: o = 8,
|
|
2072
2326
|
depth: n = 1,
|
|
2073
|
-
shelves:
|
|
2074
|
-
frameThickness:
|
|
2075
|
-
open:
|
|
2327
|
+
shelves: r = 4,
|
|
2328
|
+
frameThickness: s = 0.1,
|
|
2329
|
+
open: a = !1
|
|
2076
2330
|
} = {}) {
|
|
2077
|
-
super(), this.geometry = new
|
|
2331
|
+
super(), this.geometry = new Te({ width: t, height: o, depth: n, shelves: r, frameThickness: s, open: a }), this.material = new M({ color: 9127187 });
|
|
2078
2332
|
}
|
|
2079
2333
|
}
|
|
2080
|
-
class
|
|
2334
|
+
class Ho extends y {
|
|
2081
2335
|
constructor() {
|
|
2082
2336
|
super();
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
].forEach((i) => {
|
|
2095
|
-
const l = new d(r, s);
|
|
2096
|
-
l.position.set(i[0], i[1], i[2]), this.add(l);
|
|
2097
|
-
}), this.add(n);
|
|
2098
|
-
}
|
|
2099
|
-
}
|
|
2100
|
-
class Bo extends A {
|
|
2337
|
+
g(this, "geometry");
|
|
2338
|
+
g(this, "material");
|
|
2339
|
+
this.geometry = new Ge(), this.material = [
|
|
2340
|
+
new M({ color: 9132587 }),
|
|
2341
|
+
// Desk surface
|
|
2342
|
+
new M({ color: 4929057 })
|
|
2343
|
+
// Desk legs
|
|
2344
|
+
];
|
|
2345
|
+
}
|
|
2346
|
+
}
|
|
2347
|
+
class Qo extends G {
|
|
2101
2348
|
constructor(o = 1, n = 0.2) {
|
|
2102
2349
|
super();
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2350
|
+
g(this, "candle");
|
|
2351
|
+
g(this, "flame");
|
|
2352
|
+
g(this, "candleLight");
|
|
2353
|
+
g(this, "height");
|
|
2354
|
+
g(this, "radius");
|
|
2108
2355
|
this.height = o, this.radius = n;
|
|
2109
|
-
const
|
|
2110
|
-
this.candle = new
|
|
2111
|
-
const
|
|
2112
|
-
this.flame = new
|
|
2356
|
+
const r = new E(this.radius, this.radius, this.height, 32), s = new M({ color: 16777215 });
|
|
2357
|
+
this.candle = new y(r, s), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
|
|
2358
|
+
const a = new N(0.05, 16, 16), i = new Et({ color: 16753920 });
|
|
2359
|
+
this.flame = new y(a, i), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new ft(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight), this.animateFlicker();
|
|
2113
2360
|
}
|
|
2114
2361
|
animateFlicker() {
|
|
2115
2362
|
const o = () => {
|
|
@@ -2118,170 +2365,156 @@ class Bo extends A {
|
|
|
2118
2365
|
o();
|
|
2119
2366
|
}
|
|
2120
2367
|
}
|
|
2121
|
-
class
|
|
2122
|
-
constructor(
|
|
2368
|
+
class Ko extends G {
|
|
2369
|
+
constructor(t = 1.3, o = 0.5) {
|
|
2123
2370
|
super();
|
|
2124
|
-
const n = new E(o, o, 0.2, 16),
|
|
2125
|
-
|
|
2126
|
-
const
|
|
2127
|
-
|
|
2128
|
-
const l = new Z(o * 1.1, 0.5, 8), u = new
|
|
2129
|
-
m.position.set(0,
|
|
2130
|
-
const h = new
|
|
2131
|
-
p.position.set(0,
|
|
2132
|
-
const
|
|
2133
|
-
|
|
2134
|
-
}
|
|
2135
|
-
}
|
|
2136
|
-
class
|
|
2371
|
+
const n = new E(o, o, 0.2, 16), r = new M({ color: 9127187, flatShading: !0 }), s = new y(n, r);
|
|
2372
|
+
s.position.set(0, 0, 0), this.add(s);
|
|
2373
|
+
const a = new E(o * 0.9, o * 0.9, t), i = new M({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new y(a, i);
|
|
2374
|
+
c.position.set(0, t / 2 + 0.1, 0), this.add(c);
|
|
2375
|
+
const l = new Z(o * 1.1, 0.5, 8), u = new M({ color: 9127187, flatShading: !0 }), m = new y(l, u);
|
|
2376
|
+
m.position.set(0, t + 0.35, 0), this.add(m);
|
|
2377
|
+
const h = new ht(o * 0.8, 0.05, 8, 16), f = new M({ color: 9127187, flatShading: !0 }), p = new y(h, f);
|
|
2378
|
+
p.position.set(0, t + 0.85, 0), this.add(p);
|
|
2379
|
+
const d = new ft(16755200, 1.5, 15);
|
|
2380
|
+
d.position.set(0, t / 2 + 0.1, 0), d.castShadow = !0, this.add(d);
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2383
|
+
class $o extends G {
|
|
2137
2384
|
constructor() {
|
|
2138
2385
|
super();
|
|
2139
|
-
const
|
|
2140
|
-
for (let
|
|
2141
|
-
const
|
|
2142
|
-
|
|
2143
|
-
const
|
|
2144
|
-
|
|
2386
|
+
const t = new at(1, 0), o = new M({ color: 8421504, flatShading: !0 }), n = new M({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
|
|
2387
|
+
for (let r = 0; r < 5; r++) {
|
|
2388
|
+
const s = new y(t, o);
|
|
2389
|
+
s.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), s.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), s.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(s);
|
|
2390
|
+
const a = new y(t, n);
|
|
2391
|
+
a.scale.set(s.scale.x * 0.9, s.scale.y * 0.5, s.scale.z * 0.9), a.rotation.copy(s.rotation), a.position.copy(s.position), a.position.y += 0.3, this.add(a);
|
|
2145
2392
|
}
|
|
2146
2393
|
}
|
|
2147
2394
|
}
|
|
2148
|
-
class
|
|
2149
|
-
constructor(
|
|
2150
|
-
super(), this.geometry = new
|
|
2395
|
+
class Jo extends y {
|
|
2396
|
+
constructor(t = 1, o = 4, n = 4) {
|
|
2397
|
+
super(), this.geometry = new Ce(t, o, n), this.material = new M({ color: 8421504, flatShading: !0 });
|
|
2151
2398
|
}
|
|
2152
2399
|
}
|
|
2153
|
-
class
|
|
2400
|
+
class Wo extends G {
|
|
2154
2401
|
constructor() {
|
|
2155
2402
|
super();
|
|
2156
|
-
const
|
|
2403
|
+
const t = new at(1, 0), o = new M({ color: 8421504, flatShading: !0 });
|
|
2157
2404
|
for (let n = 0; n < 5; n++) {
|
|
2158
|
-
const
|
|
2159
|
-
|
|
2405
|
+
const r = new y(t, o);
|
|
2406
|
+
r.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), r.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), r.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(r);
|
|
2160
2407
|
}
|
|
2161
2408
|
}
|
|
2162
2409
|
}
|
|
2163
|
-
class
|
|
2164
|
-
constructor() {
|
|
2165
|
-
super();
|
|
2166
|
-
const e = new Pt(), o = new J({
|
|
2167
|
-
color: 8965375,
|
|
2168
|
-
transparent: !0,
|
|
2169
|
-
opacity: 0.4,
|
|
2170
|
-
roughness: 0.1,
|
|
2171
|
-
metalness: 0.1,
|
|
2172
|
-
reflectivity: 0.8,
|
|
2173
|
-
transmission: 0.9,
|
|
2174
|
-
side: q
|
|
2175
|
-
}), n = new d(e, o);
|
|
2176
|
-
n.rotation.x = -Math.PI / 2, this.add(n);
|
|
2177
|
-
}
|
|
2178
|
-
}
|
|
2179
|
-
class ko extends A {
|
|
2410
|
+
class tn extends G {
|
|
2180
2411
|
constructor() {
|
|
2181
2412
|
super();
|
|
2182
|
-
const
|
|
2183
|
-
new
|
|
2413
|
+
const t = [
|
|
2414
|
+
new I(0, 0),
|
|
2184
2415
|
// Bottom
|
|
2185
|
-
new
|
|
2416
|
+
new I(0.8, 0),
|
|
2186
2417
|
// Base
|
|
2187
|
-
new
|
|
2418
|
+
new I(1, 1.5),
|
|
2188
2419
|
// Rounded body
|
|
2189
|
-
new
|
|
2420
|
+
new I(0.5, 2.2),
|
|
2190
2421
|
// Neck
|
|
2191
|
-
new
|
|
2422
|
+
new I(0.6, 2.5)
|
|
2192
2423
|
// Mouth
|
|
2193
|
-
], o = new
|
|
2424
|
+
], o = new Y(t, 10), n = new E(0.3, 0.4, 0.2, 8), r = new M({
|
|
2194
2425
|
color: 8965375,
|
|
2195
2426
|
transparent: !0,
|
|
2196
2427
|
opacity: 0.5,
|
|
2197
2428
|
roughness: 0.1,
|
|
2198
2429
|
metalness: 0.3
|
|
2199
|
-
}),
|
|
2430
|
+
}), s = new M({
|
|
2200
2431
|
color: 16724838,
|
|
2201
2432
|
// Vibrant potion color
|
|
2202
2433
|
transparent: !0,
|
|
2203
2434
|
opacity: 0.6
|
|
2204
|
-
}),
|
|
2435
|
+
}), a = new M({
|
|
2205
2436
|
color: 9127187,
|
|
2206
2437
|
roughness: 1
|
|
2207
|
-
}),
|
|
2208
|
-
i.
|
|
2209
|
-
const
|
|
2210
|
-
|
|
2438
|
+
}), i = new y(o, r);
|
|
2439
|
+
i.castShadow = !0;
|
|
2440
|
+
const c = new y(o, s), l = new y(n, a);
|
|
2441
|
+
c.scale.set(0.8, 0.8, 0.8), c.position.y = 0.1, l.position.y = 2.5;
|
|
2442
|
+
const u = new G();
|
|
2443
|
+
u.add(i, c, l), this.add(u);
|
|
2211
2444
|
}
|
|
2212
2445
|
}
|
|
2213
|
-
class
|
|
2446
|
+
class en extends G {
|
|
2214
2447
|
constructor() {
|
|
2215
2448
|
super();
|
|
2216
|
-
const
|
|
2449
|
+
const t = new E(0.3, 0.4, 0.1, 16), o = new M({
|
|
2217
2450
|
color: 3355443,
|
|
2218
2451
|
roughness: 0.6,
|
|
2219
2452
|
metalness: 0.3
|
|
2220
|
-
}), n = new
|
|
2453
|
+
}), n = new y(t, o);
|
|
2221
2454
|
n.position.y = 0.05;
|
|
2222
|
-
const
|
|
2455
|
+
const r = new E(0.1, 0.1, 0.7, 16), s = new M({
|
|
2223
2456
|
color: 5592405,
|
|
2224
2457
|
roughness: 0.5,
|
|
2225
2458
|
metalness: 0.4
|
|
2226
|
-
}),
|
|
2227
|
-
|
|
2228
|
-
const
|
|
2459
|
+
}), a = new y(r, s);
|
|
2460
|
+
a.position.y = 0.4;
|
|
2461
|
+
const i = new Z(0.075, 0.2, 16), c = new M({
|
|
2229
2462
|
color: 16733440,
|
|
2230
2463
|
emissive: 16733440,
|
|
2231
2464
|
emissiveIntensity: 0.6,
|
|
2232
2465
|
transparent: !0,
|
|
2233
2466
|
opacity: 0.8
|
|
2234
|
-
}), l = new
|
|
2235
|
-
l.position.y = 0.8, this.add(n,
|
|
2467
|
+
}), l = new y(i, c);
|
|
2468
|
+
l.position.y = 0.8, this.add(n, a, l);
|
|
2236
2469
|
}
|
|
2237
2470
|
}
|
|
2238
|
-
class
|
|
2471
|
+
class on extends G {
|
|
2239
2472
|
constructor() {
|
|
2240
2473
|
super();
|
|
2241
|
-
const
|
|
2474
|
+
const t = new A(3, 4, 0.1), o = new M({
|
|
2242
2475
|
color: 3026478,
|
|
2243
2476
|
roughness: 0.8,
|
|
2244
2477
|
metalness: 0.6
|
|
2245
|
-
}), n = new
|
|
2478
|
+
}), n = new A(0.2, 0.5, 0.2), r = new M({
|
|
2246
2479
|
color: 11184810,
|
|
2247
2480
|
roughness: 0.5,
|
|
2248
2481
|
metalness: 0.7
|
|
2249
|
-
}),
|
|
2482
|
+
}), s = new E(0.3, 0.3, 0.1, 16), a = new M({
|
|
2250
2483
|
color: 5592405,
|
|
2251
2484
|
roughness: 0.7,
|
|
2252
2485
|
metalness: 0.5
|
|
2253
|
-
}),
|
|
2254
|
-
for (let
|
|
2255
|
-
const
|
|
2256
|
-
|
|
2486
|
+
}), i = new y(t, o);
|
|
2487
|
+
for (let w = -1; w <= 1; w++) {
|
|
2488
|
+
const v = new y(n, r);
|
|
2489
|
+
v.position.set(w, 1.5, 0.1), i.add(v);
|
|
2257
2490
|
}
|
|
2258
|
-
const
|
|
2259
|
-
|
|
2260
|
-
const l = new
|
|
2491
|
+
const c = new y(s, a);
|
|
2492
|
+
c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), i.add(c);
|
|
2493
|
+
const l = new N(0.15, 8, 8), u = new M({
|
|
2261
2494
|
color: 16711680,
|
|
2262
2495
|
emissive: 16711680,
|
|
2263
2496
|
emissiveIntensity: 0.5
|
|
2264
|
-
}), m = new
|
|
2265
|
-
m.position.set(0, -1, 0.1),
|
|
2497
|
+
}), m = new y(l, u);
|
|
2498
|
+
m.position.set(0, -1, 0.1), i.add(m), this.add(i);
|
|
2266
2499
|
let h = 0.015, f = 0.8, p = 0.2;
|
|
2267
|
-
function
|
|
2268
|
-
requestAnimationFrame(
|
|
2269
|
-
const
|
|
2270
|
-
m.material.emissiveIntensity =
|
|
2500
|
+
function d() {
|
|
2501
|
+
requestAnimationFrame(d);
|
|
2502
|
+
const w = p + Math.abs(Math.sin(Date.now() * h)) * (f - p);
|
|
2503
|
+
m.material.emissiveIntensity = w;
|
|
2271
2504
|
}
|
|
2272
|
-
|
|
2505
|
+
d();
|
|
2273
2506
|
}
|
|
2274
2507
|
}
|
|
2275
|
-
class
|
|
2508
|
+
class nn extends y {
|
|
2276
2509
|
constructor({
|
|
2277
|
-
flaskRadius:
|
|
2510
|
+
flaskRadius: t = 1,
|
|
2278
2511
|
//
|
|
2279
2512
|
neckRadius: o = 0.3,
|
|
2280
2513
|
height: n = 2.5,
|
|
2281
|
-
neckHeight:
|
|
2282
|
-
radialSegments:
|
|
2514
|
+
neckHeight: r = 1,
|
|
2515
|
+
radialSegments: s = 16
|
|
2283
2516
|
} = {}) {
|
|
2284
|
-
super(), this.geometry = new
|
|
2517
|
+
super(), this.geometry = new ze({ flaskRadius: t, neckRadius: o, height: n, neckHeight: r, radialSegments: s }), this.material = new J({
|
|
2285
2518
|
color: 8965375,
|
|
2286
2519
|
transparent: !0,
|
|
2287
2520
|
opacity: 0.4,
|
|
@@ -2289,176 +2522,231 @@ class Lo extends d {
|
|
|
2289
2522
|
metalness: 0.1,
|
|
2290
2523
|
reflectivity: 0.8,
|
|
2291
2524
|
transmission: 0.9,
|
|
2292
|
-
side:
|
|
2525
|
+
side: L,
|
|
2293
2526
|
wireframe: !1
|
|
2294
2527
|
});
|
|
2295
2528
|
}
|
|
2296
2529
|
}
|
|
2297
|
-
class
|
|
2530
|
+
class sn extends G {
|
|
2298
2531
|
constructor() {
|
|
2299
2532
|
super();
|
|
2300
|
-
const
|
|
2301
|
-
new
|
|
2533
|
+
const t = [
|
|
2534
|
+
new I(0, 0),
|
|
2302
2535
|
// Bottom of the flask
|
|
2303
|
-
new
|
|
2536
|
+
new I(1.2, 0),
|
|
2304
2537
|
// Base
|
|
2305
|
-
new
|
|
2538
|
+
new I(1.5, 1.5),
|
|
2306
2539
|
// Mid-body
|
|
2307
|
-
new
|
|
2540
|
+
new I(1, 3),
|
|
2308
2541
|
// Narrow neck
|
|
2309
|
-
new
|
|
2542
|
+
new I(0.6, 3.5)
|
|
2310
2543
|
// Mouth of the flask
|
|
2311
|
-
], o = new
|
|
2544
|
+
], o = new Y(t, 12), n = new E(0.6, 0.7, 0.3, 8), r = new M({
|
|
2312
2545
|
color: 8965290,
|
|
2313
2546
|
transparent: !0,
|
|
2314
2547
|
opacity: 0.4,
|
|
2315
2548
|
roughness: 0.1,
|
|
2316
|
-
metalness: 0.5
|
|
2317
|
-
|
|
2549
|
+
metalness: 0.5,
|
|
2550
|
+
depthWrite: !1
|
|
2551
|
+
}), s = new M({
|
|
2318
2552
|
color: 9127187,
|
|
2319
2553
|
roughness: 1
|
|
2320
|
-
}),
|
|
2321
|
-
|
|
2554
|
+
}), a = new y(o, r);
|
|
2555
|
+
a.castShadow = !0;
|
|
2556
|
+
const i = new y(n, s);
|
|
2557
|
+
i.position.y = 3.5, this.add(a, i);
|
|
2558
|
+
}
|
|
2559
|
+
}
|
|
2560
|
+
class rn extends y {
|
|
2561
|
+
constructor() {
|
|
2562
|
+
super();
|
|
2563
|
+
g(this, "geometry");
|
|
2564
|
+
g(this, "material");
|
|
2565
|
+
this.geometry = new Ne(), this.material = new J({
|
|
2566
|
+
color: 8965375,
|
|
2567
|
+
transparent: !0,
|
|
2568
|
+
opacity: 0.4,
|
|
2569
|
+
roughness: 0.1,
|
|
2570
|
+
metalness: 0.1,
|
|
2571
|
+
reflectivity: 0.8,
|
|
2572
|
+
transmission: 0.9,
|
|
2573
|
+
side: L
|
|
2574
|
+
}), this.rotation.x = -Math.PI / 2;
|
|
2322
2575
|
}
|
|
2323
2576
|
}
|
|
2324
|
-
class
|
|
2577
|
+
class an extends G {
|
|
2325
2578
|
constructor() {
|
|
2326
2579
|
super();
|
|
2327
|
-
const
|
|
2580
|
+
const t = new A(2, 3, 0.1), o = new M({
|
|
2328
2581
|
color: 3355443,
|
|
2329
2582
|
roughness: 0.8,
|
|
2330
2583
|
metalness: 0.5
|
|
2331
|
-
}), n = new
|
|
2584
|
+
}), n = new y(t, o), r = new E(0.1, 0.1, 0.2, 8), s = new E(0.05, 0.05, 1, 8), a = new M({
|
|
2332
2585
|
color: 11184810,
|
|
2333
2586
|
roughness: 0.5,
|
|
2334
2587
|
metalness: 0.7
|
|
2335
2588
|
});
|
|
2336
|
-
for (let
|
|
2337
|
-
const
|
|
2338
|
-
|
|
2339
|
-
const l = new
|
|
2340
|
-
l.position.y = 0.5,
|
|
2589
|
+
for (let i = -0.5; i <= 0.5; i += 0.5) {
|
|
2590
|
+
const c = new y(r, a);
|
|
2591
|
+
c.position.set(i, 1, 0.1);
|
|
2592
|
+
const l = new y(s, a);
|
|
2593
|
+
l.position.y = 0.5, c.add(l), this.add(c);
|
|
2341
2594
|
}
|
|
2342
2595
|
this.add(n);
|
|
2343
2596
|
}
|
|
2344
2597
|
}
|
|
2345
|
-
class
|
|
2598
|
+
class cn extends G {
|
|
2346
2599
|
constructor() {
|
|
2347
2600
|
super();
|
|
2348
|
-
const
|
|
2601
|
+
const t = new A(1, 0.2, 0.5), o = new M({
|
|
2349
2602
|
color: 4473924,
|
|
2350
2603
|
roughness: 0.6,
|
|
2351
2604
|
metalness: 0.3
|
|
2352
|
-
}), n = new
|
|
2605
|
+
}), n = new y(t, o);
|
|
2353
2606
|
n.position.y = 0.1;
|
|
2354
|
-
const
|
|
2355
|
-
|
|
2356
|
-
const
|
|
2607
|
+
const r = new A(0.2, 1, 0.2), s = new y(r, o);
|
|
2608
|
+
s.position.set(0, 0.6, -0.2);
|
|
2609
|
+
const a = new E(0.1, 0.1, 0.4, 8), i = new M({
|
|
2357
2610
|
color: 3355443,
|
|
2358
2611
|
roughness: 0.5,
|
|
2359
2612
|
metalness: 0.6
|
|
2360
|
-
}),
|
|
2361
|
-
|
|
2362
|
-
const l = new
|
|
2613
|
+
}), c = new y(a, i);
|
|
2614
|
+
c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
|
|
2615
|
+
const l = new A(0.6, 0.1, 0.6), u = new M({
|
|
2363
2616
|
color: 5592405,
|
|
2364
2617
|
roughness: 0.8,
|
|
2365
2618
|
metalness: 0.2
|
|
2366
|
-
}), m = new
|
|
2367
|
-
m.position.set(0, 0.6, 0), this.add(n,
|
|
2619
|
+
}), m = new y(l, u);
|
|
2620
|
+
m.position.set(0, 0.6, 0), this.add(n, s, c, m);
|
|
2368
2621
|
}
|
|
2369
2622
|
}
|
|
2370
|
-
class
|
|
2623
|
+
class ln extends G {
|
|
2371
2624
|
constructor() {
|
|
2372
2625
|
super();
|
|
2373
|
-
const
|
|
2626
|
+
const t = new ke(), o = new E(0.2, 0.3, 1.5, 8);
|
|
2374
2627
|
o.translate(0, 0.75, 0);
|
|
2375
|
-
const n = new
|
|
2628
|
+
const n = new M({
|
|
2376
2629
|
color: 6045747,
|
|
2377
2630
|
// Dark earthy tone
|
|
2378
2631
|
roughness: 1,
|
|
2379
2632
|
metalness: 0,
|
|
2380
|
-
side:
|
|
2633
|
+
side: L
|
|
2381
2634
|
// Render inside and outside
|
|
2382
|
-
}),
|
|
2635
|
+
}), r = new M({
|
|
2383
2636
|
color: 9132587,
|
|
2384
2637
|
// Slightly lighter earthy color
|
|
2385
2638
|
roughness: 0.8,
|
|
2386
2639
|
metalness: 0.1
|
|
2387
|
-
}),
|
|
2388
|
-
s.
|
|
2640
|
+
}), s = new y(t, n);
|
|
2641
|
+
s.castShadow = !0;
|
|
2642
|
+
const a = new y(o, r);
|
|
2643
|
+
a.castShadow = !0, a.position.set(0.3, 1.3, 0), a.rotation.z = Math.PI / 4, this.add(s, a);
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
class un extends y {
|
|
2647
|
+
constructor({ width: o = 3, height: n = 4, depth: r = 0.1 } = {}) {
|
|
2648
|
+
super();
|
|
2649
|
+
g(this, "geometry");
|
|
2650
|
+
g(this, "material");
|
|
2651
|
+
this.geometry = new A(o, n, r), this.material = new M({
|
|
2652
|
+
color: 3026478,
|
|
2653
|
+
roughness: 0.8,
|
|
2654
|
+
metalness: 0.6
|
|
2655
|
+
});
|
|
2389
2656
|
}
|
|
2390
2657
|
}
|
|
2391
|
-
class
|
|
2658
|
+
class mn extends y {
|
|
2659
|
+
constructor({
|
|
2660
|
+
radius: o = 0.15,
|
|
2661
|
+
//
|
|
2662
|
+
color: n = 16762823,
|
|
2663
|
+
emissive: r = 16711680,
|
|
2664
|
+
emissiveIntensity: s = 0.5
|
|
2665
|
+
} = {}) {
|
|
2666
|
+
super();
|
|
2667
|
+
g(this, "geometry");
|
|
2668
|
+
g(this, "material");
|
|
2669
|
+
this.geometry = new N(o, 8, 8), this.material = new M({
|
|
2670
|
+
color: n,
|
|
2671
|
+
emissive: r,
|
|
2672
|
+
emissiveIntensity: s
|
|
2673
|
+
});
|
|
2674
|
+
}
|
|
2675
|
+
}
|
|
2676
|
+
class hn extends G {
|
|
2392
2677
|
constructor() {
|
|
2393
2678
|
super();
|
|
2394
|
-
const
|
|
2395
|
-
Array.from({ length:
|
|
2679
|
+
const t = 100, o = 0.05, n = new Pt(
|
|
2680
|
+
Array.from({ length: t }, (l, u) => {
|
|
2396
2681
|
const m = u * 0.2;
|
|
2397
|
-
return new
|
|
2682
|
+
return new b(
|
|
2398
2683
|
Math.cos(m) * 0.4,
|
|
2399
2684
|
u * o,
|
|
2400
2685
|
// Gradual height increase
|
|
2401
2686
|
Math.sin(m) * 0.4
|
|
2402
2687
|
);
|
|
2403
2688
|
})
|
|
2404
|
-
),
|
|
2689
|
+
), r = new Tt(n, 200, 0.1, 8, !1), s = new M({
|
|
2405
2690
|
color: 8965375,
|
|
2406
2691
|
transparent: !0,
|
|
2407
2692
|
opacity: 0.3,
|
|
2408
2693
|
roughness: 0.1,
|
|
2409
2694
|
metalness: 0.2,
|
|
2410
2695
|
emissive: 8965375
|
|
2411
|
-
}),
|
|
2412
|
-
this.add(
|
|
2413
|
-
function c() {
|
|
2414
|
-
r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
2415
|
-
}
|
|
2696
|
+
}), a = new y(r, s);
|
|
2697
|
+
this.add(a);
|
|
2416
2698
|
function i() {
|
|
2417
|
-
|
|
2699
|
+
s.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
2700
|
+
}
|
|
2701
|
+
function c() {
|
|
2702
|
+
requestAnimationFrame(c), i();
|
|
2418
2703
|
}
|
|
2419
|
-
|
|
2704
|
+
c();
|
|
2420
2705
|
}
|
|
2421
2706
|
}
|
|
2422
|
-
class
|
|
2707
|
+
class fn extends y {
|
|
2423
2708
|
constructor({
|
|
2424
|
-
radius:
|
|
2709
|
+
radius: o = 0.3,
|
|
2425
2710
|
//
|
|
2426
|
-
height:
|
|
2427
|
-
count:
|
|
2428
|
-
thickness:
|
|
2429
|
-
radialSegments:
|
|
2711
|
+
height: n = 0.4,
|
|
2712
|
+
count: r = 3,
|
|
2713
|
+
thickness: s = 0.03,
|
|
2714
|
+
radialSegments: a = 16
|
|
2430
2715
|
} = {}) {
|
|
2431
|
-
super()
|
|
2716
|
+
super();
|
|
2717
|
+
g(this, "geometry");
|
|
2718
|
+
g(this, "material");
|
|
2719
|
+
this.geometry = new Fe({ radius: o, height: n, count: r, thickness: s, radialSegments: a }), this.material = new M({
|
|
2432
2720
|
color: 8947848,
|
|
2433
2721
|
roughness: 0.7,
|
|
2434
2722
|
metalness: 0.3
|
|
2435
2723
|
});
|
|
2436
2724
|
}
|
|
2437
2725
|
}
|
|
2438
|
-
class
|
|
2726
|
+
class pn extends G {
|
|
2439
2727
|
constructor() {
|
|
2440
2728
|
super();
|
|
2441
|
-
const
|
|
2729
|
+
const t = new E(0.5, 0.6, 0.3, 16), o = new M({
|
|
2442
2730
|
color: 3355443,
|
|
2443
2731
|
roughness: 0.6,
|
|
2444
2732
|
metalness: 0.5
|
|
2445
|
-
}), n = new
|
|
2733
|
+
}), n = new y(t, o);
|
|
2446
2734
|
n.position.y = 0.15;
|
|
2447
|
-
const
|
|
2735
|
+
const r = new E(0.15, 0.15, 2, 12, 1, !0), s = new M({
|
|
2448
2736
|
color: 16737792,
|
|
2449
2737
|
roughness: 0.5,
|
|
2450
2738
|
metalness: 0.8,
|
|
2451
|
-
side:
|
|
2452
|
-
}),
|
|
2453
|
-
|
|
2454
|
-
const
|
|
2455
|
-
|
|
2739
|
+
side: L
|
|
2740
|
+
}), a = new y(r, s);
|
|
2741
|
+
a.position.y = 1.3;
|
|
2742
|
+
const i = new N(0.3, 16, 16), c = new y(i, s);
|
|
2743
|
+
c.position.y = 2.4, this.add(n, a, c);
|
|
2456
2744
|
}
|
|
2457
2745
|
}
|
|
2458
|
-
class
|
|
2459
|
-
constructor(
|
|
2746
|
+
class dn extends G {
|
|
2747
|
+
constructor(t = 0.2, o = 0.2, n = 3, r = 32) {
|
|
2460
2748
|
super();
|
|
2461
|
-
const
|
|
2749
|
+
const s = new st(t, o, n, r), a = new J({
|
|
2462
2750
|
color: 8965375,
|
|
2463
2751
|
transparent: !0,
|
|
2464
2752
|
opacity: 0.4,
|
|
@@ -2467,48 +2755,50 @@ class jo extends A {
|
|
|
2467
2755
|
reflectivity: 0.8,
|
|
2468
2756
|
transmission: 0.9,
|
|
2469
2757
|
// For glass effect
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2758
|
+
depthWrite: !1,
|
|
2759
|
+
side: L
|
|
2760
|
+
}), i = new y(s, a);
|
|
2761
|
+
this.add(i);
|
|
2473
2762
|
}
|
|
2474
2763
|
}
|
|
2475
|
-
class
|
|
2476
|
-
constructor(
|
|
2764
|
+
class yn extends G {
|
|
2765
|
+
constructor(t = 3, o = [65450, 16711850, 11141375]) {
|
|
2477
2766
|
super();
|
|
2478
|
-
const n = new
|
|
2767
|
+
const n = new A(3, 0.2, 1), r = new M({
|
|
2479
2768
|
color: 9127187,
|
|
2480
2769
|
// Wooden color or change to metallic tone
|
|
2481
2770
|
roughness: 0.7,
|
|
2482
2771
|
metalness: 0.3
|
|
2483
|
-
}),
|
|
2484
|
-
|
|
2485
|
-
const
|
|
2772
|
+
}), s = new y(n, r);
|
|
2773
|
+
s.position.y = 0.5, s.castShadow = !0;
|
|
2774
|
+
const a = new st(0.1, 0.1, 1, 16), i = new M({
|
|
2486
2775
|
color: 11184810,
|
|
2487
2776
|
transparent: !0,
|
|
2488
2777
|
opacity: 0.4,
|
|
2489
2778
|
roughness: 0.1,
|
|
2490
2779
|
metalness: 0.5,
|
|
2491
|
-
|
|
2780
|
+
depthWrite: !1,
|
|
2781
|
+
side: L
|
|
2492
2782
|
});
|
|
2493
|
-
for (let
|
|
2494
|
-
const l = new
|
|
2495
|
-
l.position.set(u, 1, 0);
|
|
2496
|
-
const m = new
|
|
2783
|
+
for (let c = 0; c < t; c++) {
|
|
2784
|
+
const l = new y(a, i), u = (c - (t - 1) / 2) * 0.8;
|
|
2785
|
+
l.position.set(u, 1, 0), l.castShadow = !0;
|
|
2786
|
+
const m = new st(0.099, 0.099, 0.5, 16, !1), h = o[c % o.length], f = new M({
|
|
2497
2787
|
color: h,
|
|
2498
2788
|
emissive: h,
|
|
2499
2789
|
emissiveIntensity: 0.5,
|
|
2500
2790
|
transparent: !0,
|
|
2501
2791
|
opacity: 0.6
|
|
2502
|
-
}), p = new
|
|
2503
|
-
p.position.set(0, -0.25, 0), l.add(p),
|
|
2792
|
+
}), p = new y(m, f);
|
|
2793
|
+
p.position.set(0, -0.25, 0), l.add(p), s.add(l);
|
|
2504
2794
|
}
|
|
2505
|
-
this.add(
|
|
2795
|
+
this.add(s);
|
|
2506
2796
|
}
|
|
2507
2797
|
}
|
|
2508
|
-
class
|
|
2798
|
+
class Mn extends y {
|
|
2509
2799
|
constructor() {
|
|
2510
2800
|
super();
|
|
2511
|
-
const
|
|
2801
|
+
const t = new Oe(), o = new J({
|
|
2512
2802
|
color: 5597999,
|
|
2513
2803
|
roughness: 0.1,
|
|
2514
2804
|
transmission: 0.9,
|
|
@@ -2518,30 +2808,30 @@ class Ko extends d {
|
|
|
2518
2808
|
clearcoat: 1,
|
|
2519
2809
|
clearcoatRoughness: 0.1
|
|
2520
2810
|
});
|
|
2521
|
-
this.geometry =
|
|
2811
|
+
this.geometry = t, this.material = o;
|
|
2522
2812
|
}
|
|
2523
2813
|
}
|
|
2524
|
-
class
|
|
2525
|
-
constructor(
|
|
2814
|
+
class De extends j {
|
|
2815
|
+
constructor(t = 5, o = 0.5, n = 1) {
|
|
2526
2816
|
super();
|
|
2527
|
-
const
|
|
2817
|
+
const r = Math.PI * 2 / t, s = r / 2, a = r / 4;
|
|
2528
2818
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
2529
|
-
for (let
|
|
2530
|
-
let
|
|
2531
|
-
this.quadraticCurveTo(
|
|
2819
|
+
for (let i = 1; i <= t; ++i) {
|
|
2820
|
+
let c = Math.cos(r * i - a * 3) * (o / Math.cos(a)), l = -Math.sin(r * i - a * 3) * (o / Math.cos(a)), u = Math.cos(r * i - s) * o, m = -Math.sin(r * i - s) * o;
|
|
2821
|
+
this.quadraticCurveTo(c, l, u, m), c = Math.cos(r * i - a) * (o / Math.cos(a)), l = -Math.sin(r * i - a) * (o / Math.cos(a)), u = Math.cos(r * i) * n, m = -Math.sin(r * i) * n, this.quadraticCurveTo(c, l, u, m);
|
|
2532
2822
|
}
|
|
2533
2823
|
this.closePath();
|
|
2534
2824
|
}
|
|
2535
2825
|
}
|
|
2536
|
-
class
|
|
2537
|
-
constructor(
|
|
2826
|
+
class wn extends y {
|
|
2827
|
+
constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
|
|
2538
2828
|
super();
|
|
2539
|
-
const
|
|
2540
|
-
depth:
|
|
2541
|
-
bevelEnabled:
|
|
2829
|
+
const s = new De(t, o, n), a = new H(s, {
|
|
2830
|
+
depth: r,
|
|
2831
|
+
bevelEnabled: r > 0,
|
|
2542
2832
|
bevelThickness: 0,
|
|
2543
2833
|
bevelSize: 0
|
|
2544
|
-
}),
|
|
2834
|
+
}), i = new M({
|
|
2545
2835
|
color: 16776960,
|
|
2546
2836
|
emissive: 16766720,
|
|
2547
2837
|
emissiveIntensity: 0.25,
|
|
@@ -2549,75 +2839,75 @@ class $o extends d {
|
|
|
2549
2839
|
roughness: 0.3,
|
|
2550
2840
|
flatShading: !0
|
|
2551
2841
|
});
|
|
2552
|
-
|
|
2842
|
+
a.center(), this.geometry = a, this.material = i;
|
|
2553
2843
|
}
|
|
2554
2844
|
}
|
|
2555
|
-
class
|
|
2556
|
-
constructor(
|
|
2845
|
+
class Ve extends j {
|
|
2846
|
+
constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25) {
|
|
2557
2847
|
super();
|
|
2558
|
-
const
|
|
2848
|
+
const a = Math.PI * 2 / t, i = a / 4;
|
|
2559
2849
|
this.moveTo(Math.cos(0) * n, -Math.sin(0) * n);
|
|
2560
|
-
for (let
|
|
2561
|
-
this.lineTo(Math.cos(
|
|
2562
|
-
if (this.closePath(),
|
|
2563
|
-
const
|
|
2564
|
-
|
|
2565
|
-
for (let u = 1; u <
|
|
2566
|
-
|
|
2567
|
-
|
|
2850
|
+
for (let c = 1; c <= t; ++c)
|
|
2851
|
+
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);
|
|
2852
|
+
if (this.closePath(), s > 0 && r > 2) {
|
|
2853
|
+
const c = new Gt(), l = Math.PI * 2 / r;
|
|
2854
|
+
c.moveTo(Math.cos(0) * s, -Math.sin(0) * s);
|
|
2855
|
+
for (let u = 1; u < r; ++u)
|
|
2856
|
+
c.lineTo(Math.cos(l * u) * s, -Math.sin(l * u) * s);
|
|
2857
|
+
c.lineTo(Math.cos(0) * s, -Math.sin(0) * s), this.holes.push(c);
|
|
2568
2858
|
}
|
|
2569
2859
|
}
|
|
2570
2860
|
}
|
|
2571
|
-
class
|
|
2572
|
-
constructor(
|
|
2861
|
+
class vn extends y {
|
|
2862
|
+
constructor(t = 5, o = 0.5, n = 1, r = 5, s = 0.25, a = 0.25) {
|
|
2573
2863
|
super();
|
|
2574
|
-
const
|
|
2575
|
-
depth:
|
|
2576
|
-
bevelEnabled:
|
|
2864
|
+
const i = new Ve(t, o, n, r, s), c = new H(i, {
|
|
2865
|
+
depth: a,
|
|
2866
|
+
bevelEnabled: a > 0,
|
|
2577
2867
|
bevelThickness: 0,
|
|
2578
2868
|
bevelSize: 0
|
|
2579
|
-
}), l = new
|
|
2869
|
+
}), l = new M({
|
|
2580
2870
|
color: 11184810,
|
|
2581
2871
|
metalness: 0.8,
|
|
2582
2872
|
roughness: 0.2
|
|
2583
2873
|
});
|
|
2584
|
-
|
|
2874
|
+
c.center(), this.geometry = c, this.material = l;
|
|
2585
2875
|
}
|
|
2586
2876
|
}
|
|
2587
|
-
class
|
|
2588
|
-
constructor(
|
|
2589
|
-
super(), this.moveTo(0, n *
|
|
2590
|
-
-o * 0.375 *
|
|
2591
|
-
n *
|
|
2877
|
+
class Xe extends j {
|
|
2878
|
+
constructor(t = 1, o = 2.1, n = 1.4, r = 1.6) {
|
|
2879
|
+
super(), this.moveTo(0, n * t / 3), this.bezierCurveTo(
|
|
2880
|
+
-o * 0.375 * t,
|
|
2881
|
+
n * t,
|
|
2592
2882
|
// Control point 1 for the left lobe
|
|
2593
|
-
-o *
|
|
2594
|
-
n *
|
|
2883
|
+
-o * t,
|
|
2884
|
+
n * t / 3,
|
|
2595
2885
|
// Control point 2 for the left side of the heart
|
|
2596
2886
|
0,
|
|
2597
|
-
-
|
|
2887
|
+
-r * t
|
|
2598
2888
|
// Bottom tip of the heart, controlled by `tipDepth`
|
|
2599
2889
|
), this.bezierCurveTo(
|
|
2600
|
-
o *
|
|
2601
|
-
n *
|
|
2890
|
+
o * t,
|
|
2891
|
+
n * t / 3,
|
|
2602
2892
|
// Control point 3 for the right side of the heart
|
|
2603
|
-
o * 0.375 *
|
|
2604
|
-
n *
|
|
2893
|
+
o * 0.375 * t,
|
|
2894
|
+
n * t,
|
|
2605
2895
|
// Control point 4 for the right lobe
|
|
2606
2896
|
0,
|
|
2607
|
-
n *
|
|
2897
|
+
n * t / 3
|
|
2608
2898
|
// Close shape at the top middle
|
|
2609
2899
|
);
|
|
2610
2900
|
}
|
|
2611
2901
|
}
|
|
2612
|
-
class
|
|
2613
|
-
constructor(
|
|
2902
|
+
class xn extends y {
|
|
2903
|
+
constructor(t = 1, o = 1, n = 1, r = 10, s = 0.25) {
|
|
2614
2904
|
super();
|
|
2615
|
-
const
|
|
2616
|
-
depth:
|
|
2617
|
-
bevelEnabled:
|
|
2905
|
+
const a = new Xe(t, o, n, r), i = new H(a, {
|
|
2906
|
+
depth: s,
|
|
2907
|
+
bevelEnabled: s > 0,
|
|
2618
2908
|
bevelThickness: 0,
|
|
2619
2909
|
bevelSize: 0
|
|
2620
|
-
}),
|
|
2910
|
+
}), c = new M({
|
|
2621
2911
|
color: 12986408,
|
|
2622
2912
|
emissive: 12981270,
|
|
2623
2913
|
emissiveIntensity: 0.25,
|
|
@@ -2625,28 +2915,28 @@ class Wo extends d {
|
|
|
2625
2915
|
roughness: 0.3,
|
|
2626
2916
|
flatShading: !0
|
|
2627
2917
|
});
|
|
2628
|
-
|
|
2918
|
+
i.center(), this.geometry = i, this.material = c;
|
|
2629
2919
|
}
|
|
2630
2920
|
}
|
|
2631
|
-
class
|
|
2632
|
-
constructor(
|
|
2921
|
+
class Ze extends j {
|
|
2922
|
+
constructor(t = 5, o = 0.5, n = 1) {
|
|
2633
2923
|
super();
|
|
2634
|
-
const
|
|
2924
|
+
const r = Math.PI * 2 / t, s = r / 2;
|
|
2635
2925
|
this.moveTo(Math.cos(0) * n, Math.sin(0) * n);
|
|
2636
|
-
for (let
|
|
2637
|
-
this.lineTo(Math.cos(
|
|
2926
|
+
for (let a = 1; a <= t; ++a)
|
|
2927
|
+
this.lineTo(Math.cos(r * a - s) * o, Math.sin(r * a - s) * o), this.lineTo(Math.cos(r * a) * n, Math.sin(r * a) * n);
|
|
2638
2928
|
this.closePath();
|
|
2639
2929
|
}
|
|
2640
2930
|
}
|
|
2641
|
-
class
|
|
2642
|
-
constructor(
|
|
2931
|
+
class gn extends y {
|
|
2932
|
+
constructor(t = 5, o = 0.5, n = 1, r = 0.25) {
|
|
2643
2933
|
super();
|
|
2644
|
-
const
|
|
2645
|
-
depth:
|
|
2646
|
-
bevelEnabled:
|
|
2934
|
+
const s = new Ze(t, o, n), a = new H(s, {
|
|
2935
|
+
depth: r,
|
|
2936
|
+
bevelEnabled: r > 0,
|
|
2647
2937
|
bevelThickness: 0,
|
|
2648
2938
|
bevelSize: 0
|
|
2649
|
-
}),
|
|
2939
|
+
}), i = new M({
|
|
2650
2940
|
color: 16776960,
|
|
2651
2941
|
emissive: 16766720,
|
|
2652
2942
|
emissiveIntensity: 0.25,
|
|
@@ -2654,43 +2944,43 @@ class en extends d {
|
|
|
2654
2944
|
roughness: 0.3,
|
|
2655
2945
|
flatShading: !0
|
|
2656
2946
|
});
|
|
2657
|
-
|
|
2947
|
+
a.center(), this.geometry = a, this.material = i;
|
|
2658
2948
|
}
|
|
2659
2949
|
}
|
|
2660
|
-
class
|
|
2950
|
+
class bn extends y {
|
|
2661
2951
|
constructor() {
|
|
2662
|
-
super(), this.geometry = new
|
|
2952
|
+
super(), this.geometry = new Ue(), this.material = new M({ color: 16777215 });
|
|
2663
2953
|
}
|
|
2664
2954
|
}
|
|
2665
|
-
class
|
|
2955
|
+
class In extends y {
|
|
2666
2956
|
constructor({
|
|
2667
|
-
trunkRadiusTop:
|
|
2957
|
+
trunkRadiusTop: t = 0.25,
|
|
2668
2958
|
trunkRadiusBottom: o = 0.4,
|
|
2669
2959
|
trunkHeight: n = 2.5,
|
|
2670
|
-
trunkSegments:
|
|
2671
|
-
trunkColor:
|
|
2672
|
-
leafSize:
|
|
2673
|
-
leafCount:
|
|
2674
|
-
leafDetail:
|
|
2960
|
+
trunkSegments: r = 14,
|
|
2961
|
+
trunkColor: s = 9127187,
|
|
2962
|
+
leafSize: a = 0.8,
|
|
2963
|
+
leafCount: i = 6,
|
|
2964
|
+
leafDetail: c = 0,
|
|
2675
2965
|
leafSpreadRadius: l = 1.5,
|
|
2676
2966
|
leafColor: u = 2263842
|
|
2677
2967
|
} = {}) {
|
|
2678
2968
|
super();
|
|
2679
|
-
const m = new
|
|
2680
|
-
trunkRadiusTop:
|
|
2969
|
+
const m = new qe({
|
|
2970
|
+
trunkRadiusTop: t,
|
|
2681
2971
|
trunkRadiusBottom: o,
|
|
2682
2972
|
trunkHeight: n,
|
|
2683
|
-
trunkSegments:
|
|
2684
|
-
leafSize:
|
|
2685
|
-
leafCount:
|
|
2686
|
-
leafDetail:
|
|
2973
|
+
trunkSegments: r,
|
|
2974
|
+
leafSize: a,
|
|
2975
|
+
leafCount: i,
|
|
2976
|
+
leafDetail: c,
|
|
2687
2977
|
leafSpreadRadius: l
|
|
2688
|
-
}), h = new
|
|
2689
|
-
color:
|
|
2978
|
+
}), h = new M({
|
|
2979
|
+
color: s,
|
|
2690
2980
|
roughness: 0.9,
|
|
2691
2981
|
metalness: 0,
|
|
2692
2982
|
flatShading: !0
|
|
2693
|
-
}), f = new
|
|
2983
|
+
}), f = new M({
|
|
2694
2984
|
color: u,
|
|
2695
2985
|
roughness: 0.8,
|
|
2696
2986
|
metalness: 0,
|
|
@@ -2699,49 +2989,49 @@ class on extends d {
|
|
|
2699
2989
|
this.geometry = m, this.material = [h, f];
|
|
2700
2990
|
}
|
|
2701
2991
|
}
|
|
2702
|
-
class
|
|
2992
|
+
class An extends y {
|
|
2703
2993
|
constructor({
|
|
2704
|
-
radius:
|
|
2994
|
+
radius: t = 3,
|
|
2705
2995
|
//
|
|
2706
2996
|
height: o = 0.6,
|
|
2707
2997
|
widthSegments: n = 64,
|
|
2708
|
-
heightSegments:
|
|
2709
|
-
phiStart:
|
|
2710
|
-
phiLength:
|
|
2998
|
+
heightSegments: r = 16,
|
|
2999
|
+
phiStart: s = 0,
|
|
3000
|
+
phiLength: a = Math.PI * 2
|
|
2711
3001
|
} = {}) {
|
|
2712
|
-
super(), this.geometry = new
|
|
2713
|
-
radius:
|
|
3002
|
+
super(), this.geometry = new _e({
|
|
3003
|
+
radius: t,
|
|
2714
3004
|
height: o,
|
|
2715
3005
|
widthSegments: n,
|
|
2716
|
-
heightSegments:
|
|
2717
|
-
phiStart:
|
|
2718
|
-
phiLength:
|
|
2719
|
-
}), this.material = new
|
|
3006
|
+
heightSegments: r,
|
|
3007
|
+
phiStart: s,
|
|
3008
|
+
phiLength: a
|
|
3009
|
+
}), this.material = new M({ color: 65280, flatShading: !0 });
|
|
2720
3010
|
}
|
|
2721
3011
|
}
|
|
2722
|
-
class
|
|
3012
|
+
class Sn extends y {
|
|
2723
3013
|
constructor({
|
|
2724
|
-
radius:
|
|
3014
|
+
radius: t = vt(5, Math.PI / 10),
|
|
2725
3015
|
//
|
|
2726
3016
|
widthSegments: o = 64,
|
|
2727
3017
|
heightSegments: n = 32,
|
|
2728
|
-
phiStart:
|
|
2729
|
-
phiLength:
|
|
2730
|
-
thetaLength:
|
|
3018
|
+
phiStart: r = 0,
|
|
3019
|
+
phiLength: s = Math.PI * 2,
|
|
3020
|
+
thetaLength: a = Math.PI / 10
|
|
2731
3021
|
} = {}) {
|
|
2732
|
-
super(), this.geometry = new
|
|
2733
|
-
radius:
|
|
3022
|
+
super(), this.geometry = new Le({
|
|
3023
|
+
radius: t,
|
|
2734
3024
|
widthSegments: o,
|
|
2735
3025
|
heightSegments: n,
|
|
2736
|
-
phiStart:
|
|
2737
|
-
phiLength:
|
|
2738
|
-
thetaLength:
|
|
2739
|
-
}), this.material = new
|
|
3026
|
+
phiStart: r,
|
|
3027
|
+
phiLength: s,
|
|
3028
|
+
thetaLength: a
|
|
3029
|
+
}), this.material = new M({ color: 65280, flatShading: !0 });
|
|
2740
3030
|
}
|
|
2741
3031
|
}
|
|
2742
|
-
function
|
|
2743
|
-
|
|
2744
|
-
|
|
3032
|
+
function En(e, { time: t = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } = {}) {
|
|
3033
|
+
e.onBeforeCompile = (r) => {
|
|
3034
|
+
r.uniforms.time = { value: t }, r.uniforms.waveFrequency = { value: o }, r.uniforms.waveAmplitude = { value: n }, r.vertexShader = `
|
|
2745
3035
|
uniform float time;
|
|
2746
3036
|
uniform float waveFrequency;
|
|
2747
3037
|
uniform float waveAmplitude;
|
|
@@ -2755,22 +3045,22 @@ function rn(t, { time: e = 0, waveFrequency: o = 0.2, waveAmplitude: n = 0.5 } =
|
|
|
2755
3045
|
|
|
2756
3046
|
return displaced;
|
|
2757
3047
|
}
|
|
2758
|
-
` +
|
|
3048
|
+
` + r.vertexShader, r.vertexShader = r.vertexShader.replace(
|
|
2759
3049
|
"#include <begin_vertex>",
|
|
2760
3050
|
`
|
|
2761
3051
|
vec3 transformed = waterDisplacement(position, normal);
|
|
2762
3052
|
`
|
|
2763
|
-
),
|
|
3053
|
+
), e.userData.shader = r;
|
|
2764
3054
|
};
|
|
2765
3055
|
}
|
|
2766
|
-
function
|
|
2767
|
-
|
|
3056
|
+
function Pn(e, t) {
|
|
3057
|
+
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
2768
3058
|
}
|
|
2769
|
-
function
|
|
2770
|
-
|
|
2771
|
-
|
|
3059
|
+
function Tn(e, { time: t = 0, intensity: o = 1, axis: n = lt.XYZ, scale: r = 10 } = {}) {
|
|
3060
|
+
e.onBeforeCompile = (s) => {
|
|
3061
|
+
s.uniforms.time = { value: t }, s.uniforms.axis = { value: n }, s.uniforms.intensity = { value: o }, s.uniforms.scale = { value: r }, s.vertexShader = `
|
|
2772
3062
|
uniform float time;
|
|
2773
|
-
uniform vec3
|
|
3063
|
+
uniform vec3 axis;
|
|
2774
3064
|
uniform float intensity;
|
|
2775
3065
|
uniform float scale;
|
|
2776
3066
|
|
|
@@ -2799,28 +3089,28 @@ function cn(t, { time: e = 0, intensity: o = 1, direction: n = L.XYZ, scale: a =
|
|
|
2799
3089
|
|
|
2800
3090
|
return o4.y * d.y + o4.x * (1.0 - d.y);
|
|
2801
3091
|
}
|
|
2802
|
-
` +
|
|
3092
|
+
` + s.vertexShader, s.vertexShader = s.vertexShader.replace(
|
|
2803
3093
|
"#include <begin_vertex>",
|
|
2804
3094
|
`
|
|
2805
3095
|
vec3 transformed = vec3(position);
|
|
2806
3096
|
float n = noise(transformed * scale + time);
|
|
2807
|
-
transformed += normalize(
|
|
3097
|
+
transformed += normalize(axis) * n * intensity;
|
|
2808
3098
|
vec3 transformedNormal = normal;
|
|
2809
3099
|
`
|
|
2810
|
-
),
|
|
3100
|
+
), e.userData.shader = s;
|
|
2811
3101
|
};
|
|
2812
3102
|
}
|
|
2813
|
-
function
|
|
2814
|
-
|
|
3103
|
+
function Gn(e, t) {
|
|
3104
|
+
e.userData.shader && (e.userData.shader.uniforms.time.value += t);
|
|
2815
3105
|
}
|
|
2816
|
-
const
|
|
3106
|
+
const et = {
|
|
2817
3107
|
uniforms: {
|
|
2818
3108
|
turbidity: { value: 10 },
|
|
2819
3109
|
rayleigh: { value: 2 },
|
|
2820
3110
|
mieCoefficient: { value: 5e-3 },
|
|
2821
3111
|
mieDirectionalG: { value: 0.8 },
|
|
2822
|
-
sunPosition: { value: new
|
|
2823
|
-
up: { value: new
|
|
3112
|
+
sunPosition: { value: new b().setFromSphericalCoords(1, O.degToRad(90), O.degToRad(180)) },
|
|
3113
|
+
up: { value: new b(0, 1, 0) }
|
|
2824
3114
|
},
|
|
2825
3115
|
vertexShader: `
|
|
2826
3116
|
uniform vec3 sunPosition;
|
|
@@ -2975,7 +3265,7 @@ const ee = {
|
|
|
2975
3265
|
#include <colorspace_fragment>
|
|
2976
3266
|
}
|
|
2977
3267
|
`
|
|
2978
|
-
},
|
|
3268
|
+
}, ot = {
|
|
2979
3269
|
uniforms: {
|
|
2980
3270
|
topColor: { value: new K(0.5, 0.8, 1) },
|
|
2981
3271
|
bottomColor: { value: new K(1, 1, 1) }
|
|
@@ -2996,7 +3286,7 @@ const ee = {
|
|
|
2996
3286
|
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
2997
3287
|
}
|
|
2998
3288
|
`
|
|
2999
|
-
},
|
|
3289
|
+
}, Bn = {
|
|
3000
3290
|
uniforms: {
|
|
3001
3291
|
tDiffuse: { value: null },
|
|
3002
3292
|
opacity: { value: 1 }
|
|
@@ -3017,7 +3307,7 @@ const ee = {
|
|
|
3017
3307
|
gl_FragColor = opacity * texel;
|
|
3018
3308
|
}
|
|
3019
3309
|
`
|
|
3020
|
-
},
|
|
3310
|
+
}, nt = {
|
|
3021
3311
|
uniforms: {
|
|
3022
3312
|
topColor: { value: new K(51) },
|
|
3023
3313
|
bottomColor: { value: new K(17) },
|
|
@@ -3044,20 +3334,20 @@ const ee = {
|
|
|
3044
3334
|
}
|
|
3045
3335
|
`
|
|
3046
3336
|
};
|
|
3047
|
-
class
|
|
3337
|
+
class Cn extends y {
|
|
3048
3338
|
constructor() {
|
|
3049
3339
|
super();
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
this.geometry = new
|
|
3053
|
-
uniforms:
|
|
3054
|
-
vertexShader:
|
|
3055
|
-
fragmentShader:
|
|
3340
|
+
g(this, "geometry");
|
|
3341
|
+
g(this, "material");
|
|
3342
|
+
this.geometry = new A(1, 1, 1), this.material = new $({
|
|
3343
|
+
uniforms: et.uniforms,
|
|
3344
|
+
vertexShader: et.vertexShader,
|
|
3345
|
+
fragmentShader: et.fragmentShader,
|
|
3056
3346
|
depthWrite: !1,
|
|
3057
|
-
side:
|
|
3347
|
+
side: it
|
|
3058
3348
|
}), this.scale.setScalar(45e4);
|
|
3059
|
-
const o =
|
|
3060
|
-
this.material.uniforms.sunPosition.value =
|
|
3349
|
+
const o = O.degToRad(89), n = O.degToRad(180), r = new b().setFromSphericalCoords(1, o, n);
|
|
3350
|
+
this.material.uniforms.sunPosition.value = r;
|
|
3061
3351
|
}
|
|
3062
3352
|
/**
|
|
3063
3353
|
* Set the sun position.
|
|
@@ -3073,301 +3363,410 @@ class mn extends d {
|
|
|
3073
3363
|
* - This is the horizontal angle in the xy-plane.
|
|
3074
3364
|
*/
|
|
3075
3365
|
sunPosition(o, n) {
|
|
3076
|
-
const
|
|
3077
|
-
|
|
3366
|
+
const r = new b();
|
|
3367
|
+
r.setFromSphericalCoords(1, o, n), this.material.uniforms.sunPosition.value = r;
|
|
3078
3368
|
}
|
|
3079
3369
|
}
|
|
3080
|
-
class
|
|
3370
|
+
class Un extends y {
|
|
3081
3371
|
constructor(o = 1e3) {
|
|
3082
3372
|
super();
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
this.geometry = new
|
|
3086
|
-
uniforms:
|
|
3087
|
-
vertexShader:
|
|
3088
|
-
fragmentShader:
|
|
3089
|
-
side:
|
|
3373
|
+
g(this, "geometry");
|
|
3374
|
+
g(this, "material");
|
|
3375
|
+
this.geometry = new A(o, o, o), this.material = new $({
|
|
3376
|
+
uniforms: ot.uniforms,
|
|
3377
|
+
vertexShader: ot.vertexShader,
|
|
3378
|
+
fragmentShader: ot.fragmentShader,
|
|
3379
|
+
side: it
|
|
3090
3380
|
});
|
|
3091
3381
|
}
|
|
3092
3382
|
}
|
|
3093
|
-
class
|
|
3383
|
+
class zn extends y {
|
|
3094
3384
|
constructor(o = 1e3) {
|
|
3095
3385
|
super();
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
this.geometry = new
|
|
3099
|
-
vertexShader:
|
|
3100
|
-
fragmentShader:
|
|
3101
|
-
uniforms:
|
|
3102
|
-
side:
|
|
3386
|
+
g(this, "geometry");
|
|
3387
|
+
g(this, "material");
|
|
3388
|
+
this.geometry = new N(o, 32, 15), this.material = new $({
|
|
3389
|
+
vertexShader: nt.vertexShader,
|
|
3390
|
+
fragmentShader: nt.fragmentShader,
|
|
3391
|
+
uniforms: nt.uniforms,
|
|
3392
|
+
side: it
|
|
3103
3393
|
});
|
|
3104
3394
|
}
|
|
3105
3395
|
}
|
|
3106
|
-
const
|
|
3107
|
-
const
|
|
3108
|
-
for (let n = 0; n <
|
|
3109
|
-
const
|
|
3110
|
-
|
|
3396
|
+
const Nn = (e) => {
|
|
3397
|
+
const t = new Uint8Array(4 * e * e);
|
|
3398
|
+
for (let n = 0; n < e * e; n++) {
|
|
3399
|
+
const r = n * 4, s = (n % e ^ Math.floor(n / e)) & 1 ? 255 : 0;
|
|
3400
|
+
t[r] = s, t[r + 1] = s, t[r + 2] = s, t[r + 3] = 255;
|
|
3111
3401
|
}
|
|
3112
|
-
const o = new
|
|
3113
|
-
return o.wrapS =
|
|
3402
|
+
const o = new Bt(t, e, e, Ct, Ut);
|
|
3403
|
+
return o.wrapS = ut, o.wrapT = ut, o.minFilter = zt, o.needsUpdate = !0, o;
|
|
3114
3404
|
};
|
|
3115
|
-
function
|
|
3116
|
-
const
|
|
3117
|
-
|
|
3405
|
+
function kn(e) {
|
|
3406
|
+
const t = new ct().setFromObject(e), o = new b();
|
|
3407
|
+
t.getCenter(o), e.position.sub(o);
|
|
3118
3408
|
}
|
|
3119
|
-
function
|
|
3120
|
-
const o = new
|
|
3409
|
+
function Fn(e, t = new b(0, 0, 0)) {
|
|
3410
|
+
const o = new ct().setFromObject(e), n = new b();
|
|
3121
3411
|
o.getCenter(n);
|
|
3122
|
-
const
|
|
3123
|
-
|
|
3412
|
+
const r = new b().subVectors(t, n);
|
|
3413
|
+
e.position.add(r);
|
|
3124
3414
|
}
|
|
3125
|
-
function
|
|
3126
|
-
|
|
3127
|
-
const
|
|
3128
|
-
if (
|
|
3129
|
-
const o =
|
|
3130
|
-
|
|
3415
|
+
function On(e) {
|
|
3416
|
+
e.computeBoundingBox();
|
|
3417
|
+
const t = e.boundingBox;
|
|
3418
|
+
if (t) {
|
|
3419
|
+
const o = t.getCenter(new b());
|
|
3420
|
+
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z);
|
|
3131
3421
|
}
|
|
3132
3422
|
}
|
|
3133
|
-
function
|
|
3134
|
-
return Math.max(0, Math.min(1, (
|
|
3423
|
+
function Ye(e, t, o) {
|
|
3424
|
+
return Math.max(0, Math.min(1, (e - t) / (o - t)));
|
|
3135
3425
|
}
|
|
3136
|
-
function
|
|
3137
|
-
const
|
|
3138
|
-
for (let l = 0; l <=
|
|
3139
|
-
const u = l /
|
|
3140
|
-
|
|
3426
|
+
function _n(e, t, o, n, r, s = 20, a = 0, i = 1) {
|
|
3427
|
+
const c = [];
|
|
3428
|
+
for (let l = 0; l <= s; l++) {
|
|
3429
|
+
const u = l / s, m = e(Ye(u, a, i)), h = t + m * (o - t), f = n + u * (r - n);
|
|
3430
|
+
c.push(new I(h, f));
|
|
3141
3431
|
}
|
|
3142
|
-
return
|
|
3432
|
+
return c;
|
|
3143
3433
|
}
|
|
3144
|
-
function
|
|
3145
|
-
const o = new
|
|
3146
|
-
|
|
3434
|
+
function Rn(e) {
|
|
3435
|
+
const o = new ct().setFromObject(e).getCenter(new b());
|
|
3436
|
+
e.translateX(-o.x), e.translateY(-o.y), e.translateZ(-o.z), e.updateMatrixWorld(!0);
|
|
3147
3437
|
}
|
|
3148
|
-
function
|
|
3149
|
-
|
|
3150
|
-
const
|
|
3151
|
-
if (
|
|
3152
|
-
const o =
|
|
3153
|
-
|
|
3438
|
+
function Ln(e) {
|
|
3439
|
+
e.geometry.computeBoundingBox();
|
|
3440
|
+
const t = e.geometry.boundingBox;
|
|
3441
|
+
if (t) {
|
|
3442
|
+
const o = t.getCenter(new b());
|
|
3443
|
+
e.geometry.translate(-o.x, -o.y, -o.z);
|
|
3154
3444
|
}
|
|
3155
3445
|
}
|
|
3156
|
-
const
|
|
3157
|
-
let
|
|
3158
|
-
for (let
|
|
3159
|
-
const
|
|
3160
|
-
|
|
3161
|
-
}
|
|
3162
|
-
return r;
|
|
3163
|
-
}, Xt = (t, e, o, n = 24) => {
|
|
3164
|
-
let a = [];
|
|
3165
|
-
for (let r = 0; r <= n; r++) {
|
|
3166
|
-
const s = r / n, c = k.DAMPED(s, o) * (e.x - t.x) + t.x, i = t.y + s * (e.y - t.y);
|
|
3167
|
-
a.push(new b(c, i));
|
|
3446
|
+
const je = (e, t, o, n, r = 24) => {
|
|
3447
|
+
let s = [];
|
|
3448
|
+
for (let a = 0; a <= r; a++) {
|
|
3449
|
+
const i = a / r, c = _.CUBIC(i, e.x, t.x, o.x, n.x), l = _.CUBIC(i, e.y, t.y, o.y, n.y);
|
|
3450
|
+
s.push(new I(c, l));
|
|
3168
3451
|
}
|
|
3169
|
-
return
|
|
3170
|
-
},
|
|
3452
|
+
return s;
|
|
3453
|
+
}, He = (e, t, o, n = 24) => {
|
|
3171
3454
|
let r = [];
|
|
3172
|
-
for (let s = 0; s <=
|
|
3173
|
-
const
|
|
3174
|
-
r.push(new
|
|
3455
|
+
for (let s = 0; s <= n; s++) {
|
|
3456
|
+
const a = s / n, i = _.DAMPED(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3457
|
+
r.push(new I(i, c));
|
|
3175
3458
|
}
|
|
3176
3459
|
return r;
|
|
3177
|
-
},
|
|
3178
|
-
let
|
|
3179
|
-
for (let
|
|
3180
|
-
const
|
|
3181
|
-
|
|
3460
|
+
}, Qe = (e, t, o, n, r = 24) => {
|
|
3461
|
+
let s = [];
|
|
3462
|
+
for (let a = 0; a <= r; a++) {
|
|
3463
|
+
const i = a / r, c = _.EXPONENTIAL(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3464
|
+
s.push(new I(c, l));
|
|
3182
3465
|
}
|
|
3183
|
-
return
|
|
3184
|
-
},
|
|
3466
|
+
return s;
|
|
3467
|
+
}, Ke = (e, t, o, n, r = 24) => {
|
|
3185
3468
|
let s = [];
|
|
3186
|
-
for (let
|
|
3187
|
-
const i =
|
|
3188
|
-
s.push(new
|
|
3469
|
+
for (let a = 0; a <= r; a++) {
|
|
3470
|
+
const i = a / r, c = _.LOGARITHMIC(i, o, n) * (t.x - e.x) + e.x, l = e.y + i * (t.y - e.y);
|
|
3471
|
+
s.push(new I(c, l));
|
|
3189
3472
|
}
|
|
3190
3473
|
return s;
|
|
3191
|
-
},
|
|
3474
|
+
}, $e = (e, t, o, n, r, s = 24) => {
|
|
3192
3475
|
let a = [];
|
|
3193
|
-
for (let
|
|
3194
|
-
const
|
|
3195
|
-
a.push(new
|
|
3476
|
+
for (let i = 0; i <= s; i++) {
|
|
3477
|
+
const c = i / s, l = o * c * c + n * c + r + e.x, u = e.y + c * (t.y - e.y);
|
|
3478
|
+
a.push(new I(l, u));
|
|
3196
3479
|
}
|
|
3197
3480
|
return a;
|
|
3198
|
-
},
|
|
3199
|
-
let
|
|
3200
|
-
for (let
|
|
3201
|
-
const
|
|
3202
|
-
|
|
3481
|
+
}, Je = (e, t, o, n = 24) => {
|
|
3482
|
+
let r = [];
|
|
3483
|
+
for (let s = 0; s <= n; s++) {
|
|
3484
|
+
const a = s / n, i = _.QUADRATIC(a, e.x, t.x, o.x), c = _.QUADRATIC(a, e.y, t.y, o.y);
|
|
3485
|
+
r.push(new I(i, c));
|
|
3203
3486
|
}
|
|
3204
|
-
return
|
|
3205
|
-
},
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3487
|
+
return r;
|
|
3488
|
+
}, We = (e, t, o, n = 24) => {
|
|
3489
|
+
let r = [];
|
|
3490
|
+
for (let s = 0; s <= n; s++) {
|
|
3491
|
+
const a = s / n, i = _.SIGMOID(a, o) * (t.x - e.x) + e.x, c = e.y + a * (t.y - e.y);
|
|
3492
|
+
r.push(new I(i, c));
|
|
3493
|
+
}
|
|
3494
|
+
return r;
|
|
3495
|
+
}, qn = {
|
|
3496
|
+
createCubicCurvePoints: je,
|
|
3497
|
+
createDampedCurvePoints: He,
|
|
3498
|
+
createExponentialCurvePoints: Qe,
|
|
3499
|
+
createLogarithmicCurvePoints: Ke,
|
|
3500
|
+
createParabolicCurvePoints: $e,
|
|
3501
|
+
createQuadraticCurvePoints: Je,
|
|
3502
|
+
createSigmoidCurvePoints: We
|
|
3213
3503
|
};
|
|
3504
|
+
function Dn(e, t, o, n, r, s = [0, 0], a = [1, 0], i = [0, 1], c = [1, 1]) {
|
|
3505
|
+
const l = r || to(e, t, o);
|
|
3506
|
+
return [
|
|
3507
|
+
// Triangle 1
|
|
3508
|
+
{ pos: e, norm: l, uv: s },
|
|
3509
|
+
{ pos: t, norm: l, uv: a },
|
|
3510
|
+
{ pos: n, norm: l, uv: c },
|
|
3511
|
+
// Triangle 2
|
|
3512
|
+
{ pos: e, norm: l, uv: s },
|
|
3513
|
+
{ pos: n, norm: l, uv: c },
|
|
3514
|
+
{ pos: o, norm: l, uv: i }
|
|
3515
|
+
];
|
|
3516
|
+
}
|
|
3517
|
+
function to(e, t, o) {
|
|
3518
|
+
const n = [
|
|
3519
|
+
t[0] - e[0],
|
|
3520
|
+
t[1] - e[1],
|
|
3521
|
+
t[2] - e[2]
|
|
3522
|
+
], r = [
|
|
3523
|
+
o[0] - e[0],
|
|
3524
|
+
o[1] - e[1],
|
|
3525
|
+
o[2] - e[2]
|
|
3526
|
+
], s = [
|
|
3527
|
+
n[1] * r[2] - n[2] * r[1],
|
|
3528
|
+
n[2] * r[0] - n[0] * r[2],
|
|
3529
|
+
n[0] * r[1] - n[1] * r[0]
|
|
3530
|
+
], a = Math.sqrt(s[0] ** 2 + s[1] ** 2 + s[2] ** 2);
|
|
3531
|
+
return s.map((i) => i / a);
|
|
3532
|
+
}
|
|
3533
|
+
function Vn(e, t) {
|
|
3534
|
+
return e.map(([o, n, r]) => {
|
|
3535
|
+
switch (t) {
|
|
3536
|
+
case "x":
|
|
3537
|
+
return [n, r];
|
|
3538
|
+
case "y":
|
|
3539
|
+
return [o, r];
|
|
3540
|
+
case "z":
|
|
3541
|
+
return [o, n];
|
|
3542
|
+
default:
|
|
3543
|
+
throw new Error(`Invalid axis: ${t}`);
|
|
3544
|
+
}
|
|
3545
|
+
});
|
|
3546
|
+
}
|
|
3547
|
+
function eo(e) {
|
|
3548
|
+
const [t, o, n] = e, r = Math.abs(t), s = Math.abs(o), a = Math.abs(n);
|
|
3549
|
+
return r >= s && r >= a ? [n > 0 ? n : -n, o] : s >= r && s >= a ? [t, n > 0 ? n : -n] : [t, o];
|
|
3550
|
+
}
|
|
3551
|
+
function Xn(e) {
|
|
3552
|
+
return e.map((t) => eo(t));
|
|
3553
|
+
}
|
|
3554
|
+
function Zn(e) {
|
|
3555
|
+
return e.map(([t, o, n]) => {
|
|
3556
|
+
const r = Math.atan2(n, t), s = Math.acos(o / Math.sqrt(t ** 2 + o ** 2 + n ** 2)), a = r / (2 * Math.PI) + 0.5, i = 1 - s / Math.PI;
|
|
3557
|
+
return [a, i];
|
|
3558
|
+
});
|
|
3559
|
+
}
|
|
3560
|
+
function Yn(e) {
|
|
3561
|
+
return e.map(([t, o, n]) => [Math.atan2(n, t) / (2 * Math.PI) + 0.5, o]);
|
|
3562
|
+
}
|
|
3563
|
+
function jn(e) {
|
|
3564
|
+
return e.map(([t, o, n]) => {
|
|
3565
|
+
const r = Math.sqrt(t ** 2 + n ** 2);
|
|
3566
|
+
return [Math.atan2(n, t) / (2 * Math.PI) + 0.5, r];
|
|
3567
|
+
});
|
|
3568
|
+
}
|
|
3569
|
+
function oo(e, t, o, n, r) {
|
|
3570
|
+
return [
|
|
3571
|
+
(e[0] - t) / (o - t),
|
|
3572
|
+
(e[1] - n) / (r - n)
|
|
3573
|
+
];
|
|
3574
|
+
}
|
|
3575
|
+
function Hn(e, t, o) {
|
|
3576
|
+
const [n, r] = t, [s, a] = o;
|
|
3577
|
+
return e.map((i) => oo(i, n, s, r, a));
|
|
3578
|
+
}
|
|
3579
|
+
function Qn(e) {
|
|
3580
|
+
const t = Math.min(...e.map((s) => s[0])), o = Math.max(...e.map((s) => s[0])), n = Math.min(...e.map((s) => s[1])), r = Math.max(...e.map((s) => s[1]));
|
|
3581
|
+
return {
|
|
3582
|
+
minBounds: [t, n],
|
|
3583
|
+
maxBounds: [o, r]
|
|
3584
|
+
};
|
|
3585
|
+
}
|
|
3214
3586
|
export {
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3587
|
+
Cn as AtmosphericSkybox,
|
|
3588
|
+
lt as Axis,
|
|
3589
|
+
To as BifurcatedStaircaseGeometry,
|
|
3590
|
+
bn as Bone,
|
|
3591
|
+
Ue as BoneGeometry,
|
|
3592
|
+
_o as Book,
|
|
3593
|
+
dt as BookGeometry,
|
|
3594
|
+
jo as Bookshelf,
|
|
3595
|
+
Te as BookshelfGeometry,
|
|
3596
|
+
tn as Bottle,
|
|
3597
|
+
xo as BubblingEffect,
|
|
3598
|
+
en as BunsenBurner,
|
|
3599
|
+
wn as Burst,
|
|
3600
|
+
De as BurstShape,
|
|
3601
|
+
Qo as Candle,
|
|
3602
|
+
Ro as CrossHeadstone,
|
|
3603
|
+
be as CrossHeadstoneGeometry,
|
|
3604
|
+
Un as DaySkybox,
|
|
3605
|
+
Ho as Desk,
|
|
3606
|
+
Ge as DeskGeometry,
|
|
3607
|
+
Go as DioramaGeometry,
|
|
3608
|
+
W as Direction,
|
|
3609
|
+
vo as Easing,
|
|
3610
|
+
on as ElectricPanel,
|
|
3611
|
+
Me as EllipticLeafGeometry,
|
|
3612
|
+
go as EmissivePulseEffect,
|
|
3613
|
+
nn as ErlenmeyerFlask,
|
|
3614
|
+
ze as ErlenmeyerFlaskGeometry,
|
|
3241
3615
|
Q as Falloff,
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
co as
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3616
|
+
Xo as FenceColumn,
|
|
3617
|
+
Ee as FenceColumnGeometry,
|
|
3618
|
+
sn as Flask,
|
|
3619
|
+
rn as FlorenceFlask,
|
|
3620
|
+
Ne as FlorenceFlaskGeometry,
|
|
3621
|
+
vn as Gear,
|
|
3622
|
+
Ve as GearShape,
|
|
3623
|
+
xn as Heart,
|
|
3624
|
+
Xe as HeartShape,
|
|
3625
|
+
An as Hill,
|
|
3626
|
+
_e as HillGeometry,
|
|
3627
|
+
Bo as LShapedStaircaseGeometry,
|
|
3628
|
+
Ko as Lantern,
|
|
3629
|
+
bo as LeafEffect,
|
|
3630
|
+
an as LeverPanel,
|
|
3631
|
+
So as LightningEffect,
|
|
3632
|
+
Lo as Mausoleum,
|
|
3633
|
+
cn as Microscope,
|
|
3634
|
+
Oo as Moon,
|
|
3635
|
+
ln as MortarAndPestle,
|
|
3636
|
+
ke as MortarGeometry,
|
|
3637
|
+
$o as MossyRocks,
|
|
3638
|
+
Sn as Mound,
|
|
3639
|
+
Le as MoundGeometry,
|
|
3640
|
+
zn as NightSkybox,
|
|
3641
|
+
qo as ObeliskHeadstone,
|
|
3642
|
+
Ie as ObeliskHeadstoneGeometry,
|
|
3643
|
+
un as Panel,
|
|
3644
|
+
mn as PanelLight,
|
|
3645
|
+
_ as ParametricCurve,
|
|
3646
|
+
qn as ParametricCurveUtils,
|
|
3647
|
+
Jo as Rock,
|
|
3648
|
+
Ce as RockGeometry,
|
|
3649
|
+
Wo as Rocks,
|
|
3650
|
+
Do as RoundedHeadstone,
|
|
3651
|
+
Ae as RoundedHeadstoneGeometry,
|
|
3652
|
+
Co as SpiralStaircaseGeometry,
|
|
3653
|
+
hn as SpiralTube,
|
|
3654
|
+
Vo as SquareHeadstone,
|
|
3655
|
+
Se as SquareHeadstoneGeometry,
|
|
3656
|
+
Uo as StaircaseGeometry,
|
|
3657
|
+
fn as Stand,
|
|
3658
|
+
Fe as StandGeometry,
|
|
3659
|
+
gn as Star,
|
|
3660
|
+
Ze as StarShape,
|
|
3661
|
+
pn as TeslaCoil,
|
|
3662
|
+
dn as TestTube,
|
|
3663
|
+
st as TestTubeGeometry,
|
|
3664
|
+
yn as TestTubeRack,
|
|
3665
|
+
In as Tree,
|
|
3666
|
+
qe as TreeGeometry,
|
|
3667
|
+
Mn as WineBottle,
|
|
3668
|
+
Oe as WineBottleGeometry,
|
|
3669
|
+
Zo as WroughtIronBar,
|
|
3670
|
+
wt as WroughtIronBarGeometry,
|
|
3671
|
+
Yo as WroughtIronFence,
|
|
3672
|
+
Pe as WroughtIronFenceGeometry,
|
|
3673
|
+
Tn as addNoiseDisplacement,
|
|
3674
|
+
En as addWaterDisplacement,
|
|
3675
|
+
et as atmosphericShader,
|
|
3676
|
+
to as calculateNormal,
|
|
3677
|
+
Qn as calculateUVBounds,
|
|
3678
|
+
Re as capHeightFromRadius,
|
|
3679
|
+
No as capWidthFromRadius,
|
|
3680
|
+
Fo as cartesianToSpherical,
|
|
3681
|
+
kn as centerGroup,
|
|
3682
|
+
Fn as centerGroupAtTarget,
|
|
3683
|
+
On as centerInstancedMesh,
|
|
3684
|
+
Rn as centerMesh,
|
|
3685
|
+
Ln as centerMeshGeometry,
|
|
3686
|
+
Nn as checkerboardTexture,
|
|
3687
|
+
Jt as circularEaseIn,
|
|
3688
|
+
te as circularEaseInOut,
|
|
3689
|
+
Wt as circularEaseOut,
|
|
3690
|
+
ne as concave,
|
|
3691
|
+
se as convex,
|
|
3692
|
+
je as createCubicCurvePoints,
|
|
3693
|
+
He as createDampedCurvePoints,
|
|
3694
|
+
Qe as createExponentialCurvePoints,
|
|
3695
|
+
Ke as createLogarithmicCurvePoints,
|
|
3696
|
+
$e as createParabolicCurvePoints,
|
|
3697
|
+
Dn as createQuad,
|
|
3698
|
+
Je as createQuadraticCurvePoints,
|
|
3699
|
+
We as createSigmoidCurvePoints,
|
|
3700
|
+
le as cubicCurve,
|
|
3701
|
+
Lt as cubicEaseIn,
|
|
3702
|
+
Dt as cubicEaseInOut,
|
|
3703
|
+
qt as cubicEaseOut,
|
|
3704
|
+
eo as cubicUVMapping,
|
|
3705
|
+
Xn as cubicUVMappingBatch,
|
|
3706
|
+
Yn as cylindricalUVMapping,
|
|
3707
|
+
ue as dampedCurve,
|
|
3708
|
+
ot as daySkyShader,
|
|
3709
|
+
ho as displacementBrush,
|
|
3710
|
+
ro as dollyAnimation,
|
|
3711
|
+
me as exponentialCurve,
|
|
3712
|
+
Qt as exponentialEaseIn,
|
|
3713
|
+
$t as exponentialEaseInOut,
|
|
3714
|
+
Kt as exponentialEaseOut,
|
|
3715
|
+
Bn as fadeShader,
|
|
3716
|
+
fo as flattenBrush,
|
|
3717
|
+
ao as flythroughAnimation,
|
|
3718
|
+
ce as gaussian,
|
|
3719
|
+
_n as interpolateCurve,
|
|
3720
|
+
ie as inverse,
|
|
3721
|
+
ee as linear,
|
|
3722
|
+
re as logarithmic,
|
|
3723
|
+
he as logarithmicCurve,
|
|
3724
|
+
we as logarithmicRandomMax,
|
|
3725
|
+
ve as logarithmicRandomMin,
|
|
3726
|
+
nt as nightSkyShader,
|
|
3727
|
+
po as noiseBrush,
|
|
3728
|
+
oo as normalizeUV,
|
|
3729
|
+
Hn as normalizeUVBatch,
|
|
3730
|
+
io as orbitAnimation,
|
|
3731
|
+
fe as parabolicCurve,
|
|
3732
|
+
co as pendulumAnimation,
|
|
3733
|
+
Vn as planarUVMapping,
|
|
3734
|
+
jn as polarUVMapping,
|
|
3735
|
+
pe as quadraticCurve,
|
|
3736
|
+
Ot as quadraticEaseIn,
|
|
3737
|
+
Rt as quadraticEaseInOut,
|
|
3738
|
+
_t as quadraticEaseOut,
|
|
3739
|
+
Vt as quarticEaseIn,
|
|
3740
|
+
Zt as quarticEaseInOut,
|
|
3741
|
+
Xt as quarticEaseOut,
|
|
3742
|
+
Yt as quinticEaseIn,
|
|
3743
|
+
Ht as quinticEaseInOut,
|
|
3744
|
+
jt as quinticEaseOut,
|
|
3745
|
+
zo as radiusFromCapHeight,
|
|
3746
|
+
vt as radiusFromCapWidth,
|
|
3747
|
+
pt as randomFloat,
|
|
3748
|
+
Io as randomInteger,
|
|
3749
|
+
Be as randomTransformVertices,
|
|
3750
|
+
Eo as rowOfBooksByCount,
|
|
3751
|
+
Po as rowOfBooksByLength,
|
|
3752
|
+
Mt as rowOfBooksByScales,
|
|
3753
|
+
Ao as setRandomInterval,
|
|
3754
|
+
xe as setRandomTimeout,
|
|
3755
|
+
de as sigmoidCurve,
|
|
3756
|
+
Nt as sineEaseIn,
|
|
3757
|
+
Ft as sineEaseInOut,
|
|
3758
|
+
kt as sineEaseOut,
|
|
3759
|
+
yo as smoothBrush,
|
|
3760
|
+
oe as smoothstep,
|
|
3761
|
+
ko as sphericalToCartesian,
|
|
3762
|
+
Zn as sphericalUVMapping,
|
|
3763
|
+
Mo as spikeBrush,
|
|
3764
|
+
lo as spiralAscensionAnimation,
|
|
3765
|
+
ae as squareRoot,
|
|
3766
|
+
wo as twistBrush,
|
|
3767
|
+
Gn as updateNoiseDisplacementTime,
|
|
3768
|
+
Pn as updateWaterDisplacementTime,
|
|
3769
|
+
uo as wobbleAnimation,
|
|
3770
|
+
mo as zoomInAnimation
|
|
3372
3771
|
};
|
|
3373
3772
|
//# sourceMappingURL=index.es.js.map
|