@realsee/five 6.7.2 → 6.8.0-alpha.0
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/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/gltf-loader.DDSLoader.html +1 -1
- package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +1 -1
- package/docs/classes/vfx.ParticleGPU.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +8 -25
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/five/index.js +3 -3
- package/five/index.mjs +4 -4
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +146 -146
- package/line/index.js +3 -3
- package/line/index.mjs +10 -10
- package/package.json +1 -1
- package/plugins/index.d.ts +0 -26
- package/plugins/index.js +17 -17
- package/plugins/index.mjs +1370 -1518
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +7 -7
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +16 -16
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +3 -3
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
package/plugins/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.
|
|
4
|
+
* Generated: 1/5/2026
|
|
5
|
+
* Version: 6.8.0-alpha.0
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,101 +252,101 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/import { Subscribe as
|
|
255
|
+
*/import { Subscribe as Mn, AnimationFrameLoop as Xe, Camera as An, PanoCircleMesh as xn } from "@realsee/five";
|
|
256
256
|
import * as p from "three";
|
|
257
|
-
import { EventDispatcher as Jt, Vector3 as ye, MOUSE as
|
|
258
|
-
import { BasePlugin as
|
|
259
|
-
function
|
|
260
|
-
return /^https?:\/\/|^\/\//.test(
|
|
257
|
+
import { EventDispatcher as Jt, Vector3 as ye, MOUSE as Se, TOUCH as _e, Spherical as Wt, Quaternion as Xt, Vector2 as Te, Object3D as $t, Matrix4 as Sn } from "three";
|
|
258
|
+
import { BasePlugin as Ot } from "@realsee/five/plugins";
|
|
259
|
+
function _n(h) {
|
|
260
|
+
return /^https?:\/\/|^\/\//.test(h) || /^data:/.test(h);
|
|
261
261
|
}
|
|
262
|
-
function
|
|
263
|
-
return
|
|
262
|
+
function On(h, s) {
|
|
263
|
+
return _n(s) ? s : "".concat(h).concat(s);
|
|
264
264
|
}
|
|
265
|
-
var
|
|
266
|
-
(function(
|
|
267
|
-
var
|
|
265
|
+
var qe;
|
|
266
|
+
(function(h) {
|
|
267
|
+
var s = (
|
|
268
268
|
/** @class */
|
|
269
269
|
(function() {
|
|
270
270
|
function e(n, t) {
|
|
271
|
-
this.hooks = new
|
|
271
|
+
this.hooks = new Mn(), this.staticPrefix = "//vr-image-4.realsee-cdn.cn", this.five = n, t != null && t.staticPrefix && (this.staticPrefix = t.staticPrefix);
|
|
272
272
|
}
|
|
273
273
|
return e.prototype.getCurrentState = function() {
|
|
274
274
|
return this.state;
|
|
275
275
|
}, e.prototype.absoluteUrl = function(n) {
|
|
276
|
-
return
|
|
276
|
+
return On(this.staticPrefix, n);
|
|
277
277
|
}, e;
|
|
278
278
|
})()
|
|
279
279
|
);
|
|
280
|
-
|
|
281
|
-
})(
|
|
282
|
-
var
|
|
283
|
-
return
|
|
280
|
+
h.Controller = s;
|
|
281
|
+
})(qe || (qe = {}));
|
|
282
|
+
var St = function(h, s) {
|
|
283
|
+
return St = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) {
|
|
284
284
|
e.__proto__ = n;
|
|
285
285
|
} || function(e, n) {
|
|
286
286
|
for (var t in n) Object.prototype.hasOwnProperty.call(n, t) && (e[t] = n[t]);
|
|
287
|
-
},
|
|
287
|
+
}, St(h, s);
|
|
288
288
|
};
|
|
289
|
-
function he(
|
|
290
|
-
if (typeof
|
|
291
|
-
throw new TypeError("Class extends value " + String(
|
|
292
|
-
|
|
289
|
+
function he(h, s) {
|
|
290
|
+
if (typeof s != "function" && s !== null)
|
|
291
|
+
throw new TypeError("Class extends value " + String(s) + " is not a constructor or null");
|
|
292
|
+
St(h, s);
|
|
293
293
|
function e() {
|
|
294
|
-
this.constructor =
|
|
294
|
+
this.constructor = h;
|
|
295
295
|
}
|
|
296
|
-
|
|
296
|
+
h.prototype = s === null ? Object.create(s) : (e.prototype = s.prototype, new e());
|
|
297
297
|
}
|
|
298
|
-
var
|
|
299
|
-
return
|
|
298
|
+
var V = function() {
|
|
299
|
+
return V = Object.assign || function(s) {
|
|
300
300
|
for (var e, n = 1, t = arguments.length; n < t; n++) {
|
|
301
301
|
e = arguments[n];
|
|
302
|
-
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && (
|
|
302
|
+
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && (s[r] = e[r]);
|
|
303
303
|
}
|
|
304
|
-
return
|
|
305
|
-
},
|
|
304
|
+
return s;
|
|
305
|
+
}, V.apply(this, arguments);
|
|
306
306
|
};
|
|
307
|
-
function De(
|
|
307
|
+
function De(h, s, e, n) {
|
|
308
308
|
function t(r) {
|
|
309
|
-
return r instanceof e ? r : new e(function(
|
|
310
|
-
|
|
309
|
+
return r instanceof e ? r : new e(function(l) {
|
|
310
|
+
l(r);
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
|
-
return new (e || (e = Promise))(function(r,
|
|
314
|
-
function
|
|
313
|
+
return new (e || (e = Promise))(function(r, l) {
|
|
314
|
+
function o(m) {
|
|
315
315
|
try {
|
|
316
|
-
c(n.next(
|
|
316
|
+
c(n.next(m));
|
|
317
317
|
} catch (y) {
|
|
318
|
-
|
|
318
|
+
l(y);
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
|
-
function
|
|
321
|
+
function d(m) {
|
|
322
322
|
try {
|
|
323
|
-
c(n.throw(
|
|
323
|
+
c(n.throw(m));
|
|
324
324
|
} catch (y) {
|
|
325
|
-
|
|
325
|
+
l(y);
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
-
function c(
|
|
329
|
-
|
|
328
|
+
function c(m) {
|
|
329
|
+
m.done ? r(m.value) : t(m.value).then(o, d);
|
|
330
330
|
}
|
|
331
|
-
c((n = n.apply(
|
|
331
|
+
c((n = n.apply(h, s || [])).next());
|
|
332
332
|
});
|
|
333
333
|
}
|
|
334
|
-
function Ne(
|
|
334
|
+
function Ne(h, s) {
|
|
335
335
|
var e = { label: 0, sent: function() {
|
|
336
336
|
if (r[0] & 1) throw r[1];
|
|
337
337
|
return r[1];
|
|
338
|
-
}, trys: [], ops: [] }, n, t, r,
|
|
339
|
-
return
|
|
338
|
+
}, trys: [], ops: [] }, n, t, r, l = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype);
|
|
339
|
+
return l.next = o(0), l.throw = o(1), l.return = o(2), typeof Symbol == "function" && (l[Symbol.iterator] = function() {
|
|
340
340
|
return this;
|
|
341
|
-
}),
|
|
342
|
-
function
|
|
343
|
-
return function(
|
|
344
|
-
return
|
|
341
|
+
}), l;
|
|
342
|
+
function o(c) {
|
|
343
|
+
return function(m) {
|
|
344
|
+
return d([c, m]);
|
|
345
345
|
};
|
|
346
346
|
}
|
|
347
|
-
function
|
|
347
|
+
function d(c) {
|
|
348
348
|
if (n) throw new TypeError("Generator is already executing.");
|
|
349
|
-
for (;
|
|
349
|
+
for (; l && (l = 0, c[0] && (e = 0)), e; ) try {
|
|
350
350
|
if (n = 1, t && (r = c[0] & 2 ? t.return : c[0] ? t.throw || ((r = t.return) && r.call(t), 0) : t.next) && !(r = r.call(t, c[1])).done) return r;
|
|
351
351
|
switch (t = 0, r && (c = [c[0] & 2, r.value]), c[0]) {
|
|
352
352
|
case 0:
|
|
@@ -381,9 +381,9 @@ function Ne(d, l) {
|
|
|
381
381
|
r[2] && e.ops.pop(), e.trys.pop();
|
|
382
382
|
continue;
|
|
383
383
|
}
|
|
384
|
-
c =
|
|
385
|
-
} catch (
|
|
386
|
-
c = [6,
|
|
384
|
+
c = s.call(h, e);
|
|
385
|
+
} catch (m) {
|
|
386
|
+
c = [6, m], t = 0;
|
|
387
387
|
} finally {
|
|
388
388
|
n = r = 0;
|
|
389
389
|
}
|
|
@@ -391,113 +391,113 @@ function Ne(d, l) {
|
|
|
391
391
|
return { value: c[0] ? c[1] : void 0, done: !0 };
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
|
-
function
|
|
395
|
-
if (e || arguments.length === 2) for (var n = 0, t =
|
|
396
|
-
(r || !(n in
|
|
397
|
-
return
|
|
394
|
+
function qt(h, s, e) {
|
|
395
|
+
if (e || arguments.length === 2) for (var n = 0, t = s.length, r; n < t; n++)
|
|
396
|
+
(r || !(n in s)) && (r || (r = Array.prototype.slice.call(s, 0, n)), r[n] = s[n]);
|
|
397
|
+
return h.concat(r || Array.prototype.slice.call(s));
|
|
398
398
|
}
|
|
399
|
-
function
|
|
400
|
-
return new Promise(function(
|
|
399
|
+
function Cn(h) {
|
|
400
|
+
return new Promise(function(s, e) {
|
|
401
401
|
var n = new Image();
|
|
402
402
|
n.onload = function() {
|
|
403
403
|
n.onload = n.onerror = function() {
|
|
404
|
-
},
|
|
404
|
+
}, s(n);
|
|
405
405
|
}, n.onerror = function(t) {
|
|
406
406
|
n.onload = n.onerror = function() {
|
|
407
407
|
}, e(t);
|
|
408
|
-
}, n.crossOrigin = "", n.src =
|
|
408
|
+
}, n.crossOrigin = "", n.src = h;
|
|
409
409
|
});
|
|
410
410
|
}
|
|
411
|
-
var
|
|
412
|
-
return
|
|
411
|
+
var Ln = typeof performance != "undefined" && typeof performance.timing != "undefined" ? performance.timing.navigationStart : Date.now(), Et = typeof performance != "undefined" ? (function() {
|
|
412
|
+
return Ln + performance.now();
|
|
413
413
|
}) : (function() {
|
|
414
414
|
return Date.now();
|
|
415
415
|
});
|
|
416
|
-
function lt(
|
|
417
|
-
return
|
|
416
|
+
function lt(h, s, e) {
|
|
417
|
+
return h + (s - h) * e;
|
|
418
418
|
}
|
|
419
|
-
function Fn(
|
|
420
|
-
var t = (
|
|
421
|
-
return t * Math.pow(n, 3) + r * Math.pow(n, 2) +
|
|
419
|
+
function Fn(h, s, e, n) {
|
|
420
|
+
var t = (s * e + 2 * h) / Math.pow(e, 3), r = -(2 * s * e + 3 * h) / Math.pow(e, 2), l = s, o = h;
|
|
421
|
+
return t * Math.pow(n, 3) + r * Math.pow(n, 2) + l * n + o;
|
|
422
422
|
}
|
|
423
|
-
function
|
|
424
|
-
var t = (
|
|
425
|
-
return 3 * t * Math.pow(n, 2) + 2 * r * n +
|
|
423
|
+
function In(h, s, e, n) {
|
|
424
|
+
var t = (s * e + 2 * h) / Math.pow(e, 3), r = -(2 * s * e + 3 * h) / Math.pow(e, 2), l = s;
|
|
425
|
+
return 3 * t * Math.pow(n, 2) + 2 * r * n + l;
|
|
426
426
|
}
|
|
427
|
-
function
|
|
427
|
+
function Dn(h, s, e, n) {
|
|
428
428
|
var t = n[1] - n[0];
|
|
429
|
-
return
|
|
429
|
+
return h = ut(h, n), s = ut(s, n), s - h > t / 2 ? lt(h + t, s, e) : h - s > t / 2 ? lt(h - t, s, e) : lt(h, s, e);
|
|
430
430
|
}
|
|
431
|
-
function ut(
|
|
432
|
-
var e =
|
|
433
|
-
return
|
|
431
|
+
function ut(h, s) {
|
|
432
|
+
var e = s[1] - s[0];
|
|
433
|
+
return h < s[0] ? ut(h + e, s) : h >= s[1] ? ut(h - e, s) : h;
|
|
434
434
|
}
|
|
435
|
-
function
|
|
436
|
-
return n ?
|
|
435
|
+
function Nn(h, s, e, n) {
|
|
436
|
+
return n ? Dn(h, s, e, n) : lt(h, s, e);
|
|
437
437
|
}
|
|
438
|
-
var
|
|
438
|
+
var Kt = (
|
|
439
439
|
/** @class */
|
|
440
440
|
(function() {
|
|
441
|
-
function
|
|
441
|
+
function h(s) {
|
|
442
442
|
this.config = {}, this.progress = 1, this.ended = !0, this.value = {}, this.startTime = Et(), this.startVelocity = 0, this.duration = 0, this.keyframes = [];
|
|
443
|
-
for (var e in
|
|
444
|
-
var n =
|
|
443
|
+
for (var e in s) {
|
|
444
|
+
var n = s[e];
|
|
445
445
|
typeof n == "number" ? (this.value[e] = n, this.config[e] = { circle: !1 }) : (this.value[e] = n.value, this.config[e] = { circle: n.circle });
|
|
446
446
|
}
|
|
447
447
|
this.keyframes = [
|
|
448
|
-
{ progress: 0, value:
|
|
449
|
-
{ progress: 1, value:
|
|
448
|
+
{ progress: 0, value: V({}, this.value) },
|
|
449
|
+
{ progress: 1, value: V({}, this.value) }
|
|
450
450
|
];
|
|
451
451
|
}
|
|
452
|
-
return
|
|
453
|
-
var e =
|
|
452
|
+
return h.prototype.getProgress = function(s) {
|
|
453
|
+
var e = s - this.startTime;
|
|
454
454
|
return e < 0 ? 0 : e >= this.duration ? 1 : 1 - Fn(1, this.startVelocity, this.duration, e);
|
|
455
|
-
},
|
|
455
|
+
}, h.prototype.getValue = function(s) {
|
|
456
456
|
for (var e = 1; e < this.keyframes.length; e++)
|
|
457
|
-
if (this.keyframes[e].progress >
|
|
457
|
+
if (this.keyframes[e].progress > s) {
|
|
458
458
|
var n = this.keyframes[e - 1], t = this.keyframes[e], r = {};
|
|
459
|
-
for (var
|
|
460
|
-
var
|
|
461
|
-
r[
|
|
459
|
+
for (var l in this.config) {
|
|
460
|
+
var o = (s - n.progress) / (t.progress - n.progress);
|
|
461
|
+
r[l] = Nn(n.value[l], t.value[l], o, this.config[l].circle);
|
|
462
462
|
}
|
|
463
463
|
return r;
|
|
464
464
|
}
|
|
465
|
-
return
|
|
466
|
-
},
|
|
467
|
-
var e =
|
|
468
|
-
return e >= this.duration ? 0 :
|
|
469
|
-
},
|
|
470
|
-
return this.ended ? !0 : (this.progress = Math.min(1, Math.max(0, this.progress, this.getProgress(
|
|
471
|
-
},
|
|
472
|
-
for (var e = this.getProgress(
|
|
465
|
+
return V({}, this.keyframes[this.keyframes.length - 1].value);
|
|
466
|
+
}, h.prototype.getProgressVelocity = function(s) {
|
|
467
|
+
var e = s - this.startTime;
|
|
468
|
+
return e >= this.duration ? 0 : In(1, this.startVelocity, this.duration, e);
|
|
469
|
+
}, h.prototype.update = function(s) {
|
|
470
|
+
return this.ended ? !0 : (this.progress = Math.min(1, Math.max(0, this.progress, this.getProgress(s))), this.value = this.getValue(this.progress), this.ended = this.progress >= 1, this.ended && this.callbacks && (this.callbacks[0](), this.callbacks = void 0), this.ended);
|
|
471
|
+
}, h.prototype.getKeyFrameSegment = function(s) {
|
|
472
|
+
for (var e = this.getProgress(s), n = 1; n < this.keyframes.length; n++)
|
|
473
473
|
if (this.keyframes[n].progress > e)
|
|
474
474
|
return [this.keyframes[n - 1], this.keyframes[n]];
|
|
475
475
|
return [this.keyframes[this.keyframes.length - 2], this.keyframes[this.keyframes.length - 1]];
|
|
476
|
-
},
|
|
476
|
+
}, h.prototype.getTargetKeyframe = function() {
|
|
477
477
|
return this.keyframes[this.keyframes.length - 1];
|
|
478
|
-
},
|
|
478
|
+
}, h.prototype.set = function(s, e, n, t) {
|
|
479
479
|
var r;
|
|
480
480
|
n === void 0 && (n = 0), isNaN(e) && (e = 0), isNaN(n) && (n = 0), t = t != null ? t : Et();
|
|
481
|
-
var
|
|
481
|
+
var l = this.getProgress(t), o = this.getValue(l), d = {};
|
|
482
482
|
for (var c in this.config)
|
|
483
|
-
|
|
484
|
-
var
|
|
485
|
-
{ progress: 0, value:
|
|
486
|
-
{ progress: 1, value:
|
|
483
|
+
d[c] = (r = s[c]) !== null && r !== void 0 ? r : o[c];
|
|
484
|
+
var m = [
|
|
485
|
+
{ progress: 0, value: o },
|
|
486
|
+
{ progress: 1, value: d }
|
|
487
487
|
];
|
|
488
|
-
return this.setKeyframes(
|
|
489
|
-
},
|
|
488
|
+
return this.setKeyframes(m, e, n, t);
|
|
489
|
+
}, h.prototype.setKeyframes = function(s, e, n, t) {
|
|
490
490
|
var r = this;
|
|
491
|
-
if (n === void 0 && (n = 0),
|
|
491
|
+
if (n === void 0 && (n = 0), s.length < 2)
|
|
492
492
|
throw new Error("keyframes invalid.");
|
|
493
|
-
return isNaN(e) && (e = 0), isNaN(n) && (n = 0), this.callbacks && (this.callbacks[1](new Error("motion aborted.")), this.callbacks = void 0), new Promise(function(
|
|
494
|
-
t = t != null ? t : Et(), r.progress = 0, r.ended = !1, r.startTime = t, r.startVelocity = n, r.keyframes =
|
|
493
|
+
return isNaN(e) && (e = 0), isNaN(n) && (n = 0), this.callbacks && (this.callbacks[1](new Error("motion aborted.")), this.callbacks = void 0), new Promise(function(l, o) {
|
|
494
|
+
t = t != null ? t : Et(), r.progress = 0, r.ended = !1, r.startTime = t, r.startVelocity = n, r.keyframes = s, r.duration = e, e === 0 ? (r.progress = 1, r.value = V({}, s[s.length - 1].value)) : r.value = V({}, s[0].value), r.callbacks = [l, o];
|
|
495
495
|
});
|
|
496
|
-
},
|
|
496
|
+
}, h.prototype.dispose = function() {
|
|
497
497
|
this.callbacks && (this.callbacks[1](new Error("motion dispose.")), this.callbacks = void 0);
|
|
498
|
-
},
|
|
498
|
+
}, h;
|
|
499
499
|
})()
|
|
500
|
-
),
|
|
500
|
+
), kn = [
|
|
501
501
|
{ progress: 0, value: { scale: 0, opacity: 0, shadow: 2 } },
|
|
502
502
|
{ progress: 0.2, value: { scale: 0.5, opacity: 1, shadow: 1 } },
|
|
503
503
|
{ progress: 0.8, value: { scale: 2, opacity: 0, shadow: 0.5 } },
|
|
@@ -559,14 +559,14 @@ void main() {
|
|
|
559
559
|
}
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
|
-
`,
|
|
562
|
+
`, Vn = (
|
|
563
563
|
/** @class */
|
|
564
|
-
(function(
|
|
565
|
-
he(
|
|
566
|
-
function
|
|
567
|
-
var t =
|
|
564
|
+
(function(h) {
|
|
565
|
+
he(s, h);
|
|
566
|
+
function s(e, n) {
|
|
567
|
+
var t = h.call(this, e) || this;
|
|
568
568
|
t.canvas = document.createElement("canvas"), t.group = new p.Group(), t.wrapper = document.createElement("div"), t.style = document.createElement("style"), t.itemMaskMesh = (function() {
|
|
569
|
-
var
|
|
569
|
+
var o = new p.Mesh(new p.SphereBufferGeometry(1, 60, 40), new p.ShaderMaterial({
|
|
570
570
|
vertexShader: Un,
|
|
571
571
|
fragmentShader: Rn,
|
|
572
572
|
uniforms: {
|
|
@@ -581,71 +581,71 @@ void main() {
|
|
|
581
581
|
depthTest: !1,
|
|
582
582
|
transparent: !0
|
|
583
583
|
}));
|
|
584
|
-
return
|
|
585
|
-
})(), t.onFivePanoArrived = function(
|
|
586
|
-
t.state.mode === "mask" && t.loadPanoMask(
|
|
587
|
-
}, t.onFiveWantsMoveToPano = function(
|
|
584
|
+
return o.renderOrder = -3, o.geometry.rotateY(-Math.PI / 2), o.geometry.scale(-1, 1, 1), o;
|
|
585
|
+
})(), t.onFivePanoArrived = function(o) {
|
|
586
|
+
t.state.mode === "mask" && t.loadPanoMask(o);
|
|
587
|
+
}, t.onFiveWantsMoveToPano = function(o) {
|
|
588
588
|
t.state.mode === "box" && t.select();
|
|
589
|
-
}, t.loadPanoMask = function(
|
|
589
|
+
}, t.loadPanoMask = function(o) {
|
|
590
590
|
return De(t, void 0, void 0, function() {
|
|
591
|
-
var
|
|
591
|
+
var d, c, m, y, M, w, A, x, C, E;
|
|
592
592
|
return Ne(this, function(b) {
|
|
593
593
|
switch (b.label) {
|
|
594
594
|
case 0:
|
|
595
|
-
return
|
|
596
|
-
return T.derived_id === String(
|
|
597
|
-
})) === null || E === void 0 ? void 0 : E.object_mask_url,
|
|
595
|
+
return d = this, c = d.five, m = d.canvas, y = d.itemMaskMesh, M = d.data, w = m.getContext("2d"), A = c.observers[o], x = (E = M == null ? void 0 : M.object_mask_list.find(function(T) {
|
|
596
|
+
return T.derived_id === String(A.derivedId);
|
|
597
|
+
})) === null || E === void 0 ? void 0 : E.object_mask_url, x ? [4, Cn(x)] : [
|
|
598
598
|
2
|
|
599
599
|
/*return*/
|
|
600
600
|
];
|
|
601
601
|
case 1:
|
|
602
|
-
return
|
|
602
|
+
return C = b.sent(), m.width = C.width, m.height = C.height, w == null || w.drawImage(C, 0, 0, C.width, C.height), y.material.uniforms.map.value.image = C, y.material.uniforms.map.value.minFilter = p.LinearFilter, y.material.uniforms.map.value.needsUpdate = !0, y.position.copy(A.position), y.quaternion.copy(A.quaternion), c.scene.add(y), c.needsRender = !0, [
|
|
603
603
|
2
|
|
604
604
|
/*return*/
|
|
605
605
|
];
|
|
606
606
|
}
|
|
607
607
|
});
|
|
608
608
|
});
|
|
609
|
-
}, t.onFiveMouseMove = function(
|
|
610
|
-
var
|
|
609
|
+
}, t.onFiveMouseMove = function(o) {
|
|
610
|
+
var d;
|
|
611
611
|
if (t.state.mode === "mask" && t.five.state.mode === "Panorama") {
|
|
612
|
-
var c = t,
|
|
612
|
+
var c = t, m = c.five, y = c.itemMaskMesh, M = m.observers[m.state.panoIndex], w = (d = o.pointers[0]) === null || d === void 0 ? void 0 : d.raycaster;
|
|
613
613
|
if (w) {
|
|
614
|
-
var
|
|
615
|
-
return
|
|
614
|
+
var A = w.intersectObjects(t.group.children.filter(function(x) {
|
|
615
|
+
return x.userData.visible_viewpoint.includes(String(M.derivedId));
|
|
616
616
|
}), !0)[0];
|
|
617
|
-
|
|
617
|
+
A ? y.material.uniforms.color.value = A.object.userData.color : y.material.uniforms.color.value = new p.Vector4(0, 0, 0, 1);
|
|
618
618
|
}
|
|
619
619
|
}
|
|
620
|
-
}, t.onFiveTapGesture = function(
|
|
621
|
-
var
|
|
622
|
-
if (
|
|
623
|
-
var
|
|
620
|
+
}, t.onFiveTapGesture = function(o) {
|
|
621
|
+
var d = t.five, c = d.observers[d.state.panoIndex];
|
|
622
|
+
if (o) {
|
|
623
|
+
var m = o.intersectObjects(t.group.children.filter(function(w) {
|
|
624
624
|
return w.userData.visible_viewpoint.includes(String(c.derivedId));
|
|
625
625
|
}), !0)[0];
|
|
626
|
-
if (
|
|
627
|
-
t.select(
|
|
628
|
-
var y = new
|
|
626
|
+
if (m) {
|
|
627
|
+
t.select(m.object.name), t.stopAnimation && t.stopAnimation(), t.tapPosition = m.point, t.changeTapScreenPosition();
|
|
628
|
+
var y = new Kt({
|
|
629
629
|
opacity: 0,
|
|
630
630
|
scale: 0,
|
|
631
631
|
shadow: 2
|
|
632
|
-
}), M = new
|
|
632
|
+
}), M = new Kt({
|
|
633
633
|
opacity: 0,
|
|
634
634
|
scale: 0,
|
|
635
635
|
shadow: 2
|
|
636
636
|
});
|
|
637
|
-
return y.setKeyframes(
|
|
638
|
-
var
|
|
639
|
-
t.wrapper.firstChild.style.opacity = "".concat(y.value.opacity), t.wrapper.firstChild.style.transform = "scale(".concat(y.value.scale, ")"), t.wrapper.firstChild.style.boxShadow = "0 0 0 ".concat(y.value.shadow, "px #fff"), t.wrapper.lastChild.style.opacity = "".concat(M.value.opacity), t.wrapper.lastChild.style.transform = "scale(".concat(M.value.scale, ")"), t.wrapper.lastChild.style.boxShadow = "0 0 0 ".concat(M.value.shadow, "px #fff"),
|
|
640
|
-
}, !1, 0, 10),
|
|
637
|
+
return y.setKeyframes(kn, 1e3), M.setKeyframes(Bn, 1e3), t.stopAnimation = Xe.shared.add(function(w, A) {
|
|
638
|
+
var x, C = y.update(w), E = M.update(w);
|
|
639
|
+
t.wrapper.firstChild.style.opacity = "".concat(y.value.opacity), t.wrapper.firstChild.style.transform = "scale(".concat(y.value.scale, ")"), t.wrapper.firstChild.style.boxShadow = "0 0 0 ".concat(y.value.shadow, "px #fff"), t.wrapper.lastChild.style.opacity = "".concat(M.value.opacity), t.wrapper.lastChild.style.transform = "scale(".concat(M.value.scale, ")"), t.wrapper.lastChild.style.boxShadow = "0 0 0 ".concat(M.value.shadow, "px #fff"), C && E && ((x = t.stopAnimation) === null || x === void 0 || x.call(t), t.stopAnimation = void 0, d.getElement().parentElement.removeChild(t.wrapper));
|
|
640
|
+
}, !1, 0, 10), d.getElement().parentElement.appendChild(t.wrapper), !1;
|
|
641
641
|
}
|
|
642
642
|
}
|
|
643
643
|
}, t.changeTapScreenPosition = function() {
|
|
644
644
|
if (t.tapPosition) {
|
|
645
|
-
var
|
|
646
|
-
t.wrapper.style.opacity =
|
|
645
|
+
var o = t.tapPosition.clone().project(t.five.camera), d = (o.x + 1) / 2, c = -(o.y - 1) / 2;
|
|
646
|
+
t.wrapper.style.opacity = o.z > 0 && o.z < 1 ? "1" : "0", t.wrapper.style.transform = "translate(".concat(d * 100, "%, ").concat(c * 100, "%)");
|
|
647
647
|
}
|
|
648
|
-
}, t.onFiveCameraUpdate = function(
|
|
648
|
+
}, t.onFiveCameraUpdate = function(o) {
|
|
649
649
|
t.changeTapScreenPosition();
|
|
650
650
|
}, t.dispose = function() {
|
|
651
651
|
t.disable();
|
|
@@ -658,8 +658,8 @@ void main() {
|
|
|
658
658
|
selectAll: !1
|
|
659
659
|
};
|
|
660
660
|
t.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
661
|
-
var
|
|
662
|
-
return t._config =
|
|
661
|
+
var l = V({}, n == null ? void 0 : n.config);
|
|
662
|
+
return t._config = l, t.group.rotateX(Math.PI), t.wrapper.className = "ItemMaskPlugin", t.wrapper.innerHTML = '<span class="ItemMaskPluginCircle"></span><span class="ItemMaskPluginCircle"></span>', t.style.innerHTML = `
|
|
663
663
|
.ItemMaskPlugin {
|
|
664
664
|
position: absolute;
|
|
665
665
|
top: 0;
|
|
@@ -679,25 +679,25 @@ void main() {
|
|
|
679
679
|
}
|
|
680
680
|
`, t.state.enabled && t._enable({ userAction: !1 }), t;
|
|
681
681
|
}
|
|
682
|
-
return Object.defineProperty(
|
|
682
|
+
return Object.defineProperty(s.prototype, "config", {
|
|
683
683
|
get: function() {
|
|
684
|
-
return
|
|
684
|
+
return V({}, this._config);
|
|
685
685
|
},
|
|
686
686
|
enumerable: !1,
|
|
687
687
|
configurable: !0
|
|
688
|
-
}),
|
|
688
|
+
}), s.prototype.updateState = function(e, n) {
|
|
689
689
|
var t = this.state;
|
|
690
|
-
this.state =
|
|
691
|
-
},
|
|
690
|
+
this.state = V(V({}, this.state), e), this.hooks.emit("stateChange", { state: this.state, prevState: t, userAction: n });
|
|
691
|
+
}, s.prototype.load = function(e) {
|
|
692
692
|
return De(this, void 0, void 0, function() {
|
|
693
693
|
var n, t, r = this;
|
|
694
|
-
return Ne(this, function(
|
|
695
|
-
return this.data = e, n = e.data_list.map(function(
|
|
696
|
-
var
|
|
697
|
-
return Number(
|
|
698
|
-
}),
|
|
699
|
-
return Number(
|
|
700
|
-
}), y = Math.abs(c[0] -
|
|
694
|
+
return Ne(this, function(l) {
|
|
695
|
+
return this.data = e, n = e.data_list.map(function(o) {
|
|
696
|
+
var d, c = o.position.end.map(function(O) {
|
|
697
|
+
return Number(O);
|
|
698
|
+
}), m = o.position.start.map(function(O) {
|
|
699
|
+
return Number(O);
|
|
700
|
+
}), y = Math.abs(c[0] - m[0]), M = Math.abs(c[1] - m[1]), w = Math.abs(c[2] - m[2]), A = c[0] / 2 + m[0] / 2, x = c[1] / 2 + m[1] / 2, C = c[2] / 2 + m[2] / 2, E = new p.Vector3(A, x, C), b = new p.BoxBufferGeometry(y, M, w), T = new p.ShaderMaterial({
|
|
701
701
|
vertexShader: `
|
|
702
702
|
varying vec2 vUv;
|
|
703
703
|
void main() {
|
|
@@ -726,7 +726,7 @@ void main() {
|
|
|
726
726
|
}
|
|
727
727
|
`,
|
|
728
728
|
side: p.DoubleSide,
|
|
729
|
-
visible: r.state.selectedId === "".concat(
|
|
729
|
+
visible: r.state.selectedId === "".concat(o.category_name).concat(o.index),
|
|
730
730
|
uniforms: {
|
|
731
731
|
opacity: { value: r.state.mode === "box" ? 1 : 0 }
|
|
732
732
|
},
|
|
@@ -734,190 +734,190 @@ void main() {
|
|
|
734
734
|
depthTest: !1,
|
|
735
735
|
transparent: !0
|
|
736
736
|
}), f = new p.Mesh(b, T);
|
|
737
|
-
return f.position.copy(E), f.name = "".concat(
|
|
738
|
-
return
|
|
739
|
-
}).reverse(), !1), [1], !1)))(), f.userData.visible_viewpoint = Object.keys(
|
|
737
|
+
return f.position.copy(E), f.name = "".concat(o.category_name).concat(o.index), f.userData.color = new ((d = p.Vector4).bind.apply(d, qt(qt([void 0], o.mask_color.map(function(O) {
|
|
738
|
+
return O / 255;
|
|
739
|
+
}).reverse(), !1), [1], !1)))(), f.userData.visible_viewpoint = Object.keys(o.visible_viewpoint), f;
|
|
740
740
|
}), (t = this.group).add.apply(t, n), [
|
|
741
741
|
2
|
|
742
742
|
/*return*/
|
|
743
743
|
];
|
|
744
744
|
});
|
|
745
745
|
});
|
|
746
|
-
},
|
|
746
|
+
}, s.prototype.setState = function(e, n) {
|
|
747
747
|
n === void 0 && (n = {});
|
|
748
748
|
var t = this.state, r = n.userAction !== void 0 ? n.userAction : !0;
|
|
749
749
|
if (this.updateState(e, r), e.enabled !== void 0 && t.enabled !== e.enabled) {
|
|
750
|
-
var
|
|
751
|
-
e.enabled ? this._enable(
|
|
750
|
+
var l = { userAction: r };
|
|
751
|
+
e.enabled ? this._enable(l) : this._disable(l);
|
|
752
752
|
}
|
|
753
|
-
},
|
|
753
|
+
}, s.prototype.setMode = function(e) {
|
|
754
754
|
this.updateState({ mode: e }, !1), e === "mask" ? (this.group.children.forEach(function(n) {
|
|
755
755
|
n.material.uniforms.opacity.value = 0;
|
|
756
756
|
}), this.loadPanoMask(this.five.state.panoIndex)) : e === "box" && (this.itemMaskMesh.material.uniforms.color.value = new p.Vector4(0, 0, 0, 1), this.group.children.forEach(function(n) {
|
|
757
757
|
n.material.uniforms.opacity.value = 1;
|
|
758
758
|
}), this.five.needsRender = !0);
|
|
759
|
-
},
|
|
759
|
+
}, s.prototype.select = function(e, n) {
|
|
760
760
|
var t = this, r;
|
|
761
|
-
this.updateState({ selectedId: e != null ? e : null }, (r = n == null ? void 0 : n.userAction) !== null && r !== void 0 ? r : !1), this.group.children.forEach(function(
|
|
762
|
-
|
|
761
|
+
this.updateState({ selectedId: e != null ? e : null }, (r = n == null ? void 0 : n.userAction) !== null && r !== void 0 ? r : !1), this.group.children.forEach(function(l) {
|
|
762
|
+
l.material.visible = t.state.selectAll || l.name === e;
|
|
763
763
|
}), this.five.needsRender = !0;
|
|
764
|
-
},
|
|
764
|
+
}, s.prototype.selectAll = function(e) {
|
|
765
765
|
e === void 0 && (e = !0), this.updateState({ selectAll: !!e }, !1), this.select();
|
|
766
|
-
},
|
|
766
|
+
}, s.prototype._enable = function(e) {
|
|
767
767
|
this.five.on("panoArrived", this.onFivePanoArrived), this.five.on("wantsMoveToPano", this.onFiveWantsMoveToPano), this.five.on("gesture.mousemove", this.onFiveMouseMove), this.five.on("wantsTapGesture", this.onFiveTapGesture), this.five.on("cameraUpdate", this.onFiveCameraUpdate), this.five.scene.add(this.group), document.head.appendChild(this.style);
|
|
768
|
-
},
|
|
768
|
+
}, s.prototype._disable = function(e) {
|
|
769
769
|
this.five.off("panoArrived", this.onFivePanoArrived), this.five.off("wantsMoveToPano", this.onFiveWantsMoveToPano), this.five.off("gesture.mousemove", this.onFiveMouseMove), this.five.off("wantsTapGesture", this.onFiveTapGesture), this.five.off("cameraUpdate", this.onFiveCameraUpdate), this.five.scene.remove(this.group), document.head.removeChild(this.style);
|
|
770
|
-
},
|
|
770
|
+
}, s.prototype.enable = function(e) {
|
|
771
771
|
var n;
|
|
772
772
|
if (!this.state.enabled) {
|
|
773
773
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
774
774
|
this.updateState({ enabled: !0 }, t), this._enable({ userAction: t });
|
|
775
775
|
}
|
|
776
|
-
},
|
|
776
|
+
}, s.prototype.disable = function(e) {
|
|
777
777
|
var n;
|
|
778
778
|
if (this.state.enabled !== !1) {
|
|
779
779
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
780
780
|
this.updateState({ enabled: !1 }, t), this._disable({ userAction: t });
|
|
781
781
|
}
|
|
782
|
-
},
|
|
783
|
-
})(
|
|
784
|
-
), tr = function(
|
|
785
|
-
return new
|
|
782
|
+
}, s;
|
|
783
|
+
})(qe.Controller)
|
|
784
|
+
), tr = function(h, s) {
|
|
785
|
+
return new Vn(h, s);
|
|
786
786
|
};
|
|
787
787
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
788
788
|
* http://hammerjs.github.io/
|
|
789
789
|
*
|
|
790
790
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
791
791
|
* Licensed under the MIT license */
|
|
792
|
-
var Tt = (function(
|
|
793
|
-
var t = ["", "webkit", "Moz", "MS", "ms", "o"], r =
|
|
794
|
-
function
|
|
795
|
-
return setTimeout(b(a, u),
|
|
792
|
+
var Tt = (function(h, s, e, n) {
|
|
793
|
+
var t = ["", "webkit", "Moz", "MS", "ms", "o"], r = s.createElement ? s.createElement("div") : n, l = "function", o = Math.round, d = Math.abs, c = Date.now;
|
|
794
|
+
function m(a, i, u) {
|
|
795
|
+
return setTimeout(b(a, u), i);
|
|
796
796
|
}
|
|
797
|
-
function y(a,
|
|
798
|
-
return Array.isArray(a) ? (M(a, u[
|
|
797
|
+
function y(a, i, u) {
|
|
798
|
+
return Array.isArray(a) ? (M(a, u[i], u), !0) : !1;
|
|
799
799
|
}
|
|
800
|
-
function M(a,
|
|
800
|
+
function M(a, i, u) {
|
|
801
801
|
var g;
|
|
802
802
|
if (a)
|
|
803
803
|
if (a.forEach)
|
|
804
|
-
a.forEach(
|
|
804
|
+
a.forEach(i, u);
|
|
805
805
|
else if (a.length !== n)
|
|
806
806
|
for (g = 0; g < a.length; )
|
|
807
|
-
|
|
807
|
+
i.call(u, a[g], g, a), g++;
|
|
808
808
|
else
|
|
809
809
|
for (g in a)
|
|
810
|
-
a.hasOwnProperty(g) &&
|
|
810
|
+
a.hasOwnProperty(g) && i.call(u, a[g], g, a);
|
|
811
811
|
}
|
|
812
|
-
function w(a,
|
|
813
|
-
var g = "DEPRECATED METHOD: " +
|
|
812
|
+
function w(a, i, u) {
|
|
813
|
+
var g = "DEPRECATED METHOD: " + i + `
|
|
814
814
|
` + u + ` AT
|
|
815
815
|
`;
|
|
816
816
|
return function() {
|
|
817
|
-
var
|
|
818
|
-
return
|
|
817
|
+
var P = new Error("get-stack-trace"), _ = P && P.stack ? P.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace", k = h.console && (h.console.warn || h.console.log);
|
|
818
|
+
return k && k.call(h.console, g, _), a.apply(this, arguments);
|
|
819
819
|
};
|
|
820
820
|
}
|
|
821
|
-
var
|
|
822
|
-
typeof Object.assign != "function" ?
|
|
823
|
-
if (
|
|
821
|
+
var A;
|
|
822
|
+
typeof Object.assign != "function" ? A = function(i) {
|
|
823
|
+
if (i === n || i === null)
|
|
824
824
|
throw new TypeError("Cannot convert undefined or null to object");
|
|
825
|
-
for (var u = Object(
|
|
826
|
-
var
|
|
827
|
-
if (
|
|
828
|
-
for (var
|
|
829
|
-
|
|
825
|
+
for (var u = Object(i), g = 1; g < arguments.length; g++) {
|
|
826
|
+
var P = arguments[g];
|
|
827
|
+
if (P !== n && P !== null)
|
|
828
|
+
for (var _ in P)
|
|
829
|
+
P.hasOwnProperty(_) && (u[_] = P[_]);
|
|
830
830
|
}
|
|
831
831
|
return u;
|
|
832
|
-
} :
|
|
833
|
-
var
|
|
834
|
-
for (var
|
|
835
|
-
(!g || g &&
|
|
836
|
-
return
|
|
837
|
-
}, "extend", "Use `assign`."),
|
|
838
|
-
return
|
|
832
|
+
} : A = Object.assign;
|
|
833
|
+
var x = w(function(i, u, g) {
|
|
834
|
+
for (var P = Object.keys(u), _ = 0; _ < P.length; )
|
|
835
|
+
(!g || g && i[P[_]] === n) && (i[P[_]] = u[P[_]]), _++;
|
|
836
|
+
return i;
|
|
837
|
+
}, "extend", "Use `assign`."), C = w(function(i, u) {
|
|
838
|
+
return x(i, u, !0);
|
|
839
839
|
}, "merge", "Use `assign`.");
|
|
840
|
-
function E(a,
|
|
841
|
-
var g =
|
|
842
|
-
|
|
840
|
+
function E(a, i, u) {
|
|
841
|
+
var g = i.prototype, P;
|
|
842
|
+
P = a.prototype = Object.create(g), P.constructor = a, P._super = g, u && A(P, u);
|
|
843
843
|
}
|
|
844
|
-
function b(a,
|
|
844
|
+
function b(a, i) {
|
|
845
845
|
return function() {
|
|
846
|
-
return a.apply(
|
|
846
|
+
return a.apply(i, arguments);
|
|
847
847
|
};
|
|
848
848
|
}
|
|
849
|
-
function T(a,
|
|
850
|
-
return typeof a ==
|
|
849
|
+
function T(a, i) {
|
|
850
|
+
return typeof a == l ? a.apply(i && i[0] || n, i) : a;
|
|
851
851
|
}
|
|
852
|
-
function f(a,
|
|
853
|
-
return a === n ?
|
|
852
|
+
function f(a, i) {
|
|
853
|
+
return a === n ? i : a;
|
|
854
854
|
}
|
|
855
|
-
function
|
|
856
|
-
M(
|
|
855
|
+
function O(a, i, u) {
|
|
856
|
+
M(H(i), function(g) {
|
|
857
857
|
a.addEventListener(g, u, !1);
|
|
858
858
|
});
|
|
859
859
|
}
|
|
860
|
-
function
|
|
861
|
-
M(
|
|
860
|
+
function S(a, i, u) {
|
|
861
|
+
M(H(i), function(g) {
|
|
862
862
|
a.removeEventListener(g, u, !1);
|
|
863
863
|
});
|
|
864
864
|
}
|
|
865
|
-
function
|
|
865
|
+
function D(a, i) {
|
|
866
866
|
for (; a; ) {
|
|
867
|
-
if (a ==
|
|
867
|
+
if (a == i)
|
|
868
868
|
return !0;
|
|
869
869
|
a = a.parentNode;
|
|
870
870
|
}
|
|
871
871
|
return !1;
|
|
872
872
|
}
|
|
873
|
-
function
|
|
874
|
-
return a.indexOf(
|
|
873
|
+
function W(a, i) {
|
|
874
|
+
return a.indexOf(i) > -1;
|
|
875
875
|
}
|
|
876
|
-
function
|
|
876
|
+
function H(a) {
|
|
877
877
|
return a.trim().split(/\s+/g);
|
|
878
878
|
}
|
|
879
|
-
function
|
|
879
|
+
function X(a, i, u) {
|
|
880
880
|
if (a.indexOf && !u)
|
|
881
|
-
return a.indexOf(
|
|
881
|
+
return a.indexOf(i);
|
|
882
882
|
for (var g = 0; g < a.length; ) {
|
|
883
|
-
if (u && a[g][u] ==
|
|
883
|
+
if (u && a[g][u] == i || !u && a[g] === i)
|
|
884
884
|
return g;
|
|
885
885
|
g++;
|
|
886
886
|
}
|
|
887
887
|
return -1;
|
|
888
888
|
}
|
|
889
|
-
function
|
|
889
|
+
function $(a) {
|
|
890
890
|
return Array.prototype.slice.call(a, 0);
|
|
891
891
|
}
|
|
892
|
-
function
|
|
893
|
-
for (var g = [],
|
|
894
|
-
var
|
|
895
|
-
|
|
892
|
+
function ae(a, i, u) {
|
|
893
|
+
for (var g = [], P = [], _ = 0; _ < a.length; ) {
|
|
894
|
+
var k = a[_][i];
|
|
895
|
+
X(P, k) < 0 && g.push(a[_]), P[_] = k, _++;
|
|
896
896
|
}
|
|
897
|
-
return g = g.sort(function(ce,
|
|
898
|
-
return ce[
|
|
897
|
+
return g = g.sort(function(ce, ee) {
|
|
898
|
+
return ce[i] > ee[i];
|
|
899
899
|
}), g;
|
|
900
900
|
}
|
|
901
|
-
function
|
|
902
|
-
for (var u, g,
|
|
903
|
-
if (u = t[
|
|
901
|
+
function z(a, i) {
|
|
902
|
+
for (var u, g, P = i[0].toUpperCase() + i.slice(1), _ = 0; _ < t.length; ) {
|
|
903
|
+
if (u = t[_], g = u ? u + P : i, g in a)
|
|
904
904
|
return g;
|
|
905
|
-
|
|
905
|
+
_++;
|
|
906
906
|
}
|
|
907
907
|
return n;
|
|
908
908
|
}
|
|
909
|
-
var
|
|
910
|
-
function
|
|
911
|
-
return
|
|
909
|
+
var q = 1;
|
|
910
|
+
function I() {
|
|
911
|
+
return q++;
|
|
912
912
|
}
|
|
913
|
-
function
|
|
914
|
-
var
|
|
915
|
-
return
|
|
913
|
+
function L(a) {
|
|
914
|
+
var i = a.ownerDocument || a;
|
|
915
|
+
return i.defaultView || i.parentWindow || h;
|
|
916
916
|
}
|
|
917
|
-
var
|
|
918
|
-
function le(a,
|
|
917
|
+
var F = /mobile|tablet|ip(ad|hone|od)|android/i, N = "ontouchstart" in h, j = z(h, "PointerEvent") !== n, ne = N && F.test(navigator.userAgent), K = "touch", U = "pen", te = "mouse", Y = "kinect", G = 25, B = 1, se = 2, Z = 4, Q = 8, Oe = 1, Me = 2, Ce = 4, Le = 8, Ae = 16, ue = Me | Ce, de = Le | Ae, Ue = ue | de, Re = ["x", "y"], Fe = ["clientX", "clientY"];
|
|
918
|
+
function le(a, i) {
|
|
919
919
|
var u = this;
|
|
920
|
-
this.manager = a, this.callback =
|
|
920
|
+
this.manager = a, this.callback = i, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function(g) {
|
|
921
921
|
T(a.options.enable, [a]) && u.handler(g);
|
|
922
922
|
}, this.init();
|
|
923
923
|
}
|
|
@@ -932,109 +932,109 @@ var Tt = (function(d, l, e, n) {
|
|
|
932
932
|
* bind the events
|
|
933
933
|
*/
|
|
934
934
|
init: function() {
|
|
935
|
-
this.evEl &&
|
|
935
|
+
this.evEl && O(this.element, this.evEl, this.domHandler), this.evTarget && O(this.target, this.evTarget, this.domHandler), this.evWin && O(L(this.element), this.evWin, this.domHandler);
|
|
936
936
|
},
|
|
937
937
|
/**
|
|
938
938
|
* unbind the events
|
|
939
939
|
*/
|
|
940
940
|
destroy: function() {
|
|
941
|
-
this.evEl &&
|
|
941
|
+
this.evEl && S(this.element, this.evEl, this.domHandler), this.evTarget && S(this.target, this.evTarget, this.domHandler), this.evWin && S(L(this.element), this.evWin, this.domHandler);
|
|
942
942
|
}
|
|
943
943
|
};
|
|
944
944
|
function Ze(a) {
|
|
945
|
-
var
|
|
946
|
-
return u ?
|
|
945
|
+
var i, u = a.options.inputClass;
|
|
946
|
+
return u ? i = u : j ? i = ht : ne ? i = et : N ? i = dt : i = $e, new i(a, Qe);
|
|
947
947
|
}
|
|
948
|
-
function Qe(a,
|
|
949
|
-
var g = u.pointers.length,
|
|
950
|
-
u.isFirst = !!
|
|
948
|
+
function Qe(a, i, u) {
|
|
949
|
+
var g = u.pointers.length, P = u.changedPointers.length, _ = i & B && g - P === 0, k = i & (Z | Q) && g - P === 0;
|
|
950
|
+
u.isFirst = !!_, u.isFinal = !!k, _ && (a.session = {}), u.eventType = i, v(a, u), a.emit("hammer.input", u), a.recognize(u), a.session.prevInput = u;
|
|
951
951
|
}
|
|
952
|
-
function
|
|
953
|
-
var u = a.session, g =
|
|
954
|
-
u.firstInput || (u.firstInput =
|
|
955
|
-
var
|
|
956
|
-
|
|
957
|
-
var
|
|
958
|
-
|
|
952
|
+
function v(a, i) {
|
|
953
|
+
var u = a.session, g = i.pointers, P = g.length;
|
|
954
|
+
u.firstInput || (u.firstInput = re(i)), P > 1 && !u.firstMultiple ? u.firstMultiple = re(i) : P === 1 && (u.firstMultiple = !1);
|
|
955
|
+
var _ = u.firstInput, k = u.firstMultiple, ie = k ? k.center : _.center, ce = i.center = pe(g);
|
|
956
|
+
i.timeStamp = c(), i.deltaTime = i.timeStamp - _.timeStamp, i.angle = ft(ie, ce), i.distance = Je(ie, ce), R(u, i), i.offsetDirection = be(i.deltaX, i.deltaY);
|
|
957
|
+
var ee = Ve(i.deltaTime, i.deltaX, i.deltaY);
|
|
958
|
+
i.overallVelocityX = ee.x, i.overallVelocityY = ee.y, i.overallVelocity = d(ee.x) > d(ee.y) ? ee.x : ee.y, i.scale = k ? an(k.pointers, g) : 1, i.rotation = k ? rn(k.pointers, g) : 0, i.maxPointers = u.prevInput ? i.pointers.length > u.prevInput.maxPointers ? i.pointers.length : u.prevInput.maxPointers : i.pointers.length, J(u, i);
|
|
959
959
|
var ge = a.element;
|
|
960
|
-
|
|
960
|
+
D(i.srcEvent.target, ge) && (ge = i.srcEvent.target), i.target = ge;
|
|
961
961
|
}
|
|
962
|
-
function
|
|
963
|
-
var u =
|
|
964
|
-
(
|
|
965
|
-
x:
|
|
966
|
-
y:
|
|
962
|
+
function R(a, i) {
|
|
963
|
+
var u = i.center, g = a.offsetDelta || {}, P = a.prevDelta || {}, _ = a.prevInput || {};
|
|
964
|
+
(i.eventType === B || _.eventType === Z) && (P = a.prevDelta = {
|
|
965
|
+
x: _.deltaX || 0,
|
|
966
|
+
y: _.deltaY || 0
|
|
967
967
|
}, g = a.offsetDelta = {
|
|
968
968
|
x: u.x,
|
|
969
969
|
y: u.y
|
|
970
|
-
}),
|
|
970
|
+
}), i.deltaX = P.x + (u.x - g.x), i.deltaY = P.y + (u.y - g.y);
|
|
971
971
|
}
|
|
972
|
-
function
|
|
973
|
-
var u = a.lastInterval ||
|
|
974
|
-
if (
|
|
975
|
-
var ce =
|
|
976
|
-
|
|
972
|
+
function J(a, i) {
|
|
973
|
+
var u = a.lastInterval || i, g = i.timeStamp - u.timeStamp, P, _, k, ie;
|
|
974
|
+
if (i.eventType != Q && (g > G || u.velocity === n)) {
|
|
975
|
+
var ce = i.deltaX - u.deltaX, ee = i.deltaY - u.deltaY, ge = Ve(g, ce, ee);
|
|
976
|
+
_ = ge.x, k = ge.y, P = d(ge.x) > d(ge.y) ? ge.x : ge.y, ie = be(ce, ee), a.lastInterval = i;
|
|
977
977
|
} else
|
|
978
|
-
|
|
979
|
-
|
|
978
|
+
P = u.velocity, _ = u.velocityX, k = u.velocityY, ie = u.direction;
|
|
979
|
+
i.velocity = P, i.velocityX = _, i.velocityY = k, i.direction = ie;
|
|
980
980
|
}
|
|
981
|
-
function
|
|
982
|
-
for (var
|
|
983
|
-
|
|
984
|
-
clientX:
|
|
985
|
-
clientY:
|
|
981
|
+
function re(a) {
|
|
982
|
+
for (var i = [], u = 0; u < a.pointers.length; )
|
|
983
|
+
i[u] = {
|
|
984
|
+
clientX: o(a.pointers[u].clientX),
|
|
985
|
+
clientY: o(a.pointers[u].clientY)
|
|
986
986
|
}, u++;
|
|
987
987
|
return {
|
|
988
988
|
timeStamp: c(),
|
|
989
|
-
pointers:
|
|
990
|
-
center: pe(
|
|
989
|
+
pointers: i,
|
|
990
|
+
center: pe(i),
|
|
991
991
|
deltaX: a.deltaX,
|
|
992
992
|
deltaY: a.deltaY
|
|
993
993
|
};
|
|
994
994
|
}
|
|
995
995
|
function pe(a) {
|
|
996
|
-
var
|
|
997
|
-
if (
|
|
996
|
+
var i = a.length;
|
|
997
|
+
if (i === 1)
|
|
998
998
|
return {
|
|
999
|
-
x:
|
|
1000
|
-
y:
|
|
999
|
+
x: o(a[0].clientX),
|
|
1000
|
+
y: o(a[0].clientY)
|
|
1001
1001
|
};
|
|
1002
|
-
for (var u = 0, g = 0,
|
|
1003
|
-
u += a[
|
|
1002
|
+
for (var u = 0, g = 0, P = 0; P < i; )
|
|
1003
|
+
u += a[P].clientX, g += a[P].clientY, P++;
|
|
1004
1004
|
return {
|
|
1005
|
-
x:
|
|
1006
|
-
y:
|
|
1005
|
+
x: o(u / i),
|
|
1006
|
+
y: o(g / i)
|
|
1007
1007
|
};
|
|
1008
1008
|
}
|
|
1009
|
-
function Ve(a,
|
|
1009
|
+
function Ve(a, i, u) {
|
|
1010
1010
|
return {
|
|
1011
|
-
x:
|
|
1011
|
+
x: i / a || 0,
|
|
1012
1012
|
y: u / a || 0
|
|
1013
1013
|
};
|
|
1014
1014
|
}
|
|
1015
|
-
function be(a,
|
|
1016
|
-
return a ===
|
|
1015
|
+
function be(a, i) {
|
|
1016
|
+
return a === i ? Oe : d(a) >= d(i) ? a < 0 ? Me : Ce : i < 0 ? Le : Ae;
|
|
1017
1017
|
}
|
|
1018
|
-
function Je(a,
|
|
1019
|
-
u || (u =
|
|
1020
|
-
var g =
|
|
1021
|
-
return Math.sqrt(g * g +
|
|
1018
|
+
function Je(a, i, u) {
|
|
1019
|
+
u || (u = Re);
|
|
1020
|
+
var g = i[u[0]] - a[u[0]], P = i[u[1]] - a[u[1]];
|
|
1021
|
+
return Math.sqrt(g * g + P * P);
|
|
1022
1022
|
}
|
|
1023
|
-
function ft(a,
|
|
1024
|
-
u || (u =
|
|
1025
|
-
var g =
|
|
1026
|
-
return Math.atan2(
|
|
1023
|
+
function ft(a, i, u) {
|
|
1024
|
+
u || (u = Re);
|
|
1025
|
+
var g = i[u[0]] - a[u[0]], P = i[u[1]] - a[u[1]];
|
|
1026
|
+
return Math.atan2(P, g) * 180 / Math.PI;
|
|
1027
1027
|
}
|
|
1028
|
-
function rn(a,
|
|
1029
|
-
return ft(
|
|
1028
|
+
function rn(a, i) {
|
|
1029
|
+
return ft(i[1], i[0], Fe) + ft(a[1], a[0], Fe);
|
|
1030
1030
|
}
|
|
1031
|
-
function an(a,
|
|
1032
|
-
return Je(
|
|
1031
|
+
function an(a, i) {
|
|
1032
|
+
return Je(i[0], i[1], Fe) / Je(a[0], a[1], Fe);
|
|
1033
1033
|
}
|
|
1034
1034
|
var on = {
|
|
1035
|
-
mousedown:
|
|
1035
|
+
mousedown: B,
|
|
1036
1036
|
mousemove: se,
|
|
1037
|
-
mouseup:
|
|
1037
|
+
mouseup: Z
|
|
1038
1038
|
}, sn = "mousedown", ln = "mousemove mouseup";
|
|
1039
1039
|
function $e() {
|
|
1040
1040
|
this.evEl = sn, this.evWin = ln, this.pressed = !1, le.apply(this, arguments);
|
|
@@ -1044,135 +1044,135 @@ var Tt = (function(d, l, e, n) {
|
|
|
1044
1044
|
* handle mouse events
|
|
1045
1045
|
* @param {Object} ev
|
|
1046
1046
|
*/
|
|
1047
|
-
handler: function(
|
|
1048
|
-
var u = on[
|
|
1049
|
-
u &
|
|
1050
|
-
pointers: [
|
|
1051
|
-
changedPointers: [
|
|
1052
|
-
pointerType:
|
|
1053
|
-
srcEvent:
|
|
1047
|
+
handler: function(i) {
|
|
1048
|
+
var u = on[i.type];
|
|
1049
|
+
u & B && (i.button === 0 || i.button === 2) && (this.pressed = !0), u & se && i.which !== 1 && (u = Z), this.pressed && (u & Z && (this.pressed = !1), this.callback(this.manager, u, {
|
|
1050
|
+
pointers: [i],
|
|
1051
|
+
changedPointers: [i],
|
|
1052
|
+
pointerType: te,
|
|
1053
|
+
srcEvent: i
|
|
1054
1054
|
}));
|
|
1055
1055
|
}
|
|
1056
1056
|
});
|
|
1057
1057
|
var Ft = {
|
|
1058
|
-
pointerdown:
|
|
1058
|
+
pointerdown: B,
|
|
1059
1059
|
pointermove: se,
|
|
1060
|
-
pointerup:
|
|
1061
|
-
pointercancel:
|
|
1062
|
-
pointerout:
|
|
1060
|
+
pointerup: Z,
|
|
1061
|
+
pointercancel: Q,
|
|
1062
|
+
pointerout: Q
|
|
1063
1063
|
}, un = {
|
|
1064
|
-
2:
|
|
1065
|
-
3:
|
|
1066
|
-
4:
|
|
1067
|
-
5:
|
|
1064
|
+
2: K,
|
|
1065
|
+
3: U,
|
|
1066
|
+
4: te,
|
|
1067
|
+
5: Y
|
|
1068
1068
|
// see https://twitter.com/jacobrossi/status/480596438489890816
|
|
1069
|
-
},
|
|
1070
|
-
|
|
1069
|
+
}, It = "pointerdown", Dt = "pointermove pointerup pointercancel";
|
|
1070
|
+
h.MSPointerEvent && !h.PointerEvent && (It = "MSPointerDown", Dt = "MSPointerMove MSPointerUp MSPointerCancel");
|
|
1071
1071
|
function ht() {
|
|
1072
|
-
this.evEl =
|
|
1072
|
+
this.evEl = It, this.evWin = Dt, le.apply(this, arguments), this.store = this.manager.session.pointerEvents = [];
|
|
1073
1073
|
}
|
|
1074
1074
|
E(ht, le, {
|
|
1075
1075
|
/**
|
|
1076
1076
|
* handle mouse events
|
|
1077
1077
|
* @param {Object} ev
|
|
1078
1078
|
*/
|
|
1079
|
-
handler: function(
|
|
1080
|
-
var u = this.store, g = !1,
|
|
1081
|
-
|
|
1079
|
+
handler: function(i) {
|
|
1080
|
+
var u = this.store, g = !1, P = !1, _ = i.type.toLowerCase().replace("ms", ""), k = Ft[_], ie = un[i.pointerType] || i.pointerType, ce = ie == K, ee = X(u, i.pointerId, "pointerId");
|
|
1081
|
+
k & B && (i.button === 0 || i.button === 2 || ce) ? ee < 0 && (u.push(i), ee = u.length - 1) : k & (Z | Q) ? g = !0 : !ce && i.buttons === 0 && (g = !0, P = !0, k = Ft.pointerup), !(ee < 0) && (P || (u[ee] = i), this.callback(this.manager, k, {
|
|
1082
1082
|
pointers: u,
|
|
1083
|
-
changedPointers: [
|
|
1083
|
+
changedPointers: [i],
|
|
1084
1084
|
pointerType: ie,
|
|
1085
|
-
srcEvent: u[
|
|
1086
|
-
}), g && u.splice(
|
|
1085
|
+
srcEvent: u[ee]
|
|
1086
|
+
}), g && u.splice(ee, 1));
|
|
1087
1087
|
}
|
|
1088
1088
|
});
|
|
1089
1089
|
var cn = {
|
|
1090
|
-
touchstart:
|
|
1090
|
+
touchstart: B,
|
|
1091
1091
|
touchmove: se,
|
|
1092
|
-
touchend:
|
|
1093
|
-
touchcancel:
|
|
1092
|
+
touchend: Z,
|
|
1093
|
+
touchcancel: Q
|
|
1094
1094
|
}, fn = "touchstart", hn = "touchstart touchmove touchend touchcancel";
|
|
1095
|
-
function
|
|
1095
|
+
function Nt() {
|
|
1096
1096
|
this.evTarget = fn, this.evWin = hn, this.started = !1, le.apply(this, arguments);
|
|
1097
1097
|
}
|
|
1098
|
-
E(
|
|
1099
|
-
handler: function(
|
|
1100
|
-
var u = cn[
|
|
1101
|
-
if (u ===
|
|
1102
|
-
var g =
|
|
1103
|
-
u & (
|
|
1098
|
+
E(Nt, le, {
|
|
1099
|
+
handler: function(i) {
|
|
1100
|
+
var u = cn[i.type];
|
|
1101
|
+
if (u === B && (this.started = !0), !!this.started) {
|
|
1102
|
+
var g = dn.call(this, i, u);
|
|
1103
|
+
u & (Z | Q) && g[0].length - g[1].length === 0 && (this.started = !1), this.callback(this.manager, u, {
|
|
1104
1104
|
pointers: g[0],
|
|
1105
1105
|
changedPointers: g[1],
|
|
1106
|
-
pointerType:
|
|
1107
|
-
srcEvent:
|
|
1106
|
+
pointerType: K,
|
|
1107
|
+
srcEvent: i
|
|
1108
1108
|
});
|
|
1109
1109
|
}
|
|
1110
1110
|
}
|
|
1111
1111
|
});
|
|
1112
|
-
function
|
|
1113
|
-
var u =
|
|
1114
|
-
return
|
|
1112
|
+
function dn(a, i) {
|
|
1113
|
+
var u = $(a.touches), g = $(a.changedTouches);
|
|
1114
|
+
return i & (Z | Q) && (u = ae(u.concat(g), "identifier")), [u, g];
|
|
1115
1115
|
}
|
|
1116
|
-
var
|
|
1117
|
-
touchstart:
|
|
1116
|
+
var vn = {
|
|
1117
|
+
touchstart: B,
|
|
1118
1118
|
touchmove: se,
|
|
1119
|
-
touchend:
|
|
1120
|
-
touchcancel:
|
|
1119
|
+
touchend: Z,
|
|
1120
|
+
touchcancel: Q
|
|
1121
1121
|
}, pn = "touchstart touchmove touchend touchcancel";
|
|
1122
1122
|
function et() {
|
|
1123
1123
|
this.evTarget = pn, this.targetIds = {}, le.apply(this, arguments);
|
|
1124
1124
|
}
|
|
1125
1125
|
E(et, le, {
|
|
1126
|
-
handler: function(
|
|
1127
|
-
var u =
|
|
1126
|
+
handler: function(i) {
|
|
1127
|
+
var u = vn[i.type], g = mn.call(this, i, u);
|
|
1128
1128
|
g && this.callback(this.manager, u, {
|
|
1129
1129
|
pointers: g[0],
|
|
1130
1130
|
changedPointers: g[1],
|
|
1131
|
-
pointerType:
|
|
1132
|
-
srcEvent:
|
|
1131
|
+
pointerType: K,
|
|
1132
|
+
srcEvent: i
|
|
1133
1133
|
});
|
|
1134
1134
|
}
|
|
1135
1135
|
});
|
|
1136
|
-
function mn(a,
|
|
1137
|
-
var u =
|
|
1138
|
-
if (
|
|
1136
|
+
function mn(a, i) {
|
|
1137
|
+
var u = $(a.touches), g = this.targetIds;
|
|
1138
|
+
if (i & (B | se) && u.length === 1)
|
|
1139
1139
|
return g[u[0].identifier] = !0, [u, u];
|
|
1140
|
-
var
|
|
1141
|
-
if (
|
|
1142
|
-
return
|
|
1143
|
-
}),
|
|
1144
|
-
for (
|
|
1145
|
-
g[
|
|
1146
|
-
for (
|
|
1147
|
-
g[
|
|
1140
|
+
var P, _, k = $(a.changedTouches), ie = [], ce = this.target;
|
|
1141
|
+
if (_ = u.filter(function(ee) {
|
|
1142
|
+
return D(ee.target, ce);
|
|
1143
|
+
}), i === B)
|
|
1144
|
+
for (P = 0; P < _.length; )
|
|
1145
|
+
g[_[P].identifier] = !0, P++;
|
|
1146
|
+
for (P = 0; P < k.length; )
|
|
1147
|
+
g[k[P].identifier] && ie.push(k[P]), i & (Z | Q) && delete g[k[P].identifier], P++;
|
|
1148
1148
|
if (ie.length)
|
|
1149
1149
|
return [
|
|
1150
1150
|
// merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'
|
|
1151
|
-
|
|
1151
|
+
ae(_.concat(ie), "identifier"),
|
|
1152
1152
|
ie
|
|
1153
1153
|
];
|
|
1154
1154
|
}
|
|
1155
|
-
var gn = 2500,
|
|
1156
|
-
function
|
|
1155
|
+
var gn = 2500, kt = 25;
|
|
1156
|
+
function dt() {
|
|
1157
1157
|
le.apply(this, arguments);
|
|
1158
1158
|
var a = b(this.handler, this);
|
|
1159
1159
|
this.touch = new et(this.manager, a), this.mouse = new $e(this.manager, a), this.primaryTouch = null, this.lastTouches = [];
|
|
1160
1160
|
}
|
|
1161
|
-
E(
|
|
1161
|
+
E(dt, le, {
|
|
1162
1162
|
/**
|
|
1163
1163
|
* handle mouse and touch events
|
|
1164
1164
|
* @param {Hammer} manager
|
|
1165
1165
|
* @param {String} inputEvent
|
|
1166
1166
|
* @param {Object} inputData
|
|
1167
1167
|
*/
|
|
1168
|
-
handler: function(
|
|
1169
|
-
var
|
|
1170
|
-
if (!(
|
|
1171
|
-
if (
|
|
1168
|
+
handler: function(i, u, g) {
|
|
1169
|
+
var P = g.pointerType == K, _ = g.pointerType == te;
|
|
1170
|
+
if (!(_ && g.sourceCapabilities && g.sourceCapabilities.firesTouchEvents)) {
|
|
1171
|
+
if (P)
|
|
1172
1172
|
yn.call(this, u, g);
|
|
1173
|
-
else if (
|
|
1173
|
+
else if (_ && bn.call(this, g))
|
|
1174
1174
|
return;
|
|
1175
|
-
this.callback(
|
|
1175
|
+
this.callback(i, u, g);
|
|
1176
1176
|
}
|
|
1177
1177
|
},
|
|
1178
1178
|
/**
|
|
@@ -1182,32 +1182,32 @@ var Tt = (function(d, l, e, n) {
|
|
|
1182
1182
|
this.touch.destroy(), this.mouse.destroy();
|
|
1183
1183
|
}
|
|
1184
1184
|
});
|
|
1185
|
-
function yn(a,
|
|
1186
|
-
a &
|
|
1185
|
+
function yn(a, i) {
|
|
1186
|
+
a & B ? (this.primaryTouch = i.changedPointers[0].identifier, Bt.call(this, i)) : a & (Z | Q) && Bt.call(this, i);
|
|
1187
1187
|
}
|
|
1188
1188
|
function Bt(a) {
|
|
1189
|
-
var
|
|
1190
|
-
if (
|
|
1191
|
-
var u = { x:
|
|
1189
|
+
var i = a.changedPointers[0];
|
|
1190
|
+
if (i.identifier === this.primaryTouch) {
|
|
1191
|
+
var u = { x: i.clientX, y: i.clientY };
|
|
1192
1192
|
this.lastTouches.push(u);
|
|
1193
|
-
var g = this.lastTouches,
|
|
1194
|
-
var
|
|
1195
|
-
|
|
1193
|
+
var g = this.lastTouches, P = function() {
|
|
1194
|
+
var _ = g.indexOf(u);
|
|
1195
|
+
_ > -1 && g.splice(_, 1);
|
|
1196
1196
|
};
|
|
1197
|
-
setTimeout(
|
|
1197
|
+
setTimeout(P, gn);
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
function bn(a) {
|
|
1201
|
-
for (var
|
|
1202
|
-
var
|
|
1203
|
-
if (
|
|
1201
|
+
for (var i = a.srcEvent.clientX, u = a.srcEvent.clientY, g = 0; g < this.lastTouches.length; g++) {
|
|
1202
|
+
var P = this.lastTouches[g], _ = Math.abs(i - P.x), k = Math.abs(u - P.y);
|
|
1203
|
+
if (_ <= kt && k <= kt)
|
|
1204
1204
|
return !0;
|
|
1205
1205
|
}
|
|
1206
1206
|
return !1;
|
|
1207
1207
|
}
|
|
1208
|
-
var Ut = r ?
|
|
1209
|
-
function pt(a,
|
|
1210
|
-
this.manager = a, this.set(
|
|
1208
|
+
var Ut = r ? z(r.style, "touchAction") : n, Rt = Ut !== n, Vt = "compute", zt = "auto", vt = "manipulation", Ie = "none", ze = "pan-x", je = "pan-y", tt = En();
|
|
1209
|
+
function pt(a, i) {
|
|
1210
|
+
this.manager = a, this.set(i);
|
|
1211
1211
|
}
|
|
1212
1212
|
pt.prototype = {
|
|
1213
1213
|
/**
|
|
@@ -1215,7 +1215,7 @@ var Tt = (function(d, l, e, n) {
|
|
|
1215
1215
|
* @param {String} value
|
|
1216
1216
|
*/
|
|
1217
1217
|
set: function(a) {
|
|
1218
|
-
a ==
|
|
1218
|
+
a == Vt && (a = this.compute()), Rt && this.manager.element.style && tt[a] && (this.manager.element.style[Ut] = a), this.actions = a.toLowerCase().trim();
|
|
1219
1219
|
},
|
|
1220
1220
|
/**
|
|
1221
1221
|
* just re-set the touchAction value
|
|
@@ -1229,8 +1229,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1229
1229
|
*/
|
|
1230
1230
|
compute: function() {
|
|
1231
1231
|
var a = [];
|
|
1232
|
-
return M(this.manager.recognizers, function(
|
|
1233
|
-
T(
|
|
1232
|
+
return M(this.manager.recognizers, function(i) {
|
|
1233
|
+
T(i.options.enable, [i]) && (a = a.concat(i.getTouchAction()));
|
|
1234
1234
|
}), wn(a.join(" "));
|
|
1235
1235
|
},
|
|
1236
1236
|
/**
|
|
@@ -1238,19 +1238,19 @@ var Tt = (function(d, l, e, n) {
|
|
|
1238
1238
|
* @param {Object} input
|
|
1239
1239
|
*/
|
|
1240
1240
|
preventDefaults: function(a) {
|
|
1241
|
-
var
|
|
1241
|
+
var i = a.srcEvent, u = a.offsetDirection;
|
|
1242
1242
|
if (this.manager.session.prevented) {
|
|
1243
|
-
|
|
1243
|
+
i.preventDefault();
|
|
1244
1244
|
return;
|
|
1245
1245
|
}
|
|
1246
|
-
var g = this.actions,
|
|
1247
|
-
if (
|
|
1248
|
-
var ie = a.pointers.length === 1, ce = a.distance < 2,
|
|
1249
|
-
if (ie && ce &&
|
|
1246
|
+
var g = this.actions, P = W(g, Ie) && !tt[Ie], _ = W(g, je) && !tt[je], k = W(g, ze) && !tt[ze];
|
|
1247
|
+
if (P) {
|
|
1248
|
+
var ie = a.pointers.length === 1, ce = a.distance < 2, ee = a.deltaTime < 250;
|
|
1249
|
+
if (ie && ce && ee)
|
|
1250
1250
|
return;
|
|
1251
1251
|
}
|
|
1252
|
-
if (!(
|
|
1253
|
-
return this.preventSrc(
|
|
1252
|
+
if (!(k && _) && (P || _ && u & ue || k && u & de))
|
|
1253
|
+
return this.preventSrc(i);
|
|
1254
1254
|
},
|
|
1255
1255
|
/**
|
|
1256
1256
|
* call preventDefault to prevent the browser's default behavior (scrolling in most cases)
|
|
@@ -1261,22 +1261,22 @@ var Tt = (function(d, l, e, n) {
|
|
|
1261
1261
|
}
|
|
1262
1262
|
};
|
|
1263
1263
|
function wn(a) {
|
|
1264
|
-
if (
|
|
1265
|
-
return
|
|
1266
|
-
var
|
|
1267
|
-
return
|
|
1264
|
+
if (W(a, Ie))
|
|
1265
|
+
return Ie;
|
|
1266
|
+
var i = W(a, ze), u = W(a, je);
|
|
1267
|
+
return i && u ? Ie : i || u ? i ? ze : je : W(a, vt) ? vt : zt;
|
|
1268
1268
|
}
|
|
1269
1269
|
function En() {
|
|
1270
1270
|
if (!Rt)
|
|
1271
1271
|
return !1;
|
|
1272
|
-
var a = {},
|
|
1272
|
+
var a = {}, i = h.CSS && h.CSS.supports;
|
|
1273
1273
|
return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function(u) {
|
|
1274
|
-
a[u] =
|
|
1274
|
+
a[u] = i ? h.CSS.supports("touch-action", u) : !0;
|
|
1275
1275
|
}), a;
|
|
1276
1276
|
}
|
|
1277
|
-
var nt = 1, fe = 2,
|
|
1277
|
+
var nt = 1, fe = 2, ke = 4, xe = 8, we = xe, Ge = 16, me = 32;
|
|
1278
1278
|
function Ee(a) {
|
|
1279
|
-
this.options =
|
|
1279
|
+
this.options = A({}, this.defaults, a || {}), this.id = I(), this.manager = null, this.options.enable = f(this.options.enable, !0), this.state = nt, this.simultaneous = {}, this.requireFail = [];
|
|
1280
1280
|
}
|
|
1281
1281
|
Ee.prototype = {
|
|
1282
1282
|
/**
|
|
@@ -1290,7 +1290,7 @@ var Tt = (function(d, l, e, n) {
|
|
|
1290
1290
|
* @return {Recognizer}
|
|
1291
1291
|
*/
|
|
1292
1292
|
set: function(a) {
|
|
1293
|
-
return
|
|
1293
|
+
return A(this.options, a), this.manager && this.manager.touchAction.update(), this;
|
|
1294
1294
|
},
|
|
1295
1295
|
/**
|
|
1296
1296
|
* recognize simultaneous with an other recognizer.
|
|
@@ -1300,8 +1300,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1300
1300
|
recognizeWith: function(a) {
|
|
1301
1301
|
if (y(a, "recognizeWith", this))
|
|
1302
1302
|
return this;
|
|
1303
|
-
var
|
|
1304
|
-
return a = rt(a, this),
|
|
1303
|
+
var i = this.simultaneous;
|
|
1304
|
+
return a = rt(a, this), i[a.id] || (i[a.id] = a, a.recognizeWith(this)), this;
|
|
1305
1305
|
},
|
|
1306
1306
|
/**
|
|
1307
1307
|
* drop the simultaneous link. it doesnt remove the link on the other recognizer.
|
|
@@ -1319,8 +1319,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1319
1319
|
requireFailure: function(a) {
|
|
1320
1320
|
if (y(a, "requireFailure", this))
|
|
1321
1321
|
return this;
|
|
1322
|
-
var
|
|
1323
|
-
return a = rt(a, this),
|
|
1322
|
+
var i = this.requireFail;
|
|
1323
|
+
return a = rt(a, this), X(i, a) === -1 && (i.push(a), a.requireFailure(this)), this;
|
|
1324
1324
|
},
|
|
1325
1325
|
/**
|
|
1326
1326
|
* drop the requireFailure link. it does not remove the link on the other recognizer.
|
|
@@ -1331,8 +1331,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1331
1331
|
if (y(a, "dropRequireFailure", this))
|
|
1332
1332
|
return this;
|
|
1333
1333
|
a = rt(a, this);
|
|
1334
|
-
var
|
|
1335
|
-
return
|
|
1334
|
+
var i = X(this.requireFail, a);
|
|
1335
|
+
return i > -1 && this.requireFail.splice(i, 1), this;
|
|
1336
1336
|
},
|
|
1337
1337
|
/**
|
|
1338
1338
|
* has require failures boolean
|
|
@@ -1355,11 +1355,11 @@ var Tt = (function(d, l, e, n) {
|
|
|
1355
1355
|
* @param {Object} input
|
|
1356
1356
|
*/
|
|
1357
1357
|
emit: function(a) {
|
|
1358
|
-
var
|
|
1359
|
-
function g(
|
|
1360
|
-
|
|
1358
|
+
var i = this, u = this.state;
|
|
1359
|
+
function g(P) {
|
|
1360
|
+
i.manager.emit(P, a);
|
|
1361
1361
|
}
|
|
1362
|
-
u <
|
|
1362
|
+
u < xe && g(i.options.event + jt(u)), g(i.options.event), a.additionalEvent && g(a.additionalEvent), u >= xe && g(i.options.event + jt(u));
|
|
1363
1363
|
},
|
|
1364
1364
|
/**
|
|
1365
1365
|
* Check that all the require failure recognizers has failed,
|
|
@@ -1389,12 +1389,12 @@ var Tt = (function(d, l, e, n) {
|
|
|
1389
1389
|
* @param {Object} inputData
|
|
1390
1390
|
*/
|
|
1391
1391
|
recognize: function(a) {
|
|
1392
|
-
var
|
|
1393
|
-
if (!T(this.options.enable, [this,
|
|
1392
|
+
var i = A({}, a);
|
|
1393
|
+
if (!T(this.options.enable, [this, i])) {
|
|
1394
1394
|
this.reset(), this.state = me;
|
|
1395
1395
|
return;
|
|
1396
1396
|
}
|
|
1397
|
-
this.state & (we |
|
|
1397
|
+
this.state & (we | Ge | me) && (this.state = nt), this.state = this.process(i), this.state & (fe | ke | xe | Ge) && this.tryEmit(i);
|
|
1398
1398
|
},
|
|
1399
1399
|
/**
|
|
1400
1400
|
* return the state of the recognizer
|
|
@@ -1422,19 +1422,19 @@ var Tt = (function(d, l, e, n) {
|
|
|
1422
1422
|
}
|
|
1423
1423
|
};
|
|
1424
1424
|
function jt(a) {
|
|
1425
|
-
return a &
|
|
1425
|
+
return a & Ge ? "cancel" : a & xe ? "end" : a & ke ? "move" : a & fe ? "start" : "";
|
|
1426
1426
|
}
|
|
1427
1427
|
function Gt(a) {
|
|
1428
|
-
return a ==
|
|
1428
|
+
return a == Ae ? "down" : a == Le ? "up" : a == Me ? "left" : a == Ce ? "right" : "";
|
|
1429
1429
|
}
|
|
1430
|
-
function rt(a,
|
|
1431
|
-
var u =
|
|
1430
|
+
function rt(a, i) {
|
|
1431
|
+
var u = i.manager;
|
|
1432
1432
|
return u ? u.get(a) : a;
|
|
1433
1433
|
}
|
|
1434
|
-
function
|
|
1434
|
+
function ve() {
|
|
1435
1435
|
Ee.apply(this, arguments);
|
|
1436
1436
|
}
|
|
1437
|
-
E(
|
|
1437
|
+
E(ve, Ee, {
|
|
1438
1438
|
/**
|
|
1439
1439
|
* @namespace
|
|
1440
1440
|
* @memberof AttrRecognizer
|
|
@@ -1453,8 +1453,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1453
1453
|
* @returns {Boolean} recognized
|
|
1454
1454
|
*/
|
|
1455
1455
|
attrTest: function(a) {
|
|
1456
|
-
var
|
|
1457
|
-
return
|
|
1456
|
+
var i = this.options.pointers;
|
|
1457
|
+
return i === 0 || a.pointers.length === i;
|
|
1458
1458
|
},
|
|
1459
1459
|
/**
|
|
1460
1460
|
* Process the input and return the state for the recognizer
|
|
@@ -1463,14 +1463,14 @@ var Tt = (function(d, l, e, n) {
|
|
|
1463
1463
|
* @returns {*} State
|
|
1464
1464
|
*/
|
|
1465
1465
|
process: function(a) {
|
|
1466
|
-
var
|
|
1467
|
-
return g && (u &
|
|
1466
|
+
var i = this.state, u = a.eventType, g = i & (fe | ke), P = this.attrTest(a);
|
|
1467
|
+
return g && (u & Q || !P) ? i | Ge : g || P ? u & Z ? i | xe : i & fe ? i | ke : fe : me;
|
|
1468
1468
|
}
|
|
1469
1469
|
});
|
|
1470
1470
|
function at() {
|
|
1471
|
-
|
|
1471
|
+
ve.apply(this, arguments), this.pX = null, this.pY = null;
|
|
1472
1472
|
}
|
|
1473
|
-
E(at,
|
|
1473
|
+
E(at, ve, {
|
|
1474
1474
|
/**
|
|
1475
1475
|
* @namespace
|
|
1476
1476
|
* @memberof PanRecognizer
|
|
@@ -1479,29 +1479,29 @@ var Tt = (function(d, l, e, n) {
|
|
|
1479
1479
|
event: "pan",
|
|
1480
1480
|
threshold: 10,
|
|
1481
1481
|
pointers: 1,
|
|
1482
|
-
direction:
|
|
1482
|
+
direction: Ue
|
|
1483
1483
|
},
|
|
1484
1484
|
getTouchAction: function() {
|
|
1485
|
-
var a = this.options.direction,
|
|
1486
|
-
return a & ue &&
|
|
1485
|
+
var a = this.options.direction, i = [];
|
|
1486
|
+
return a & ue && i.push(je), a & de && i.push(ze), i;
|
|
1487
1487
|
},
|
|
1488
1488
|
directionTest: function(a) {
|
|
1489
|
-
var
|
|
1490
|
-
return
|
|
1489
|
+
var i = this.options, u = !0, g = a.distance, P = a.direction, _ = a.deltaX, k = a.deltaY;
|
|
1490
|
+
return P & i.direction || (i.direction & ue ? (P = _ === 0 ? Oe : _ < 0 ? Me : Ce, u = _ != this.pX, g = Math.abs(a.deltaX)) : (P = k === 0 ? Oe : k < 0 ? Le : Ae, u = k != this.pY, g = Math.abs(a.deltaY))), a.direction = P, u && g > i.threshold && P & i.direction;
|
|
1491
1491
|
},
|
|
1492
1492
|
attrTest: function(a) {
|
|
1493
|
-
return
|
|
1493
|
+
return ve.prototype.attrTest.call(this, a) && (this.state & fe || !(this.state & fe) && this.directionTest(a));
|
|
1494
1494
|
},
|
|
1495
1495
|
emit: function(a) {
|
|
1496
1496
|
this.pX = a.deltaX, this.pY = a.deltaY;
|
|
1497
|
-
var
|
|
1498
|
-
|
|
1497
|
+
var i = Gt(a.direction);
|
|
1498
|
+
i && (a.additionalEvent = this.options.event + i), this._super.emit.call(this, a);
|
|
1499
1499
|
}
|
|
1500
1500
|
});
|
|
1501
1501
|
function mt() {
|
|
1502
|
-
|
|
1502
|
+
ve.apply(this, arguments);
|
|
1503
1503
|
}
|
|
1504
|
-
E(mt,
|
|
1504
|
+
E(mt, ve, {
|
|
1505
1505
|
/**
|
|
1506
1506
|
* @namespace
|
|
1507
1507
|
* @memberof PinchRecognizer
|
|
@@ -1512,15 +1512,15 @@ var Tt = (function(d, l, e, n) {
|
|
|
1512
1512
|
pointers: 2
|
|
1513
1513
|
},
|
|
1514
1514
|
getTouchAction: function() {
|
|
1515
|
-
return [
|
|
1515
|
+
return [Ie];
|
|
1516
1516
|
},
|
|
1517
1517
|
attrTest: function(a) {
|
|
1518
1518
|
return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & fe);
|
|
1519
1519
|
},
|
|
1520
1520
|
emit: function(a) {
|
|
1521
1521
|
if (a.scale !== 1) {
|
|
1522
|
-
var
|
|
1523
|
-
a.additionalEvent = this.options.event +
|
|
1522
|
+
var i = a.scale < 1 ? "in" : "out";
|
|
1523
|
+
a.additionalEvent = this.options.event + i;
|
|
1524
1524
|
}
|
|
1525
1525
|
this._super.emit.call(this, a);
|
|
1526
1526
|
}
|
|
@@ -1542,17 +1542,17 @@ var Tt = (function(d, l, e, n) {
|
|
|
1542
1542
|
// a minimal movement is ok, but keep it low
|
|
1543
1543
|
},
|
|
1544
1544
|
getTouchAction: function() {
|
|
1545
|
-
return [
|
|
1545
|
+
return [zt];
|
|
1546
1546
|
},
|
|
1547
1547
|
process: function(a) {
|
|
1548
|
-
var
|
|
1549
|
-
if (this._input = a, !g || !u || a.eventType & (
|
|
1548
|
+
var i = this.options, u = a.pointers.length === i.pointers, g = a.distance < i.threshold, P = a.deltaTime > i.time;
|
|
1549
|
+
if (this._input = a, !g || !u || a.eventType & (Z | Q) && !P)
|
|
1550
1550
|
this.reset();
|
|
1551
|
-
else if (a.eventType &
|
|
1552
|
-
this.reset(), this._timer =
|
|
1551
|
+
else if (a.eventType & B)
|
|
1552
|
+
this.reset(), this._timer = m(function() {
|
|
1553
1553
|
this.state = we, this.tryEmit();
|
|
1554
|
-
},
|
|
1555
|
-
else if (a.eventType &
|
|
1554
|
+
}, i.time, this);
|
|
1555
|
+
else if (a.eventType & Z)
|
|
1556
1556
|
return we;
|
|
1557
1557
|
return me;
|
|
1558
1558
|
},
|
|
@@ -1560,13 +1560,13 @@ var Tt = (function(d, l, e, n) {
|
|
|
1560
1560
|
clearTimeout(this._timer);
|
|
1561
1561
|
},
|
|
1562
1562
|
emit: function(a) {
|
|
1563
|
-
this.state === we && (a && a.eventType &
|
|
1563
|
+
this.state === we && (a && a.eventType & Z ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = c(), this.manager.emit(this.options.event, this._input)));
|
|
1564
1564
|
}
|
|
1565
1565
|
});
|
|
1566
1566
|
function yt() {
|
|
1567
|
-
|
|
1567
|
+
ve.apply(this, arguments);
|
|
1568
1568
|
}
|
|
1569
|
-
E(yt,
|
|
1569
|
+
E(yt, ve, {
|
|
1570
1570
|
/**
|
|
1571
1571
|
* @namespace
|
|
1572
1572
|
* @memberof RotateRecognizer
|
|
@@ -1577,16 +1577,16 @@ var Tt = (function(d, l, e, n) {
|
|
|
1577
1577
|
pointers: 2
|
|
1578
1578
|
},
|
|
1579
1579
|
getTouchAction: function() {
|
|
1580
|
-
return [
|
|
1580
|
+
return [Ie];
|
|
1581
1581
|
},
|
|
1582
1582
|
attrTest: function(a) {
|
|
1583
1583
|
return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & fe);
|
|
1584
1584
|
}
|
|
1585
1585
|
});
|
|
1586
1586
|
function bt() {
|
|
1587
|
-
|
|
1587
|
+
ve.apply(this, arguments);
|
|
1588
1588
|
}
|
|
1589
|
-
E(bt,
|
|
1589
|
+
E(bt, ve, {
|
|
1590
1590
|
/**
|
|
1591
1591
|
* @namespace
|
|
1592
1592
|
* @memberof SwipeRecognizer
|
|
@@ -1595,19 +1595,19 @@ var Tt = (function(d, l, e, n) {
|
|
|
1595
1595
|
event: "swipe",
|
|
1596
1596
|
threshold: 10,
|
|
1597
1597
|
velocity: 0.3,
|
|
1598
|
-
direction: ue |
|
|
1598
|
+
direction: ue | de,
|
|
1599
1599
|
pointers: 1
|
|
1600
1600
|
},
|
|
1601
1601
|
getTouchAction: function() {
|
|
1602
1602
|
return at.prototype.getTouchAction.call(this);
|
|
1603
1603
|
},
|
|
1604
1604
|
attrTest: function(a) {
|
|
1605
|
-
var
|
|
1606
|
-
return
|
|
1605
|
+
var i = this.options.direction, u;
|
|
1606
|
+
return i & (ue | de) ? u = a.overallVelocity : i & ue ? u = a.overallVelocityX : i & de && (u = a.overallVelocityY), this._super.attrTest.call(this, a) && i & a.offsetDirection && a.distance > this.options.threshold && a.maxPointers == this.options.pointers && d(u) > this.options.velocity && a.eventType & Z;
|
|
1607
1607
|
},
|
|
1608
1608
|
emit: function(a) {
|
|
1609
|
-
var
|
|
1610
|
-
|
|
1609
|
+
var i = Gt(a.offsetDirection);
|
|
1610
|
+
i && this.manager.emit(this.options.event + i, a), this.manager.emit(this.options.event, a);
|
|
1611
1611
|
}
|
|
1612
1612
|
});
|
|
1613
1613
|
function it() {
|
|
@@ -1632,27 +1632,27 @@ var Tt = (function(d, l, e, n) {
|
|
|
1632
1632
|
// a multi-tap can be a bit off the initial position
|
|
1633
1633
|
},
|
|
1634
1634
|
getTouchAction: function() {
|
|
1635
|
-
return [
|
|
1635
|
+
return [vt];
|
|
1636
1636
|
},
|
|
1637
1637
|
process: function(a) {
|
|
1638
|
-
var
|
|
1639
|
-
if (this.reset(), a.eventType &
|
|
1638
|
+
var i = this.options, u = a.pointers.length === i.pointers, g = a.distance < i.threshold, P = a.deltaTime < i.time;
|
|
1639
|
+
if (this.reset(), a.eventType & B && this.count === 0)
|
|
1640
1640
|
return this.failTimeout();
|
|
1641
|
-
if (g &&
|
|
1642
|
-
if (a.eventType !=
|
|
1641
|
+
if (g && P && u) {
|
|
1642
|
+
if (a.eventType != Z)
|
|
1643
1643
|
return this.failTimeout();
|
|
1644
|
-
var
|
|
1645
|
-
this.pTime = a.timeStamp, this.pCenter = a.center, !
|
|
1646
|
-
var ie = this.count %
|
|
1644
|
+
var _ = this.pTime ? a.timeStamp - this.pTime < i.interval : !0, k = !this.pCenter || Je(this.pCenter, a.center) < i.posThreshold;
|
|
1645
|
+
this.pTime = a.timeStamp, this.pCenter = a.center, !k || !_ ? this.count = 1 : this.count += 1, this._input = a;
|
|
1646
|
+
var ie = this.count % i.taps;
|
|
1647
1647
|
if (ie === 0)
|
|
1648
|
-
return this.hasRequireFailures() ? (this._timer =
|
|
1648
|
+
return this.hasRequireFailures() ? (this._timer = m(function() {
|
|
1649
1649
|
this.state = we, this.tryEmit();
|
|
1650
|
-
},
|
|
1650
|
+
}, i.interval, this), fe) : we;
|
|
1651
1651
|
}
|
|
1652
1652
|
return me;
|
|
1653
1653
|
},
|
|
1654
1654
|
failTimeout: function() {
|
|
1655
|
-
return this._timer =
|
|
1655
|
+
return this._timer = m(function() {
|
|
1656
1656
|
this.state = me;
|
|
1657
1657
|
}, this.options.interval, this), me;
|
|
1658
1658
|
},
|
|
@@ -1663,10 +1663,10 @@ var Tt = (function(d, l, e, n) {
|
|
|
1663
1663
|
this.state == we && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input));
|
|
1664
1664
|
}
|
|
1665
1665
|
});
|
|
1666
|
-
function
|
|
1667
|
-
return
|
|
1666
|
+
function Be(a, i) {
|
|
1667
|
+
return i = i || {}, i.recognizers = f(i.recognizers, Be.defaults.preset), new wt(a, i);
|
|
1668
1668
|
}
|
|
1669
|
-
|
|
1669
|
+
Be.VERSION = "2.0.7", Be.defaults = {
|
|
1670
1670
|
/**
|
|
1671
1671
|
* set if DOM events are being triggered.
|
|
1672
1672
|
* But this is slower and unused by simple implementations, so disabled by default.
|
|
@@ -1680,7 +1680,7 @@ var Tt = (function(d, l, e, n) {
|
|
|
1680
1680
|
* @type {String}
|
|
1681
1681
|
* @default compute
|
|
1682
1682
|
*/
|
|
1683
|
-
touchAction:
|
|
1683
|
+
touchAction: Vt,
|
|
1684
1684
|
/**
|
|
1685
1685
|
* @type {Boolean}
|
|
1686
1686
|
* @default true
|
|
@@ -1763,8 +1763,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1763
1763
|
}
|
|
1764
1764
|
};
|
|
1765
1765
|
var Tn = 1, Yt = 2;
|
|
1766
|
-
function wt(a,
|
|
1767
|
-
this.options =
|
|
1766
|
+
function wt(a, i) {
|
|
1767
|
+
this.options = A({}, Be.defaults, i || {}), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = a, this.input = Ze(this), this.touchAction = new pt(this, this.options.touchAction), Ht(this, !0), M(this.options.recognizers, function(u) {
|
|
1768
1768
|
var g = this.add(new u[0](u[1]));
|
|
1769
1769
|
u[2] && g.recognizeWith(u[2]), u[3] && g.requireFailure(u[3]);
|
|
1770
1770
|
}, this);
|
|
@@ -1776,7 +1776,7 @@ var Tt = (function(d, l, e, n) {
|
|
|
1776
1776
|
* @returns {Manager}
|
|
1777
1777
|
*/
|
|
1778
1778
|
set: function(a) {
|
|
1779
|
-
return
|
|
1779
|
+
return A(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this;
|
|
1780
1780
|
},
|
|
1781
1781
|
/**
|
|
1782
1782
|
* stop recognizing for this session.
|
|
@@ -1794,15 +1794,15 @@ var Tt = (function(d, l, e, n) {
|
|
|
1794
1794
|
* @param {Object} inputData
|
|
1795
1795
|
*/
|
|
1796
1796
|
recognize: function(a) {
|
|
1797
|
-
var
|
|
1798
|
-
if (!
|
|
1797
|
+
var i = this.session;
|
|
1798
|
+
if (!i.stopped) {
|
|
1799
1799
|
this.touchAction.preventDefaults(a);
|
|
1800
|
-
var u, g = this.recognizers,
|
|
1801
|
-
(!
|
|
1802
|
-
for (var
|
|
1803
|
-
u = g[
|
|
1804
|
-
(!
|
|
1805
|
-
u.canRecognizeWith(
|
|
1800
|
+
var u, g = this.recognizers, P = i.curRecognizer;
|
|
1801
|
+
(!P || P && P.state & we) && (P = i.curRecognizer = null);
|
|
1802
|
+
for (var _ = 0; _ < g.length; )
|
|
1803
|
+
u = g[_], i.stopped !== Yt && // 1
|
|
1804
|
+
(!P || u == P || // 2
|
|
1805
|
+
u.canRecognizeWith(P)) ? u.recognize(a) : u.reset(), !P && u.state & (fe | ke | xe) && (P = i.curRecognizer = u), _++;
|
|
1806
1806
|
}
|
|
1807
1807
|
},
|
|
1808
1808
|
/**
|
|
@@ -1813,9 +1813,9 @@ var Tt = (function(d, l, e, n) {
|
|
|
1813
1813
|
get: function(a) {
|
|
1814
1814
|
if (a instanceof Ee)
|
|
1815
1815
|
return a;
|
|
1816
|
-
for (var
|
|
1817
|
-
if (
|
|
1818
|
-
return
|
|
1816
|
+
for (var i = this.recognizers, u = 0; u < i.length; u++)
|
|
1817
|
+
if (i[u].options.event == a)
|
|
1818
|
+
return i[u];
|
|
1819
1819
|
return null;
|
|
1820
1820
|
},
|
|
1821
1821
|
/**
|
|
@@ -1827,8 +1827,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1827
1827
|
add: function(a) {
|
|
1828
1828
|
if (y(a, "add", this))
|
|
1829
1829
|
return this;
|
|
1830
|
-
var
|
|
1831
|
-
return
|
|
1830
|
+
var i = this.get(a.options.event);
|
|
1831
|
+
return i && this.remove(i), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a;
|
|
1832
1832
|
},
|
|
1833
1833
|
/**
|
|
1834
1834
|
* remove a recognizer by name or instance
|
|
@@ -1839,8 +1839,8 @@ var Tt = (function(d, l, e, n) {
|
|
|
1839
1839
|
if (y(a, "remove", this))
|
|
1840
1840
|
return this;
|
|
1841
1841
|
if (a = this.get(a), a) {
|
|
1842
|
-
var
|
|
1843
|
-
u !== -1 && (
|
|
1842
|
+
var i = this.recognizers, u = X(i, a);
|
|
1843
|
+
u !== -1 && (i.splice(u, 1), this.touchAction.update());
|
|
1844
1844
|
}
|
|
1845
1845
|
return this;
|
|
1846
1846
|
},
|
|
@@ -1850,11 +1850,11 @@ var Tt = (function(d, l, e, n) {
|
|
|
1850
1850
|
* @param {Function} handler
|
|
1851
1851
|
* @returns {EventEmitter} this
|
|
1852
1852
|
*/
|
|
1853
|
-
on: function(a,
|
|
1854
|
-
if (a !== n &&
|
|
1853
|
+
on: function(a, i) {
|
|
1854
|
+
if (a !== n && i !== n) {
|
|
1855
1855
|
var u = this.handlers;
|
|
1856
|
-
return M(
|
|
1857
|
-
u[g] = u[g] || [], u[g].push(
|
|
1856
|
+
return M(H(a), function(g) {
|
|
1857
|
+
u[g] = u[g] || [], u[g].push(i);
|
|
1858
1858
|
}), this;
|
|
1859
1859
|
}
|
|
1860
1860
|
},
|
|
@@ -1864,11 +1864,11 @@ var Tt = (function(d, l, e, n) {
|
|
|
1864
1864
|
* @param {Function} [handler]
|
|
1865
1865
|
* @returns {EventEmitter} this
|
|
1866
1866
|
*/
|
|
1867
|
-
off: function(a,
|
|
1867
|
+
off: function(a, i) {
|
|
1868
1868
|
if (a !== n) {
|
|
1869
1869
|
var u = this.handlers;
|
|
1870
|
-
return M(
|
|
1871
|
-
|
|
1870
|
+
return M(H(a), function(g) {
|
|
1871
|
+
i ? u[g] && u[g].splice(X(u[g], i), 1) : delete u[g];
|
|
1872
1872
|
}), this;
|
|
1873
1873
|
}
|
|
1874
1874
|
},
|
|
@@ -1877,15 +1877,15 @@ var Tt = (function(d, l, e, n) {
|
|
|
1877
1877
|
* @param {String} event
|
|
1878
1878
|
* @param {Object} data
|
|
1879
1879
|
*/
|
|
1880
|
-
emit: function(a,
|
|
1881
|
-
this.options.domEvents &&
|
|
1880
|
+
emit: function(a, i) {
|
|
1881
|
+
this.options.domEvents && Pn(a, i);
|
|
1882
1882
|
var u = this.handlers[a] && this.handlers[a].slice();
|
|
1883
1883
|
if (!(!u || !u.length)) {
|
|
1884
|
-
|
|
1885
|
-
|
|
1884
|
+
i.type = a, i.preventDefault = function() {
|
|
1885
|
+
i.srcEvent.preventDefault();
|
|
1886
1886
|
};
|
|
1887
1887
|
for (var g = 0; g < u.length; )
|
|
1888
|
-
u[g](
|
|
1888
|
+
u[g](i), g++;
|
|
1889
1889
|
}
|
|
1890
1890
|
},
|
|
1891
1891
|
/**
|
|
@@ -1893,87 +1893,87 @@ var Tt = (function(d, l, e, n) {
|
|
|
1893
1893
|
* it doesn't unbind dom events, that is the user own responsibility
|
|
1894
1894
|
*/
|
|
1895
1895
|
destroy: function() {
|
|
1896
|
-
this.element &&
|
|
1896
|
+
this.element && Ht(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null;
|
|
1897
1897
|
}
|
|
1898
1898
|
};
|
|
1899
|
-
function
|
|
1899
|
+
function Ht(a, i) {
|
|
1900
1900
|
var u = a.element;
|
|
1901
1901
|
if (u.style) {
|
|
1902
1902
|
var g;
|
|
1903
|
-
M(a.options.cssProps, function(
|
|
1904
|
-
g =
|
|
1905
|
-
}),
|
|
1903
|
+
M(a.options.cssProps, function(P, _) {
|
|
1904
|
+
g = z(u.style, _), i ? (a.oldCssProps[g] = u.style[g], u.style[g] = P) : u.style[g] = a.oldCssProps[g] || "";
|
|
1905
|
+
}), i || (a.oldCssProps = {});
|
|
1906
1906
|
}
|
|
1907
1907
|
}
|
|
1908
|
-
function
|
|
1909
|
-
var u =
|
|
1910
|
-
u.initEvent(a, !0, !0), u.gesture =
|
|
1908
|
+
function Pn(a, i) {
|
|
1909
|
+
var u = s.createEvent("Event");
|
|
1910
|
+
u.initEvent(a, !0, !0), u.gesture = i, i.target.dispatchEvent(u);
|
|
1911
1911
|
}
|
|
1912
|
-
return
|
|
1913
|
-
INPUT_START:
|
|
1912
|
+
return A(Be, {
|
|
1913
|
+
INPUT_START: B,
|
|
1914
1914
|
INPUT_MOVE: se,
|
|
1915
|
-
INPUT_END:
|
|
1916
|
-
INPUT_CANCEL:
|
|
1915
|
+
INPUT_END: Z,
|
|
1916
|
+
INPUT_CANCEL: Q,
|
|
1917
1917
|
STATE_POSSIBLE: nt,
|
|
1918
1918
|
STATE_BEGAN: fe,
|
|
1919
|
-
STATE_CHANGED:
|
|
1920
|
-
STATE_ENDED:
|
|
1919
|
+
STATE_CHANGED: ke,
|
|
1920
|
+
STATE_ENDED: xe,
|
|
1921
1921
|
STATE_RECOGNIZED: we,
|
|
1922
|
-
STATE_CANCELLED:
|
|
1922
|
+
STATE_CANCELLED: Ge,
|
|
1923
1923
|
STATE_FAILED: me,
|
|
1924
|
-
DIRECTION_NONE:
|
|
1925
|
-
DIRECTION_LEFT:
|
|
1926
|
-
DIRECTION_RIGHT:
|
|
1927
|
-
DIRECTION_UP:
|
|
1928
|
-
DIRECTION_DOWN:
|
|
1924
|
+
DIRECTION_NONE: Oe,
|
|
1925
|
+
DIRECTION_LEFT: Me,
|
|
1926
|
+
DIRECTION_RIGHT: Ce,
|
|
1927
|
+
DIRECTION_UP: Le,
|
|
1928
|
+
DIRECTION_DOWN: Ae,
|
|
1929
1929
|
DIRECTION_HORIZONTAL: ue,
|
|
1930
|
-
DIRECTION_VERTICAL:
|
|
1931
|
-
DIRECTION_ALL:
|
|
1930
|
+
DIRECTION_VERTICAL: de,
|
|
1931
|
+
DIRECTION_ALL: Ue,
|
|
1932
1932
|
Manager: wt,
|
|
1933
1933
|
Input: le,
|
|
1934
1934
|
TouchAction: pt,
|
|
1935
1935
|
TouchInput: et,
|
|
1936
1936
|
MouseInput: $e,
|
|
1937
1937
|
PointerEventInput: ht,
|
|
1938
|
-
TouchMouseInput:
|
|
1939
|
-
SingleTouchInput:
|
|
1938
|
+
TouchMouseInput: dt,
|
|
1939
|
+
SingleTouchInput: Nt,
|
|
1940
1940
|
Recognizer: Ee,
|
|
1941
|
-
AttrRecognizer:
|
|
1941
|
+
AttrRecognizer: ve,
|
|
1942
1942
|
Tap: it,
|
|
1943
1943
|
Pan: at,
|
|
1944
1944
|
Swipe: bt,
|
|
1945
1945
|
Pinch: mt,
|
|
1946
1946
|
Rotate: yt,
|
|
1947
1947
|
Press: gt,
|
|
1948
|
-
on:
|
|
1949
|
-
off:
|
|
1948
|
+
on: O,
|
|
1949
|
+
off: S,
|
|
1950
1950
|
each: M,
|
|
1951
|
-
merge:
|
|
1952
|
-
extend:
|
|
1953
|
-
assign:
|
|
1951
|
+
merge: C,
|
|
1952
|
+
extend: x,
|
|
1953
|
+
assign: A,
|
|
1954
1954
|
inherit: E,
|
|
1955
1955
|
bindFn: b,
|
|
1956
|
-
prefixed:
|
|
1957
|
-
}),
|
|
1958
|
-
})(typeof window != "undefined" ? window : {}, typeof document != "undefined" ? document : {}),
|
|
1959
|
-
|
|
1956
|
+
prefixed: z
|
|
1957
|
+
}), Be;
|
|
1958
|
+
})(typeof window != "undefined" ? window : {}, typeof document != "undefined" ? document : {}), Ke = function(h, s) {
|
|
1959
|
+
s === void 0 && console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'), s === document && console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'), this.object = h, this.domElement = s, this.enabled = !0, this.target = new ye(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !1, this.keyPanSpeed = 7, this.autoRotate = !1, this.autoRotateSpeed = 2, this.enableKeys = !0, this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }, this.mouseButtons = { LEFT: Se.ROTATE, MIDDLE: Se.DOLLY, RIGHT: Se.PAN }, this.touches = { ONE: _e.ROTATE, TWO: _e.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this.getPolarAngle = function() {
|
|
1960
1960
|
return c.phi;
|
|
1961
1961
|
}, this.getAzimuthalAngle = function() {
|
|
1962
1962
|
return c.theta;
|
|
1963
1963
|
}, this.saveState = function() {
|
|
1964
1964
|
e.target0.copy(e.target), e.position0.copy(e.object.position), e.zoom0 = e.object.zoom;
|
|
1965
1965
|
}, this.reset = function() {
|
|
1966
|
-
e.target.copy(e.target0), e.object.position.copy(e.position0), e.object.zoom = e.zoom0, e.object.updateProjectionMatrix(), e.dispatchEvent(n), e.update(),
|
|
1966
|
+
e.target.copy(e.target0), e.object.position.copy(e.position0), e.object.zoom = e.zoom0, e.object.updateProjectionMatrix(), e.dispatchEvent(n), e.update(), o = l.NONE;
|
|
1967
1967
|
}, this.update = (function() {
|
|
1968
|
-
var
|
|
1968
|
+
var v = new ye(), R = new Xt().setFromUnitVectors(h.up, new ye(0, 1, 0)), J = R.clone().inverse(), re = new ye(), pe = new Xt();
|
|
1969
1969
|
return function() {
|
|
1970
1970
|
var be = e.object.position;
|
|
1971
|
-
return
|
|
1971
|
+
return v.copy(be).sub(e.target), v.applyQuaternion(R), c.setFromVector3(v), e.autoRotate && o === l.NONE && H(D()), e.enableDamping ? (c.theta += m.theta * e.dampingFactor, c.phi += m.phi * e.dampingFactor) : (c.theta += m.theta, c.phi += m.phi), c.theta = Math.max(e.minAzimuthAngle, Math.min(e.maxAzimuthAngle, c.theta)), c.phi = Math.max(e.minPolarAngle, Math.min(e.maxPolarAngle, c.phi)), c.makeSafe(), c.radius *= y, c.radius = Math.max(e.minDistance, Math.min(e.maxDistance, c.radius)), e.enableDamping === !0 ? e.target.addScaledVector(M, e.dampingFactor) : e.target.add(M), v.setFromSpherical(c), v.applyQuaternion(J), be.copy(e.target).add(v), e.object.lookAt(e.target), e.enableDamping === !0 ? (m.theta *= 1 - e.dampingFactor, m.phi *= 1 - e.dampingFactor, M.multiplyScalar(1 - e.dampingFactor)) : (m.set(0, 0, 0), M.set(0, 0, 0)), y = 1, w || re.distanceToSquared(e.object.position) > d || 8 * (1 - pe.dot(e.object.quaternion)) > d ? (e.dispatchEvent(n), re.copy(e.object.position), pe.copy(e.object.quaternion), w = !1, !0) : !1;
|
|
1972
1972
|
};
|
|
1973
1973
|
})(), this.dispose = function() {
|
|
1974
|
-
e.domElement.removeEventListener("contextmenu", Qe, !1), e.domElement.removeEventListener("mousedown",
|
|
1974
|
+
e.domElement.removeEventListener("contextmenu", Qe, !1), e.domElement.removeEventListener("mousedown", Ae, !1), e.domElement.removeEventListener("wheel", Ue, !1), e.domElement.removeEventListener("touchstart", Fe, !1), e.domElement.removeEventListener("touchend", Ze, !1), e.domElement.removeEventListener("touchmove", le, !1), document.removeEventListener("mousemove", ue, !1), document.removeEventListener("mouseup", de, !1), e.domElement.removeEventListener("keydown", Re, !1);
|
|
1975
1975
|
};
|
|
1976
|
-
var e = this, n = { type: "change" }, t = { type: "start" }, r = { type: "end" },
|
|
1976
|
+
var e = this, n = { type: "change" }, t = { type: "start" }, r = { type: "end" }, l = {
|
|
1977
1977
|
NONE: -1,
|
|
1978
1978
|
ROTATE: 0,
|
|
1979
1979
|
DOLLY: 1,
|
|
@@ -1982,401 +1982,401 @@ var Tt = (function(d, l, e, n) {
|
|
|
1982
1982
|
TOUCH_PAN: 4,
|
|
1983
1983
|
TOUCH_DOLLY_PAN: 5,
|
|
1984
1984
|
TOUCH_DOLLY_ROTATE: 6
|
|
1985
|
-
},
|
|
1986
|
-
function
|
|
1985
|
+
}, o = l.NONE, d = 1e-6, c = new Wt(), m = new Wt(), y = 1, M = new ye(), w = !1, A = new Te(), x = new Te(), C = new Te(), E = new Te(), b = new Te(), T = new Te(), f = new Te(), O = new Te(), S = new Te();
|
|
1986
|
+
function D() {
|
|
1987
1987
|
return 2 * Math.PI / 60 / 60 * e.autoRotateSpeed;
|
|
1988
1988
|
}
|
|
1989
|
-
function
|
|
1989
|
+
function W() {
|
|
1990
1990
|
return Math.pow(0.95, e.zoomSpeed);
|
|
1991
1991
|
}
|
|
1992
|
-
function
|
|
1993
|
-
|
|
1992
|
+
function H(v) {
|
|
1993
|
+
m.theta -= v;
|
|
1994
1994
|
}
|
|
1995
|
-
function
|
|
1996
|
-
|
|
1995
|
+
function X(v) {
|
|
1996
|
+
m.phi -= v;
|
|
1997
1997
|
}
|
|
1998
|
-
var
|
|
1999
|
-
var
|
|
2000
|
-
return function(
|
|
2001
|
-
|
|
1998
|
+
var $ = (function() {
|
|
1999
|
+
var v = new ye();
|
|
2000
|
+
return function(J, re) {
|
|
2001
|
+
v.setFromMatrixColumn(re, 0), v.multiplyScalar(-J), M.add(v);
|
|
2002
2002
|
};
|
|
2003
|
-
})(),
|
|
2004
|
-
var
|
|
2005
|
-
return function(
|
|
2006
|
-
e.screenSpacePanning === !0 ?
|
|
2003
|
+
})(), ae = (function() {
|
|
2004
|
+
var v = new ye();
|
|
2005
|
+
return function(J, re) {
|
|
2006
|
+
e.screenSpacePanning === !0 ? v.setFromMatrixColumn(re, 1) : (v.setFromMatrixColumn(re, 0), v.crossVectors(e.object.up, v)), v.multiplyScalar(J), M.add(v);
|
|
2007
2007
|
};
|
|
2008
|
-
})(),
|
|
2009
|
-
var
|
|
2010
|
-
return function(
|
|
2008
|
+
})(), z = (function() {
|
|
2009
|
+
var v = new ye();
|
|
2010
|
+
return function(J, re) {
|
|
2011
2011
|
var pe = e.domElement;
|
|
2012
2012
|
if (e.object.isPerspectiveCamera) {
|
|
2013
2013
|
var Ve = e.object.position;
|
|
2014
|
-
|
|
2015
|
-
var be =
|
|
2016
|
-
be *= Math.tan(e.object.fov / 2 * Math.PI / 180),
|
|
2017
|
-
} else e.object.isOrthographicCamera ? (
|
|
2014
|
+
v.copy(Ve).sub(e.target);
|
|
2015
|
+
var be = v.length();
|
|
2016
|
+
be *= Math.tan(e.object.fov / 2 * Math.PI / 180), $(2 * J * be / pe.clientHeight, e.object.matrix), ae(2 * re * be / pe.clientHeight, e.object.matrix);
|
|
2017
|
+
} else e.object.isOrthographicCamera ? ($(J * (e.object.right - e.object.left) / e.object.zoom / pe.clientWidth, e.object.matrix), ae(re * (e.object.top - e.object.bottom) / e.object.zoom / pe.clientHeight, e.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), e.enablePan = !1);
|
|
2018
2018
|
};
|
|
2019
2019
|
})();
|
|
2020
|
-
function
|
|
2021
|
-
e.object.isPerspectiveCamera ? y /=
|
|
2020
|
+
function q(v) {
|
|
2021
|
+
e.object.isPerspectiveCamera ? y /= v : e.object.isOrthographicCamera ? (e.object.zoom = Math.max(e.minZoom, Math.min(e.maxZoom, e.object.zoom * v)), e.object.updateProjectionMatrix(), w = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), e.enableZoom = !1);
|
|
2022
2022
|
}
|
|
2023
|
-
function
|
|
2024
|
-
e.object.isPerspectiveCamera ? y *=
|
|
2023
|
+
function I(v) {
|
|
2024
|
+
e.object.isPerspectiveCamera ? y *= v : e.object.isOrthographicCamera ? (e.object.zoom = Math.max(e.minZoom, Math.min(e.maxZoom, e.object.zoom / v)), e.object.updateProjectionMatrix(), w = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), e.enableZoom = !1);
|
|
2025
2025
|
}
|
|
2026
|
-
function
|
|
2027
|
-
|
|
2026
|
+
function L(v) {
|
|
2027
|
+
A.set(v.clientX, v.clientY);
|
|
2028
2028
|
}
|
|
2029
|
-
function
|
|
2030
|
-
f.set(
|
|
2029
|
+
function F(v) {
|
|
2030
|
+
f.set(v.clientX, v.clientY);
|
|
2031
2031
|
}
|
|
2032
|
-
function
|
|
2033
|
-
E.set(
|
|
2032
|
+
function N(v) {
|
|
2033
|
+
E.set(v.clientX, v.clientY);
|
|
2034
2034
|
}
|
|
2035
|
-
function
|
|
2036
|
-
|
|
2037
|
-
var
|
|
2038
|
-
|
|
2035
|
+
function j(v) {
|
|
2036
|
+
x.set(v.clientX, v.clientY), C.subVectors(x, A).multiplyScalar(e.rotateSpeed);
|
|
2037
|
+
var R = e.domElement;
|
|
2038
|
+
H(2 * Math.PI * C.x / R.clientHeight), X(2 * Math.PI * C.y / R.clientHeight), A.copy(x), e.update();
|
|
2039
2039
|
}
|
|
2040
|
-
function
|
|
2041
|
-
|
|
2040
|
+
function ne(v) {
|
|
2041
|
+
O.set(v.clientX, v.clientY), S.subVectors(O, f), S.y > 0 ? q(W()) : S.y < 0 && I(W()), f.copy(O), e.update();
|
|
2042
2042
|
}
|
|
2043
|
-
function
|
|
2044
|
-
b.set(
|
|
2043
|
+
function K(v) {
|
|
2044
|
+
b.set(v.clientX, v.clientY), T.subVectors(b, E).multiplyScalar(e.panSpeed), z(T.x, T.y), E.copy(b), e.update();
|
|
2045
2045
|
}
|
|
2046
|
-
function
|
|
2047
|
-
|
|
2046
|
+
function U(v) {
|
|
2047
|
+
v.deltaY < 0 ? I(W()) : v.deltaY > 0 && q(W()), e.update();
|
|
2048
2048
|
}
|
|
2049
|
-
function
|
|
2050
|
-
var
|
|
2051
|
-
switch (
|
|
2049
|
+
function te(v) {
|
|
2050
|
+
var R = !1;
|
|
2051
|
+
switch (v.keyCode) {
|
|
2052
2052
|
case e.keys.UP:
|
|
2053
|
-
|
|
2053
|
+
z(0, e.keyPanSpeed), R = !0;
|
|
2054
2054
|
break;
|
|
2055
2055
|
case e.keys.BOTTOM:
|
|
2056
|
-
|
|
2056
|
+
z(0, -e.keyPanSpeed), R = !0;
|
|
2057
2057
|
break;
|
|
2058
2058
|
case e.keys.LEFT:
|
|
2059
|
-
|
|
2059
|
+
z(e.keyPanSpeed, 0), R = !0;
|
|
2060
2060
|
break;
|
|
2061
2061
|
case e.keys.RIGHT:
|
|
2062
|
-
|
|
2062
|
+
z(-e.keyPanSpeed, 0), R = !0;
|
|
2063
2063
|
break;
|
|
2064
2064
|
}
|
|
2065
|
-
|
|
2065
|
+
R && (v.preventDefault(), e.update());
|
|
2066
2066
|
}
|
|
2067
|
-
function
|
|
2068
|
-
if (
|
|
2069
|
-
|
|
2067
|
+
function Y(v) {
|
|
2068
|
+
if (v.touches.length == 1)
|
|
2069
|
+
A.set(v.touches[0].pageX, v.touches[0].pageY);
|
|
2070
2070
|
else {
|
|
2071
|
-
var
|
|
2072
|
-
|
|
2071
|
+
var R = 0.5 * (v.touches[0].pageX + v.touches[1].pageX), J = 0.5 * (v.touches[0].pageY + v.touches[1].pageY);
|
|
2072
|
+
A.set(R, J);
|
|
2073
2073
|
}
|
|
2074
2074
|
}
|
|
2075
|
-
function
|
|
2076
|
-
if (
|
|
2077
|
-
E.set(
|
|
2075
|
+
function G(v) {
|
|
2076
|
+
if (v.touches.length == 1)
|
|
2077
|
+
E.set(v.touches[0].pageX, v.touches[0].pageY);
|
|
2078
2078
|
else {
|
|
2079
|
-
var
|
|
2080
|
-
E.set(
|
|
2079
|
+
var R = 0.5 * (v.touches[0].pageX + v.touches[1].pageX), J = 0.5 * (v.touches[0].pageY + v.touches[1].pageY);
|
|
2080
|
+
E.set(R, J);
|
|
2081
2081
|
}
|
|
2082
2082
|
}
|
|
2083
|
-
function
|
|
2084
|
-
var
|
|
2085
|
-
f.set(0,
|
|
2083
|
+
function B(v) {
|
|
2084
|
+
var R = v.touches[0].pageX - v.touches[1].pageX, J = v.touches[0].pageY - v.touches[1].pageY, re = Math.sqrt(R * R + J * J);
|
|
2085
|
+
f.set(0, re);
|
|
2086
2086
|
}
|
|
2087
|
-
function se(
|
|
2088
|
-
e.enableZoom &&
|
|
2087
|
+
function se(v) {
|
|
2088
|
+
e.enableZoom && B(v), e.enablePan && G(v);
|
|
2089
2089
|
}
|
|
2090
|
-
function
|
|
2091
|
-
e.enableZoom &&
|
|
2090
|
+
function Z(v) {
|
|
2091
|
+
e.enableZoom && B(v), e.enableRotate && Y(v);
|
|
2092
2092
|
}
|
|
2093
|
-
function
|
|
2094
|
-
if (
|
|
2095
|
-
|
|
2093
|
+
function Q(v) {
|
|
2094
|
+
if (v.touches.length == 1)
|
|
2095
|
+
x.set(v.touches[0].pageX, v.touches[0].pageY);
|
|
2096
2096
|
else {
|
|
2097
|
-
var
|
|
2098
|
-
|
|
2097
|
+
var R = 0.5 * (v.touches[0].pageX + v.touches[1].pageX), J = 0.5 * (v.touches[0].pageY + v.touches[1].pageY);
|
|
2098
|
+
x.set(R, J);
|
|
2099
2099
|
}
|
|
2100
|
-
|
|
2101
|
-
var
|
|
2102
|
-
|
|
2100
|
+
C.subVectors(x, A).multiplyScalar(e.rotateSpeed);
|
|
2101
|
+
var re = e.domElement;
|
|
2102
|
+
H(2 * Math.PI * C.x / re.clientHeight), X(2 * Math.PI * C.y / re.clientHeight), A.copy(x);
|
|
2103
2103
|
}
|
|
2104
|
-
function
|
|
2105
|
-
if (
|
|
2106
|
-
b.set(
|
|
2104
|
+
function Oe(v) {
|
|
2105
|
+
if (v.touches.length == 1)
|
|
2106
|
+
b.set(v.touches[0].pageX, v.touches[0].pageY);
|
|
2107
2107
|
else {
|
|
2108
|
-
var
|
|
2109
|
-
b.set(
|
|
2108
|
+
var R = 0.5 * (v.touches[0].pageX + v.touches[1].pageX), J = 0.5 * (v.touches[0].pageY + v.touches[1].pageY);
|
|
2109
|
+
b.set(R, J);
|
|
2110
2110
|
}
|
|
2111
|
-
T.subVectors(b, E).multiplyScalar(e.panSpeed),
|
|
2111
|
+
T.subVectors(b, E).multiplyScalar(e.panSpeed), z(T.x, T.y), E.copy(b);
|
|
2112
2112
|
}
|
|
2113
|
-
function
|
|
2114
|
-
var
|
|
2115
|
-
|
|
2113
|
+
function Me(v) {
|
|
2114
|
+
var R = v.touches[0].pageX - v.touches[1].pageX, J = v.touches[0].pageY - v.touches[1].pageY, re = Math.sqrt(R * R + J * J);
|
|
2115
|
+
O.set(0, re), S.set(0, Math.pow(O.y / f.y, e.zoomSpeed)), q(S.y), f.copy(O);
|
|
2116
2116
|
}
|
|
2117
|
-
function
|
|
2118
|
-
e.enableZoom &&
|
|
2117
|
+
function Ce(v) {
|
|
2118
|
+
e.enableZoom && Me(v), e.enablePan && Oe(v);
|
|
2119
2119
|
}
|
|
2120
|
-
function
|
|
2121
|
-
e.enableZoom &&
|
|
2120
|
+
function Le(v) {
|
|
2121
|
+
e.enableZoom && Me(v), e.enableRotate && Q(v);
|
|
2122
2122
|
}
|
|
2123
|
-
function
|
|
2123
|
+
function Ae(v) {
|
|
2124
2124
|
if (e.enabled !== !1) {
|
|
2125
|
-
|
|
2126
|
-
var
|
|
2127
|
-
switch (
|
|
2125
|
+
v.preventDefault(), e.domElement.focus ? e.domElement.focus() : window.focus();
|
|
2126
|
+
var R;
|
|
2127
|
+
switch (v.button) {
|
|
2128
2128
|
case 0:
|
|
2129
|
-
|
|
2129
|
+
R = e.mouseButtons.LEFT;
|
|
2130
2130
|
break;
|
|
2131
2131
|
case 1:
|
|
2132
|
-
|
|
2132
|
+
R = e.mouseButtons.MIDDLE;
|
|
2133
2133
|
break;
|
|
2134
2134
|
case 2:
|
|
2135
|
-
|
|
2135
|
+
R = e.mouseButtons.RIGHT;
|
|
2136
2136
|
break;
|
|
2137
2137
|
default:
|
|
2138
|
-
|
|
2138
|
+
R = -1;
|
|
2139
2139
|
}
|
|
2140
|
-
switch (
|
|
2141
|
-
case
|
|
2140
|
+
switch (R) {
|
|
2141
|
+
case Se.DOLLY:
|
|
2142
2142
|
if (e.enableZoom === !1) return;
|
|
2143
|
-
|
|
2143
|
+
F(v), o = l.DOLLY;
|
|
2144
2144
|
break;
|
|
2145
|
-
case
|
|
2146
|
-
if (
|
|
2145
|
+
case Se.ROTATE:
|
|
2146
|
+
if (v.ctrlKey || v.metaKey || v.shiftKey) {
|
|
2147
2147
|
if (e.enablePan === !1) return;
|
|
2148
|
-
|
|
2148
|
+
N(v), o = l.PAN;
|
|
2149
2149
|
} else {
|
|
2150
2150
|
if (e.enableRotate === !1) return;
|
|
2151
|
-
|
|
2151
|
+
L(v), o = l.ROTATE;
|
|
2152
2152
|
}
|
|
2153
2153
|
break;
|
|
2154
|
-
case
|
|
2155
|
-
if (
|
|
2154
|
+
case Se.PAN:
|
|
2155
|
+
if (v.ctrlKey || v.metaKey || v.shiftKey) {
|
|
2156
2156
|
if (e.enableRotate === !1) return;
|
|
2157
|
-
|
|
2157
|
+
L(v), o = l.ROTATE;
|
|
2158
2158
|
} else {
|
|
2159
2159
|
if (e.enablePan === !1) return;
|
|
2160
|
-
|
|
2160
|
+
N(v), o = l.PAN;
|
|
2161
2161
|
}
|
|
2162
2162
|
break;
|
|
2163
2163
|
default:
|
|
2164
|
-
|
|
2164
|
+
o = l.NONE;
|
|
2165
2165
|
}
|
|
2166
|
-
|
|
2166
|
+
o !== l.NONE && (document.addEventListener("mousemove", ue, !1), document.addEventListener("mouseup", de, !1), e.dispatchEvent(t));
|
|
2167
2167
|
}
|
|
2168
2168
|
}
|
|
2169
|
-
function ue(
|
|
2169
|
+
function ue(v) {
|
|
2170
2170
|
if (e.enabled !== !1)
|
|
2171
|
-
switch (
|
|
2172
|
-
case
|
|
2171
|
+
switch (v.preventDefault(), o) {
|
|
2172
|
+
case l.ROTATE:
|
|
2173
2173
|
if (e.enableRotate === !1) return;
|
|
2174
|
-
|
|
2174
|
+
j(v);
|
|
2175
2175
|
break;
|
|
2176
|
-
case
|
|
2176
|
+
case l.DOLLY:
|
|
2177
2177
|
if (e.enableZoom === !1) return;
|
|
2178
|
-
|
|
2178
|
+
ne(v);
|
|
2179
2179
|
break;
|
|
2180
|
-
case
|
|
2180
|
+
case l.PAN:
|
|
2181
2181
|
if (e.enablePan === !1) return;
|
|
2182
|
-
|
|
2182
|
+
K(v);
|
|
2183
2183
|
break;
|
|
2184
2184
|
}
|
|
2185
2185
|
}
|
|
2186
|
-
function
|
|
2187
|
-
e.enabled !== !1 && (document.removeEventListener("mousemove", ue, !1), document.removeEventListener("mouseup",
|
|
2186
|
+
function de(v) {
|
|
2187
|
+
e.enabled !== !1 && (document.removeEventListener("mousemove", ue, !1), document.removeEventListener("mouseup", de, !1), e.dispatchEvent(r), o = l.NONE);
|
|
2188
2188
|
}
|
|
2189
|
-
function
|
|
2190
|
-
e.enabled === !1 || e.enableZoom === !1 ||
|
|
2189
|
+
function Ue(v) {
|
|
2190
|
+
e.enabled === !1 || e.enableZoom === !1 || o !== l.NONE && o !== l.ROTATE || (v.preventDefault(), v.stopPropagation(), e.dispatchEvent(t), U(v), e.dispatchEvent(r));
|
|
2191
2191
|
}
|
|
2192
|
-
function
|
|
2193
|
-
e.enabled === !1 || e.enableKeys === !1 || e.enablePan === !1 ||
|
|
2192
|
+
function Re(v) {
|
|
2193
|
+
e.enabled === !1 || e.enableKeys === !1 || e.enablePan === !1 || te(v);
|
|
2194
2194
|
}
|
|
2195
|
-
function Fe(
|
|
2195
|
+
function Fe(v) {
|
|
2196
2196
|
if (e.enabled !== !1) {
|
|
2197
|
-
switch (
|
|
2197
|
+
switch (v.preventDefault(), v.touches.length) {
|
|
2198
2198
|
case 1:
|
|
2199
2199
|
switch (e.touches.ONE) {
|
|
2200
|
-
case
|
|
2200
|
+
case _e.ROTATE:
|
|
2201
2201
|
if (e.enableRotate === !1) return;
|
|
2202
|
-
|
|
2202
|
+
Y(v), o = l.TOUCH_ROTATE;
|
|
2203
2203
|
break;
|
|
2204
|
-
case
|
|
2204
|
+
case _e.PAN:
|
|
2205
2205
|
if (e.enablePan === !1) return;
|
|
2206
|
-
|
|
2206
|
+
G(v), o = l.TOUCH_PAN;
|
|
2207
2207
|
break;
|
|
2208
2208
|
default:
|
|
2209
|
-
|
|
2209
|
+
o = l.NONE;
|
|
2210
2210
|
}
|
|
2211
2211
|
break;
|
|
2212
2212
|
case 2:
|
|
2213
2213
|
switch (e.touches.TWO) {
|
|
2214
|
-
case
|
|
2214
|
+
case _e.DOLLY_PAN:
|
|
2215
2215
|
if (e.enableZoom === !1 && e.enablePan === !1) return;
|
|
2216
|
-
se(
|
|
2216
|
+
se(v), o = l.TOUCH_DOLLY_PAN;
|
|
2217
2217
|
break;
|
|
2218
|
-
case
|
|
2218
|
+
case _e.DOLLY_ROTATE:
|
|
2219
2219
|
if (e.enableZoom === !1 && e.enableRotate === !1) return;
|
|
2220
|
-
|
|
2220
|
+
Z(v), o = l.TOUCH_DOLLY_ROTATE;
|
|
2221
2221
|
break;
|
|
2222
2222
|
default:
|
|
2223
|
-
|
|
2223
|
+
o = l.NONE;
|
|
2224
2224
|
}
|
|
2225
2225
|
break;
|
|
2226
2226
|
default:
|
|
2227
|
-
|
|
2227
|
+
o = l.NONE;
|
|
2228
2228
|
}
|
|
2229
|
-
|
|
2229
|
+
o !== l.NONE && e.dispatchEvent(t);
|
|
2230
2230
|
}
|
|
2231
2231
|
}
|
|
2232
|
-
function le(
|
|
2232
|
+
function le(v) {
|
|
2233
2233
|
if (e.enabled !== !1)
|
|
2234
|
-
switch (
|
|
2235
|
-
case
|
|
2234
|
+
switch (v.preventDefault(), v.stopPropagation(), o) {
|
|
2235
|
+
case l.TOUCH_ROTATE:
|
|
2236
2236
|
if (e.enableRotate === !1) return;
|
|
2237
|
-
|
|
2237
|
+
Q(v), e.update();
|
|
2238
2238
|
break;
|
|
2239
|
-
case
|
|
2239
|
+
case l.TOUCH_PAN:
|
|
2240
2240
|
if (e.enablePan === !1) return;
|
|
2241
|
-
|
|
2241
|
+
Oe(v), e.update();
|
|
2242
2242
|
break;
|
|
2243
|
-
case
|
|
2243
|
+
case l.TOUCH_DOLLY_PAN:
|
|
2244
2244
|
if (e.enableZoom === !1 && e.enablePan === !1) return;
|
|
2245
|
-
|
|
2245
|
+
Ce(v), e.update();
|
|
2246
2246
|
break;
|
|
2247
|
-
case
|
|
2247
|
+
case l.TOUCH_DOLLY_ROTATE:
|
|
2248
2248
|
if (e.enableZoom === !1 && e.enableRotate === !1) return;
|
|
2249
|
-
|
|
2249
|
+
Le(v), e.update();
|
|
2250
2250
|
break;
|
|
2251
2251
|
default:
|
|
2252
|
-
|
|
2252
|
+
o = l.NONE;
|
|
2253
2253
|
}
|
|
2254
2254
|
}
|
|
2255
|
-
function Ze(
|
|
2256
|
-
e.enabled !== !1 && (e.dispatchEvent(r),
|
|
2255
|
+
function Ze(v) {
|
|
2256
|
+
e.enabled !== !1 && (e.dispatchEvent(r), o = l.NONE);
|
|
2257
2257
|
}
|
|
2258
|
-
function Qe(
|
|
2259
|
-
e.enabled !== !1 &&
|
|
2258
|
+
function Qe(v) {
|
|
2259
|
+
e.enabled !== !1 && v.preventDefault();
|
|
2260
2260
|
}
|
|
2261
|
-
e.domElement.addEventListener("contextmenu", Qe, !1), e.domElement.addEventListener("mousedown",
|
|
2261
|
+
e.domElement.addEventListener("contextmenu", Qe, !1), e.domElement.addEventListener("mousedown", Ae, !1), e.domElement.addEventListener("wheel", Ue, !1), e.domElement.addEventListener("touchstart", Fe, !1), e.domElement.addEventListener("touchend", Ze, !1), e.domElement.addEventListener("touchmove", le, !1), e.domElement.addEventListener("keydown", Re, !1), e.domElement.tabIndex === -1 && (e.domElement.tabIndex = 0), this.update();
|
|
2262
2262
|
};
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
var
|
|
2266
|
-
|
|
2263
|
+
Ke.prototype = Object.create(Jt.prototype);
|
|
2264
|
+
Ke.prototype.constructor = Ke;
|
|
2265
|
+
var _t = function(h, s) {
|
|
2266
|
+
Ke.call(this, h, s), this.mouseButtons.LEFT = Se.PAN, this.mouseButtons.RIGHT = Se.ROTATE, this.touches.ONE = _e.PAN, this.touches.TWO = _e.DOLLY_ROTATE;
|
|
2267
2267
|
};
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
var
|
|
2271
|
-
$t.call(this), this.element =
|
|
2272
|
-
this.traverse(function(
|
|
2273
|
-
|
|
2268
|
+
_t.prototype = Object.create(Jt.prototype);
|
|
2269
|
+
_t.prototype.constructor = _t;
|
|
2270
|
+
var Pe = function(h) {
|
|
2271
|
+
$t.call(this), this.element = h, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.addEventListener("removed", function() {
|
|
2272
|
+
this.traverse(function(s) {
|
|
2273
|
+
s.element instanceof Element && s.element.parentNode !== null && s.element.parentNode.removeChild(s.element);
|
|
2274
2274
|
});
|
|
2275
2275
|
});
|
|
2276
2276
|
};
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
var ct = function(
|
|
2280
|
-
|
|
2277
|
+
Pe.prototype = Object.create($t.prototype);
|
|
2278
|
+
Pe.prototype.constructor = Pe;
|
|
2279
|
+
var ct = function(h) {
|
|
2280
|
+
Pe.call(this, h);
|
|
2281
2281
|
};
|
|
2282
|
-
ct.prototype = Object.create(
|
|
2282
|
+
ct.prototype = Object.create(Pe.prototype);
|
|
2283
2283
|
ct.prototype.constructor = ct;
|
|
2284
|
-
var
|
|
2285
|
-
var
|
|
2284
|
+
var zn = function() {
|
|
2285
|
+
var h = this, s, e, n, t, r = new Sn(), l = {
|
|
2286
2286
|
camera: { fov: 0, style: "" },
|
|
2287
2287
|
objects: /* @__PURE__ */ new WeakMap()
|
|
2288
|
-
},
|
|
2289
|
-
|
|
2290
|
-
var
|
|
2291
|
-
|
|
2288
|
+
}, o = document.createElement("div");
|
|
2289
|
+
o.style.overflow = "hidden", this.domElement = o;
|
|
2290
|
+
var d = document.createElement("div");
|
|
2291
|
+
d.style.WebkitTransformStyle = "preserve-3d", d.style.transformStyle = "preserve-3d", d.style.pointerEvents = "none", o.appendChild(d);
|
|
2292
2292
|
var c = /Trident/i.test(navigator.userAgent);
|
|
2293
2293
|
this.getSize = function() {
|
|
2294
2294
|
return {
|
|
2295
|
-
width:
|
|
2295
|
+
width: s,
|
|
2296
2296
|
height: e
|
|
2297
2297
|
};
|
|
2298
2298
|
}, this.setSize = function(E, b) {
|
|
2299
|
-
|
|
2299
|
+
s = E, e = b, n = s / 2, t = e / 2, o.style.width = E + "px", o.style.height = b + "px", d.style.width = E + "px", d.style.height = b + "px";
|
|
2300
2300
|
};
|
|
2301
|
-
function
|
|
2301
|
+
function m(E) {
|
|
2302
2302
|
return Math.abs(E) < 1e-10 ? 0 : E;
|
|
2303
2303
|
}
|
|
2304
2304
|
function y(E) {
|
|
2305
2305
|
var b = E.elements;
|
|
2306
|
-
return "matrix3d(" +
|
|
2306
|
+
return "matrix3d(" + m(b[0]) + "," + m(-b[1]) + "," + m(b[2]) + "," + m(b[3]) + "," + m(b[4]) + "," + m(-b[5]) + "," + m(b[6]) + "," + m(b[7]) + "," + m(b[8]) + "," + m(-b[9]) + "," + m(b[10]) + "," + m(b[11]) + "," + m(b[12]) + "," + m(-b[13]) + "," + m(b[14]) + "," + m(b[15]) + ")";
|
|
2307
2307
|
}
|
|
2308
2308
|
function M(E, b) {
|
|
2309
|
-
var T = E.elements, f = "matrix3d(" +
|
|
2309
|
+
var T = E.elements, f = "matrix3d(" + m(T[0]) + "," + m(T[1]) + "," + m(T[2]) + "," + m(T[3]) + "," + m(-T[4]) + "," + m(-T[5]) + "," + m(-T[6]) + "," + m(-T[7]) + "," + m(T[8]) + "," + m(T[9]) + "," + m(T[10]) + "," + m(T[11]) + "," + m(T[12]) + "," + m(T[13]) + "," + m(T[14]) + "," + m(T[15]) + ")";
|
|
2310
2310
|
return c ? "translate(-50%,-50%)translate(" + n + "px," + t + "px)" + b + f : "translate(-50%,-50%)" + f;
|
|
2311
2311
|
}
|
|
2312
2312
|
function w(E, b, T, f) {
|
|
2313
|
-
if (E instanceof
|
|
2314
|
-
E.onBeforeRender(
|
|
2315
|
-
var
|
|
2316
|
-
E instanceof ct ? (r.copy(T.matrixWorldInverse), r.transpose(), r.copyPosition(E.matrixWorld), r.scale(E.scale), r.elements[3] = 0, r.elements[7] = 0, r.elements[11] = 0, r.elements[15] = 1,
|
|
2317
|
-
var
|
|
2318
|
-
if (
|
|
2319
|
-
|
|
2320
|
-
var
|
|
2321
|
-
c && (
|
|
2313
|
+
if (E instanceof Pe) {
|
|
2314
|
+
E.onBeforeRender(h, b, T);
|
|
2315
|
+
var O;
|
|
2316
|
+
E instanceof ct ? (r.copy(T.matrixWorldInverse), r.transpose(), r.copyPosition(E.matrixWorld), r.scale(E.scale), r.elements[3] = 0, r.elements[7] = 0, r.elements[11] = 0, r.elements[15] = 1, O = M(r, f)) : O = M(E.matrixWorld, f);
|
|
2317
|
+
var S = E.element, D = l.objects.get(E);
|
|
2318
|
+
if (D === void 0 || D.style !== O) {
|
|
2319
|
+
S.style.WebkitTransform = O, S.style.transform = O;
|
|
2320
|
+
var W = { style: O };
|
|
2321
|
+
c && (W.distanceToCameraSquared = A(T, E)), l.objects.set(E, W);
|
|
2322
2322
|
}
|
|
2323
|
-
|
|
2323
|
+
S.style.display = E.visible ? "" : "none", S.parentNode !== d && d.appendChild(S), E.onAfterRender(h, b, T);
|
|
2324
2324
|
}
|
|
2325
|
-
for (var
|
|
2326
|
-
w(E.children[
|
|
2325
|
+
for (var H = 0, X = E.children.length; H < X; H++)
|
|
2326
|
+
w(E.children[H], b, T, f);
|
|
2327
2327
|
}
|
|
2328
|
-
var
|
|
2328
|
+
var A = (function() {
|
|
2329
2329
|
var E = new ye(), b = new ye();
|
|
2330
2330
|
return function(T, f) {
|
|
2331
2331
|
return E.setFromMatrixPosition(T.matrixWorld), b.setFromMatrixPosition(f.matrixWorld), E.distanceToSquared(b);
|
|
2332
2332
|
};
|
|
2333
2333
|
})();
|
|
2334
|
-
function
|
|
2334
|
+
function x(E) {
|
|
2335
2335
|
var b = [];
|
|
2336
2336
|
return E.traverse(function(T) {
|
|
2337
|
-
T instanceof
|
|
2337
|
+
T instanceof Pe && b.push(T);
|
|
2338
2338
|
}), b;
|
|
2339
2339
|
}
|
|
2340
|
-
function
|
|
2341
|
-
for (var b =
|
|
2342
|
-
var
|
|
2343
|
-
return
|
|
2344
|
-
}), T = b.length, f = 0,
|
|
2340
|
+
function C(E) {
|
|
2341
|
+
for (var b = x(E).sort(function(S, D) {
|
|
2342
|
+
var W = l.objects.get(S).distanceToCameraSquared, H = l.objects.get(D).distanceToCameraSquared;
|
|
2343
|
+
return W - H;
|
|
2344
|
+
}), T = b.length, f = 0, O = b.length; f < O; f++)
|
|
2345
2345
|
b[f].element.style.zIndex = T - f;
|
|
2346
2346
|
}
|
|
2347
2347
|
this.render = function(E, b) {
|
|
2348
2348
|
var T = b.projectionMatrix.elements[5] * t;
|
|
2349
|
-
if (
|
|
2350
|
-
var f = -(b.right + b.left) / 2,
|
|
2351
|
-
var
|
|
2352
|
-
|
|
2349
|
+
if (l.camera.fov !== T && (b.isPerspectiveCamera ? (o.style.WebkitPerspective = T + "px", o.style.perspective = T + "px") : (o.style.WebkitPerspective = "", o.style.perspective = ""), l.camera.fov = T), E.autoUpdate === !0 && E.updateMatrixWorld(), b.parent === null && b.updateMatrixWorld(), b.isOrthographicCamera)
|
|
2350
|
+
var f = -(b.right + b.left) / 2, O = (b.top + b.bottom) / 2;
|
|
2351
|
+
var S = b.isOrthographicCamera ? "scale(" + T + ")translate(" + m(f) + "px," + m(O) + "px)" + y(b.matrixWorldInverse) : "translateZ(" + T + "px)" + y(b.matrixWorldInverse), D = S + "translate(" + n + "px," + t + "px)";
|
|
2352
|
+
l.camera.style !== D && !c && (d.style.WebkitTransform = D, d.style.transform = D, l.camera.style = D), w(E, E, b, S), c && C(E);
|
|
2353
2353
|
};
|
|
2354
2354
|
};
|
|
2355
|
-
function Zt(
|
|
2356
|
-
var n =
|
|
2357
|
-
return new p.Vector2((
|
|
2355
|
+
function Zt(h, s, e) {
|
|
2356
|
+
var n = s.getBoundingClientRect(), t = n.top, r = n.left, l = n.width, o = n.height;
|
|
2357
|
+
return new p.Vector2((h.x - r) / l * 2 - 1, -(h.y - t) / o * 2 + 1);
|
|
2358
2358
|
}
|
|
2359
2359
|
var jn = (
|
|
2360
2360
|
/** @class */
|
|
2361
|
-
(function(
|
|
2362
|
-
he(
|
|
2363
|
-
function
|
|
2364
|
-
var
|
|
2365
|
-
|
|
2366
|
-
var
|
|
2367
|
-
|
|
2361
|
+
(function(h) {
|
|
2362
|
+
he(s, h);
|
|
2363
|
+
function s(e, n, t, r, l) {
|
|
2364
|
+
var o = h.call(this) || this;
|
|
2365
|
+
o.type = "RoundedBoxGeometry", l = isNaN(l) ? 1 : Math.max(1, Math.floor(l)), e = isNaN(e) ? 1 : e, n = isNaN(n) ? 1 : n, t = isNaN(t) ? 1 : t, r = isNaN(r) ? 0.15 : r, r = Math.min(r, Math.min(e, Math.min(n, Math.min(t))) / 2);
|
|
2366
|
+
var d = e / 2 - r, c = n / 2 - r, m = t / 2 - r;
|
|
2367
|
+
o.parameters = {
|
|
2368
2368
|
width: e,
|
|
2369
2369
|
height: n,
|
|
2370
2370
|
depth: t,
|
|
2371
2371
|
radius: r,
|
|
2372
|
-
radiusSegments:
|
|
2372
|
+
radiusSegments: l
|
|
2373
2373
|
};
|
|
2374
|
-
var y =
|
|
2374
|
+
var y = l + 1, M = y * l + 1 << 3, w = new p.BufferAttribute(new Float32Array(M * 3), 3), A = new p.BufferAttribute(new Float32Array(M * 3), 3), x = [], C = [];
|
|
2375
2375
|
new p.Vector3();
|
|
2376
|
-
var E = new p.Vector3(), b = [], T = [], f = [],
|
|
2377
|
-
|
|
2378
|
-
function
|
|
2379
|
-
for (var
|
|
2376
|
+
var E = new p.Vector3(), b = [], T = [], f = [], O = y * l, S = y * l + 1;
|
|
2377
|
+
D(), H(), W(), X(), ae(), $();
|
|
2378
|
+
function D() {
|
|
2379
|
+
for (var I = [
|
|
2380
2380
|
new p.Vector3(1, 1, 1),
|
|
2381
2381
|
new p.Vector3(1, 1, -1),
|
|
2382
2382
|
new p.Vector3(-1, 1, -1),
|
|
@@ -2385,37 +2385,37 @@ var jn = (
|
|
|
2385
2385
|
new p.Vector3(1, -1, -1),
|
|
2386
2386
|
new p.Vector3(-1, -1, -1),
|
|
2387
2387
|
new p.Vector3(-1, -1, 1)
|
|
2388
|
-
],
|
|
2389
|
-
|
|
2390
|
-
for (var
|
|
2391
|
-
var
|
|
2392
|
-
if (
|
|
2388
|
+
], L = 0; L < 8; L++)
|
|
2389
|
+
x.push([]), C.push([]);
|
|
2390
|
+
for (var F = Math.PI / 2, N = new p.Vector3(d, c, m), j = 0; j <= l; j++) {
|
|
2391
|
+
var ne = j / l, K = ne * F, U = Math.cos(K), te = Math.sin(K);
|
|
2392
|
+
if (j == l) {
|
|
2393
2393
|
E.set(0, 1, 0);
|
|
2394
|
-
var
|
|
2395
|
-
|
|
2396
|
-
var
|
|
2397
|
-
|
|
2394
|
+
var Y = E.clone().multiplyScalar(r).add(N);
|
|
2395
|
+
x[0].push(Y), b.push(Y);
|
|
2396
|
+
var G = E.clone();
|
|
2397
|
+
C[0].push(G), T.push(G);
|
|
2398
2398
|
continue;
|
|
2399
2399
|
}
|
|
2400
|
-
for (var
|
|
2401
|
-
var se =
|
|
2402
|
-
E.x =
|
|
2403
|
-
var
|
|
2404
|
-
|
|
2405
|
-
var
|
|
2406
|
-
|
|
2400
|
+
for (var B = 0; B <= l; B++) {
|
|
2401
|
+
var se = B / l, Z = se * F;
|
|
2402
|
+
E.x = U * Math.cos(Z), E.y = te, E.z = U * Math.sin(Z);
|
|
2403
|
+
var Y = E.clone().multiplyScalar(r).add(N);
|
|
2404
|
+
x[0].push(Y), b.push(Y);
|
|
2405
|
+
var G = E.clone().normalize();
|
|
2406
|
+
C[0].push(G), T.push(G);
|
|
2407
2407
|
}
|
|
2408
2408
|
}
|
|
2409
|
-
for (var
|
|
2410
|
-
for (var
|
|
2411
|
-
var
|
|
2412
|
-
|
|
2413
|
-
var
|
|
2414
|
-
|
|
2409
|
+
for (var Q = 1; Q < 8; Q++)
|
|
2410
|
+
for (var L = 0; L < x[0].length; L++) {
|
|
2411
|
+
var Y = x[0][L].clone().multiply(I[Q]);
|
|
2412
|
+
x[Q].push(Y), b.push(Y);
|
|
2413
|
+
var G = C[0][L].clone().multiply(I[Q]);
|
|
2414
|
+
C[Q].push(G), T.push(G);
|
|
2415
2415
|
}
|
|
2416
2416
|
}
|
|
2417
|
-
function
|
|
2418
|
-
for (var
|
|
2417
|
+
function W() {
|
|
2418
|
+
for (var I = [
|
|
2419
2419
|
!0,
|
|
2420
2420
|
!1,
|
|
2421
2421
|
!0,
|
|
@@ -2424,136 +2424,136 @@ var jn = (
|
|
|
2424
2424
|
!0,
|
|
2425
2425
|
!1,
|
|
2426
2426
|
!0
|
|
2427
|
-
],
|
|
2428
|
-
for (var
|
|
2429
|
-
for (var
|
|
2430
|
-
var
|
|
2431
|
-
|
|
2427
|
+
], L = y * (l - 1), F = 0; F < 8; F++) {
|
|
2428
|
+
for (var N = S * F, j = 0; j < l - 1; j++)
|
|
2429
|
+
for (var ne = j * y, K = (j + 1) * y, U = 0; U < l; U++) {
|
|
2430
|
+
var te = U + 1, Y = N + ne + U, G = N + ne + te, B = N + K + U, se = N + K + te;
|
|
2431
|
+
I[F] ? (f.push(Y), f.push(B), f.push(G), f.push(G), f.push(B), f.push(se)) : (f.push(Y), f.push(G), f.push(B), f.push(G), f.push(se), f.push(B));
|
|
2432
2432
|
}
|
|
2433
|
-
for (var
|
|
2434
|
-
var
|
|
2435
|
-
|
|
2433
|
+
for (var U = 0; U < l; U++) {
|
|
2434
|
+
var Y = N + L + U, G = N + L + U + 1, B = N + O;
|
|
2435
|
+
I[F] ? (f.push(Y), f.push(B), f.push(G)) : (f.push(Y), f.push(G), f.push(B));
|
|
2436
2436
|
}
|
|
2437
2437
|
}
|
|
2438
2438
|
}
|
|
2439
|
-
function
|
|
2440
|
-
var
|
|
2441
|
-
f.push(
|
|
2439
|
+
function H() {
|
|
2440
|
+
var I = O, L = O + S, F = O + S * 2, N = O + S * 3;
|
|
2441
|
+
f.push(I), f.push(L), f.push(F), f.push(I), f.push(F), f.push(N), I = O + S * 4, L = O + S * 5, F = O + S * 6, N = O + S * 7, f.push(I), f.push(F), f.push(L), f.push(I), f.push(N), f.push(F), I = 0, L = S, F = S * 4, N = S * 5, f.push(I), f.push(F), f.push(L), f.push(L), f.push(F), f.push(N), I = S * 2, L = S * 3, F = S * 6, N = S * 7, f.push(I), f.push(F), f.push(L), f.push(L), f.push(F), f.push(N), I = l, L = l + S * 3, F = l + S * 4, N = l + S * 7, f.push(I), f.push(L), f.push(F), f.push(L), f.push(N), f.push(F), I = l + S, L = l + S * 2, F = l + S * 5, N = l + S * 6, f.push(I), f.push(F), f.push(L), f.push(L), f.push(F), f.push(N);
|
|
2442
2442
|
}
|
|
2443
|
-
function
|
|
2444
|
-
for (var
|
|
2445
|
-
for (var
|
|
2446
|
-
var
|
|
2447
|
-
|
|
2443
|
+
function X() {
|
|
2444
|
+
for (var I = 0; I < 4; I++)
|
|
2445
|
+
for (var L = I * S, F = 4 * S + L, N = (I & 1) === 1, j = 0; j < l; j++) {
|
|
2446
|
+
var ne = j + 1, K = L + j, U = L + ne, te = F + j, Y = F + ne;
|
|
2447
|
+
N ? (f.push(K), f.push(te), f.push(U), f.push(U), f.push(te), f.push(Y)) : (f.push(K), f.push(U), f.push(te), f.push(U), f.push(Y), f.push(te));
|
|
2448
2448
|
}
|
|
2449
2449
|
}
|
|
2450
|
-
function
|
|
2451
|
-
for (var
|
|
2452
|
-
for (var
|
|
2453
|
-
var
|
|
2454
|
-
|
|
2450
|
+
function $() {
|
|
2451
|
+
for (var I = [0, 2, 4, 6], L = [1, 3, 5, 7], F = 0; F < 4; F++)
|
|
2452
|
+
for (var N = S * I[F], j = S * L[F], ne = 1 >= F, K = 0; K < l; K++) {
|
|
2453
|
+
var U = K * y, te = (K + 1) * y, Y = N + U, G = N + te, B = j + U, se = j + te;
|
|
2454
|
+
ne ? (f.push(Y), f.push(B), f.push(G), f.push(G), f.push(B), f.push(se)) : (f.push(Y), f.push(G), f.push(B), f.push(G), f.push(se), f.push(B));
|
|
2455
2455
|
}
|
|
2456
2456
|
}
|
|
2457
|
-
function
|
|
2458
|
-
for (var
|
|
2459
|
-
for (var
|
|
2460
|
-
var
|
|
2461
|
-
|
|
2457
|
+
function ae() {
|
|
2458
|
+
for (var I = l - 1, L = [0, 1, 4, 5], F = [3, 2, 7, 6], N = [0, 1, 1, 0], j = 0; j < 4; j++)
|
|
2459
|
+
for (var ne = L[j] * S, K = F[j] * S, U = 0; U <= I; U++) {
|
|
2460
|
+
var te = ne + l + U * y, Y = ne + (U != I ? l + (U + 1) * y : S - 1), G = K + l + U * y, B = K + (U != I ? l + (U + 1) * y : S - 1);
|
|
2461
|
+
N[j] ? (f.push(te), f.push(G), f.push(Y), f.push(Y), f.push(G), f.push(B)) : (f.push(te), f.push(Y), f.push(G), f.push(Y), f.push(B), f.push(G));
|
|
2462
2462
|
}
|
|
2463
2463
|
}
|
|
2464
|
-
for (var
|
|
2465
|
-
w.setXYZ(
|
|
2466
|
-
return
|
|
2464
|
+
for (var z = 0, q = 0; q < b.length; q++)
|
|
2465
|
+
w.setXYZ(z, b[q].x, b[q].y, b[q].z), A.setXYZ(z, T[q].x, T[q].y, T[q].z), z++;
|
|
2466
|
+
return o.setIndex(new p.BufferAttribute(new Uint16Array(f), 1)), o.setAttribute("position", w), o.setAttribute("normal", A), o;
|
|
2467
2467
|
}
|
|
2468
|
-
return
|
|
2468
|
+
return s;
|
|
2469
2469
|
})(p.BufferGeometry)
|
|
2470
2470
|
);
|
|
2471
|
-
function
|
|
2472
|
-
return typeof
|
|
2471
|
+
function Ye(h, s) {
|
|
2472
|
+
return typeof h != "number" || typeof s != "number" ? !1 : Math.abs(h - s) < 1e-3;
|
|
2473
2473
|
}
|
|
2474
|
-
function He(
|
|
2474
|
+
function He(h, s, e, n) {
|
|
2475
2475
|
n === void 0 && (n = function(r) {
|
|
2476
2476
|
return r;
|
|
2477
2477
|
});
|
|
2478
2478
|
var t = n(e);
|
|
2479
|
-
return
|
|
2479
|
+
return h * (1 - t) + s * t;
|
|
2480
2480
|
}
|
|
2481
2481
|
var oe = Number((Math.PI / 2).toFixed(5));
|
|
2482
|
-
function Gn(
|
|
2482
|
+
function Gn(h, s, e) {
|
|
2483
2483
|
var n = new p.Shape();
|
|
2484
|
-
return n.moveTo(e, 0), n.lineTo(
|
|
2484
|
+
return n.moveTo(e, 0), n.lineTo(h - e, 0), n.absarc(h - e, e, e, -oe, 0, !1), n.lineTo(h, s - e), n.absarc(h - e, s - e, e, 0, oe, !1), n.lineTo(e, s), n.absarc(e, s - e, e, oe, Math.PI, !1), n.lineTo(0, e), n.absarc(e, e, e, Math.PI, Math.PI * 1.5, !1), n;
|
|
2485
2485
|
}
|
|
2486
|
-
var
|
|
2487
|
-
var
|
|
2488
|
-
|
|
2489
|
-
var e = new
|
|
2490
|
-
return e.name =
|
|
2491
|
-
}, ot = function(
|
|
2492
|
-
var
|
|
2486
|
+
var We = function(h) {
|
|
2487
|
+
var s = document.createElement("div");
|
|
2488
|
+
s.innerText = h;
|
|
2489
|
+
var e = new Pe(s);
|
|
2490
|
+
return e.name = h, e.scale.set(0.3, 0.3, 0.3), s.style.pointerEvents = "none", s.style.backfaceVisibility = "hidden", e;
|
|
2491
|
+
}, ot = function(h) {
|
|
2492
|
+
var s = new p.PlaneGeometry(5, 5), e = new p.MeshBasicMaterial({
|
|
2493
2493
|
transparent: !0,
|
|
2494
2494
|
opacity: 0
|
|
2495
|
-
}), n = new p.Mesh(
|
|
2496
|
-
t.innerText =
|
|
2497
|
-
var r = new
|
|
2498
|
-
return r.name =
|
|
2495
|
+
}), n = new p.Mesh(s, e), t = document.createElement("div");
|
|
2496
|
+
t.innerText = h;
|
|
2497
|
+
var r = new Pe(t);
|
|
2498
|
+
return r.name = h, r.scale.set(0.3, 0.3, 0.3), t.style.color = "#ffffff", t.style.opacity = "0.5", t.style.pointerEvents = "none", t.style.backfaceVisibility = "hidden", n.rotateX(-oe), n.add(r), n;
|
|
2499
2499
|
}, Yn = (
|
|
2500
2500
|
/** @class */
|
|
2501
|
-
(function(
|
|
2502
|
-
he(
|
|
2503
|
-
function
|
|
2504
|
-
var t =
|
|
2505
|
-
t.camera = new
|
|
2506
|
-
var
|
|
2501
|
+
(function(h) {
|
|
2502
|
+
he(s, h);
|
|
2503
|
+
function s(e, n) {
|
|
2504
|
+
var t = h.call(this, e) || this;
|
|
2505
|
+
t.camera = new An(90), t.scene = new p.Scene(), t.renderer = new p.WebGLRenderer({ antialias: !0, alpha: !0 }), t.css3drenderer = new zn(), t.ambientLight = new p.AmbientLight(16777215, 0.7), t.wrapper = document.createElement("div"), t.arrows = document.createElement("div"), t.arrowLeft = document.createElement("div"), t.arrowRight = document.createElement("div"), t.arrowFront = document.createElement("div"), t.arrowBack = document.createElement("div"), t.arrowTop = document.createElement("div"), t.arrowBottom = document.createElement("div"), t.spherical = null, t.dragging = !1, t.style = document.createElement("style"), t.directionalLight = new p.DirectionalLight(16777215, 0.2), t.box = new p.Mesh(new jn(8, 8, 8, 0.5, 20), new p.MeshPhongMaterial({ color: 16777215 })), t.faces = new p.Group(), t.orient = function(o) {
|
|
2506
|
+
var d = o.longitude, c = o.latitude;
|
|
2507
2507
|
t.dragging = !1, t.spherical = null, t.controls.enableDamping = !1, t.five.setState(Object.assign({
|
|
2508
2508
|
latitude: c
|
|
2509
|
-
},
|
|
2510
|
-
longitude:
|
|
2509
|
+
}, d !== void 0 ? {
|
|
2510
|
+
longitude: d + t.config.fixedLongitude
|
|
2511
2511
|
} : {})), t.five.ready().then(function() {
|
|
2512
2512
|
t.controls.enableDamping = !0, t.setState({ arrowsVisible: !0 });
|
|
2513
2513
|
});
|
|
2514
2514
|
}, t.onRenderFrame = function() {
|
|
2515
|
-
var
|
|
2516
|
-
if (t.renderer.render(t.scene, t.camera), t.css3drenderer.render(t.scene, t.camera), t.directionalLight.position.copy(t.camera.position), (
|
|
2515
|
+
var o, d, c, m, y;
|
|
2516
|
+
if (t.renderer.render(t.scene, t.camera), t.css3drenderer.render(t.scene, t.camera), t.directionalLight.position.copy(t.camera.position), (o = t.controls) === null || o === void 0 || o.update(), t.dragging) {
|
|
2517
2517
|
t.camera.computePose(), t.updateByCamera();
|
|
2518
|
-
var M = t.camera.pose, w = M.longitude,
|
|
2519
|
-
t.five.setState({ longitude: w, latitude:
|
|
2520
|
-
} else if (t.spherical && (!
|
|
2521
|
-
t.spherical = { pi: (
|
|
2522
|
-
var
|
|
2523
|
-
t.five.setState({ longitude: w, latitude:
|
|
2518
|
+
var M = t.camera.pose, w = M.longitude, A = M.latitude;
|
|
2519
|
+
t.five.setState({ longitude: w, latitude: A }, !0), t.updateArrows({ longitude: w, latitude: A });
|
|
2520
|
+
} else if (t.spherical && (!Ye(t.spherical.pi, (d = t.controls) === null || d === void 0 ? void 0 : d.getPolarAngle()) || !Ye(t.spherical.theta, (c = t.controls) === null || c === void 0 ? void 0 : c.getAzimuthalAngle()))) {
|
|
2521
|
+
t.spherical = { pi: (m = t.controls) === null || m === void 0 ? void 0 : m.getPolarAngle(), theta: (y = t.controls) === null || y === void 0 ? void 0 : y.getAzimuthalAngle() }, t.camera.computePose(), t.updateByCamera();
|
|
2522
|
+
var x = t.camera.pose, w = x.longitude, A = x.latitude;
|
|
2523
|
+
t.five.setState({ longitude: w, latitude: A }, !0), t.updateArrows({ longitude: w, latitude: A });
|
|
2524
2524
|
} else
|
|
2525
2525
|
t.spherical = null;
|
|
2526
|
-
}, t.onTapGesture = function(
|
|
2527
|
-
var
|
|
2528
|
-
y.setFromCamera(
|
|
2526
|
+
}, t.onTapGesture = function(o) {
|
|
2527
|
+
var d = o.pointers[0].clientX, c = o.pointers[0].clientY, m = Zt({ x: d, y: c }, t.wrapper), y = new p.Raycaster();
|
|
2528
|
+
y.setFromCamera(m, t.camera);
|
|
2529
2529
|
var M = y.intersectObjects(t.faces.children, !1)[0];
|
|
2530
2530
|
if (M) {
|
|
2531
|
-
var w = M.object.userData,
|
|
2532
|
-
t.orient({ longitude:
|
|
2531
|
+
var w = M.object.userData, A = w.longitude, x = w.latitude;
|
|
2532
|
+
t.orient({ longitude: A, latitude: x });
|
|
2533
2533
|
}
|
|
2534
2534
|
}, t.onFiveWantsGesture = function() {
|
|
2535
2535
|
if (t.spherical)
|
|
2536
2536
|
return !1;
|
|
2537
|
-
}, t.onFiveModeChange = function(
|
|
2538
|
-
t.controls && (t.controls.maxPolarAngle =
|
|
2539
|
-
}, t.onCameraUpdate = function(
|
|
2540
|
-
var
|
|
2537
|
+
}, t.onFiveModeChange = function(o) {
|
|
2538
|
+
t.controls && (t.controls.maxPolarAngle = o === "Topview" ? 0 : oe);
|
|
2539
|
+
}, t.onCameraUpdate = function(o) {
|
|
2540
|
+
var d = o.state;
|
|
2541
2541
|
if (!t.dragging && !t.spherical) {
|
|
2542
|
-
var c =
|
|
2543
|
-
t.camera.pose.longitude === c && t.camera.pose.latitude ===
|
|
2542
|
+
var c = d.longitude, m = d.latitude;
|
|
2543
|
+
t.camera.pose.longitude === c && t.camera.pose.latitude === m || (t.camera.setFromPose({ longitude: c, latitude: m, distance: 20, offset: new p.Vector3(0, 0, 0) }), t.updateByCamera(), t.updateArrows({ longitude: c, latitude: m }));
|
|
2544
2544
|
}
|
|
2545
|
-
}, t.onPanStart = function(
|
|
2545
|
+
}, t.onPanStart = function(o) {
|
|
2546
2546
|
t.dragging = !0, t.spherical = {};
|
|
2547
|
-
}, t.onMouseMove = function(
|
|
2547
|
+
}, t.onMouseMove = function(o) {
|
|
2548
2548
|
if (!t.dragging) {
|
|
2549
|
-
var
|
|
2550
|
-
c.setFromCamera(
|
|
2551
|
-
var
|
|
2549
|
+
var d = Zt({ x: o.clientX, y: o.clientY }, t.wrapper), c = new p.Raycaster();
|
|
2550
|
+
c.setFromCamera(d, t.camera);
|
|
2551
|
+
var m = c.intersectObjects(t.faces.children, !1)[0];
|
|
2552
2552
|
t.faces.children.forEach(function(y) {
|
|
2553
2553
|
y.material.opacity = 0, y.children[0].element.style.color = "";
|
|
2554
|
-
}),
|
|
2554
|
+
}), m && (m.object.material.opacity = 0.3, m.object.children[0].element.style.color = "#336dff");
|
|
2555
2555
|
}
|
|
2556
|
-
}, t.onPanEnd = function(
|
|
2556
|
+
}, t.onPanEnd = function(o) {
|
|
2557
2557
|
t.dragging = !1, t.spherical = { pi: t.controls.getPolarAngle(), theta: t.controls.getAzimuthalAngle() };
|
|
2558
2558
|
}, t.dispose = function() {
|
|
2559
2559
|
t.disable();
|
|
@@ -2564,8 +2564,8 @@ var Ke = function(d) {
|
|
|
2564
2564
|
arrowsVisible: !1
|
|
2565
2565
|
};
|
|
2566
2566
|
t.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
2567
|
-
var
|
|
2568
|
-
return t._config =
|
|
2567
|
+
var l = V({ fixedLongitude: 0, orthoView: !0 }, n == null ? void 0 : n.config);
|
|
2568
|
+
return t._config = l, t.state.enabled && t._enable({ userAction: !1 }), t.mc = new Tt.Manager(t.wrapper), t.mc.add(new Tt.Tap({ interval: 410 })), t.mc.add(new Tt.Pan({ threshold: 10, pointers: 0 })), t.camera.setFromPose({
|
|
2569
2569
|
distance: 20,
|
|
2570
2570
|
offset: new p.Vector3(0, 0, 0),
|
|
2571
2571
|
longitude: e.camera.pose.latitude,
|
|
@@ -2617,22 +2617,22 @@ var Ke = function(d) {
|
|
|
2617
2617
|
transparent: !0
|
|
2618
2618
|
})), t.init(), t;
|
|
2619
2619
|
}
|
|
2620
|
-
return Object.defineProperty(
|
|
2620
|
+
return Object.defineProperty(s.prototype, "config", {
|
|
2621
2621
|
get: function() {
|
|
2622
|
-
return
|
|
2622
|
+
return V({}, this._config);
|
|
2623
2623
|
},
|
|
2624
2624
|
enumerable: !1,
|
|
2625
2625
|
configurable: !0
|
|
2626
|
-
}),
|
|
2626
|
+
}), s.prototype.updateState = function(e, n) {
|
|
2627
2627
|
var t = this.state;
|
|
2628
|
-
this.state =
|
|
2629
|
-
},
|
|
2628
|
+
this.state = V(V({}, this.state), e), typeof e.arrowsVisible == "boolean" && this.handleArrowsVisible(e.arrowsVisible), this.hooks.emit("stateChange", { state: this.state, prevState: t, userAction: n });
|
|
2629
|
+
}, s.prototype.appendTo = function(e) {
|
|
2630
2630
|
if (e) {
|
|
2631
2631
|
e.appendChild(this.wrapper);
|
|
2632
2632
|
var n = this.wrapper.getBoundingClientRect(), t = n.width, r = n.height;
|
|
2633
2633
|
this.renderer.setSize(t, r), this.css3drenderer.setSize(t, r);
|
|
2634
2634
|
}
|
|
2635
|
-
},
|
|
2635
|
+
}, s.prototype.init = function() {
|
|
2636
2636
|
this.renderer.setClearAlpha(0), this.renderer.domElement.style.outline = "none", this.initDom(), this.initFaces(), this.initControls(), this.initLights();
|
|
2637
2637
|
var e = this.cylinder;
|
|
2638
2638
|
e.position.y = -3;
|
|
@@ -2642,9 +2642,9 @@ var Ke = function(d) {
|
|
|
2642
2642
|
t.position.set(19, 0, 0), e.add(t);
|
|
2643
2643
|
var r = ot("北");
|
|
2644
2644
|
r.position.set(0, 0, -19), e.add(r);
|
|
2645
|
-
var
|
|
2646
|
-
|
|
2647
|
-
},
|
|
2645
|
+
var l = ot("南");
|
|
2646
|
+
l.position.set(0, 0, 19), e.add(l), this.updateByCamera(), this.scene.add(e, this.box, this.faces), this.scene.rotation.y = this.config.fixedLongitude;
|
|
2647
|
+
}, s.prototype.initDom = function() {
|
|
2648
2648
|
this.style.innerHTML = `
|
|
2649
2649
|
.OrientationPlugin .OrientationArrows {
|
|
2650
2650
|
position: absolute;
|
|
@@ -2746,7 +2746,7 @@ var Ke = function(d) {
|
|
|
2746
2746
|
transform: translate(0, -15px);
|
|
2747
2747
|
}
|
|
2748
2748
|
`, this.wrapper.className = "OrientationPlugin", this.arrows.className = "OrientationArrows", this.wrapper.style.cssText = "position: relative; width: 100%; height: 100%", this.wrapper.appendChild(this.arrows), this.arrowLeft.className = this.arrowRight.className = this.arrowTop.className = this.arrowBack.className = this.arrowFront.className = "OrientationArrow", this.arrowBottom.className = "OrientationArrow disabled", this.arrowBack.innerText = "后", this.arrowFront.innerText = "前", this.arrowLeft.innerText = "左", this.arrowRight.innerText = "右", this.arrowTop.innerText = "上", this.arrowBottom.innerText = "下", this.css3drenderer.domElement.style.cssText = "position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; color: #00000090;";
|
|
2749
|
-
},
|
|
2749
|
+
}, s.prototype.bindEvents = function() {
|
|
2750
2750
|
var e = this;
|
|
2751
2751
|
this.five.on("renderFrame", this.onRenderFrame), this.five.on("camera.update", this.onCameraUpdate), this.five.on("wantsGesture", this.onFiveWantsGesture), this.five.on("modeChange", this.onFiveModeChange), this.mc.on("tap", this.onTapGesture), this.mc.on("panstart", this.onPanStart), this.mc.on("panend", this.onPanEnd), this.wrapper.addEventListener("mousemove", this.onMouseMove), this.arrowTop.onclick = function() {
|
|
2752
2752
|
return e.orient({ longitude: 0, latitude: oe });
|
|
@@ -2759,35 +2759,35 @@ var Ke = function(d) {
|
|
|
2759
2759
|
}, this.arrowBack.onclick = function() {
|
|
2760
2760
|
return e.orient({ longitude: Math.PI, latitude: 0 });
|
|
2761
2761
|
};
|
|
2762
|
-
},
|
|
2762
|
+
}, s.prototype.unbindEvents = function() {
|
|
2763
2763
|
this.five.off("renderFrame", this.onRenderFrame), this.five.off("camera.update", this.onCameraUpdate), this.five.off("wantsGesture", this.onFiveWantsGesture), this.five.off("modeChange", this.onFiveModeChange), this.mc.off("tap", this.onTapGesture), this.mc.off("panstart", this.onPanStart), this.mc.off("panend", this.onPanEnd), this.wrapper.removeEventListener("mousemove", this.onMouseMove), this.arrowTop.onclick = null, this.arrowLeft.onclick = null, this.arrowRight.onclick = null, this.arrowFront.onclick = null, this.arrowBack.onclick = null;
|
|
2764
|
-
},
|
|
2765
|
-
var e = He(0.2, 1, this.camera.pose.latitude / Math.PI * 2, function(
|
|
2766
|
-
return
|
|
2767
|
-
}), n = He(11, 13, this.camera.pose.latitude / Math.PI * 2, function(
|
|
2768
|
-
return
|
|
2769
|
-
}), t = He(12, 15, this.camera.pose.latitude / Math.PI * 2, function(
|
|
2770
|
-
return
|
|
2771
|
-
}), r = He(13, 19, this.camera.pose.latitude / Math.PI * 2, function(
|
|
2772
|
-
return
|
|
2773
|
-
}),
|
|
2774
|
-
return
|
|
2764
|
+
}, s.prototype.updateByCamera = function() {
|
|
2765
|
+
var e = He(0.2, 1, this.camera.pose.latitude / Math.PI * 2, function(o) {
|
|
2766
|
+
return o * o;
|
|
2767
|
+
}), n = He(11, 13, this.camera.pose.latitude / Math.PI * 2, function(o) {
|
|
2768
|
+
return o * o;
|
|
2769
|
+
}), t = He(12, 15, this.camera.pose.latitude / Math.PI * 2, function(o) {
|
|
2770
|
+
return o * o;
|
|
2771
|
+
}), r = He(13, 19, this.camera.pose.latitude / Math.PI * 2, function(o) {
|
|
2772
|
+
return o * o;
|
|
2773
|
+
}), l = He(-0.2, 0.5, this.camera.pose.latitude / Math.PI * 2, function(o) {
|
|
2774
|
+
return o * o;
|
|
2775
2775
|
});
|
|
2776
|
-
this.cylinder.geometry = new p.CylinderGeometry(n, t, 0.01, 50, 1, !0), this.cylinder.material.uniforms.radiusTop.value = n, this.cylinder.material.uniforms.radiusBottom.value = t, this.cylinder.material.needsUpdate = !0, this.cylinder.children.forEach(function(
|
|
2777
|
-
|
|
2778
|
-
var
|
|
2779
|
-
|
|
2776
|
+
this.cylinder.geometry = new p.CylinderGeometry(n, t, 0.01, 50, 1, !0), this.cylinder.material.uniforms.radiusTop.value = n, this.cylinder.material.uniforms.radiusBottom.value = t, this.cylinder.material.needsUpdate = !0, this.cylinder.children.forEach(function(o) {
|
|
2777
|
+
o.position.normalize().multiplyScalar(r), o.scale.set(e, e, e);
|
|
2778
|
+
var d = o.children[0];
|
|
2779
|
+
d && (d.element.style.opacity = l.toString());
|
|
2780
2780
|
});
|
|
2781
|
-
},
|
|
2781
|
+
}, s.prototype.updateArrows = function(e) {
|
|
2782
2782
|
e.longitude;
|
|
2783
2783
|
var n = e.latitude, t = oe - n < 0.02;
|
|
2784
2784
|
this.setState({ arrowsVisible: t });
|
|
2785
|
-
},
|
|
2785
|
+
}, s.prototype.handleArrowsVisible = function(e) {
|
|
2786
2786
|
var n = this;
|
|
2787
2787
|
if (this.state.enabled)
|
|
2788
2788
|
if (this.cylinder.material.uniforms.opacity.value = e ? 0.4 : 1, this.cylinder.material.needsUpdate = !0, e) {
|
|
2789
|
-
var t = this.five.getCurrentState(), r = t.longitude,
|
|
2790
|
-
if (oe -
|
|
2789
|
+
var t = this.five.getCurrentState(), r = t.longitude, l = t.latitude;
|
|
2790
|
+
if (oe - l < 0.03)
|
|
2791
2791
|
this.five.state.mode === "Topview" || this.five.state.mode === "Mapview" ? (this.faces.getObjectByName("上").element.className = "active", this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowFront), this.arrows.style.transform = "rotate(".concat((r - this.config.fixedLongitude) / Math.PI * 180, "deg)")) : (this.arrows.innerHTML = "", this.faces.getObjectByName("上").element.className = "");
|
|
2792
2792
|
else {
|
|
2793
2793
|
switch (this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowTop), this.config.orthoView && this.five.ready().then(function() {
|
|
@@ -2795,13 +2795,13 @@ var Ke = function(d) {
|
|
|
2795
2795
|
return n.five.controller.cameraMotion.ended = !1;
|
|
2796
2796
|
});
|
|
2797
2797
|
}), !0) {
|
|
2798
|
-
case
|
|
2798
|
+
case Ye(0, r - this.config.fixedLongitude):
|
|
2799
2799
|
this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("前").element.className = "active";
|
|
2800
2800
|
break;
|
|
2801
|
-
case
|
|
2801
|
+
case Ye(oe, r - this.config.fixedLongitude):
|
|
2802
2802
|
this.arrows.appendChild(this.arrowFront), this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("右").element.className = "active";
|
|
2803
2803
|
break;
|
|
2804
|
-
case
|
|
2804
|
+
case Ye(Math.PI, r - this.config.fixedLongitude):
|
|
2805
2805
|
this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("后").element.className = "active";
|
|
2806
2806
|
break;
|
|
2807
2807
|
default:
|
|
@@ -2814,35 +2814,35 @@ var Ke = function(d) {
|
|
|
2814
2814
|
} else
|
|
2815
2815
|
this.config.orthoView && (this.five.controller.cameraType = "auto", this.five.ready().then(function() {
|
|
2816
2816
|
return n.five.controller.cameraMotion.ended = !1;
|
|
2817
|
-
})), this.arrows.style.display = "none", this.faces.children.forEach(function(
|
|
2818
|
-
|
|
2817
|
+
})), this.arrows.style.display = "none", this.faces.children.forEach(function(o) {
|
|
2818
|
+
o.children[0].element.className = "";
|
|
2819
2819
|
});
|
|
2820
|
-
},
|
|
2820
|
+
}, s.prototype.setState = function(e, n) {
|
|
2821
2821
|
n === void 0 && (n = {});
|
|
2822
2822
|
var t = this.state, r = n.userAction !== void 0 ? n.userAction : !0;
|
|
2823
2823
|
if (this.updateState(e, r), e.enabled !== void 0 && t.enabled !== e.enabled) {
|
|
2824
|
-
var
|
|
2825
|
-
e.enabled ? this._enable(
|
|
2824
|
+
var l = { userAction: r };
|
|
2825
|
+
e.enabled ? this._enable(l) : this._disable(l);
|
|
2826
2826
|
}
|
|
2827
|
-
},
|
|
2827
|
+
}, s.prototype.initLights = function() {
|
|
2828
2828
|
this.directionalLight.target = this.box, this.scene.add(this.ambientLight, this.directionalLight);
|
|
2829
|
-
},
|
|
2829
|
+
}, s.prototype.initFaces = function() {
|
|
2830
2830
|
var e = Gn(7, 7, 0.5), n = new p.ShapeGeometry(e);
|
|
2831
2831
|
n.translate(-3.5, -3.5, 0);
|
|
2832
2832
|
var t = new p.Mesh(n, new p.MeshBasicMaterial({ transparent: !0, color: 3370495, opacity: 0 }));
|
|
2833
|
-
t.userData = { longitude: 0, latitude: 0 }, t.position.z = 4.1, t.add(
|
|
2833
|
+
t.userData = { longitude: 0, latitude: 0 }, t.position.z = 4.1, t.add(We("前"));
|
|
2834
2834
|
var r = new p.Mesh(n, new p.MeshBasicMaterial({ transparent: !0, color: 3370495, opacity: 0 }));
|
|
2835
|
-
r.rotateY(Math.PI), r.position.z = -4.1, r.add(
|
|
2836
|
-
var
|
|
2837
|
-
|
|
2838
|
-
var
|
|
2839
|
-
|
|
2840
|
-
var
|
|
2841
|
-
|
|
2842
|
-
},
|
|
2843
|
-
var e = this.controls = new
|
|
2835
|
+
r.rotateY(Math.PI), r.position.z = -4.1, r.add(We("后")), r.userData = { longitude: Math.PI, latitude: 0 };
|
|
2836
|
+
var l = new p.Mesh(n, new p.MeshBasicMaterial({ transparent: !0, color: 3370495, opacity: 0 }));
|
|
2837
|
+
l.rotateY(oe), l.position.x = 4.1, l.add(We("右")), l.userData = { longitude: oe, latitude: 0 };
|
|
2838
|
+
var o = new p.Mesh(n, new p.MeshBasicMaterial({ transparent: !0, color: 3370495, opacity: 0 }));
|
|
2839
|
+
o.rotateY(-oe), o.position.x = -4.1, o.add(We("左")), o.userData = { longitude: -oe, latitude: 0 };
|
|
2840
|
+
var d = new p.Mesh(n, new p.MeshBasicMaterial({ transparent: !0, color: 3370495, opacity: 0 }));
|
|
2841
|
+
d.rotateX(-oe), d.position.y = 4.1, d.add(We("上")), d.userData = { longitude: 0, latitude: oe }, this.faces.add(t, r, o, l, d);
|
|
2842
|
+
}, s.prototype.initControls = function() {
|
|
2843
|
+
var e = this.controls = new Ke(this.camera, this.renderer.domElement);
|
|
2844
2844
|
e.enableZoom = !1, e.enableDamping = !0, e.enablePan = !1, e.maxPolarAngle = oe, e.dampingFactor = 0.15, e.rotateSpeed = 0.25;
|
|
2845
|
-
},
|
|
2845
|
+
}, s.prototype.load = function(e) {
|
|
2846
2846
|
return De(this, void 0, void 0, function() {
|
|
2847
2847
|
return Ne(this, function(n) {
|
|
2848
2848
|
return [
|
|
@@ -2851,36 +2851,36 @@ var Ke = function(d) {
|
|
|
2851
2851
|
];
|
|
2852
2852
|
});
|
|
2853
2853
|
});
|
|
2854
|
-
},
|
|
2854
|
+
}, s.prototype._enable = function(e) {
|
|
2855
2855
|
var n = this.five.getCurrentState(), t = n.longitude, r = n.latitude;
|
|
2856
2856
|
this.camera.setFromPose({ longitude: t, latitude: r, distance: 20, offset: new p.Vector3(0, 0, 0) }), this.updateByCamera(), this.wrapper.appendChild(this.renderer.domElement), this.wrapper.appendChild(this.css3drenderer.domElement), this.bindEvents();
|
|
2857
|
-
},
|
|
2857
|
+
}, s.prototype._disable = function(e) {
|
|
2858
2858
|
this.wrapper.removeChild(this.renderer.domElement), this.wrapper.removeChild(this.css3drenderer.domElement), this.unbindEvents();
|
|
2859
|
-
},
|
|
2859
|
+
}, s.prototype.enable = function(e) {
|
|
2860
2860
|
var n;
|
|
2861
2861
|
if (!this.state.enabled) {
|
|
2862
2862
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
2863
2863
|
this.updateState({ enabled: !0 }, t), this._enable({ userAction: t }), document.head.appendChild(this.style);
|
|
2864
2864
|
}
|
|
2865
|
-
},
|
|
2865
|
+
}, s.prototype.disable = function(e) {
|
|
2866
2866
|
var n;
|
|
2867
2867
|
if (this.state.enabled !== !1) {
|
|
2868
2868
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
2869
2869
|
this.updateState({ enabled: !1 }, t), this._disable({ userAction: t }), document.head.removeChild(this.style);
|
|
2870
2870
|
}
|
|
2871
|
-
},
|
|
2872
|
-
})(
|
|
2873
|
-
), nr = function(
|
|
2874
|
-
return new Yn(
|
|
2875
|
-
},
|
|
2871
|
+
}, s;
|
|
2872
|
+
})(qe.Controller)
|
|
2873
|
+
), nr = function(h, s) {
|
|
2874
|
+
return new Yn(h, s);
|
|
2875
|
+
}, Hn = (
|
|
2876
2876
|
/** @class */
|
|
2877
|
-
(function(
|
|
2878
|
-
he(
|
|
2879
|
-
function
|
|
2880
|
-
var t =
|
|
2877
|
+
(function(h) {
|
|
2878
|
+
he(s, h);
|
|
2879
|
+
function s(e, n) {
|
|
2880
|
+
var t = h.call(this, e) || this;
|
|
2881
2881
|
return t.data = {}, t.pluginName = "BackgroundPlugin", t._onFiveCameraUpdate = function(r) {
|
|
2882
|
-
var
|
|
2883
|
-
t.gradientBg && (t.gradientBg.style.transform = "translateY(-".concat((1 -
|
|
2882
|
+
var l = (Math.PI / 2 - Math.max(r.latitude, 0)) / (Math.PI / 2), o = Math.max(0.2 - l, 0) * 10;
|
|
2883
|
+
t.gradientBg && (t.gradientBg.style.transform = "translateY(-".concat((1 - l) * 50, "%)")), t.groundBg && (t.groundBg.style.backgroundImage = "radial-gradient(circle, #2E303350 ".concat(o * 100, "%, transparent ").concat(o * 120, "%)"));
|
|
2884
2884
|
}, t._addEventListener = function() {
|
|
2885
2885
|
t.five.on("cameraUpdate", t._onFiveCameraUpdate);
|
|
2886
2886
|
}, t._removeEventListener = function() {
|
|
@@ -2894,19 +2894,19 @@ var Ke = function(d) {
|
|
|
2894
2894
|
];
|
|
2895
2895
|
});
|
|
2896
2896
|
});
|
|
2897
|
-
}, t.setState = function(r,
|
|
2897
|
+
}, t.setState = function(r, l) {
|
|
2898
2898
|
}, t.enable = function() {
|
|
2899
|
-
var r,
|
|
2900
|
-
if (!
|
|
2899
|
+
var r, l = (r = t.five.getElement()) === null || r === void 0 ? void 0 : r.parentNode;
|
|
2900
|
+
if (!l) {
|
|
2901
2901
|
t.five.ready().then(function() {
|
|
2902
2902
|
return t.enable();
|
|
2903
2903
|
});
|
|
2904
2904
|
return;
|
|
2905
2905
|
}
|
|
2906
|
-
t.state.enabled || (t._onFiveCameraUpdate(t.five.getPose(), !1), t.gradientBg &&
|
|
2906
|
+
t.state.enabled || (t._onFiveCameraUpdate(t.five.getPose(), !1), t.gradientBg && l.appendChild(t.gradientBg), t.groundBg && l.appendChild(t.groundBg), t.style && document.head.appendChild(t.style), t._addEventListener(), t.hooks.emit("enable", { userAction: !0 }), t.state.enabled = !0);
|
|
2907
2907
|
}, t.disable = function(r) {
|
|
2908
|
-
var
|
|
2909
|
-
t.state.enabled && ((
|
|
2908
|
+
var l, o, d, c;
|
|
2909
|
+
t.state.enabled && ((o = (l = t.gradientBg) === null || l === void 0 ? void 0 : l.parentNode) === null || o === void 0 || o.removeChild(t.gradientBg), (c = (d = t.groundBg) === null || d === void 0 ? void 0 : d.parentNode) === null || c === void 0 || c.removeChild(t.groundBg), t.style && document.head.removeChild(t.style), t._removeEventListener(), t.hooks.emit("disable", { userAction: !0 }), t.state.enabled = !1);
|
|
2910
2910
|
}, t.dispose = function() {
|
|
2911
2911
|
t._removeEventListener(), t.hooks.emit("disable", { userAction: !0 }), t.state.enabled = !1;
|
|
2912
2912
|
}, t.state = {
|
|
@@ -2934,10 +2934,10 @@ var Ke = function(d) {
|
|
|
2934
2934
|
}
|
|
2935
2935
|
`, t.enable()), t;
|
|
2936
2936
|
}
|
|
2937
|
-
return
|
|
2938
|
-
})(
|
|
2939
|
-
), rr = function(
|
|
2940
|
-
return new
|
|
2937
|
+
return s;
|
|
2938
|
+
})(Ot.Controller)
|
|
2939
|
+
), rr = function(h, s) {
|
|
2940
|
+
return new Hn(h, s);
|
|
2941
2941
|
};
|
|
2942
2942
|
new p.Matrix4().fromArray([
|
|
2943
2943
|
1,
|
|
@@ -2957,28 +2957,28 @@ new p.Matrix4().fromArray([
|
|
|
2957
2957
|
0,
|
|
2958
2958
|
1
|
|
2959
2959
|
]);
|
|
2960
|
-
var
|
|
2960
|
+
var Pt = (
|
|
2961
2961
|
/** @class */
|
|
2962
2962
|
(function() {
|
|
2963
|
-
function
|
|
2964
|
-
this.R =
|
|
2963
|
+
function h(s, e, n, t, r) {
|
|
2964
|
+
this.R = s, this.Q = e, this.A = n, this.B = t, this.C = r, this.cov = NaN, this.x = NaN;
|
|
2965
2965
|
}
|
|
2966
|
-
return
|
|
2966
|
+
return h.prototype.filter = function(s, e) {
|
|
2967
2967
|
if (e === void 0 && (e = 0), isNaN(this.x))
|
|
2968
|
-
this.x = 1 / this.C *
|
|
2968
|
+
this.x = 1 / this.C * s, this.cov = 1 / this.C * this.Q * (1 / this.C);
|
|
2969
2969
|
else {
|
|
2970
2970
|
var n = this.A * this.x + this.B * e, t = this.A * this.cov * this.A + this.R, r = t * this.C * (1 / (this.C * t * this.C + this.Q));
|
|
2971
|
-
this.x = n + r * (
|
|
2971
|
+
this.x = n + r * (s - this.C * n), this.cov = t - r * this.C * t;
|
|
2972
2972
|
}
|
|
2973
2973
|
return this.x;
|
|
2974
|
-
},
|
|
2974
|
+
}, h;
|
|
2975
2975
|
})()
|
|
2976
|
-
),
|
|
2976
|
+
), Wn = (
|
|
2977
2977
|
/** @class */
|
|
2978
|
-
(function(
|
|
2979
|
-
he(
|
|
2980
|
-
function
|
|
2981
|
-
var t =
|
|
2978
|
+
(function(h) {
|
|
2979
|
+
he(s, h);
|
|
2980
|
+
function s(e, n) {
|
|
2981
|
+
var t = h.call(this, e) || this;
|
|
2982
2982
|
t.dispose = function() {
|
|
2983
2983
|
t.disable();
|
|
2984
2984
|
}, t.five = e;
|
|
@@ -2987,31 +2987,31 @@ var At = (
|
|
|
2987
2987
|
visible: !0
|
|
2988
2988
|
};
|
|
2989
2989
|
t.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
2990
|
-
var
|
|
2991
|
-
return t._config =
|
|
2990
|
+
var l = V({}, n == null ? void 0 : n.config);
|
|
2991
|
+
return t._config = l, t.state.enabled && t._enable({ userAction: !1 }), t.cancelAnimation = null, t.skipStart = 0, t.skipEnd = 0, t.location = 0, t.totalDistance = 0, t.trajectory = null, t.currentKeyFrame = null, t.nextKeyframe = null, t.nextButOneKeyframe = null, t.keyframes = [], t.rate = t.config.rate || 1, t.virualCamera = t.five.camera.clone(), t.playingState = {
|
|
2992
2992
|
keyframeIndex: null,
|
|
2993
2993
|
progress: null
|
|
2994
|
-
},
|
|
2994
|
+
}, Object.defineProperties(t, {
|
|
2995
2995
|
currentDistance: {
|
|
2996
2996
|
get: function() {
|
|
2997
2997
|
return this._currentDistance;
|
|
2998
2998
|
},
|
|
2999
|
-
set: function(
|
|
3000
|
-
this._currentDistance =
|
|
2999
|
+
set: function(o) {
|
|
3000
|
+
this._currentDistance = o;
|
|
3001
3001
|
}
|
|
3002
3002
|
}
|
|
3003
3003
|
}), t;
|
|
3004
3004
|
}
|
|
3005
|
-
return Object.defineProperty(
|
|
3005
|
+
return Object.defineProperty(s.prototype, "config", {
|
|
3006
3006
|
get: function() {
|
|
3007
|
-
return
|
|
3007
|
+
return V({}, this._config);
|
|
3008
3008
|
},
|
|
3009
3009
|
enumerable: !1,
|
|
3010
3010
|
configurable: !0
|
|
3011
|
-
}),
|
|
3011
|
+
}), s.prototype.updateState = function(e, n) {
|
|
3012
3012
|
var t = this.state;
|
|
3013
|
-
this.state =
|
|
3014
|
-
},
|
|
3013
|
+
this.state = V(V({}, this.state), e), this.hooks.emit("stateChange", { state: this.state, prevState: t, userAction: n });
|
|
3014
|
+
}, s.prototype.load = function(e) {
|
|
3015
3015
|
return De(this, void 0, void 0, function() {
|
|
3016
3016
|
return Ne(this, function(n) {
|
|
3017
3017
|
return [
|
|
@@ -3020,36 +3020,34 @@ var At = (
|
|
|
3020
3020
|
];
|
|
3021
3021
|
});
|
|
3022
3022
|
});
|
|
3023
|
-
},
|
|
3023
|
+
}, s.prototype.loadTrajectory = function(e) {
|
|
3024
3024
|
this.trajectory = e, this.cancelAnimation && this.cancelAnimation(), this.playingState.keyframeIndex = null, this.playingState.progress = null;
|
|
3025
|
-
var n = 0.01, t = 0.1, r = 1,
|
|
3025
|
+
var n = 0.01, t = 0.1, r = 1, l = 0, o = 1, d = new Pt(n, t, r, l, o), c = new Pt(n, t, r, l, o), m = new Pt(n, t, r, l, o);
|
|
3026
3026
|
if (this.trajectory && this.trajectory.content.loadState === "READY") {
|
|
3027
|
-
var y = this.trajectory.content.data.positionArray;
|
|
3028
|
-
this.timeArray = this.trajectory.content.data.timeArray;
|
|
3029
|
-
for (var M = new Float32Array(y.length / 3), w = 0; w < M.length; w++)
|
|
3027
|
+
for (var y = this.trajectory.content.data.positionArray, M = new Float32Array(y.length / 3), w = 0; w < M.length; w++)
|
|
3030
3028
|
if (w === 0)
|
|
3031
3029
|
M[w] = 0;
|
|
3032
3030
|
else {
|
|
3033
|
-
var
|
|
3034
|
-
M[w] =
|
|
3031
|
+
var A = new p.Vector3(y[w - 3], y[w - 2], y[w - 1]), x = new p.Vector3(y[w], y[w + 1], y[w + 2]);
|
|
3032
|
+
M[w] = x.distanceTo(A) + M[w - 1];
|
|
3035
3033
|
}
|
|
3036
3034
|
this.totalDistance = M[M.length - 1];
|
|
3037
3035
|
for (var w = 0; w < M.length; w++) {
|
|
3038
|
-
for (var
|
|
3039
|
-
b >= 0 && b < M.length && (
|
|
3040
|
-
|
|
3041
|
-
var T =
|
|
3042
|
-
position: new p.Vector3(T, f,
|
|
3036
|
+
for (var C = new p.Vector3(0, 0, 0), E = 0, b = w - 5; b < w + 6; b++)
|
|
3037
|
+
b >= 0 && b < M.length && (C.add(new p.Vector3(y[b * 3], y[b * 3 + 1], y[b * 3 + 2])), E++);
|
|
3038
|
+
C.divideScalar(E).applyMatrix4(e.transform);
|
|
3039
|
+
var T = d.filter(C.x), f = c.filter(C.y), O = m.filter(C.z), S = {
|
|
3040
|
+
position: new p.Vector3(T, f, O),
|
|
3043
3041
|
location: M[w]
|
|
3044
3042
|
};
|
|
3045
|
-
this.keyframes.push(
|
|
3043
|
+
this.keyframes.push(S);
|
|
3046
3044
|
}
|
|
3047
3045
|
} else
|
|
3048
3046
|
throw new Error("trajectory content is not ready");
|
|
3049
|
-
},
|
|
3047
|
+
}, s.prototype.setPlayingState = function(e) {
|
|
3050
3048
|
(e.keyframeIndex !== null || e.progress !== null) && (this.cancelAnimation && this.cancelAnimation(), this.playingState.keyframeIndex = e.keyframeIndex ? e.keyframeIndex : this.playingState.keyframeIndex, this.playingState.progress = e.progress ? e.progress : this.playingState.progress, this.play());
|
|
3051
|
-
},
|
|
3052
|
-
},
|
|
3049
|
+
}, s.prototype._enable = function(e) {
|
|
3050
|
+
}, s.prototype.play = function() {
|
|
3053
3051
|
var e = this, n = this.keyframes.length;
|
|
3054
3052
|
if (n < 2)
|
|
3055
3053
|
throw new Error("keyframes length must be greater than 2");
|
|
@@ -3057,93 +3055,26 @@ var At = (
|
|
|
3057
3055
|
keyframeIndex: null,
|
|
3058
3056
|
progress: null
|
|
3059
3057
|
};
|
|
3060
|
-
this.playingState.keyframeIndex !== null && this.playingState.progress !== null ? (t.keyframeIndex = this.playingState.keyframeIndex, t.progress = this.playingState.progress) : this.playingState.keyframeIndex === null && this.playingState.progress === null && (this.playingState.keyframeIndex = this.skipStart, this.playingState.progress = 0, this.virualCamera.position.copy(this.keyframes[this.playingState.keyframeIndex].position.clone()), this.virualCamera.lookAt(this.keyframes[1].position.clone()), this.virualCamera.computePose(), this.five.setState(
|
|
3061
|
-
var r = this.playingState.keyframeIndex,
|
|
3062
|
-
this.cancelAnimation =
|
|
3058
|
+
this.playingState.keyframeIndex !== null && this.playingState.progress !== null ? (t.keyframeIndex = this.playingState.keyframeIndex, t.progress = this.playingState.progress) : this.playingState.keyframeIndex === null && this.playingState.progress === null && (this.playingState.keyframeIndex = this.skipStart, this.playingState.progress = 0, this.virualCamera.position.copy(this.keyframes[this.playingState.keyframeIndex].position.clone()), this.virualCamera.lookAt(this.keyframes[1].position.clone()), this.virualCamera.computePose(), this.five.setState(V({}, this.virualCamera.pose)));
|
|
3059
|
+
var r = this.playingState.keyframeIndex, l = 0;
|
|
3060
|
+
this.cancelAnimation = Xe.shared.add(function(o, d) {
|
|
3063
3061
|
if (r === n - 1 - e.skipEnd && e.cancelAnimation) {
|
|
3064
3062
|
e.cancelAnimation();
|
|
3065
3063
|
return;
|
|
3066
3064
|
}
|
|
3067
3065
|
e.currentKeyFrame = e.keyframes[r], e.nextKeyframe = e.keyframes[r + 1], r + 2 <= n - 1 ? e.nextButOneKeyframe = e.keyframes[r + 2] : e.nextButOneKeyframe = null;
|
|
3068
|
-
var c = e.currentKeyFrame.position.clone(),
|
|
3066
|
+
var c = e.currentKeyFrame.position.clone(), m = e.nextKeyframe.position.clone(), y = e.nextKeyframe.position.clone().sub(e.currentKeyFrame.position.clone()).normalize(), M = c.clone().add(y.clone().multiplyScalar(0.01)), w = new p.Vector3();
|
|
3069
3067
|
e.nextButOneKeyframe !== null ? w = e.nextButOneKeyframe.position.clone().sub(e.nextKeyframe.position.clone()).normalize() : w.copy(y);
|
|
3070
|
-
var
|
|
3071
|
-
|
|
3072
|
-
var
|
|
3073
|
-
|
|
3074
|
-
var
|
|
3075
|
-
e.virualCamera.position.copy(
|
|
3068
|
+
var A = m.clone().add(w.clone().multiplyScalar(0.01));
|
|
3069
|
+
l += d / 1e3 * e.rate;
|
|
3070
|
+
var x = l / c.distanceTo(m);
|
|
3071
|
+
x = x >= 1 ? 1 : x, t.keyframeIndex !== null && t.progress !== null && (x = t.progress, t.keyframeIndex = null, t.progress = null);
|
|
3072
|
+
var C = c.clone().lerp(m, x), E = M.clone().lerp(A, x);
|
|
3073
|
+
e.virualCamera.position.copy(C), e.virualCamera.lookAt(E), e.virualCamera.updateMatrixWorld(), e.virualCamera.updateMatrix(), e.virualCamera.computePose(), e.five.setState(V({}, e.virualCamera.pose)), e.location = e.keyframes[r].location + c.clone().distanceTo(C), x === 1 ? (l = 0, r++, e.playingState.keyframeIndex = r, e.playingState.progress = 0) : (e.playingState.keyframeIndex = r, e.playingState.progress = x);
|
|
3076
3074
|
});
|
|
3077
|
-
},
|
|
3078
|
-
var e;
|
|
3079
|
-
if (this.cancelAnimation) {
|
|
3080
|
-
if (this.playingState.keyframeIndex !== null && this.playingState.keyframeIndex >= 0 && this.playingState.keyframeIndex < this.keyframes.length) {
|
|
3081
|
-
var n = this.playingState.keyframeIndex, t = (e = this.playingState.progress) !== null && e !== void 0 ? e : 0, r = this.keyframes[n], s = n + 1 < this.keyframes.length ? this.keyframes[n + 1] : r, i = r.position.clone(), h = s.position.clone(), c = i.clone().lerp(h, t), v = h.clone().sub(i).normalize(), y = c.clone().add(v.multiplyScalar(0.01));
|
|
3082
|
-
this.virualCamera.position.copy(c), this.virualCamera.lookAt(y), this.virualCamera.updateMatrixWorld(), this.virualCamera.updateMatrix(), this.virualCamera.computePose(), this.five.setState(N({}, this.virualCamera.pose));
|
|
3083
|
-
} else if (this.currentKeyFrame && this.nextKeyframe) {
|
|
3084
|
-
var i = this.currentKeyFrame.position.clone(), h = this.nextKeyframe.position.clone(), c = i.clone(), v = h.clone().sub(i).normalize(), y = c.clone().add(v.multiplyScalar(0.01));
|
|
3085
|
-
this.virualCamera.position.copy(c), this.virualCamera.lookAt(y), this.virualCamera.updateMatrixWorld(), this.virualCamera.updateMatrix(), this.virualCamera.computePose(), this.five.setState(N({}, this.virualCamera.pose));
|
|
3086
|
-
}
|
|
3087
|
-
this.cancelAnimation();
|
|
3088
|
-
}
|
|
3089
|
-
this.startTimestamp = null;
|
|
3090
|
-
}, l.prototype.playByTimestamp = function() {
|
|
3091
|
-
var e = this, n;
|
|
3092
|
-
if (!this.trajectory || !this.timeArray || this.timeArray.length === 0)
|
|
3093
|
-
throw new Error("Trajectory or timeArray is not available");
|
|
3094
|
-
var t = this.keyframes.length;
|
|
3095
|
-
if (t < 2)
|
|
3096
|
-
throw new Error("keyframes length must be greater than 2");
|
|
3075
|
+
}, s.prototype.pause = function() {
|
|
3097
3076
|
this.cancelAnimation && this.cancelAnimation();
|
|
3098
|
-
|
|
3099
|
-
if (r >= s || r < 0 || s >= this.timeArray.length)
|
|
3100
|
-
throw new Error("Invalid skipStart or skipEnd values");
|
|
3101
|
-
this.playbackStartTime = this.timeArray[r], this.playbackEndTime = this.timeArray[s], this.playbackEndTime - this.playbackStartTime;
|
|
3102
|
-
var i, h = 0, c = null;
|
|
3103
|
-
if (this.playingState.keyframeIndex !== null && this.playingState.keyframeIndex >= r && this.playingState.keyframeIndex < t - this.skipEnd) {
|
|
3104
|
-
i = this.playingState.keyframeIndex, h = (n = this.playingState.progress) !== null && n !== void 0 ? n : 0;
|
|
3105
|
-
var v = this.timeArray[i], y = i + 1 < this.timeArray.length ? this.timeArray[i + 1] : v, M = y - v;
|
|
3106
|
-
c = v + M * h;
|
|
3107
|
-
} else
|
|
3108
|
-
i = this.skipStart, i >= t - 1 - this.skipEnd && (i = t - 1 - this.skipEnd - 1), i < 0 && (i = 0), c = null;
|
|
3109
|
-
var w = this.playbackStartTime;
|
|
3110
|
-
if (c !== null) {
|
|
3111
|
-
var P = c - w;
|
|
3112
|
-
this.startTimestamp = Date.now() - P / this.rate;
|
|
3113
|
-
} else
|
|
3114
|
-
this.startTimestamp = Date.now();
|
|
3115
|
-
if (h > 0 && i + 1 < t) {
|
|
3116
|
-
var S = this.keyframes[i].position.clone(), _ = this.keyframes[i + 1].position.clone(), E = S.clone().lerp(_, h), b = _.clone().sub(S).normalize(), T = E.clone().add(b.multiplyScalar(0.01));
|
|
3117
|
-
this.virualCamera.position.copy(E), this.virualCamera.lookAt(T);
|
|
3118
|
-
} else
|
|
3119
|
-
this.virualCamera.position.copy(this.keyframes[i].position.clone()), i + 1 < t && this.virualCamera.lookAt(this.keyframes[i + 1].position.clone());
|
|
3120
|
-
this.virualCamera.computePose(), this.five.setState(N({}, this.virualCamera.pose)), this.cancelAnimation = Ie.shared.add(function(f, C) {
|
|
3121
|
-
if (e.startTimestamp) {
|
|
3122
|
-
var x = Date.now() - e.startTimestamp, F = w + x * e.rate;
|
|
3123
|
-
if (e.playbackEndTime && F >= e.playbackEndTime) {
|
|
3124
|
-
var V = t - 1 - e.skipEnd;
|
|
3125
|
-
if (V > 0 && V < t) {
|
|
3126
|
-
if (e.currentKeyFrame = e.keyframes[V - 1], e.nextKeyframe = e.keyframes[V], e.virualCamera.position.copy(e.nextKeyframe.position.clone()), V + 1 < t)
|
|
3127
|
-
e.virualCamera.lookAt(e.keyframes[V + 1].position.clone());
|
|
3128
|
-
else {
|
|
3129
|
-
var Y = e.nextKeyframe.position.clone().sub(e.currentKeyFrame.position.clone()).normalize();
|
|
3130
|
-
e.virualCamera.lookAt(e.nextKeyframe.position.clone().add(Y.multiplyScalar(0.01)));
|
|
3131
|
-
}
|
|
3132
|
-
e.virualCamera.computePose(), e.five.setState(N({}, e.virualCamera.pose));
|
|
3133
|
-
}
|
|
3134
|
-
e.cancelAnimation && (e.cancelAnimation(), e.startTimestamp = null);
|
|
3135
|
-
return;
|
|
3136
|
-
}
|
|
3137
|
-
var G = e.findKeyFrameByTimestamp(F);
|
|
3138
|
-
if (!(G === void 0 || G >= t - 1 - e.skipEnd) && (G !== i && (i = G), !(i >= t - 1 - e.skipEnd) && (e.currentKeyFrame = e.keyframes[i], e.nextKeyframe = e.keyframes[i + 1], i + 2 <= t - 1 ? e.nextButOneKeyframe = e.keyframes[i + 2] : e.nextButOneKeyframe = null, !!e.timeArray))) {
|
|
3139
|
-
var q = e.timeArray[i], Q = e.timeArray[i + 1], R = Q - q, H = R > 0 ? (F - q) / R : 0, L = Math.max(0, Math.min(1, H)), k = e.currentKeyFrame.position.clone(), I = e.nextKeyframe.position.clone(), D = e.nextKeyframe.position.clone().sub(e.currentKeyFrame.position.clone()).normalize(), W = k.clone().add(D.clone().multiplyScalar(0.01)), $ = new p.Vector3();
|
|
3140
|
-
e.nextButOneKeyframe !== null ? $ = e.nextButOneKeyframe.position.clone().sub(e.nextKeyframe.position.clone()).normalize() : $.copy(D);
|
|
3141
|
-
var Z = I.clone().add($.clone().multiplyScalar(0.01)), B = k.clone().lerp(I, L), ne = W.clone().lerp(Z, L);
|
|
3142
|
-
e.virualCamera.position.copy(B), e.virualCamera.lookAt(ne), e.virualCamera.updateMatrixWorld(), e.virualCamera.updateMatrix(), e.virualCamera.computePose(), e.five.setState(N({}, e.virualCamera.pose)), e.playingState.keyframeIndex = i, e.playingState.progress = L, e.location = e.keyframes[i].location + k.clone().distanceTo(B), e.playingState.keyframeIndex = i, e.playingState.progress = L;
|
|
3143
|
-
}
|
|
3144
|
-
}
|
|
3145
|
-
});
|
|
3146
|
-
}, l.prototype.findKeyFrameByLocation = function(e) {
|
|
3077
|
+
}, s.prototype.findKeyFrameByLocation = function(e) {
|
|
3147
3078
|
if (this.keyframes.length !== 0) {
|
|
3148
3079
|
for (var n = 0, t = this.keyframes.length - 1; n <= t; ) {
|
|
3149
3080
|
var r = Math.floor((n + t) / 2);
|
|
@@ -3156,109 +3087,30 @@ var At = (
|
|
|
3156
3087
|
progress: 0
|
|
3157
3088
|
};
|
|
3158
3089
|
}
|
|
3159
|
-
},
|
|
3160
|
-
if (!(!this.timeArray || this.timeArray.length === 0 || this.keyframes.length === 0)) {
|
|
3161
|
-
for (var n = 0, t = this.timeArray.length - 1, r = 0, s = Math.abs(this.timeArray[0] - e); n <= t; ) {
|
|
3162
|
-
var i = Math.floor((n + t) / 2), h = this.timeArray[i], c = Math.abs(h - e);
|
|
3163
|
-
if (c < s && (s = c, r = i), h === e)
|
|
3164
|
-
return i;
|
|
3165
|
-
h < e ? n = i + 1 : t = i - 1;
|
|
3166
|
-
}
|
|
3167
|
-
if (r > 0) {
|
|
3168
|
-
var v = Math.abs(this.timeArray[r - 1] - e);
|
|
3169
|
-
v < s && (r = r - 1);
|
|
3170
|
-
}
|
|
3171
|
-
if (r < this.timeArray.length - 1) {
|
|
3172
|
-
var y = Math.abs(this.timeArray[r + 1] - e);
|
|
3173
|
-
y < s && (r = r + 1);
|
|
3174
|
-
}
|
|
3175
|
-
return r;
|
|
3176
|
-
}
|
|
3177
|
-
}, l.prototype.resetPlayingState = function() {
|
|
3090
|
+
}, s.prototype.resetPlayingState = function() {
|
|
3178
3091
|
this.playingState.keyframeIndex = null, this.playingState.progress = null;
|
|
3179
|
-
},
|
|
3180
|
-
|
|
3181
|
-
return null;
|
|
3182
|
-
var e = this.skipStart, n = this.timeArray.length - 1 - this.skipEnd;
|
|
3183
|
-
if (e >= n || e < 0 || n >= this.timeArray.length)
|
|
3184
|
-
return null;
|
|
3185
|
-
var t = this.timeArray[e], r = this.timeArray[n];
|
|
3186
|
-
return r - t;
|
|
3187
|
-
}, l.prototype.setPlayingStateByTimestamp = function(e) {
|
|
3188
|
-
var n = this;
|
|
3189
|
-
if (!this.trajectory || !this.timeArray || this.timeArray.length === 0)
|
|
3190
|
-
throw new Error("Trajectory or timeArray is not available");
|
|
3191
|
-
var t = this.keyframes.length;
|
|
3192
|
-
if (e < 0 || e >= t)
|
|
3193
|
-
throw new Error("Invalid keyframeIndex");
|
|
3194
|
-
this.cancelAnimation && this.cancelAnimation();
|
|
3195
|
-
var r = this.skipStart, s = this.timeArray.length - 1 - this.skipEnd;
|
|
3196
|
-
if (r >= s || r < 0 || s >= this.timeArray.length)
|
|
3197
|
-
throw new Error("Invalid skipStart or skipEnd values");
|
|
3198
|
-
this.playbackStartTime = this.timeArray[r], this.playbackEndTime = this.timeArray[s];
|
|
3199
|
-
var i = this.timeArray[e], h = i - this.playbackStartTime;
|
|
3200
|
-
if (this.startTimestamp = Date.now() - h / this.rate, this.playingState.keyframeIndex = e, this.playingState.progress = 0, this.virualCamera.position.copy(this.keyframes[e].position.clone()), e + 1 < t)
|
|
3201
|
-
this.virualCamera.lookAt(this.keyframes[e + 1].position.clone());
|
|
3202
|
-
else if (e > 0) {
|
|
3203
|
-
var c = this.keyframes[e].position.clone().sub(this.keyframes[e - 1].position.clone()).normalize();
|
|
3204
|
-
this.virualCamera.lookAt(this.keyframes[e].position.clone().add(c.multiplyScalar(0.01)));
|
|
3205
|
-
}
|
|
3206
|
-
this.virualCamera.computePose(), this.five.setState(N({}, this.virualCamera.pose));
|
|
3207
|
-
var v = this.playbackStartTime, y = e;
|
|
3208
|
-
this.cancelAnimation = Ie.shared.add(function(M, w) {
|
|
3209
|
-
if (!(n.timeArray === null || n.timeArray.length === 0) && n.startTimestamp) {
|
|
3210
|
-
var P = Date.now() - n.startTimestamp, S = v + P * n.rate;
|
|
3211
|
-
if (n.playbackEndTime && S >= n.playbackEndTime) {
|
|
3212
|
-
var _ = t - 1 - n.skipEnd;
|
|
3213
|
-
if (_ > 0 && _ < t) {
|
|
3214
|
-
if (n.currentKeyFrame = n.keyframes[_ - 1], n.nextKeyframe = n.keyframes[_], n.virualCamera.position.copy(n.nextKeyframe.position.clone()), _ + 1 < t)
|
|
3215
|
-
n.virualCamera.lookAt(n.keyframes[_ + 1].position.clone());
|
|
3216
|
-
else {
|
|
3217
|
-
var E = n.nextKeyframe.position.clone().sub(n.currentKeyFrame.position.clone()).normalize();
|
|
3218
|
-
n.virualCamera.lookAt(n.nextKeyframe.position.clone().add(E.multiplyScalar(0.01)));
|
|
3219
|
-
}
|
|
3220
|
-
n.virualCamera.computePose(), n.five.setState(N({}, n.virualCamera.pose));
|
|
3221
|
-
}
|
|
3222
|
-
n.cancelAnimation && (n.cancelAnimation(), n.startTimestamp = null);
|
|
3223
|
-
return;
|
|
3224
|
-
}
|
|
3225
|
-
var b = n.findKeyFrameByTimestamp(S);
|
|
3226
|
-
if (!(b === void 0 || b >= t - 1 - n.skipEnd) && (b !== y && (y = b), !(y >= t - 1 - n.skipEnd))) {
|
|
3227
|
-
n.currentKeyFrame = n.keyframes[y], n.nextKeyframe = n.keyframes[y + 1], y + 2 <= t - 1 ? n.nextButOneKeyframe = n.keyframes[y + 2] : n.nextButOneKeyframe = null;
|
|
3228
|
-
var T = n.currentKeyFrame.position.clone(), f = n.nextKeyframe.position.clone(), C = n.nextKeyframe.position.clone().sub(n.currentKeyFrame.position.clone()).normalize(), x = T.clone().add(C.clone().multiplyScalar(0.01)), F = new p.Vector3();
|
|
3229
|
-
n.nextButOneKeyframe !== null ? F = n.nextButOneKeyframe.position.clone().sub(n.nextKeyframe.position.clone()).normalize() : F.copy(C);
|
|
3230
|
-
var V = f.clone().add(F.clone().multiplyScalar(0.01)), Y = n.timeArray[y], G = n.timeArray[y + 1], q = G - Y, Q = 0;
|
|
3231
|
-
if (q > 0) {
|
|
3232
|
-
var R = S - Y;
|
|
3233
|
-
Q = Math.max(0, Math.min(1, R / q));
|
|
3234
|
-
}
|
|
3235
|
-
var H = Q * Q * (3 - 2 * Q), L = T.clone().lerp(f, H), k = x.clone().lerp(V, H);
|
|
3236
|
-
n.virualCamera.position.copy(L), n.virualCamera.lookAt(k), n.virualCamera.computePose(), n.five.setState(N({}, n.virualCamera.pose));
|
|
3237
|
-
}
|
|
3238
|
-
}
|
|
3239
|
-
});
|
|
3240
|
-
}, l.prototype._disable = function(e) {
|
|
3241
|
-
}, l.prototype.enable = function(e) {
|
|
3092
|
+
}, s.prototype._disable = function(e) {
|
|
3093
|
+
}, s.prototype.enable = function(e) {
|
|
3242
3094
|
var n;
|
|
3243
3095
|
if (!this.state.enabled) {
|
|
3244
3096
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
3245
3097
|
this.updateState({ enabled: !0 }, t), this._enable({ userAction: t });
|
|
3246
3098
|
}
|
|
3247
|
-
},
|
|
3099
|
+
}, s.prototype.disable = function(e) {
|
|
3248
3100
|
var n;
|
|
3249
3101
|
if (this.state.enabled !== !1) {
|
|
3250
3102
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
3251
3103
|
this.updateState({ enabled: !1 }, t), this._disable({ userAction: t });
|
|
3252
3104
|
}
|
|
3253
|
-
},
|
|
3254
|
-
})(
|
|
3255
|
-
), ar = function(
|
|
3256
|
-
return new
|
|
3105
|
+
}, s;
|
|
3106
|
+
})(qe.Controller)
|
|
3107
|
+
), ar = function(h, s) {
|
|
3108
|
+
return new Wn(h, s);
|
|
3257
3109
|
};
|
|
3258
|
-
function Qt(
|
|
3259
|
-
return
|
|
3110
|
+
function Qt(h, s, e) {
|
|
3111
|
+
return h < s ? s : h > e ? e : h;
|
|
3260
3112
|
}
|
|
3261
|
-
var
|
|
3113
|
+
var Xn = (
|
|
3262
3114
|
/* glsl */
|
|
3263
3115
|
`
|
|
3264
3116
|
varying vec2 vUv;
|
|
@@ -3269,7 +3121,7 @@ void main() {
|
|
|
3269
3121
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
3270
3122
|
}
|
|
3271
3123
|
`
|
|
3272
|
-
),
|
|
3124
|
+
), qn = (
|
|
3273
3125
|
/* glsl */
|
|
3274
3126
|
`
|
|
3275
3127
|
varying vec2 vUv;
|
|
@@ -3291,18 +3143,18 @@ void main() {
|
|
|
3291
3143
|
gl_FragColor.a = gl_FragColor.a * opacity;
|
|
3292
3144
|
}
|
|
3293
3145
|
`
|
|
3294
|
-
),
|
|
3146
|
+
), Kn = [1, 5, 2, 6, 3, 7, 4, 8, 9, 13, 10, 14, 11, 15, 12, 16], Mt = 512, At = 512, st = 128, Zn = (
|
|
3295
3147
|
/** @class */
|
|
3296
|
-
(function(
|
|
3297
|
-
he(
|
|
3298
|
-
function
|
|
3299
|
-
var t =
|
|
3148
|
+
(function(h) {
|
|
3149
|
+
he(s, h);
|
|
3150
|
+
function s(e, n) {
|
|
3151
|
+
var t = h.call(this, e) || this;
|
|
3300
3152
|
t.group = new p.Group(), t.mesh = (function() {
|
|
3301
|
-
var
|
|
3302
|
-
|
|
3303
|
-
var
|
|
3304
|
-
vertexShader:
|
|
3305
|
-
fragmentShader:
|
|
3153
|
+
var o = new p.CylinderGeometry(0.12, 0.12, 1, 32, 1, !0);
|
|
3154
|
+
o.translate(0, 0.5, 0);
|
|
3155
|
+
var d = new p.ShaderMaterial({
|
|
3156
|
+
vertexShader: Xn,
|
|
3157
|
+
fragmentShader: qn,
|
|
3306
3158
|
uniforms: {
|
|
3307
3159
|
map: { value: new p.Texture() },
|
|
3308
3160
|
progress: { value: 0 },
|
|
@@ -3310,24 +3162,24 @@ void main() {
|
|
|
3310
3162
|
},
|
|
3311
3163
|
transparent: !0,
|
|
3312
3164
|
depthTest: !1
|
|
3313
|
-
}), c = new p.Mesh(
|
|
3165
|
+
}), c = new p.Mesh(o, d);
|
|
3314
3166
|
return c;
|
|
3315
|
-
})(), t.panoMesh = new
|
|
3316
|
-
}, t.drawLine = function(
|
|
3167
|
+
})(), t.panoMesh = new xn({ scale: 1.5 }), t.stop = function() {
|
|
3168
|
+
}, t.drawLine = function(o, d) {
|
|
3317
3169
|
if (t.ctx) {
|
|
3318
3170
|
var c = (function() {
|
|
3319
|
-
var M, w =
|
|
3320
|
-
return w * ((M =
|
|
3321
|
-
})(),
|
|
3322
|
-
y.addColorStop(0, "rgba(255,255,255,0)"), y.addColorStop(0.5, "rgba(255,255,255,1)"), y.addColorStop(1, "rgba(255,255,255,0)"), t.ctx.fillStyle = y, t.ctx.fillRect(c,
|
|
3171
|
+
var M, w = Mt / 16 | 0;
|
|
3172
|
+
return w * ((M = Kn[o]) !== null && M !== void 0 ? M : 0);
|
|
3173
|
+
})(), m = (1 - (d + o * 150) % 1200 / 1200) * (At + st), y = t.ctx.createLinearGradient(0, m - st, 0, m);
|
|
3174
|
+
y.addColorStop(0, "rgba(255,255,255,0)"), y.addColorStop(0.5, "rgba(255,255,255,1)"), y.addColorStop(1, "rgba(255,255,255,0)"), t.ctx.fillStyle = y, t.ctx.fillRect(c, m - st, 3, st);
|
|
3323
3175
|
}
|
|
3324
|
-
}, t.anime = function(
|
|
3176
|
+
}, t.anime = function(o) {
|
|
3325
3177
|
if (t.ctx && t.startTime) {
|
|
3326
|
-
t.ctx.clearRect(0, 0,
|
|
3327
|
-
for (var
|
|
3328
|
-
t.drawLine(
|
|
3329
|
-
var c = Qt((
|
|
3330
|
-
t.panoMesh.setOpacity(
|
|
3178
|
+
t.ctx.clearRect(0, 0, Mt, At);
|
|
3179
|
+
for (var d = 0; d < 16; d++)
|
|
3180
|
+
t.drawLine(d, o - t.startTime);
|
|
3181
|
+
var c = Qt((o - t.startTime) / 1e3, 0, 1), m = Qt((o - t.startTime) / 300, 0, t.config.maxOpacity);
|
|
3182
|
+
t.panoMesh.setOpacity(m), t.mesh.material.uniforms.progress.value = c, t.mesh.material.uniforms.opacity.value = m, t.mesh.material.uniforms.map.value.needsUpdate = !0, t.five.needsRender = !0;
|
|
3331
3183
|
}
|
|
3332
3184
|
}, t.dispose = function() {
|
|
3333
3185
|
t.disable();
|
|
@@ -3337,24 +3189,24 @@ void main() {
|
|
|
3337
3189
|
visible: !0
|
|
3338
3190
|
};
|
|
3339
3191
|
t.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
3340
|
-
var
|
|
3341
|
-
return t._config =
|
|
3192
|
+
var l = V(V({}, n == null ? void 0 : n.config), { maxOpacity: 1 });
|
|
3193
|
+
return t._config = l, typeof document == "undefined" || (t.canvas = document.createElement("canvas"), t.ctx = t.canvas.getContext("2d"), t.canvas.width = Mt, t.canvas.height = At, t.ctx.shadowColor = "rgba(255,255,255,0.5)", t.ctx.shadowBlur = 6, t.ctx.shadowOffsetX = 0, t.ctx.shadowOffsetY = 0, t.mesh.material.uniforms.map.value = new p.CanvasTexture(t.canvas), t.group.add(t.mesh), t.panoMesh.setProgress(1), t.panoMesh.setOpacity(0), t.group.add(t.panoMesh), t.state.enabled && t._enable({ userAction: !1 })), t;
|
|
3342
3194
|
}
|
|
3343
|
-
return Object.defineProperty(
|
|
3195
|
+
return Object.defineProperty(s.prototype, "config", {
|
|
3344
3196
|
get: function() {
|
|
3345
|
-
return
|
|
3197
|
+
return V({}, this._config);
|
|
3346
3198
|
},
|
|
3347
3199
|
enumerable: !1,
|
|
3348
3200
|
configurable: !0
|
|
3349
|
-
}),
|
|
3201
|
+
}), s.prototype.updateState = function(e, n) {
|
|
3350
3202
|
var t = this.state;
|
|
3351
|
-
this.state =
|
|
3352
|
-
},
|
|
3203
|
+
this.state = V(V({}, this.state), e), this.hooks.emit("stateChange", { state: this.state, prevState: t, userAction: n });
|
|
3204
|
+
}, s.prototype.updateConfig = function(e, n) {
|
|
3353
3205
|
var t;
|
|
3354
3206
|
n === void 0 && (n = {});
|
|
3355
|
-
var r = this.config,
|
|
3356
|
-
this._config =
|
|
3357
|
-
},
|
|
3207
|
+
var r = this.config, l = V(V({}, r), e);
|
|
3208
|
+
this._config = l, this.hooks.emit("configChange", { prevConfig: r, config: l, userAction: (t = n.userAction) !== null && t !== void 0 ? t : !0 });
|
|
3209
|
+
}, s.prototype.load = function(e) {
|
|
3358
3210
|
return De(this, void 0, void 0, function() {
|
|
3359
3211
|
return Ne(this, function(n) {
|
|
3360
3212
|
return [
|
|
@@ -3363,97 +3215,97 @@ void main() {
|
|
|
3363
3215
|
];
|
|
3364
3216
|
});
|
|
3365
3217
|
});
|
|
3366
|
-
},
|
|
3218
|
+
}, s.prototype._enable = function(e) {
|
|
3367
3219
|
var n = this;
|
|
3368
3220
|
this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition), this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition), this.five.ready().then(function() {
|
|
3369
|
-
n.five.scene.add(n.group), n.stop =
|
|
3221
|
+
n.five.scene.add(n.group), n.stop = Xe.shared.add(function(t, r) {
|
|
3370
3222
|
n.startTime || (n.startTime = t), n.panoMesh.updateTime(t, r), n.anime(t);
|
|
3371
3223
|
});
|
|
3372
3224
|
});
|
|
3373
|
-
},
|
|
3225
|
+
}, s.prototype._disable = function(e) {
|
|
3374
3226
|
this.five.scene.remove(this.group), this.panoMesh.setOpacity(0), this.startTime = void 0, this.stop(), this.five.needsRender = !0;
|
|
3375
|
-
},
|
|
3227
|
+
}, s.prototype.enable = function(e) {
|
|
3376
3228
|
var n;
|
|
3377
3229
|
if (this.ctx && !this.state.enabled && this.five.observers[this.five.state.panoIndex]) {
|
|
3378
3230
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
3379
3231
|
this.updateState({ enabled: !0 }, t), this._enable({ userAction: t });
|
|
3380
3232
|
}
|
|
3381
|
-
},
|
|
3233
|
+
}, s.prototype.disable = function(e) {
|
|
3382
3234
|
var n;
|
|
3383
3235
|
if (this.state.enabled !== !1) {
|
|
3384
3236
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
3385
3237
|
this.updateState({ enabled: !1 }, t), this._disable({ userAction: t });
|
|
3386
3238
|
}
|
|
3387
|
-
},
|
|
3239
|
+
}, s.prototype.setState = function(e, n) {
|
|
3388
3240
|
n === void 0 && (n = {});
|
|
3389
3241
|
var t = this.state, r = n.userAction !== void 0 ? n.userAction : !0;
|
|
3390
3242
|
if (this.updateState(e, r), e.enabled !== void 0 && t.enabled !== e.enabled) {
|
|
3391
|
-
var
|
|
3392
|
-
e.enabled ? this._enable(
|
|
3243
|
+
var l = { userAction: r };
|
|
3244
|
+
e.enabled ? this._enable(l) : this._disable(l);
|
|
3393
3245
|
}
|
|
3394
|
-
},
|
|
3395
|
-
})(
|
|
3396
|
-
), ir = function(
|
|
3397
|
-
return new Zn(
|
|
3398
|
-
},
|
|
3246
|
+
}, s;
|
|
3247
|
+
})(Ot.Controller)
|
|
3248
|
+
), ir = function(h, s) {
|
|
3249
|
+
return new Zn(h, s);
|
|
3250
|
+
}, Ct = (
|
|
3399
3251
|
/** @class */
|
|
3400
|
-
(function(
|
|
3401
|
-
he(
|
|
3402
|
-
function
|
|
3403
|
-
var e =
|
|
3252
|
+
(function(h) {
|
|
3253
|
+
he(s, h);
|
|
3254
|
+
function s() {
|
|
3255
|
+
var e = h.call(this) || this;
|
|
3404
3256
|
e.type = "LineSegmentsGeometry";
|
|
3405
3257
|
var n = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0], t = [-1, 2, 1, 2, -1, 1, 1, 1, -1, -1, 1, -1, -1, -2, 1, -2], r = [0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5];
|
|
3406
3258
|
return e.setIndex(r), e.setAttribute("position", new p.Float32BufferAttribute(n, 3)), e.setAttribute("uv", new p.Float32BufferAttribute(t, 2)), e;
|
|
3407
3259
|
}
|
|
3408
|
-
return
|
|
3260
|
+
return s.prototype.applyMatrix4 = function(e) {
|
|
3409
3261
|
var n = this.attributes.instanceStart, t = this.attributes.instanceEnd;
|
|
3410
3262
|
return n !== void 0 && (n.applyMatrix4(e), t.applyMatrix4(e), n.needsUpdate = !0), this.boundingBox !== null && this.computeBoundingBox(), this.boundingSphere !== null && this.computeBoundingSphere(), this;
|
|
3411
|
-
},
|
|
3263
|
+
}, s.prototype.setPositions = function(e) {
|
|
3412
3264
|
var n;
|
|
3413
3265
|
e instanceof Float32Array ? n = e : Array.isArray(e) ? n = new Float32Array(e) : n = new Float32Array();
|
|
3414
3266
|
var t = new p.InstancedInterleavedBuffer(n, 6, 1);
|
|
3415
3267
|
return this.setAttribute("instanceStart", new p.InterleavedBufferAttribute(t, 3, 0)), this.setAttribute("instanceEnd", new p.InterleavedBufferAttribute(t, 3, 3)), this.computeBoundingBox(), this.computeBoundingSphere(), this;
|
|
3416
|
-
},
|
|
3268
|
+
}, s.prototype.setColors = function(e) {
|
|
3417
3269
|
var n;
|
|
3418
3270
|
e instanceof Float32Array ? n = e : Array.isArray(e) ? n = new Float32Array(e) : n = new Float32Array();
|
|
3419
3271
|
var t = new p.InstancedInterleavedBuffer(n, 6, 1);
|
|
3420
3272
|
return this.setAttribute("instanceColorStart", new p.InterleavedBufferAttribute(t, 3, 0)), this.setAttribute("instanceColorEnd", new p.InterleavedBufferAttribute(t, 3, 3)), this;
|
|
3421
|
-
},
|
|
3273
|
+
}, s.prototype.fromWireframeGeometry = function(e) {
|
|
3422
3274
|
return this.setPositions(e.attributes.position.array), this;
|
|
3423
|
-
},
|
|
3275
|
+
}, s.prototype.fromEdgesGeometry = function(e) {
|
|
3424
3276
|
return this.setPositions(e.attributes.position.array), this;
|
|
3425
|
-
},
|
|
3277
|
+
}, s.prototype.fromMesh = function(e) {
|
|
3426
3278
|
return this.fromWireframeGeometry(new p.WireframeGeometry(e.geometry)), this;
|
|
3427
|
-
},
|
|
3279
|
+
}, s.prototype.fromLineSegments = function(e) {
|
|
3428
3280
|
var n = e.geometry;
|
|
3429
3281
|
if (n instanceof p.Geometry) {
|
|
3430
3282
|
var t = new p.BufferGeometry().fromGeometry(n);
|
|
3431
3283
|
this.setPositions(t.attributes.position.array);
|
|
3432
3284
|
} else n instanceof p.BufferGeometry && this.setPositions(n.attributes.position.array);
|
|
3433
3285
|
return this;
|
|
3434
|
-
},
|
|
3286
|
+
}, s.prototype.computeBoundingBox = function() {
|
|
3435
3287
|
this.boundingBox === null && (this.boundingBox = new p.Box3());
|
|
3436
3288
|
var e = this.attributes.instanceStart, n = this.attributes.instanceEnd;
|
|
3437
3289
|
if (e !== void 0 && n !== void 0) {
|
|
3438
3290
|
var t = new p.Box3();
|
|
3439
3291
|
this.boundingBox.setFromBufferAttribute(e), t.setFromBufferAttribute(n), this.boundingBox.union(t);
|
|
3440
3292
|
}
|
|
3441
|
-
},
|
|
3293
|
+
}, s.prototype.computeBoundingSphere = function() {
|
|
3442
3294
|
this.boundingSphere === null && (this.boundingSphere = new p.Sphere()), this.boundingBox === null && this.computeBoundingBox();
|
|
3443
3295
|
var e = this.attributes.instanceStart, n = this.attributes.instanceEnd;
|
|
3444
3296
|
if (e !== void 0 && n !== void 0) {
|
|
3445
3297
|
var t = this.boundingSphere.center;
|
|
3446
3298
|
this.boundingBox.getCenter(t);
|
|
3447
|
-
for (var r = 0,
|
|
3448
|
-
|
|
3299
|
+
for (var r = 0, l = new p.Vector3(), o = 0, d = e.count; o < d; o++)
|
|
3300
|
+
l.fromBufferAttribute(e, o), r = Math.max(r, t.distanceToSquared(l)), l.fromBufferAttribute(n, o), r = Math.max(r, t.distanceToSquared(l));
|
|
3449
3301
|
this.boundingSphere.radius = Math.sqrt(r), isNaN(this.boundingSphere.radius) && console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.", this);
|
|
3450
3302
|
}
|
|
3451
|
-
},
|
|
3452
|
-
},
|
|
3303
|
+
}, s.prototype.toJSON = function() {
|
|
3304
|
+
}, s;
|
|
3453
3305
|
})(p.InstancedBufferGeometry)
|
|
3454
3306
|
);
|
|
3455
|
-
Object.assign(
|
|
3456
|
-
var
|
|
3307
|
+
Object.assign(Ct.prototype, { isLineSegmentsGeometry: !0 });
|
|
3308
|
+
var xt = {
|
|
3457
3309
|
uniforms: p.UniformsUtils.merge([
|
|
3458
3310
|
p.UniformsLib.common,
|
|
3459
3311
|
p.UniformsLib.fog,
|
|
@@ -3681,15 +3533,15 @@ var St = {
|
|
|
3681
3533
|
#include <premultiplied_alpha_fragment>
|
|
3682
3534
|
}
|
|
3683
3535
|
`
|
|
3684
|
-
},
|
|
3536
|
+
}, Lt = (
|
|
3685
3537
|
/** @class */
|
|
3686
|
-
(function(
|
|
3687
|
-
he(
|
|
3688
|
-
function
|
|
3689
|
-
var n =
|
|
3690
|
-
uniforms: p.UniformsUtils.clone(
|
|
3691
|
-
vertexShader:
|
|
3692
|
-
fragmentShader:
|
|
3538
|
+
(function(h) {
|
|
3539
|
+
he(s, h);
|
|
3540
|
+
function s(e) {
|
|
3541
|
+
var n = h.call(this, {
|
|
3542
|
+
uniforms: p.UniformsUtils.clone(xt.uniforms),
|
|
3543
|
+
vertexShader: xt.vertexShader,
|
|
3544
|
+
fragmentShader: xt.fragmentShader,
|
|
3693
3545
|
clipping: !0
|
|
3694
3546
|
}) || this;
|
|
3695
3547
|
return n.type = "LineMaterial", n.dashed = !1, Object.defineProperties(n, {
|
|
@@ -3830,107 +3682,107 @@ var St = {
|
|
|
3830
3682
|
}
|
|
3831
3683
|
}), n.setValues(e), n;
|
|
3832
3684
|
}
|
|
3833
|
-
return
|
|
3685
|
+
return s;
|
|
3834
3686
|
})(p.ShaderMaterial)
|
|
3835
3687
|
);
|
|
3836
|
-
Object.assign(
|
|
3688
|
+
Object.assign(Lt.prototype, { isLineMaterial: !0 });
|
|
3837
3689
|
var en = (
|
|
3838
3690
|
/** @class */
|
|
3839
|
-
(function(
|
|
3840
|
-
he(
|
|
3841
|
-
function
|
|
3842
|
-
var t =
|
|
3843
|
-
return t.type = "LineSegments2", t.geometry = e !== void 0 ? e : new
|
|
3691
|
+
(function(h) {
|
|
3692
|
+
he(s, h);
|
|
3693
|
+
function s(e, n) {
|
|
3694
|
+
var t = h.call(this) || this;
|
|
3695
|
+
return t.type = "LineSegments2", t.geometry = e !== void 0 ? e : new Ct(), t.material = n !== void 0 ? n : new Lt({ color: Math.random() * 16777215 }), t;
|
|
3844
3696
|
}
|
|
3845
|
-
return
|
|
3846
|
-
for (var e = this.geometry, n = e.attributes.instanceStart, t = e.attributes.instanceEnd, r = new Float32Array(2 * n.count),
|
|
3847
|
-
|
|
3848
|
-
this.material.uniforms.totalLength.value =
|
|
3849
|
-
for (var c = 0, y = 0,
|
|
3850
|
-
|
|
3851
|
-
var M =
|
|
3697
|
+
return s.prototype.computeLineDistances = function() {
|
|
3698
|
+
for (var e = this.geometry, n = e.attributes.instanceStart, t = e.attributes.instanceEnd, r = new Float32Array(2 * n.count), l = new p.Vector3(), o = new p.Vector3(), d = 0, c = 0, m = n.count; c < m; c++)
|
|
3699
|
+
l.fromBufferAttribute(n, c), o.fromBufferAttribute(t, c), d += l.distanceTo(o);
|
|
3700
|
+
this.material.uniforms.totalLength.value = d;
|
|
3701
|
+
for (var c = 0, y = 0, m = n.count; c < m; c++, y += 2) {
|
|
3702
|
+
l.fromBufferAttribute(n, c), o.fromBufferAttribute(t, c);
|
|
3703
|
+
var M = l.distanceTo(o);
|
|
3852
3704
|
r[y] = y === 0 ? 0 : r[y - 1], r[y + 1] = r[y] + M;
|
|
3853
3705
|
}
|
|
3854
3706
|
var w = new p.InstancedInterleavedBuffer(r, 2, 1);
|
|
3855
3707
|
return e.setAttribute("instanceDistanceStart", new p.InterleavedBufferAttribute(w, 1, 0)), e.setAttribute("instanceDistanceEnd", new p.InterleavedBufferAttribute(w, 1, 1)), this;
|
|
3856
|
-
},
|
|
3708
|
+
}, s.prototype.raycast = function(e, n) {
|
|
3857
3709
|
e.camera === null && console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');
|
|
3858
|
-
var t = e.ray, r = e.camera,
|
|
3859
|
-
t.at(1,
|
|
3710
|
+
var t = e.ray, r = e.camera, l = r.projectionMatrix, o = this.geometry, d = this.material, c = d.resolution, m = d.linewidth, y = o.attributes.instanceStart, M = o.attributes.instanceEnd, w = new p.Vector4(), A = new p.Vector4(), x = new p.Vector4(), C = new p.Vector3(), E = new p.Matrix4(), b = new p.Line3(), T = new p.Vector3();
|
|
3711
|
+
t.at(1, x), x.w = 1, x.applyMatrix4(r.matrixWorldInverse), x.applyMatrix4(l), x.multiplyScalar(1 / x.w), x.x *= c.x / 2, x.y *= c.y / 2, x.z = 0, C.copy(x);
|
|
3860
3712
|
var f = this.matrixWorld;
|
|
3861
3713
|
E.multiplyMatrices(r.matrixWorldInverse, f);
|
|
3862
|
-
for (var
|
|
3863
|
-
w.fromBufferAttribute(y,
|
|
3864
|
-
var
|
|
3865
|
-
if (!(
|
|
3866
|
-
w.x *= c.x / 2, w.y *= c.y / 2,
|
|
3867
|
-
var
|
|
3868
|
-
b.at(
|
|
3869
|
-
var
|
|
3870
|
-
if (
|
|
3871
|
-
b.start.fromBufferAttribute(y,
|
|
3872
|
-
var
|
|
3873
|
-
t.distanceSqToSegment(b.start, b.end,
|
|
3874
|
-
point:
|
|
3875
|
-
pointOnLine:
|
|
3876
|
-
distance: t.origin.distanceTo(
|
|
3714
|
+
for (var O = 0, S = y.count; O < S; O++) {
|
|
3715
|
+
w.fromBufferAttribute(y, O), A.fromBufferAttribute(M, O), w.w = 1, A.w = 1, w.applyMatrix4(E), A.applyMatrix4(E), w.applyMatrix4(l), A.applyMatrix4(l), w.multiplyScalar(1 / w.w), A.multiplyScalar(1 / A.w);
|
|
3716
|
+
var D = w.z < -1 && A.z < -1, W = w.z > 1 && A.z > 1;
|
|
3717
|
+
if (!(D || W)) {
|
|
3718
|
+
w.x *= c.x / 2, w.y *= c.y / 2, A.x *= c.x / 2, A.y *= c.y / 2, b.start.copy(w), b.start.z = 0, b.end.copy(A), b.end.z = 0;
|
|
3719
|
+
var H = b.closestPointToPointParameter(C, !0);
|
|
3720
|
+
b.at(H, T);
|
|
3721
|
+
var X = p.MathUtils.lerp(w.z, A.z, H), $ = X >= -1 && X <= 1, ae = C.distanceTo(T) < m * 0.5;
|
|
3722
|
+
if ($ && ae) {
|
|
3723
|
+
b.start.fromBufferAttribute(y, O), b.end.fromBufferAttribute(M, O), b.start.applyMatrix4(f), b.end.applyMatrix4(f);
|
|
3724
|
+
var z = new p.Vector3(), q = new p.Vector3();
|
|
3725
|
+
t.distanceSqToSegment(b.start, b.end, q, z), n.push({
|
|
3726
|
+
point: q,
|
|
3727
|
+
pointOnLine: z,
|
|
3728
|
+
distance: t.origin.distanceTo(q),
|
|
3877
3729
|
object: this,
|
|
3878
|
-
faceIndex:
|
|
3730
|
+
faceIndex: O
|
|
3879
3731
|
});
|
|
3880
3732
|
}
|
|
3881
3733
|
}
|
|
3882
3734
|
}
|
|
3883
|
-
},
|
|
3735
|
+
}, s;
|
|
3884
3736
|
})(p.Mesh)
|
|
3885
3737
|
);
|
|
3886
3738
|
Object.assign(en.prototype, { isLineSegments2: !0 });
|
|
3887
3739
|
var tn = (
|
|
3888
3740
|
/** @class */
|
|
3889
|
-
(function(
|
|
3890
|
-
he(
|
|
3891
|
-
function
|
|
3892
|
-
var t =
|
|
3741
|
+
(function(h) {
|
|
3742
|
+
he(s, h);
|
|
3743
|
+
function s(e, n) {
|
|
3744
|
+
var t = h.call(this, e, n) || this;
|
|
3893
3745
|
return t.type = "Line2", t;
|
|
3894
3746
|
}
|
|
3895
|
-
return
|
|
3747
|
+
return s;
|
|
3896
3748
|
})(en)
|
|
3897
3749
|
);
|
|
3898
3750
|
Object.assign(tn.prototype, { isLine2: !0 });
|
|
3899
3751
|
var nn = (
|
|
3900
3752
|
/** @class */
|
|
3901
|
-
(function(
|
|
3902
|
-
he(
|
|
3903
|
-
function
|
|
3904
|
-
var e =
|
|
3753
|
+
(function(h) {
|
|
3754
|
+
he(s, h);
|
|
3755
|
+
function s() {
|
|
3756
|
+
var e = h.call(this) || this;
|
|
3905
3757
|
return e.type = "LineGeometry", e;
|
|
3906
3758
|
}
|
|
3907
|
-
return
|
|
3759
|
+
return s.prototype.setPositions = function(e) {
|
|
3908
3760
|
for (var n = e.length - 3, t = new Float32Array(2 * n), r = 0; r < n; r += 3)
|
|
3909
3761
|
t[2 * r] = e[r], t[2 * r + 1] = e[r + 1], t[2 * r + 2] = e[r + 2], t[2 * r + 3] = e[r + 3], t[2 * r + 4] = e[r + 4], t[2 * r + 5] = e[r + 5];
|
|
3910
|
-
return
|
|
3911
|
-
},
|
|
3762
|
+
return h.prototype.setPositions.call(this, t), this;
|
|
3763
|
+
}, s.prototype.setColors = function(e) {
|
|
3912
3764
|
for (var n = e.length - 3, t = new Float32Array(2 * n), r = 0; r < n; r += 3)
|
|
3913
3765
|
t[2 * r] = e[r], t[2 * r + 1] = e[r + 1], t[2 * r + 2] = e[r + 2], t[2 * r + 3] = e[r + 3], t[2 * r + 4] = e[r + 4], t[2 * r + 5] = e[r + 5];
|
|
3914
|
-
return
|
|
3915
|
-
},
|
|
3766
|
+
return h.prototype.setColors.call(this, t), this;
|
|
3767
|
+
}, s.prototype.fromLine = function(e) {
|
|
3916
3768
|
var n = e.geometry;
|
|
3917
3769
|
if (n instanceof p.Geometry) {
|
|
3918
3770
|
var t = new p.BufferGeometry().fromGeometry(n);
|
|
3919
3771
|
this.setPositions(t.attributes.position.array);
|
|
3920
3772
|
} else n instanceof p.BufferGeometry && this.setPositions(n.attributes.position.array);
|
|
3921
3773
|
return this;
|
|
3922
|
-
},
|
|
3774
|
+
}, s.prototype.copy = function() {
|
|
3923
3775
|
return this;
|
|
3924
|
-
},
|
|
3925
|
-
})(
|
|
3776
|
+
}, s;
|
|
3777
|
+
})(Ct)
|
|
3926
3778
|
);
|
|
3927
3779
|
Object.assign(nn.prototype, { isLineGeometry: !0 });
|
|
3928
3780
|
var Qn = (
|
|
3929
3781
|
/** @class */
|
|
3930
|
-
(function(
|
|
3931
|
-
he(
|
|
3932
|
-
function
|
|
3933
|
-
var t =
|
|
3782
|
+
(function(h) {
|
|
3783
|
+
he(s, h);
|
|
3784
|
+
function s(e, n) {
|
|
3785
|
+
var t = h.call(this, e) || this;
|
|
3934
3786
|
t.paths = /* @__PURE__ */ new Map(), t.up = new p.Vector3(0, 1, 0);
|
|
3935
3787
|
var r = {
|
|
3936
3788
|
enabled: !0,
|
|
@@ -3938,7 +3790,7 @@ var Qn = (
|
|
|
3938
3790
|
playing: !1
|
|
3939
3791
|
};
|
|
3940
3792
|
t.state = Object.assign(r, n == null ? void 0 : n.initialState);
|
|
3941
|
-
var
|
|
3793
|
+
var l = {
|
|
3942
3794
|
lineCount: 6,
|
|
3943
3795
|
spacing: 0.02,
|
|
3944
3796
|
lineWidth: 2,
|
|
@@ -3960,66 +3812,66 @@ var Qn = (
|
|
|
3960
3812
|
subMeshHighlightWidth: 1
|
|
3961
3813
|
// 添加这一行
|
|
3962
3814
|
};
|
|
3963
|
-
return t._config =
|
|
3964
|
-
t.addPath(
|
|
3815
|
+
return t._config = V(V({}, l), n == null ? void 0 : n.config), n != null && n.paths && n.paths.length > 0 && n.paths.forEach(function(o) {
|
|
3816
|
+
t.addPath(o);
|
|
3965
3817
|
}), t.state.enabled && t._enable({ userAction: !1 }), t;
|
|
3966
3818
|
}
|
|
3967
|
-
return Object.defineProperty(
|
|
3819
|
+
return Object.defineProperty(s.prototype, "config", {
|
|
3968
3820
|
get: function() {
|
|
3969
|
-
return
|
|
3821
|
+
return V({}, this._config);
|
|
3970
3822
|
},
|
|
3971
3823
|
enumerable: !1,
|
|
3972
3824
|
configurable: !0
|
|
3973
|
-
}),
|
|
3825
|
+
}), s.prototype.updateState = function(e, n) {
|
|
3974
3826
|
var t = this.state;
|
|
3975
|
-
this.state =
|
|
3976
|
-
},
|
|
3827
|
+
this.state = V(V({}, this.state), e), this.hooks.emit("stateChange", { state: this.state, prevState: t, userAction: n });
|
|
3828
|
+
}, s.prototype.load = function(e, n) {
|
|
3977
3829
|
return De(this, void 0, void 0, function() {
|
|
3978
3830
|
var t, r = this;
|
|
3979
|
-
return Ne(this, function(
|
|
3980
|
-
return this.clearAllPaths(), e.paths.forEach(function(
|
|
3981
|
-
var
|
|
3831
|
+
return Ne(this, function(l) {
|
|
3832
|
+
return this.clearAllPaths(), e.paths.forEach(function(o) {
|
|
3833
|
+
var d, c, m = o.points.map(function(y) {
|
|
3982
3834
|
return new p.Vector3(y.x, y.y, y.z);
|
|
3983
3835
|
});
|
|
3984
3836
|
r.addPath({
|
|
3985
|
-
id:
|
|
3986
|
-
points:
|
|
3987
|
-
enabled: (
|
|
3988
|
-
visible: (c =
|
|
3989
|
-
color:
|
|
3990
|
-
lineWidth:
|
|
3991
|
-
speed:
|
|
3837
|
+
id: o.id,
|
|
3838
|
+
points: m,
|
|
3839
|
+
enabled: (d = o.enabled) !== null && d !== void 0 ? d : !0,
|
|
3840
|
+
visible: (c = o.visible) !== null && c !== void 0 ? c : !0,
|
|
3841
|
+
color: o.color,
|
|
3842
|
+
lineWidth: o.lineWidth,
|
|
3843
|
+
speed: o.speed
|
|
3992
3844
|
});
|
|
3993
|
-
}), t = /* @__PURE__ */ new Map(), this.paths.forEach(function(
|
|
3994
|
-
t.set(
|
|
3845
|
+
}), t = /* @__PURE__ */ new Map(), this.paths.forEach(function(o, d) {
|
|
3846
|
+
t.set(d, o.config);
|
|
3995
3847
|
}), this.data = { paths: t }, this.hooks.emit("dataLoaded", this.data), n && this.setState(n), [
|
|
3996
3848
|
2
|
|
3997
3849
|
/*return*/
|
|
3998
3850
|
];
|
|
3999
3851
|
});
|
|
4000
3852
|
});
|
|
4001
|
-
},
|
|
4002
|
-
var n, t, r,
|
|
3853
|
+
}, s.prototype.addPath = function(e) {
|
|
3854
|
+
var n, t, r, l, o, d, c, m;
|
|
4003
3855
|
if (e.points.length < 2)
|
|
4004
3856
|
return console.warn("DynamicPathLinePlugin: 路径 ".concat(e.id, " 至少需要2个点")), !1;
|
|
4005
3857
|
if (this.paths.has(e.id))
|
|
4006
3858
|
return console.warn("DynamicPathLinePlugin: 路径 ".concat(e.id, " 已存在")), !1;
|
|
4007
|
-
var y = new p.CatmullRomCurve3(e.points), M = (n = e.subMeshColor) !== null && n !== void 0 ? n : this._config.subMeshColor, w = (t = e.subMeshWidth) !== null && t !== void 0 ? t : this._config.subMeshWidth,
|
|
4008
|
-
|
|
4009
|
-
var
|
|
4010
|
-
|
|
4011
|
-
var
|
|
3859
|
+
var y = new p.CatmullRomCurve3(e.points), M = (n = e.subMeshColor) !== null && n !== void 0 ? n : this._config.subMeshColor, w = (t = e.subMeshWidth) !== null && t !== void 0 ? t : this._config.subMeshWidth, A = (r = e.subMeshOpacity) !== null && r !== void 0 ? r : this._config.subMeshOpacity, x = (l = e.enableSubMesh) !== null && l !== void 0 ? l : !0, C = (o = e.speed) !== null && o !== void 0 ? o : this._config.speed, E = (d = e.range) !== null && d !== void 0 ? d : this._config.range, b = this.createLines(e, y, E), T = this.createParticles(), f = T.particles, O = T.particleGeometry, S = T.particleMaterial, D = T.particleInfos, W = T.particlePositions, H = this.createSubMeshGeometry(e, y, w), X = y.getLength(), $ = this.createSubMeshMaterial(M, A, X, E);
|
|
3860
|
+
$.uniforms.totalLength.value = X;
|
|
3861
|
+
var ae = new p.Mesh(H, $);
|
|
3862
|
+
ae.visible = x, this.five.scene.add(ae);
|
|
3863
|
+
var z = {
|
|
4012
3864
|
id: e.id,
|
|
4013
3865
|
config: e,
|
|
4014
3866
|
curve: y,
|
|
4015
3867
|
lines: b,
|
|
4016
3868
|
particles: f,
|
|
4017
|
-
particleGeometry:
|
|
4018
|
-
particleMaterial:
|
|
4019
|
-
particleInfos:
|
|
4020
|
-
particlePositions:
|
|
3869
|
+
particleGeometry: O,
|
|
3870
|
+
particleMaterial: S,
|
|
3871
|
+
particleInfos: D,
|
|
3872
|
+
particlePositions: W,
|
|
4021
3873
|
enabled: (c = e.enabled) !== null && c !== void 0 ? c : !0,
|
|
4022
|
-
visible: (
|
|
3874
|
+
visible: (m = e.visible) !== null && m !== void 0 ? m : !0,
|
|
4023
3875
|
startOffset: 0,
|
|
4024
3876
|
endOffset: 0,
|
|
4025
3877
|
lastAnimationProgress: 0,
|
|
@@ -4030,99 +3882,99 @@ var Qn = (
|
|
|
4030
3882
|
subMeshUnfoldStarted: !1,
|
|
4031
3883
|
subMeshUnfoldStartTime: 0,
|
|
4032
3884
|
lastUpdateTime: performance.now() / 1e3,
|
|
4033
|
-
subMesh:
|
|
4034
|
-
subMeshGeometry:
|
|
4035
|
-
subMeshMaterial:
|
|
3885
|
+
subMesh: ae,
|
|
3886
|
+
subMeshGeometry: H,
|
|
3887
|
+
subMeshMaterial: $,
|
|
4036
3888
|
subMeshColor: M,
|
|
4037
3889
|
subMeshWidth: w,
|
|
4038
|
-
subMeshOpacity:
|
|
4039
|
-
speed:
|
|
3890
|
+
subMeshOpacity: A,
|
|
3891
|
+
speed: C,
|
|
4040
3892
|
animationId: null,
|
|
4041
|
-
enableSubMesh:
|
|
3893
|
+
enableSubMesh: x,
|
|
4042
3894
|
isPaused: !1,
|
|
4043
3895
|
pausedProgress: 0,
|
|
4044
3896
|
pausedTime: 0
|
|
4045
3897
|
};
|
|
4046
|
-
this.paths.set(e.id,
|
|
4047
|
-
var
|
|
4048
|
-
return this.paths.forEach(function(
|
|
4049
|
-
|
|
4050
|
-
}), this.data = { paths:
|
|
4051
|
-
},
|
|
3898
|
+
this.paths.set(e.id, z);
|
|
3899
|
+
var q = this.data, I = /* @__PURE__ */ new Map();
|
|
3900
|
+
return this.paths.forEach(function(L, F) {
|
|
3901
|
+
I.set(F, L.config);
|
|
3902
|
+
}), this.data = { paths: I }, this.hooks.emit("dataChange", this.data, q), this.hooks.emit("pathAdd", e.id, e), this.state.playing && this.startPathAnimation(e.id), !0;
|
|
3903
|
+
}, s.prototype.removePath = function(e) {
|
|
4052
3904
|
var n = this.paths.get(e);
|
|
4053
3905
|
if (!n)
|
|
4054
3906
|
return console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1;
|
|
4055
3907
|
this.stopPathAnimation(e), this.disposePathResources(n), this.paths.delete(e);
|
|
4056
3908
|
var t = this.data, r = /* @__PURE__ */ new Map();
|
|
4057
|
-
return this.paths.forEach(function(
|
|
4058
|
-
r.set(
|
|
3909
|
+
return this.paths.forEach(function(l, o) {
|
|
3910
|
+
r.set(o, l.config);
|
|
4059
3911
|
}), this.data = { paths: r }, this.hooks.emit("dataChange", this.data, t), this.hooks.emit("pathRemove", e), !0;
|
|
4060
|
-
},
|
|
3912
|
+
}, s.prototype.enablePath = function(e) {
|
|
4061
3913
|
var n = this.paths.get(e);
|
|
4062
3914
|
return n ? (n.enabled = !0, this.hooks.emit("pathEnable", e), !0) : (console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1);
|
|
4063
|
-
},
|
|
3915
|
+
}, s.prototype.disablePath = function(e) {
|
|
4064
3916
|
var n = this.paths.get(e);
|
|
4065
3917
|
return n ? (n.enabled = !1, this.hooks.emit("pathDisable", e), !0) : (console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1);
|
|
4066
|
-
},
|
|
3918
|
+
}, s.prototype.showPath = function(e) {
|
|
4067
3919
|
var n = this.paths.get(e);
|
|
4068
3920
|
return n ? (n.visible = !0, n.lines.forEach(function(t) {
|
|
4069
3921
|
return t.visible = !0;
|
|
4070
3922
|
}), n.particles.visible = !0, n.subMesh.visible = !0, this.hooks.emit("pathShow", e), !0) : (console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1);
|
|
4071
|
-
},
|
|
3923
|
+
}, s.prototype.hidePath = function(e) {
|
|
4072
3924
|
var n = this.paths.get(e);
|
|
4073
3925
|
return n ? (n.visible = !1, n.lines.forEach(function(t) {
|
|
4074
3926
|
return t.visible = !1;
|
|
4075
3927
|
}), n.particles.visible = !1, n.subMesh.visible = !1, this.hooks.emit("pathHide", e), !0) : (console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1);
|
|
4076
|
-
},
|
|
3928
|
+
}, s.prototype.getPathIds = function() {
|
|
4077
3929
|
return Array.from(this.paths.keys());
|
|
4078
|
-
},
|
|
3930
|
+
}, s.prototype.getPathConfig = function(e) {
|
|
4079
3931
|
var n = this.paths.get(e);
|
|
4080
|
-
return n ?
|
|
4081
|
-
},
|
|
3932
|
+
return n ? V({}, n.config) : void 0;
|
|
3933
|
+
}, s.prototype.clearAllPaths = function() {
|
|
4082
3934
|
var e = this;
|
|
4083
|
-
this.paths.forEach(function(r,
|
|
4084
|
-
e.stopPathAnimation(
|
|
3935
|
+
this.paths.forEach(function(r, l) {
|
|
3936
|
+
e.stopPathAnimation(l), e.disposePathResources(r);
|
|
4085
3937
|
}), this.paths.clear();
|
|
4086
3938
|
var n = this.data, t = /* @__PURE__ */ new Map();
|
|
4087
|
-
this.paths.forEach(function(r,
|
|
4088
|
-
t.set(
|
|
3939
|
+
this.paths.forEach(function(r, l) {
|
|
3940
|
+
t.set(l, r.config);
|
|
4089
3941
|
}), this.data = { paths: t }, this.hooks.emit("dataChange", this.data, n);
|
|
4090
|
-
},
|
|
4091
|
-
for (var t = [], r = [],
|
|
4092
|
-
var c =
|
|
4093
|
-
|
|
3942
|
+
}, s.prototype.getPositions = function(e, n) {
|
|
3943
|
+
for (var t = [], r = [], l = 0, o = [], d = 0; d <= n; d++) {
|
|
3944
|
+
var c = d / n, m = e.getPoint(c);
|
|
3945
|
+
o.push(m.clone()), d > 0 && (l += m.distanceTo(o[d - 1]));
|
|
4094
3946
|
}
|
|
4095
|
-
for (var y = 0,
|
|
4096
|
-
|
|
4097
|
-
var M = y /
|
|
4098
|
-
t.push(
|
|
3947
|
+
for (var y = 0, d = 0; d < n; d++) {
|
|
3948
|
+
d > 0 && (y += o[d].distanceTo(o[d - 1]));
|
|
3949
|
+
var M = y / l;
|
|
3950
|
+
t.push(o[d].x, o[d].y, o[d].z), r.push(M);
|
|
4099
3951
|
}
|
|
4100
3952
|
return { positions: t, distanceProgress: r };
|
|
4101
|
-
},
|
|
4102
|
-
for (var r = this,
|
|
4103
|
-
var
|
|
4104
|
-
var
|
|
4105
|
-
return
|
|
4106
|
-
}),
|
|
4107
|
-
|
|
4108
|
-
var
|
|
3953
|
+
}, s.prototype.createLines = function(e, n, t) {
|
|
3954
|
+
for (var r = this, l, o, d = [], c = e.points.length * 40, m = this._config, y = m.lineCount, M = m.spacing, w = m.waveAmp, A = m.waveFreq, x = m.lineYOffset, C = (l = e.lineWidth) !== null && l !== void 0 ? l : this._config.lineWidth, E = (o = e.color) !== null && o !== void 0 ? o : this._config.color, b = n.getLength(), T = t / b, f = function(D) {
|
|
3955
|
+
var W = (D - (y - 1) / 2) * M, H = e.points.map(function(I, L) {
|
|
3956
|
+
var F = L / (e.points.length - 1), N = n.getTangent(F).normalize(), j = new p.Vector3().crossVectors(r.up, N).normalize(), ne = W * Math.abs((L - e.points.length / 2) / e.points.length - 0.5) * -1;
|
|
3957
|
+
return I.clone().addScaledVector(j, W + ne).add(new p.Vector3(0, x + 0.02 * (D % 2 === 0 ? 1 : 0), 0));
|
|
3958
|
+
}), X = new p.CatmullRomCurve3(H), $ = O.getPositions(X, c).positions, ae = new nn();
|
|
3959
|
+
ae.setPositions($);
|
|
3960
|
+
var z = new Lt({
|
|
4109
3961
|
color: E,
|
|
4110
|
-
linewidth:
|
|
3962
|
+
linewidth: C * (D % 2 === 0 ? 1 : 0.5),
|
|
4111
3963
|
transparent: !0,
|
|
4112
3964
|
opacity: 1,
|
|
4113
3965
|
depthWrite: !1
|
|
4114
3966
|
});
|
|
4115
|
-
|
|
3967
|
+
z.resolution.set(O.five.camera.resolution.x, O.five.camera.resolution.y), D === 0 ? z.waveDir = 1 : D === 1 ? z.waveDir = 2 : D === 2 ? z.waveDir = 0 : D === 3 ? z.waveDir = 3 : D === 4 && (z.waveDir = 1), z.waveAmp = w, z.waveFreq = A, Object.assign(z.uniforms, {
|
|
4116
3968
|
time: { value: 0 },
|
|
4117
3969
|
startOffset: { value: 0 },
|
|
4118
3970
|
range: { value: T }
|
|
4119
3971
|
});
|
|
4120
|
-
var
|
|
4121
|
-
|
|
4122
|
-
},
|
|
4123
|
-
f(
|
|
4124
|
-
return
|
|
4125
|
-
},
|
|
3972
|
+
var q = new tn(ae, z);
|
|
3973
|
+
q.computeLineDistances(), d.push(q), O.five.scene.add(q);
|
|
3974
|
+
}, O = this, S = 0; S < y; S++)
|
|
3975
|
+
f(S);
|
|
3976
|
+
return d;
|
|
3977
|
+
}, s.prototype.createParticleMaterial = function() {
|
|
4126
3978
|
return new p.ShaderMaterial({
|
|
4127
3979
|
transparent: !0,
|
|
4128
3980
|
blending: p.AdditiveBlending,
|
|
@@ -4148,9 +4000,9 @@ var Qn = (
|
|
|
4148
4000
|
}
|
|
4149
4001
|
`
|
|
4150
4002
|
});
|
|
4151
|
-
},
|
|
4152
|
-
for (var e = this._config.particleCount, n = new Float32Array(e * 3), t = new p.BufferGeometry(), r = this.createParticleMaterial(),
|
|
4153
|
-
n[c * 3] = 9999, n[c * 3 + 1] = 9999, n[c * 3 + 2] = 9999,
|
|
4003
|
+
}, s.prototype.createParticles = function() {
|
|
4004
|
+
for (var e = this._config.particleCount, n = new Float32Array(e * 3), t = new p.BufferGeometry(), r = this.createParticleMaterial(), l = new p.Points(t, r), o = new Float32Array(e), d = [], c = 0; c < e; c++)
|
|
4005
|
+
n[c * 3] = 9999, n[c * 3 + 1] = 9999, n[c * 3 + 2] = 9999, o[c] = p.MathUtils.randFloat(3, 9), d.push({
|
|
4154
4006
|
velocity: new p.Vector3(),
|
|
4155
4007
|
life: 3 + Math.random() * 2,
|
|
4156
4008
|
age: 0,
|
|
@@ -4158,35 +4010,35 @@ var Qn = (
|
|
|
4158
4010
|
alpha: 0,
|
|
4159
4011
|
startPos: new p.Vector3()
|
|
4160
4012
|
});
|
|
4161
|
-
return t.setAttribute("position", new p.BufferAttribute(n, 3)), t.setAttribute("size", new p.BufferAttribute(
|
|
4162
|
-
},
|
|
4163
|
-
for (var r = e.points.length * 40,
|
|
4164
|
-
M +=
|
|
4165
|
-
for (var
|
|
4166
|
-
var
|
|
4167
|
-
|
|
4168
|
-
var
|
|
4169
|
-
|
|
4013
|
+
return t.setAttribute("position", new p.BufferAttribute(n, 3)), t.setAttribute("size", new p.BufferAttribute(o, 1)), l.frustumCulled = !1, this.five.scene.add(l), { particles: l, particleGeometry: t, particleMaterial: r, particleInfos: d, particlePositions: n };
|
|
4014
|
+
}, s.prototype.createSubMeshGeometry = function(e, n, t) {
|
|
4015
|
+
for (var r = e.points.length * 40, l = new p.BufferGeometry(), o = n.getPoints(r), d = [], c = [], m = [], y = [], M = 0, w = [0], A = 1; A < o.length; A++)
|
|
4016
|
+
M += o[A].distanceTo(o[A - 1]), w.push(M);
|
|
4017
|
+
for (var x = M, A = 0; A < o.length; A++) {
|
|
4018
|
+
var C = o[A], E = A / (o.length - 1), b = n.getTangent(E).normalize(), T = new p.Vector3().crossVectors(this.up, b).normalize(), f = t / 2, O = C.clone().addScaledVector(T, -f);
|
|
4019
|
+
d.push(O.x, O.y, O.z), c.push(0, w[A] / x), y.push(w[A] / x);
|
|
4020
|
+
var S = C.clone().addScaledVector(T, f);
|
|
4021
|
+
d.push(S.x, S.y, S.z), c.push(1, w[A] / x), y.push(w[A] / x);
|
|
4170
4022
|
}
|
|
4171
|
-
for (var
|
|
4172
|
-
var
|
|
4173
|
-
|
|
4023
|
+
for (var A = 0; A < o.length - 1; A++) {
|
|
4024
|
+
var D = A * 2;
|
|
4025
|
+
m.push(D, D + 1, D + 2), m.push(D + 1, D + 3, D + 2);
|
|
4174
4026
|
}
|
|
4175
|
-
return
|
|
4176
|
-
},
|
|
4177
|
-
for (var
|
|
4178
|
-
var
|
|
4179
|
-
if (f > 0.5 && (f = 1 - f), f <
|
|
4180
|
-
var
|
|
4181
|
-
T = r + (
|
|
4027
|
+
return l.setAttribute("position", new p.Float32BufferAttribute(d, 3)), l.setAttribute("uv", new p.Float32BufferAttribute(c, 2)), l.setAttribute("distanceProgress", new p.Float32BufferAttribute(y, 1)), l.setIndex(m), l.computeVertexNormals(), l;
|
|
4028
|
+
}, s.prototype.createAlphaMapTexture = function(e, n, t, r, l) {
|
|
4029
|
+
for (var o = 1024, d = 1, c = o * d, m = new Uint8Array(c), y = 1 / e, M = t / e, w = n / M, A = w / 2, x = 0; x < o; x++) {
|
|
4030
|
+
var C = x / o, E = Math.floor(C / y), b = (C - E * y) / y, T = 0, f = b;
|
|
4031
|
+
if (f > 0.5 && (f = 1 - f), f < A) {
|
|
4032
|
+
var O = 1 - f / A, S = O;
|
|
4033
|
+
T = r + (l - r) * S;
|
|
4182
4034
|
} else
|
|
4183
4035
|
T = r;
|
|
4184
|
-
|
|
4036
|
+
m[x] = Math.floor(T * 255);
|
|
4185
4037
|
}
|
|
4186
|
-
var
|
|
4187
|
-
return
|
|
4188
|
-
},
|
|
4189
|
-
var
|
|
4038
|
+
var D = new p.DataTexture(m, o, d, p.RedFormat);
|
|
4039
|
+
return D.needsUpdate = !0, D.wrapS = p.RepeatWrapping, D.wrapT = p.ClampToEdgeWrapping, D.minFilter = p.LinearFilter, D.magFilter = p.LinearFilter, D;
|
|
4040
|
+
}, s.prototype.createSubMeshMaterial = function(e, n, t, r) {
|
|
4041
|
+
var l = this._config, o = l.subMeshSegmentInterval, d = l.subMeshHighlightWidth, c = l.subMeshMaxOpacity, m = Math.max(1, Math.round(t / o)), y = r / t, M = this.createAlphaMapTexture(m, d, t, n, c);
|
|
4190
4042
|
return new p.ShaderMaterial({
|
|
4191
4043
|
transparent: !0,
|
|
4192
4044
|
side: p.BackSide,
|
|
@@ -4275,135 +4127,135 @@ var Qn = (
|
|
|
4275
4127
|
}
|
|
4276
4128
|
`
|
|
4277
4129
|
});
|
|
4278
|
-
},
|
|
4279
|
-
for (var t = [], r = 0,
|
|
4280
|
-
var
|
|
4281
|
-
|
|
4282
|
-
var
|
|
4130
|
+
}, s.prototype.projectPointsToScreen = function(e, n) {
|
|
4131
|
+
for (var t = [], r = 0, l = 0; l < e.length; l++) {
|
|
4132
|
+
var o = e[l];
|
|
4133
|
+
l > 0 && (r += o.distanceTo(e[l - 1]));
|
|
4134
|
+
var d = o.clone().project(n), c = d.x < -1 || d.x > 1 || d.y < -1 || d.y > 1 || d.z < -1 || d.z > 1;
|
|
4283
4135
|
t.push({
|
|
4284
|
-
point:
|
|
4285
|
-
screenPos: new p.Vector2(
|
|
4136
|
+
point: o.clone(),
|
|
4137
|
+
screenPos: new p.Vector2(d.x, d.y),
|
|
4286
4138
|
distanceFromStart: r,
|
|
4287
4139
|
isOffscreen: c
|
|
4288
4140
|
});
|
|
4289
4141
|
}
|
|
4290
4142
|
return t;
|
|
4291
|
-
},
|
|
4292
|
-
for (var n = -1, t = 0, r = -1,
|
|
4293
|
-
if (!e[
|
|
4294
|
-
r =
|
|
4143
|
+
}, s.prototype.findNearestOffscreenPoint = function(e) {
|
|
4144
|
+
for (var n = -1, t = 0, r = -1, l = 0; l < e.length; l++)
|
|
4145
|
+
if (!e[l].isOffscreen) {
|
|
4146
|
+
r = l;
|
|
4295
4147
|
break;
|
|
4296
4148
|
}
|
|
4297
4149
|
if (r === -1)
|
|
4298
4150
|
return null;
|
|
4299
|
-
for (var
|
|
4300
|
-
if (e[
|
|
4301
|
-
n =
|
|
4151
|
+
for (var l = r - 1; l >= 0; l--)
|
|
4152
|
+
if (e[l].isOffscreen) {
|
|
4153
|
+
n = l, t = e[l].distanceFromStart;
|
|
4302
4154
|
break;
|
|
4303
4155
|
}
|
|
4304
4156
|
return n === -1 ? { index: 0, distance: 0 } : {
|
|
4305
4157
|
index: n,
|
|
4306
4158
|
distance: t
|
|
4307
4159
|
};
|
|
4308
|
-
},
|
|
4309
|
-
for (var n, t = ((n = e[e.length - 1]) === null || n === void 0 ? void 0 : n.distanceFromStart) || 0, r = -1,
|
|
4310
|
-
if (!e[
|
|
4311
|
-
r =
|
|
4160
|
+
}, s.prototype.findFarestOffscreenPoint = function(e) {
|
|
4161
|
+
for (var n, t = ((n = e[e.length - 1]) === null || n === void 0 ? void 0 : n.distanceFromStart) || 0, r = -1, l = e.length - 1; l >= 0; l--)
|
|
4162
|
+
if (!e[l].isOffscreen) {
|
|
4163
|
+
r = l;
|
|
4312
4164
|
break;
|
|
4313
4165
|
}
|
|
4314
4166
|
if (r === -1)
|
|
4315
4167
|
return null;
|
|
4316
|
-
var
|
|
4317
|
-
return
|
|
4318
|
-
index:
|
|
4319
|
-
distance: e[
|
|
4168
|
+
var o = r + 1;
|
|
4169
|
+
return o < e.length && e[o].isOffscreen ? {
|
|
4170
|
+
index: o,
|
|
4171
|
+
distance: e[o].distanceFromStart,
|
|
4320
4172
|
totalLength: t
|
|
4321
4173
|
} : { index: e.length - 1, distance: t, totalLength: t };
|
|
4322
|
-
},
|
|
4174
|
+
}, s.prototype.updatePathAnimation = function(e) {
|
|
4323
4175
|
var n, t, r = this.paths.get(e);
|
|
4324
4176
|
if (!(!r || !r.enabled)) {
|
|
4325
|
-
var
|
|
4177
|
+
var l = performance.now() / 1e3, o = this._config, d = o.particleCount, c = o.maxDistance, m = ((n = r.lines[0]) === null || n === void 0 ? void 0 : n.material.uniforms.totalLength.value) || 1, y = Math.max(0.01, m - r.startOffset - r.endOffset), M = r.speed, w = (l - r.cycleStartTime) * M / y % 1;
|
|
4326
4178
|
if (r.isInitialAnimation) {
|
|
4327
|
-
var
|
|
4328
|
-
if (r.enableSubMesh &&
|
|
4329
|
-
var
|
|
4330
|
-
r.subMeshUnfoldProgress = Math.min(1,
|
|
4179
|
+
var A = w * y;
|
|
4180
|
+
if (r.enableSubMesh && A >= 1 && !r.subMeshUnfoldStarted && (r.subMeshUnfoldStarted = !0, r.subMeshUnfoldStartTime = l), r.enableSubMesh && r.subMeshUnfoldStarted && r.subMeshUnfoldProgress < 1 && !r.isPaused) {
|
|
4181
|
+
var x = (t = r.config.range) !== null && t !== void 0 ? t : this._config.range, C = l - r.subMeshUnfoldStartTime;
|
|
4182
|
+
r.subMeshUnfoldProgress = Math.min(1, C * M / (y - 2 * x)), r.subMeshMaterial.uniforms.unfoldProgress.value = r.subMeshUnfoldProgress;
|
|
4331
4183
|
}
|
|
4332
4184
|
w < r.lastAnimationProgress && (r.isPathlineInitialAnimation = !1, (!r.enableSubMesh || r.subMeshUnfoldProgress >= 1) && (r.isInitialAnimation = !1));
|
|
4333
4185
|
} else
|
|
4334
4186
|
r.enableSubMesh && (r.subMeshMaterial.uniforms.unfoldProgress.value = 1);
|
|
4335
|
-
if (r.lastAnimationProgress = w, r.lastUpdateTime =
|
|
4336
|
-
|
|
4187
|
+
if (r.lastAnimationProgress = w, r.lastUpdateTime = l, r.isPathlineInitialAnimation && r.lines.forEach(function(X) {
|
|
4188
|
+
X.material.uniforms.time.value = l, X.material.uniforms.animationProgress.value = w;
|
|
4337
4189
|
}), r.isPathlineInitialAnimation) {
|
|
4338
4190
|
var E = null, b = 1 / 0;
|
|
4339
|
-
if (r.lines.forEach(function(
|
|
4340
|
-
for (var
|
|
4341
|
-
var
|
|
4342
|
-
if (w >=
|
|
4343
|
-
var
|
|
4344
|
-
|
|
4191
|
+
if (r.lines.forEach(function(X) {
|
|
4192
|
+
for (var $ = X.geometry, ae = $.attributes.instanceDistanceStart, z = $.attributes.instanceDistanceEnd, q = ae.count, I = 0; I < q; I++) {
|
|
4193
|
+
var L = ae.getX(I) / X.material.uniforms.totalLength.value, F = z.getX(I) / X.material.uniforms.totalLength.value;
|
|
4194
|
+
if (w >= L && w <= F) {
|
|
4195
|
+
var N = (w - L) / (F - L), j = new p.Vector3().fromBufferAttribute($.attributes.instanceStart, I), ne = new p.Vector3().fromBufferAttribute($.attributes.instanceEnd, I), K = new p.Vector3().lerpVectors(j, ne, N), U = Math.abs(w - (L + F) / 2);
|
|
4196
|
+
U < b && (b = U, E = K);
|
|
4345
4197
|
}
|
|
4346
4198
|
}
|
|
4347
4199
|
}), E)
|
|
4348
|
-
for (var T = 0; T <
|
|
4200
|
+
for (var T = 0; T < d; T++) {
|
|
4349
4201
|
var f = r.particleInfos[T];
|
|
4350
4202
|
!f.active && Math.random() < 0.05 && (f.active = !0, f.age = 0, f.life = 3 + Math.random() * 2, f.velocity.set((Math.random() - 0.5) * 1e-4, (Math.random() - 0.5) * 1e-4, (Math.random() - 0.5) * 1e-4), r.particlePositions[T * 3] = E.x, r.particlePositions[T * 3 + 1] = E.y, r.particlePositions[T * 3 + 2] = E.z, f.startPos.copy(E), f.alpha = 0);
|
|
4351
4203
|
}
|
|
4352
|
-
for (var T = 0; T <
|
|
4204
|
+
for (var T = 0; T < d; T++) {
|
|
4353
4205
|
var f = r.particleInfos[T];
|
|
4354
4206
|
if (f.active) {
|
|
4355
4207
|
f.age += 0.016;
|
|
4356
|
-
var
|
|
4357
|
-
(
|
|
4358
|
-
var
|
|
4359
|
-
|
|
4208
|
+
var O = r.particlePositions[T * 3] - f.startPos.x, S = r.particlePositions[T * 3 + 1] - f.startPos.y, D = r.particlePositions[T * 3 + 2] - f.startPos.z, W = Math.sqrt(O * O + S * S + D * D);
|
|
4209
|
+
(W >= c || f.age >= f.life) && (f.active = !1, r.particlePositions[T * 3] = 9999, r.particlePositions[T * 3 + 1] = 9999, r.particlePositions[T * 3 + 2] = 9999, f.alpha = 0), f.velocity.x += (Math.random() - 0.5) * 1e-4, f.velocity.z += (Math.random() - 0.5) * 1e-4, f.velocity.y += 1e-4, f.velocity.multiplyScalar(0.99), r.particlePositions[T * 3] += f.velocity.x, r.particlePositions[T * 3 + 1] += f.velocity.y, r.particlePositions[T * 3 + 2] += f.velocity.z;
|
|
4210
|
+
var H = f.age / f.life;
|
|
4211
|
+
H < 0.2 ? f.alpha = H / 0.2 : H > 0.8 ? f.alpha = (1 - H) / 0.2 : f.alpha = 1;
|
|
4360
4212
|
}
|
|
4361
4213
|
}
|
|
4362
4214
|
r.particleGeometry.attributes.position.needsUpdate = !0, r.particleMaterial.opacity = 0.6;
|
|
4363
4215
|
}
|
|
4364
4216
|
r.enableSubMesh && (r.subMeshMaterial.uniforms.animationProgress.value = w), this.five.needsRender = !0;
|
|
4365
4217
|
}
|
|
4366
|
-
},
|
|
4367
|
-
var t = this, r,
|
|
4368
|
-
if (!
|
|
4218
|
+
}, s.prototype.startPathAnimation = function(e, n) {
|
|
4219
|
+
var t = this, r, l, o = this.paths.get(e);
|
|
4220
|
+
if (!o)
|
|
4369
4221
|
return console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1;
|
|
4370
|
-
if (
|
|
4222
|
+
if (o.animationId !== null)
|
|
4371
4223
|
return !1;
|
|
4372
|
-
var
|
|
4373
|
-
if (!
|
|
4374
|
-
var
|
|
4224
|
+
var d = (r = n == null ? void 0 : n.startPointIndex) !== null && r !== void 0 ? r : 0, c = (l = n == null ? void 0 : n.fromStart) !== null && l !== void 0 ? l : !1;
|
|
4225
|
+
if (!o.isPaused || c) {
|
|
4226
|
+
var m = 0, y = d;
|
|
4375
4227
|
if (y > 0) {
|
|
4376
|
-
var M =
|
|
4228
|
+
var M = o.config.points;
|
|
4377
4229
|
y >= M.length && (console.warn("DynamicPathLinePlugin: startPointIndex ".concat(y, " 超出范围,路径只有 ").concat(M.length, " 个点")), y = M.length - 1);
|
|
4378
4230
|
for (var w = 0; w < y; w++)
|
|
4379
|
-
|
|
4231
|
+
m += M[w].distanceTo(M[w + 1]);
|
|
4380
4232
|
}
|
|
4381
|
-
|
|
4382
|
-
T.material.uniforms.startOffset.value =
|
|
4383
|
-
}),
|
|
4233
|
+
o.startOffset = m, o.lines.forEach(function(T) {
|
|
4234
|
+
T.material.uniforms.startOffset.value = m;
|
|
4235
|
+
}), o.enableSubMesh && (o.subMeshMaterial.uniforms.startOffset.value = m);
|
|
4384
4236
|
}
|
|
4385
|
-
var
|
|
4386
|
-
if (!c &&
|
|
4387
|
-
var
|
|
4388
|
-
if (
|
|
4389
|
-
var b =
|
|
4390
|
-
|
|
4237
|
+
var A = performance.now() / 1e3;
|
|
4238
|
+
if (!c && o.isPaused && o.pausedProgress > 0) {
|
|
4239
|
+
var x = o.curve.getLength(), C = Math.max(0.01, x - o.startOffset - o.endOffset), E = o.speed;
|
|
4240
|
+
if (o.cycleStartTime = A - o.pausedProgress * C / E, o.subMeshUnfoldStarted && o.subMeshUnfoldProgress < 1) {
|
|
4241
|
+
var b = o.pausedTime - o.subMeshUnfoldStartTime;
|
|
4242
|
+
o.subMeshUnfoldStartTime = A - b;
|
|
4391
4243
|
}
|
|
4392
|
-
|
|
4244
|
+
o.isPaused = !1;
|
|
4393
4245
|
} else
|
|
4394
|
-
|
|
4395
|
-
return
|
|
4246
|
+
o.cycleStartTime = A, o.isPaused = !1, o.pausedProgress = 0;
|
|
4247
|
+
return o.lastUpdateTime = A, this.highlightPath(e, !0), o.animationId = Xe.shared.add(function() {
|
|
4396
4248
|
t.updatePathAnimation(e);
|
|
4397
4249
|
}), !0;
|
|
4398
|
-
},
|
|
4250
|
+
}, s.prototype.stopPathAnimation = function(e, n) {
|
|
4399
4251
|
n === void 0 && (n = !1);
|
|
4400
4252
|
var t = this.paths.get(e);
|
|
4401
4253
|
if (!t)
|
|
4402
4254
|
return console.warn("DynamicPathLinePlugin: 路径 ".concat(e, " 不存在")), !1;
|
|
4403
4255
|
if (this.highlightPath(e, !1), t.animationId !== null) {
|
|
4404
4256
|
if (n) {
|
|
4405
|
-
var r = performance.now() / 1e3,
|
|
4406
|
-
if (t.pausedProgress = (r - t.cycleStartTime) *
|
|
4257
|
+
var r = performance.now() / 1e3, l = t.curve.getLength(), o = Math.max(0.01, l - t.startOffset - t.endOffset), d = t.speed;
|
|
4258
|
+
if (t.pausedProgress = (r - t.cycleStartTime) * d / o % 1, t.pausedTime = r, t.isPaused = !0, t.subMeshUnfoldStarted && t.subMeshUnfoldProgress < 1) {
|
|
4407
4259
|
var c = r - t.subMeshUnfoldStartTime;
|
|
4408
4260
|
t.subMeshUnfoldStartTime = r - c;
|
|
4409
4261
|
}
|
|
@@ -4412,108 +4264,108 @@ var Qn = (
|
|
|
4412
4264
|
t.animationId(), t.animationId = null;
|
|
4413
4265
|
}
|
|
4414
4266
|
return !0;
|
|
4415
|
-
},
|
|
4267
|
+
}, s.prototype._enable = function(e) {
|
|
4416
4268
|
this.paths.size > 0 && this.state.playing && this.play();
|
|
4417
|
-
},
|
|
4269
|
+
}, s.prototype._disable = function(e) {
|
|
4418
4270
|
this.pause();
|
|
4419
|
-
},
|
|
4271
|
+
}, s.prototype.enable = function(e) {
|
|
4420
4272
|
var n;
|
|
4421
4273
|
if (!this.state.enabled) {
|
|
4422
4274
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
4423
4275
|
this.updateState({ enabled: !0 }, t), this._enable({ userAction: t });
|
|
4424
4276
|
}
|
|
4425
|
-
},
|
|
4277
|
+
}, s.prototype.disable = function(e) {
|
|
4426
4278
|
var n;
|
|
4427
4279
|
if (this.state.enabled !== !1) {
|
|
4428
4280
|
var t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
4429
4281
|
this.updateState({ enabled: !1 }, t), this._disable({ userAction: t });
|
|
4430
4282
|
}
|
|
4431
|
-
},
|
|
4283
|
+
}, s.prototype.show = function(e) {
|
|
4432
4284
|
var n, t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
4433
4285
|
this.paths.forEach(function(r) {
|
|
4434
|
-
r.lines.forEach(function(
|
|
4435
|
-
return
|
|
4286
|
+
r.lines.forEach(function(l) {
|
|
4287
|
+
return l.visible = !0;
|
|
4436
4288
|
}), r.particles.visible = !0, r.subMesh.visible = !0;
|
|
4437
4289
|
}), this.updateState({ visible: !0 }, t);
|
|
4438
|
-
},
|
|
4290
|
+
}, s.prototype.hide = function(e) {
|
|
4439
4291
|
var n, t = (n = e == null ? void 0 : e.userAction) !== null && n !== void 0 ? n : !0;
|
|
4440
4292
|
this.paths.forEach(function(r) {
|
|
4441
|
-
r.lines.forEach(function(
|
|
4442
|
-
return
|
|
4293
|
+
r.lines.forEach(function(l) {
|
|
4294
|
+
return l.visible = !1;
|
|
4443
4295
|
}), r.particles.visible = !1, r.subMesh.visible = !1;
|
|
4444
4296
|
}), this.updateState({ visible: !1 }, t);
|
|
4445
|
-
},
|
|
4297
|
+
}, s.prototype.setState = function(e, n) {
|
|
4446
4298
|
var t;
|
|
4447
4299
|
t = n == null ? void 0 : n.userAction, e.enabled !== void 0 && e.enabled !== this.state.enabled && (e.enabled ? this.enable(n) : this.disable(n)), e.visible !== void 0 && e.visible !== this.state.visible && (e.visible ? this.show(n) : this.hide(n));
|
|
4448
|
-
},
|
|
4300
|
+
}, s.prototype.play = function(e) {
|
|
4449
4301
|
var n = this;
|
|
4450
4302
|
e === void 0 && (e = !1), this.paths.forEach(function(t, r) {
|
|
4451
4303
|
n.startPathAnimation(r, { fromStart: e });
|
|
4452
4304
|
}), this.updateState({ playing: !0 }, !1), this.hooks.emit("animationStart");
|
|
4453
|
-
},
|
|
4305
|
+
}, s.prototype.pause = function() {
|
|
4454
4306
|
var e = this;
|
|
4455
4307
|
this.paths.forEach(function(n, t) {
|
|
4456
4308
|
e.stopPathAnimation(t, !0);
|
|
4457
4309
|
}), this.updateState({ playing: !1 }, !1), this.hooks.emit("animationStop");
|
|
4458
|
-
},
|
|
4310
|
+
}, s.prototype.reset = function() {
|
|
4459
4311
|
var e = this;
|
|
4460
4312
|
this.paths.forEach(function(n, t) {
|
|
4461
4313
|
e.stopPathAnimation(t);
|
|
4462
4314
|
}), this.paths.forEach(function(n) {
|
|
4463
|
-
n.isInitialAnimation = !0, n.isPathlineInitialAnimation = !0, n.subMeshUnfoldProgress = 0, n.subMeshUnfoldStarted = !1, n.subMeshUnfoldStartTime = 0, n.lastAnimationProgress = 0, n.cycleStartTime = performance.now() / 1e3, n.lastUpdateTime = performance.now() / 1e3, n.startOffset = 0, n.endOffset = 0, n.isPaused = !1, n.pausedProgress = 0, n.pausedTime = 0, n.lines.forEach(function(
|
|
4464
|
-
|
|
4315
|
+
n.isInitialAnimation = !0, n.isPathlineInitialAnimation = !0, n.subMeshUnfoldProgress = 0, n.subMeshUnfoldStarted = !1, n.subMeshUnfoldStartTime = 0, n.lastAnimationProgress = 0, n.cycleStartTime = performance.now() / 1e3, n.lastUpdateTime = performance.now() / 1e3, n.startOffset = 0, n.endOffset = 0, n.isPaused = !1, n.pausedProgress = 0, n.pausedTime = 0, n.lines.forEach(function(o) {
|
|
4316
|
+
o.visible = !0, o.material.uniforms.time.value = 0, o.material.uniforms.animationProgress.value = 0, o.material.uniforms.startOffset.value = 0, o.material.uniforms.endOffset.value = 0;
|
|
4465
4317
|
}), n.particles.visible = !0;
|
|
4466
4318
|
for (var t = e._config.particleCount, r = 0; r < t; r++) {
|
|
4467
|
-
var
|
|
4468
|
-
|
|
4319
|
+
var l = n.particleInfos[r];
|
|
4320
|
+
l.active = !1, l.age = 0, l.alpha = 0, n.particlePositions[r * 3] = 9999, n.particlePositions[r * 3 + 1] = 9999, n.particlePositions[r * 3 + 2] = 9999;
|
|
4469
4321
|
}
|
|
4470
4322
|
n.particleGeometry.attributes.position.needsUpdate = !0, n.subMeshMaterial && (n.subMeshMaterial.uniforms.unfoldProgress.value = 0, n.subMeshMaterial.uniforms.animationProgress.value = 0, n.subMeshMaterial.uniforms.startOffset.value = 0, n.subMeshMaterial.uniforms.endOffset.value = 0);
|
|
4471
4323
|
});
|
|
4472
|
-
},
|
|
4324
|
+
}, s.prototype.highlightPath = function(e, n) {
|
|
4473
4325
|
var t = this, r = this.paths.get(e);
|
|
4474
4326
|
if (r)
|
|
4475
|
-
var
|
|
4476
|
-
|
|
4477
|
-
M.material.uniforms.opacity.value = 0.3 +
|
|
4478
|
-
}), r.particleMaterial.opacity = 0.3 +
|
|
4479
|
-
M.material.uniforms.opacity.value = 1 -
|
|
4480
|
-
}), r.particleMaterial.opacity = 0.6 * (1 -
|
|
4327
|
+
var l = r.lines, o = 0, d = 250, c = Xe.shared.add(function(m, y) {
|
|
4328
|
+
o = Math.min(1, o + y / d), n ? (l.forEach(function(M) {
|
|
4329
|
+
M.material.uniforms.opacity.value = 0.3 + o * 0.7;
|
|
4330
|
+
}), r.particleMaterial.opacity = 0.3 + o * 0.7, r.enableSubMesh && (r.subMeshMaterial.uniforms.globalOpacity.value = 0.3 + o * 0.7)) : (l.forEach(function(M) {
|
|
4331
|
+
M.material.uniforms.opacity.value = 1 - o * 0.7;
|
|
4332
|
+
}), r.particleMaterial.opacity = 0.6 * (1 - o * 0.7), r.enableSubMesh && (r.subMeshMaterial.uniforms.globalOpacity.value = 1 - o * 0.7)), t.five.needsRender = !0, o === 1 && c();
|
|
4481
4333
|
});
|
|
4482
|
-
},
|
|
4483
|
-
var n = this, t = function(
|
|
4484
|
-
var
|
|
4485
|
-
|
|
4486
|
-
var c = n.findFarestOffscreenPoint(
|
|
4487
|
-
c && (
|
|
4488
|
-
|
|
4489
|
-
}),
|
|
4334
|
+
}, s.prototype.updateScreenProjection = function(e) {
|
|
4335
|
+
var n = this, t = function(l) {
|
|
4336
|
+
var o = n.projectPointsToScreen(l.config.points, n.five.camera), d = n.findNearestOffscreenPoint(o);
|
|
4337
|
+
d && (l.startOffset = d.distance);
|
|
4338
|
+
var c = n.findFarestOffscreenPoint(o);
|
|
4339
|
+
c && (l.endOffset = c.totalLength - c.distance), l.lines.forEach(function(m) {
|
|
4340
|
+
m.material.uniforms.startOffset.value = l.startOffset, m.material.uniforms.endOffset.value = l.endOffset;
|
|
4341
|
+
}), l.subMeshMaterial.uniforms.startOffset.value = l.startOffset, l.subMeshMaterial.uniforms.endOffset.value = l.endOffset, l.cycleStartTime = performance.now() / 1e3, l.lastAnimationProgress = 0;
|
|
4490
4342
|
};
|
|
4491
4343
|
if (e) {
|
|
4492
4344
|
var r = this.paths.get(e);
|
|
4493
4345
|
r && t(r);
|
|
4494
4346
|
} else
|
|
4495
|
-
this.paths.forEach(function(
|
|
4496
|
-
|
|
4347
|
+
this.paths.forEach(function(l) {
|
|
4348
|
+
l.enabled && t(l);
|
|
4497
4349
|
});
|
|
4498
|
-
},
|
|
4350
|
+
}, s.prototype.disposePathResources = function(e) {
|
|
4499
4351
|
var n = this;
|
|
4500
4352
|
e.lines.forEach(function(t) {
|
|
4501
4353
|
n.five.scene.remove(t), t.geometry.dispose(), t.material.dispose();
|
|
4502
4354
|
}), this.five.scene.remove(e.particles), e.particleGeometry.dispose(), e.particleMaterial.dispose(), this.five.scene.remove(e.subMesh), e.subMeshGeometry.dispose(), e.subMeshMaterial.dispose();
|
|
4503
|
-
},
|
|
4355
|
+
}, s.prototype.dispose = function() {
|
|
4504
4356
|
this.pause(), this.clearAllPaths(), this.hooks.emit("dispose");
|
|
4505
|
-
},
|
|
4506
|
-
})(
|
|
4507
|
-
), or = function(
|
|
4508
|
-
return new Qn(
|
|
4357
|
+
}, s;
|
|
4358
|
+
})(Ot.Controller)
|
|
4359
|
+
), or = function(h, s) {
|
|
4360
|
+
return new Qn(h, s);
|
|
4509
4361
|
};
|
|
4510
4362
|
export {
|
|
4511
4363
|
rr as BackgroundPlugin,
|
|
4512
|
-
|
|
4513
|
-
|
|
4364
|
+
qe as BasePlugin,
|
|
4365
|
+
zn as CSS3DRenderer,
|
|
4514
4366
|
or as DynamicPathLinePlugin,
|
|
4515
4367
|
tr as ItemMaskPlugin,
|
|
4516
|
-
|
|
4368
|
+
Ke as OrbitControls,
|
|
4517
4369
|
nr as OrientationPlugin,
|
|
4518
4370
|
ir as PanoAnimePlugin,
|
|
4519
4371
|
jn as RoundedBoxGeometry,
|