@realsee/five 6.8.1 → 6.8.2
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/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
- package/docs/classes/five.BoundingMesh.html +1 -1
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +1 -1
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.Model.html +1 -1
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +1 -1
- package/docs/classes/five.PBMGSObject.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +1 -1
- package/docs/classes/five.PBMPanoFilter.html +1 -1
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.Parameter.html +1 -1
- package/docs/classes/five.Tile3D.html +1 -1
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.WorkResolvedObserver.html +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/plugins.CSS2DObject.html +1 -1
- package/docs/classes/plugins.CSS3DObject.html +1 -1
- package/docs/classes/plugins.CSS3DSprite.html +1 -1
- package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +18 -0
- package/docs/classes/plugins.Object3DHelperController.html +1 -1
- package/docs/classes/plugins.PointBufferGeometry.html +12 -0
- package/docs/classes/plugins.PrefabBufferGeometry.html +24 -0
- package/docs/classes/plugins.RoundedBoxGeometry.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/functions/react.useFivePlugin.html +5 -4
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.GestureEvent.html +13 -13
- package/docs/interfaces/five.GesturePointer.html +9 -9
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
- package/docs/interfaces/five.ModeChangeEvent.html +2 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +3 -3
- package/docs/interfaces/five.ModelSceneEvent.html +2 -2
- package/docs/interfaces/five.ModelTileEvent.html +3 -3
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
- package/docs/interfaces/five.ObjectEvent.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoPrepareEvent.html +8 -4
- package/docs/interfaces/five.PanoTextureEvent.html +5 -5
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
- package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
- package/docs/interfaces/five.ParameterValue.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +2 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.ViewLayer.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +1 -1
- package/docs/interfaces/five.WorkObserverProto.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorksEvent.html +3 -3
- package/docs/interfaces/five.XRControllerEvent.html +4 -4
- package/docs/interfaces/five.XRControllerState.html +4 -4
- package/docs/interfaces/five.XRGestureEvent.html +7 -7
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.XRSessionEvent.html +3 -3
- package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginController.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginType.State.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginController.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginType.State.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.GaussianSplattingEntranceAnimationController.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.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.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +1 -1
- package/docs/interfaces/react.FiveAppProps.html +3 -3
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/docs/interfaces/react.UseFivePluginOptions.html +5 -0
- package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +5 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/types/five.ParseOptions.html +1 -1
- package/docs/variables/react.FiveApp.html +1 -1
- package/five/controllers/panorama.d.ts +2 -2
- package/five/controllers/xrPanorama.d.ts +4 -2
- package/five/index.js +22 -22
- package/five/index.mjs +502 -488
- package/five/utils/event.d.ts +5 -1
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -3
- package/plugins/index.mjs +587 -468
- package/plugins/thirdParty/instancedPrefabBufferGeometry.d.ts +32 -0
- package/plugins/thirdParty/pointBufferGeometry.d.ts +22 -0
- package/plugins/thirdParty/prefabBufferGeometry.d.ts +38 -0
- package/react/hooks/useFivePlugin.d.ts +7 -11
- package/react/index.d.ts +1 -1
- package/react/index.js +3 -3
- package/react/index.mjs +11 -10
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +3 -3
- package/umd/five-react.js +3 -3
- 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 +7 -7
- 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.8.
|
|
4
|
+
* Generated: 5/8/2026
|
|
5
|
+
* Version: 6.8.2
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -254,18 +254,18 @@
|
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
255
|
*/import { AnimationFrameLoop as e, Camera as t, PanoCircleMesh as n, Subscribe as r } from "@realsee/five";
|
|
256
256
|
import * as i from "three";
|
|
257
|
-
import {
|
|
258
|
-
import { BasePlugin as
|
|
257
|
+
import { BufferAttribute as a, BufferGeometry as o, EventDispatcher as s, InstancedBufferAttribute as c, InstancedBufferGeometry as l, MOUSE as u, Matrix4 as d, Object3D as f, Quaternion as p, Spherical as m, TOUCH as h, Vector2 as g, Vector3 as _ } from "three";
|
|
258
|
+
import { BasePlugin as v } from "@realsee/five/plugins";
|
|
259
259
|
//#region build/plugins/utils/absoluteUrl.js
|
|
260
|
-
function
|
|
260
|
+
function y(e) {
|
|
261
261
|
return /^https?:\/\/|^\/\//.test(e) || /^data:/.test(e);
|
|
262
262
|
}
|
|
263
|
-
function
|
|
264
|
-
return
|
|
263
|
+
function b(e, t) {
|
|
264
|
+
return y(t) ? t : `${e}${t}`;
|
|
265
265
|
}
|
|
266
266
|
//#endregion
|
|
267
267
|
//#region build/plugins/BasePlugin/index.js
|
|
268
|
-
var
|
|
268
|
+
var x;
|
|
269
269
|
(function(e) {
|
|
270
270
|
class t {
|
|
271
271
|
constructor(e, t) {
|
|
@@ -275,14 +275,14 @@ var _;
|
|
|
275
275
|
return this.state;
|
|
276
276
|
}
|
|
277
277
|
absoluteUrl(e) {
|
|
278
|
-
return
|
|
278
|
+
return b(this.staticPrefix, e);
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
e.Controller = t;
|
|
282
|
-
})(
|
|
282
|
+
})(x || (x = {}));
|
|
283
283
|
//#endregion
|
|
284
284
|
//#region node_modules/tslib/tslib.es6.mjs
|
|
285
|
-
function
|
|
285
|
+
function S(e, t, n, r) {
|
|
286
286
|
function i(e) {
|
|
287
287
|
return e instanceof n ? e : new n(function(t) {
|
|
288
288
|
t(e);
|
|
@@ -311,7 +311,7 @@ function v(e, t, n, r) {
|
|
|
311
311
|
}
|
|
312
312
|
//#endregion
|
|
313
313
|
//#region build/plugins/utils/loadImage.js
|
|
314
|
-
function
|
|
314
|
+
function C(e) {
|
|
315
315
|
return new Promise((t, n) => {
|
|
316
316
|
let r = new Image();
|
|
317
317
|
r.onload = function() {
|
|
@@ -323,34 +323,34 @@ function y(e) {
|
|
|
323
323
|
}
|
|
324
324
|
//#endregion
|
|
325
325
|
//#region build/plugins/utils/now.js
|
|
326
|
-
var
|
|
326
|
+
var w = typeof performance < "u" && performance.timing !== void 0 ? performance.timing.navigationStart : Date.now(), T = typeof performance < "u" ? (() => w + performance.now()) : (() => Date.now());
|
|
327
327
|
//#endregion
|
|
328
328
|
//#region build/plugins/utils/motion.js
|
|
329
|
-
function
|
|
329
|
+
function E(e, t, n) {
|
|
330
330
|
return e + (t - e) * n;
|
|
331
331
|
}
|
|
332
|
-
function
|
|
332
|
+
function D(e, t, n, r) {
|
|
333
333
|
let i = (t * n + 2 * e) / Math.pow(n, 3), a = -(2 * t * n + 3 * e) / Math.pow(n, 2), o = t, s = e;
|
|
334
334
|
return i * Math.pow(r, 3) + a * Math.pow(r, 2) + o * r + s;
|
|
335
335
|
}
|
|
336
|
-
function
|
|
336
|
+
function O(e, t, n, r) {
|
|
337
337
|
let i = (t * n + 2 * e) / Math.pow(n, 3), a = -(2 * t * n + 3 * e) / Math.pow(n, 2), o = t;
|
|
338
338
|
return 3 * i * Math.pow(r, 2) + 2 * a * r + o;
|
|
339
339
|
}
|
|
340
|
-
function
|
|
340
|
+
function ee(e, t, n, r) {
|
|
341
341
|
let i = r[1] - r[0];
|
|
342
|
-
return e =
|
|
342
|
+
return e = k(e, r), t = k(t, r), t - e > i / 2 ? E(e + i, t, n) : e - t > i / 2 ? E(e - i, t, n) : E(e, t, n);
|
|
343
343
|
}
|
|
344
|
-
function
|
|
344
|
+
function k(e, t) {
|
|
345
345
|
let n = t[1] - t[0];
|
|
346
|
-
return e < t[0] ?
|
|
346
|
+
return e < t[0] ? k(e + n, t) : e >= t[1] ? k(e - n, t) : e;
|
|
347
347
|
}
|
|
348
|
-
function
|
|
349
|
-
return r ?
|
|
348
|
+
function te(e, t, n, r) {
|
|
349
|
+
return r ? ee(e, t, n, r) : E(e, t, n);
|
|
350
350
|
}
|
|
351
|
-
var
|
|
351
|
+
var ne = class {
|
|
352
352
|
constructor(e) {
|
|
353
|
-
this.config = {}, this.progress = 1, this.ended = !0, this.value = {}, this.startTime =
|
|
353
|
+
this.config = {}, this.progress = 1, this.ended = !0, this.value = {}, this.startTime = T(), this.startVelocity = 0, this.duration = 0, this.keyframes = [];
|
|
354
354
|
for (let t in e) {
|
|
355
355
|
let n = e[t];
|
|
356
356
|
typeof n == "number" ? (this.value[t] = n, this.config[t] = { circle: !1 }) : (this.value[t] = n.value, this.config[t] = { circle: n.circle });
|
|
@@ -365,14 +365,14 @@ var O = class {
|
|
|
365
365
|
}
|
|
366
366
|
getProgress(e) {
|
|
367
367
|
let t = e - this.startTime;
|
|
368
|
-
return t < 0 ? 0 : t >= this.duration ? 1 : 1 -
|
|
368
|
+
return t < 0 ? 0 : t >= this.duration ? 1 : 1 - D(1, this.startVelocity, this.duration, t);
|
|
369
369
|
}
|
|
370
370
|
getValue(e) {
|
|
371
371
|
for (let t = 1; t < this.keyframes.length; t++) if (this.keyframes[t].progress > e) {
|
|
372
372
|
let n = this.keyframes[t - 1], r = this.keyframes[t], i = {};
|
|
373
373
|
for (let t in this.config) {
|
|
374
374
|
let a = (e - n.progress) / (r.progress - n.progress);
|
|
375
|
-
i[t] =
|
|
375
|
+
i[t] = te(n.value[t], r.value[t], a, this.config[t].circle);
|
|
376
376
|
}
|
|
377
377
|
return i;
|
|
378
378
|
}
|
|
@@ -380,7 +380,7 @@ var O = class {
|
|
|
380
380
|
}
|
|
381
381
|
getProgressVelocity(e) {
|
|
382
382
|
let t = e - this.startTime;
|
|
383
|
-
return t >= this.duration ? 0 :
|
|
383
|
+
return t >= this.duration ? 0 : O(1, this.startVelocity, this.duration, t);
|
|
384
384
|
}
|
|
385
385
|
update(e) {
|
|
386
386
|
return this.ended ? !0 : (this.progress = Math.min(1, Math.max(0, this.progress, this.getProgress(e))), this.value = this.getValue(this.progress), this.ended = this.progress >= 1, this.ended && this.callbacks && (this.callbacks[0](), this.callbacks = void 0), this.ended);
|
|
@@ -395,7 +395,7 @@ var O = class {
|
|
|
395
395
|
}
|
|
396
396
|
set(e, t, n = 0, r) {
|
|
397
397
|
var i;
|
|
398
|
-
isNaN(t) && (t = 0), isNaN(n) && (n = 0), r = r == null ?
|
|
398
|
+
isNaN(t) && (t = 0), isNaN(n) && (n = 0), r = r == null ? T() : r;
|
|
399
399
|
let a = this.getProgress(r), o = this.getValue(a), s = {};
|
|
400
400
|
for (let t in this.config) s[t] = (i = e[t]) == null ? o[t] : i;
|
|
401
401
|
let c = [{
|
|
@@ -410,13 +410,13 @@ var O = class {
|
|
|
410
410
|
setKeyframes(e, t, n = 0, r) {
|
|
411
411
|
if (e.length < 2) throw Error("keyframes invalid.");
|
|
412
412
|
return isNaN(t) && (t = 0), isNaN(n) && (n = 0), this.callbacks && (this.callbacks[1](/* @__PURE__ */ Error("motion aborted.")), this.callbacks = void 0), new Promise((i, a) => {
|
|
413
|
-
r = r == null ?
|
|
413
|
+
r = r == null ? T() : r, this.progress = 0, this.ended = !1, this.startTime = r, this.startVelocity = n, this.keyframes = e, this.duration = t, t === 0 ? (this.progress = 1, this.value = Object.assign({}, e[e.length - 1].value)) : this.value = Object.assign({}, e[0].value), this.callbacks = [i, a];
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
416
|
dispose() {
|
|
417
417
|
this.callbacks && (this.callbacks[1](/* @__PURE__ */ Error("motion dispose.")), this.callbacks = void 0);
|
|
418
418
|
}
|
|
419
|
-
},
|
|
419
|
+
}, re = [
|
|
420
420
|
{
|
|
421
421
|
progress: 0,
|
|
422
422
|
value: {
|
|
@@ -449,7 +449,7 @@ var O = class {
|
|
|
449
449
|
shadow: .5
|
|
450
450
|
}
|
|
451
451
|
}
|
|
452
|
-
],
|
|
452
|
+
], ie = [
|
|
453
453
|
{
|
|
454
454
|
progress: 0,
|
|
455
455
|
value: {
|
|
@@ -482,7 +482,7 @@ var O = class {
|
|
|
482
482
|
shadow: .5
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
|
-
],
|
|
485
|
+
], ae = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", oe = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform vec4 color;\n\nfloat colorGap(vec3 color1, vec3 color2) {\n float gap = abs(color1.r - color2.r) + abs(color1.g - color2.g) + abs(color1.b - color2.b);\n return gap;\n}\n\nvoid main() {\n vec3 u_outlineColor = vec3(1.0, 0.0, 0.0);\n vec4 image = texture2D(map, vUv);\n vec2 invSize = 1.0 / vec2(2048, 1024);\n if (colorGap(image.rgb, color.rgb) < 0.05 && colorGap(color.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n }\n else {\n vec2 offsetX = vec2(1.0, 0.0);\n vec2 offsetY = vec2(0.0, 1.0);\n vec2 offsetXY = vec2(1.0, 1.0);\n vec2 offsetYX = vec2(-1.0, 1.0);\n float count = 0.0;\n for (float i = -4.0; i <= 4.0; i++) {\n vec4 c1 = texture2D(map, vUv + i * invSize * offsetX / 4.0);\n vec4 c2 = texture2D(map, vUv + i * invSize * offsetY / 4.0);\n vec4 c3 = texture2D(map, vUv + i * invSize * offsetXY / 4.0);\n vec4 c4 = texture2D(map, vUv + i * invSize * offsetYX / 4.0);\n if (colorGap(c1.rgb, color.rgb) < 0.05 && colorGap(c1.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c2.rgb, color.rgb) < 0.05 && colorGap(c2.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c3.rgb, color.rgb) < 0.05 && colorGap(c3.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c4.rgb, color.rgb) < 0.05 && colorGap(c4.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n }\n if (count > 0.0) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, mix(0.0, 1.0, count / (4.0 * 8.0 + 1.0)));\n }\n }\n}\n", se = class extends x.Controller {
|
|
486
486
|
get config() {
|
|
487
487
|
return Object.assign({}, this._config);
|
|
488
488
|
}
|
|
@@ -497,8 +497,8 @@ var O = class {
|
|
|
497
497
|
constructor(t, n) {
|
|
498
498
|
super(t), this.canvas = document.createElement("canvas"), this.group = new i.Group(), this.wrapper = document.createElement("div"), this.style = document.createElement("style"), this.itemMaskMesh = (() => {
|
|
499
499
|
let e = new i.Mesh(new i.SphereBufferGeometry(1, 60, 40), new i.ShaderMaterial({
|
|
500
|
-
vertexShader:
|
|
501
|
-
fragmentShader:
|
|
500
|
+
vertexShader: ae,
|
|
501
|
+
fragmentShader: oe,
|
|
502
502
|
uniforms: {
|
|
503
503
|
map: { value: new i.Texture() },
|
|
504
504
|
color: { value: new i.Vector4() }
|
|
@@ -512,11 +512,11 @@ var O = class {
|
|
|
512
512
|
this.state.mode === "mask" && this.loadPanoMask(e);
|
|
513
513
|
}, this.onFiveWantsMoveToPano = (e) => {
|
|
514
514
|
this.state.mode === "box" && this.select();
|
|
515
|
-
}, this.loadPanoMask = (e) =>
|
|
515
|
+
}, this.loadPanoMask = (e) => S(this, void 0, void 0, function* () {
|
|
516
516
|
var t;
|
|
517
517
|
let { five: n, canvas: r, itemMaskMesh: a, data: o } = this, s = r.getContext("2d"), c = n.observers[e], l = (t = o == null ? void 0 : o.object_mask_list.find((e) => e.derived_id === String(c.derivedId))) == null ? void 0 : t.object_mask_url;
|
|
518
518
|
if (!l) return;
|
|
519
|
-
let u = yield
|
|
519
|
+
let u = yield C(l);
|
|
520
520
|
r.width = u.width, r.height = u.height, s == null || s.drawImage(u, 0, 0, u.width, u.height), a.material.uniforms.map.value.image = u, a.material.uniforms.map.value.minFilter = i.LinearFilter, a.material.uniforms.map.value.needsUpdate = !0, a.position.copy(c.position), a.quaternion.copy(c.quaternion), n.scene.add(a), n.needsRender = !0;
|
|
521
521
|
}), this.onFiveMouseMove = (e) => {
|
|
522
522
|
var t;
|
|
@@ -532,16 +532,16 @@ var O = class {
|
|
|
532
532
|
let [i] = t.intersectObjects(this.group.children.filter((e) => e.userData.visible_viewpoint.includes(String(r.derivedId))), !0);
|
|
533
533
|
if (i) {
|
|
534
534
|
this.select(i.object.name), this.stopAnimation && this.stopAnimation(), this.tapPosition = i.point, this.changeTapScreenPosition();
|
|
535
|
-
let t = new
|
|
535
|
+
let t = new ne({
|
|
536
536
|
opacity: 0,
|
|
537
537
|
scale: 0,
|
|
538
538
|
shadow: 2
|
|
539
|
-
}), r = new
|
|
539
|
+
}), r = new ne({
|
|
540
540
|
opacity: 0,
|
|
541
541
|
scale: 0,
|
|
542
542
|
shadow: 2
|
|
543
543
|
});
|
|
544
|
-
return t.setKeyframes(
|
|
544
|
+
return t.setKeyframes(re, 1e3), r.setKeyframes(ie, 1e3), this.stopAnimation = e.shared.add((e, i, ...a) => {
|
|
545
545
|
var o;
|
|
546
546
|
let s = t.update(e), c = r.update(e);
|
|
547
547
|
this.wrapper.firstChild.style.opacity = `${t.value.opacity}`, this.wrapper.firstChild.style.transform = `scale(${t.value.scale})`, this.wrapper.firstChild.style.boxShadow = `0 0 0 ${t.value.shadow}px #fff`, this.wrapper.lastChild.style.opacity = `${r.value.opacity}`, this.wrapper.lastChild.style.transform = `scale(${r.value.scale})`, this.wrapper.lastChild.style.boxShadow = `0 0 0 ${r.value.shadow}px #fff`, s && c && ((o = this.stopAnimation) == null || o.call(this), this.stopAnimation = void 0, n.getElement().parentElement.removeChild(this.wrapper));
|
|
@@ -565,7 +565,7 @@ var O = class {
|
|
|
565
565
|
}, n == null ? void 0 : n.initialState), this._config = Object.assign({}, n == null ? void 0 : n.config), this.group.rotateX(Math.PI), this.wrapper.className = "ItemMaskPlugin", this.wrapper.innerHTML = "<span class=\"ItemMaskPluginCircle\"></span><span class=\"ItemMaskPluginCircle\"></span>", this.style.innerHTML = "\n .ItemMaskPlugin {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n }\n .ItemMaskPluginCircle {\n position: absolute;\n top: -10px;\n left: -10px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n box-shadow: 0px 0px 0px 2px #fff;\n }\n ", this.state.enabled && this._enable({ userAction: !1 });
|
|
566
566
|
}
|
|
567
567
|
load(e) {
|
|
568
|
-
return
|
|
568
|
+
return S(this, void 0, void 0, function* () {
|
|
569
569
|
this.data = e;
|
|
570
570
|
let t = e.data_list.map((e) => {
|
|
571
571
|
let t = e.position.end.map((e) => Number(e)), n = e.position.start.map((e) => Number(e)), r = Math.abs(t[0] - n[0]), a = Math.abs(t[1] - n[1]), o = Math.abs(t[2] - n[2]), s = t[0] / 2 + n[0] / 2, c = t[1] / 2 + n[1] / 2, l = t[2] / 2 + n[2] / 2, u = new i.Vector3(s, c, l), d = new i.BoxBufferGeometry(r, a, o), f = new i.ShaderMaterial({
|
|
@@ -624,7 +624,7 @@ var O = class {
|
|
|
624
624
|
let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
|
|
625
625
|
this.updateState({ enabled: !1 }, n), this._disable({ userAction: n });
|
|
626
626
|
}
|
|
627
|
-
},
|
|
627
|
+
}, ce = (e, t) => new se(e, t), le = (function(e, t, n, r) {
|
|
628
628
|
var i = [
|
|
629
629
|
"",
|
|
630
630
|
"webkit",
|
|
@@ -730,15 +730,15 @@ var O = class {
|
|
|
730
730
|
}
|
|
731
731
|
return r;
|
|
732
732
|
}
|
|
733
|
-
var
|
|
734
|
-
function
|
|
735
|
-
return
|
|
733
|
+
var k = 1;
|
|
734
|
+
function te() {
|
|
735
|
+
return k++;
|
|
736
736
|
}
|
|
737
|
-
function
|
|
737
|
+
function ne(t) {
|
|
738
738
|
var n = t.ownerDocument || t;
|
|
739
739
|
return n.defaultView || n.parentWindow || e;
|
|
740
740
|
}
|
|
741
|
-
var
|
|
741
|
+
var re = /mobile|tablet|ip(ad|hone|od)|android/i, ie = "ontouchstart" in e, ae = ee(e, "PointerEvent") !== r, oe = ie && re.test(navigator.userAgent), se = "touch", ce = "pen", le = "mouse", A = "kinect", ue = 25, j = 1, M = 2, N = 4, P = 8, de = 1, F = 2, I = 4, L = 8, R = 16, z = F | I, B = L | R, V = z | B, H = ["x", "y"], fe = ["clientX", "clientY"];
|
|
742
742
|
function U(e, t) {
|
|
743
743
|
var n = this;
|
|
744
744
|
this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) {
|
|
@@ -748,18 +748,18 @@ var O = class {
|
|
|
748
748
|
U.prototype = {
|
|
749
749
|
handler: function() {},
|
|
750
750
|
init: function() {
|
|
751
|
-
this.evEl && x(this.element, this.evEl, this.domHandler), this.evTarget && x(this.target, this.evTarget, this.domHandler), this.evWin && x(
|
|
751
|
+
this.evEl && x(this.element, this.evEl, this.domHandler), this.evTarget && x(this.target, this.evTarget, this.domHandler), this.evWin && x(ne(this.element), this.evWin, this.domHandler);
|
|
752
752
|
},
|
|
753
753
|
destroy: function() {
|
|
754
|
-
this.evEl && S(this.element, this.evEl, this.domHandler), this.evTarget && S(this.target, this.evTarget, this.domHandler), this.evWin && S(
|
|
754
|
+
this.evEl && S(this.element, this.evEl, this.domHandler), this.evTarget && S(this.target, this.evTarget, this.domHandler), this.evWin && S(ne(this.element), this.evWin, this.domHandler);
|
|
755
755
|
}
|
|
756
756
|
};
|
|
757
757
|
function pe(e) {
|
|
758
758
|
var t;
|
|
759
|
-
return t = e.options.inputClass || (
|
|
759
|
+
return t = e.options.inputClass || (ae ? Pe : oe ? He : ie ? Ke : ke), new t(e, me);
|
|
760
760
|
}
|
|
761
761
|
function me(e, t, n) {
|
|
762
|
-
var r = n.pointers.length, i = n.changedPointers.length, a = t &
|
|
762
|
+
var r = n.pointers.length, i = n.changedPointers.length, a = t & j && r - i === 0, o = t & (N | P) && r - i === 0;
|
|
763
763
|
n.isFirst = !!a, n.isFinal = !!o, a && (e.session = {}), n.eventType = t, he(e, n), e.emit("hammer.input", n), e.recognize(n), e.session.prevInput = n;
|
|
764
764
|
}
|
|
765
765
|
function he(e, t) {
|
|
@@ -774,7 +774,7 @@ var O = class {
|
|
|
774
774
|
}
|
|
775
775
|
function ge(e, t) {
|
|
776
776
|
var n = t.center, r = e.offsetDelta || {}, i = e.prevDelta || {}, a = e.prevInput || {};
|
|
777
|
-
(t.eventType ===
|
|
777
|
+
(t.eventType === j || a.eventType === N) && (i = e.prevDelta = {
|
|
778
778
|
x: a.deltaX || 0,
|
|
779
779
|
y: a.deltaY || 0
|
|
780
780
|
}, r = e.offsetDelta = {
|
|
@@ -784,7 +784,7 @@ var O = class {
|
|
|
784
784
|
}
|
|
785
785
|
function _e(e, t) {
|
|
786
786
|
var n = e.lastInterval || t, i = t.timeStamp - n.timeStamp, a, o, s, l;
|
|
787
|
-
if (t.eventType !=
|
|
787
|
+
if (t.eventType != P && (i > ue || n.velocity === r)) {
|
|
788
788
|
var u = t.deltaX - n.deltaX, d = t.deltaY - n.deltaY, f = be(i, u, d);
|
|
789
789
|
o = f.x, s = f.y, a = c(f.x) > c(f.y) ? f.x : f.y, l = xe(u, d), e.lastInterval = t;
|
|
790
790
|
} else a = n.velocity, o = n.velocityX, s = n.velocityY, l = n.direction;
|
|
@@ -822,15 +822,15 @@ var O = class {
|
|
|
822
822
|
};
|
|
823
823
|
}
|
|
824
824
|
function xe(e, t) {
|
|
825
|
-
return e === t ?
|
|
825
|
+
return e === t ? de : c(e) >= c(t) ? e < 0 ? F : I : t < 0 ? L : R;
|
|
826
826
|
}
|
|
827
827
|
function Se(e, t, n) {
|
|
828
|
-
n || (n =
|
|
828
|
+
n || (n = H);
|
|
829
829
|
var r = t[n[0]] - e[n[0]], i = t[n[1]] - e[n[1]];
|
|
830
830
|
return Math.sqrt(r * r + i * i);
|
|
831
831
|
}
|
|
832
832
|
function Ce(e, t, n) {
|
|
833
|
-
n || (n =
|
|
833
|
+
n || (n = H);
|
|
834
834
|
var r = t[n[0]] - e[n[0]], i = t[n[1]] - e[n[1]];
|
|
835
835
|
return Math.atan2(i, r) * 180 / Math.PI;
|
|
836
836
|
}
|
|
@@ -841,41 +841,41 @@ var O = class {
|
|
|
841
841
|
return Se(t[0], t[1], fe) / Se(e[0], e[1], fe);
|
|
842
842
|
}
|
|
843
843
|
var Ee = {
|
|
844
|
-
mousedown:
|
|
845
|
-
mousemove:
|
|
846
|
-
mouseup:
|
|
844
|
+
mousedown: j,
|
|
845
|
+
mousemove: M,
|
|
846
|
+
mouseup: N
|
|
847
847
|
}, De = "mousedown", Oe = "mousemove mouseup";
|
|
848
848
|
function ke() {
|
|
849
849
|
this.evEl = De, this.evWin = Oe, this.pressed = !1, U.apply(this, arguments);
|
|
850
850
|
}
|
|
851
851
|
_(ke, U, { handler: function(e) {
|
|
852
852
|
var t = Ee[e.type];
|
|
853
|
-
t &
|
|
853
|
+
t & j && (e.button === 0 || e.button === 2) && (this.pressed = !0), t & M && e.which !== 1 && (t = N), this.pressed && (t & N && (this.pressed = !1), this.callback(this.manager, t, {
|
|
854
854
|
pointers: [e],
|
|
855
855
|
changedPointers: [e],
|
|
856
|
-
pointerType:
|
|
856
|
+
pointerType: le,
|
|
857
857
|
srcEvent: e
|
|
858
858
|
}));
|
|
859
859
|
} });
|
|
860
860
|
var Ae = {
|
|
861
|
-
pointerdown:
|
|
862
|
-
pointermove:
|
|
863
|
-
pointerup:
|
|
864
|
-
pointercancel:
|
|
865
|
-
pointerout:
|
|
861
|
+
pointerdown: j,
|
|
862
|
+
pointermove: M,
|
|
863
|
+
pointerup: N,
|
|
864
|
+
pointercancel: P,
|
|
865
|
+
pointerout: P
|
|
866
866
|
}, je = {
|
|
867
|
-
2:
|
|
868
|
-
3:
|
|
869
|
-
4:
|
|
870
|
-
5:
|
|
867
|
+
2: se,
|
|
868
|
+
3: ce,
|
|
869
|
+
4: le,
|
|
870
|
+
5: A
|
|
871
871
|
}, Me = "pointerdown", Ne = "pointermove pointerup pointercancel";
|
|
872
872
|
e.MSPointerEvent && !e.PointerEvent && (Me = "MSPointerDown", Ne = "MSPointerMove MSPointerUp MSPointerCancel");
|
|
873
873
|
function Pe() {
|
|
874
874
|
this.evEl = Me, this.evWin = Ne, U.apply(this, arguments), this.store = this.manager.session.pointerEvents = [];
|
|
875
875
|
}
|
|
876
876
|
_(Pe, U, { handler: function(e) {
|
|
877
|
-
var t = this.store, n = !1, r = !1, i = Ae[e.type.toLowerCase().replace("ms", "")], a = je[e.pointerType] || e.pointerType, o = a ==
|
|
878
|
-
i &
|
|
877
|
+
var t = this.store, n = !1, r = !1, i = Ae[e.type.toLowerCase().replace("ms", "")], a = je[e.pointerType] || e.pointerType, o = a == se, s = E(t, e.pointerId, "pointerId");
|
|
878
|
+
i & j && (e.button === 0 || e.button === 2 || o) ? s < 0 && (t.push(e), s = t.length - 1) : i & (N | P) ? n = !0 : !o && e.buttons === 0 && (n = !0, r = !0, i = Ae.pointerup), !(s < 0) && (r || (t[s] = e), this.callback(this.manager, i, {
|
|
879
879
|
pointers: t,
|
|
880
880
|
changedPointers: [e],
|
|
881
881
|
pointerType: a,
|
|
@@ -883,35 +883,35 @@ var O = class {
|
|
|
883
883
|
}), n && t.splice(s, 1));
|
|
884
884
|
} });
|
|
885
885
|
var Fe = {
|
|
886
|
-
touchstart:
|
|
887
|
-
touchmove:
|
|
888
|
-
touchend:
|
|
889
|
-
touchcancel:
|
|
886
|
+
touchstart: j,
|
|
887
|
+
touchmove: M,
|
|
888
|
+
touchend: N,
|
|
889
|
+
touchcancel: P
|
|
890
890
|
}, Ie = "touchstart", Le = "touchstart touchmove touchend touchcancel";
|
|
891
891
|
function Re() {
|
|
892
892
|
this.evTarget = Ie, this.evWin = Le, this.started = !1, U.apply(this, arguments);
|
|
893
893
|
}
|
|
894
894
|
_(Re, U, { handler: function(e) {
|
|
895
895
|
var t = Fe[e.type];
|
|
896
|
-
if (t ===
|
|
896
|
+
if (t === j && (this.started = !0), this.started) {
|
|
897
897
|
var n = ze.call(this, e, t);
|
|
898
|
-
t & (
|
|
898
|
+
t & (N | P) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {
|
|
899
899
|
pointers: n[0],
|
|
900
900
|
changedPointers: n[1],
|
|
901
|
-
pointerType:
|
|
901
|
+
pointerType: se,
|
|
902
902
|
srcEvent: e
|
|
903
903
|
});
|
|
904
904
|
}
|
|
905
905
|
} });
|
|
906
906
|
function ze(e, t) {
|
|
907
907
|
var n = D(e.touches), r = D(e.changedTouches);
|
|
908
|
-
return t & (
|
|
908
|
+
return t & (N | P) && (n = O(n.concat(r), "identifier", !0)), [n, r];
|
|
909
909
|
}
|
|
910
910
|
var Be = {
|
|
911
|
-
touchstart:
|
|
912
|
-
touchmove:
|
|
913
|
-
touchend:
|
|
914
|
-
touchcancel:
|
|
911
|
+
touchstart: j,
|
|
912
|
+
touchmove: M,
|
|
913
|
+
touchend: N,
|
|
914
|
+
touchcancel: P
|
|
915
915
|
}, Ve = "touchstart touchmove touchend touchcancel";
|
|
916
916
|
function He() {
|
|
917
917
|
this.evTarget = Ve, this.targetIds = {}, U.apply(this, arguments);
|
|
@@ -921,18 +921,18 @@ var O = class {
|
|
|
921
921
|
n && this.callback(this.manager, t, {
|
|
922
922
|
pointers: n[0],
|
|
923
923
|
changedPointers: n[1],
|
|
924
|
-
pointerType:
|
|
924
|
+
pointerType: se,
|
|
925
925
|
srcEvent: e
|
|
926
926
|
});
|
|
927
927
|
} });
|
|
928
928
|
function Ue(e, t) {
|
|
929
929
|
var n = D(e.touches), r = this.targetIds;
|
|
930
|
-
if (t & (
|
|
930
|
+
if (t & (j | M) && n.length === 1) return r[n[0].identifier] = !0, [n, n];
|
|
931
931
|
var i, a, o = D(e.changedTouches), s = [], c = this.target;
|
|
932
932
|
if (a = n.filter(function(e) {
|
|
933
933
|
return C(e.target, c);
|
|
934
|
-
}), t ===
|
|
935
|
-
for (i = 0; i < o.length;) r[o[i].identifier] && s.push(o[i]), t & (
|
|
934
|
+
}), t === j) for (i = 0; i < a.length;) r[a[i].identifier] = !0, i++;
|
|
935
|
+
for (i = 0; i < o.length;) r[o[i].identifier] && s.push(o[i]), t & (N | P) && delete r[o[i].identifier], i++;
|
|
936
936
|
if (s.length) return [O(a.concat(s), "identifier", !0), s];
|
|
937
937
|
}
|
|
938
938
|
var We = 2500, Ge = 25;
|
|
@@ -943,7 +943,7 @@ var O = class {
|
|
|
943
943
|
}
|
|
944
944
|
_(Ke, U, {
|
|
945
945
|
handler: function(e, t, n) {
|
|
946
|
-
var r = n.pointerType ==
|
|
946
|
+
var r = n.pointerType == se, i = n.pointerType == le;
|
|
947
947
|
if (!(i && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) {
|
|
948
948
|
if (r) qe.call(this, t, n);
|
|
949
949
|
else if (i && Ye.call(this, n)) return;
|
|
@@ -955,7 +955,7 @@ var O = class {
|
|
|
955
955
|
}
|
|
956
956
|
});
|
|
957
957
|
function qe(e, t) {
|
|
958
|
-
e &
|
|
958
|
+
e & j ? (this.primaryTouch = t.changedPointers[0].identifier, Je.call(this, t)) : e & (N | P) && Je.call(this, t);
|
|
959
959
|
}
|
|
960
960
|
function Je(e) {
|
|
961
961
|
var t = e.changedPointers[0];
|
|
@@ -979,13 +979,13 @@ var O = class {
|
|
|
979
979
|
}
|
|
980
980
|
return !1;
|
|
981
981
|
}
|
|
982
|
-
var Xe = a ? ee(a.style, "touchAction") : r, Ze = Xe !== r, Qe = "compute", $e = "auto", et = "manipulation", W = "none", tt = "pan-x", nt = "pan-y",
|
|
983
|
-
function
|
|
982
|
+
var Xe = a ? ee(a.style, "touchAction") : r, Ze = Xe !== r, Qe = "compute", $e = "auto", et = "manipulation", W = "none", tt = "pan-x", nt = "pan-y", rt = ot();
|
|
983
|
+
function it(e, t) {
|
|
984
984
|
this.manager = e, this.set(t);
|
|
985
985
|
}
|
|
986
|
-
|
|
986
|
+
it.prototype = {
|
|
987
987
|
set: function(e) {
|
|
988
|
-
e == Qe && (e = this.compute()), Ze && this.manager.element.style &&
|
|
988
|
+
e == Qe && (e = this.compute()), Ze && this.manager.element.style && rt[e] && (this.manager.element.style[Xe] = e), this.actions = e.toLowerCase().trim();
|
|
989
989
|
},
|
|
990
990
|
update: function() {
|
|
991
991
|
this.set(this.manager.options.touchAction);
|
|
@@ -994,7 +994,7 @@ var O = class {
|
|
|
994
994
|
var e = [];
|
|
995
995
|
return f(this.manager.recognizers, function(t) {
|
|
996
996
|
y(t.options.enable, [t]) && (e = e.concat(t.getTouchAction()));
|
|
997
|
-
}),
|
|
997
|
+
}), at(e.join(" "));
|
|
998
998
|
},
|
|
999
999
|
preventDefaults: function(e) {
|
|
1000
1000
|
var t = e.srcEvent, n = e.offsetDirection;
|
|
@@ -1002,23 +1002,23 @@ var O = class {
|
|
|
1002
1002
|
t.preventDefault();
|
|
1003
1003
|
return;
|
|
1004
1004
|
}
|
|
1005
|
-
var r = this.actions, i = w(r, W) && !
|
|
1005
|
+
var r = this.actions, i = w(r, W) && !rt[W], a = w(r, nt) && !rt[nt], o = w(r, tt) && !rt[tt];
|
|
1006
1006
|
if (i) {
|
|
1007
1007
|
var s = e.pointers.length === 1, c = e.distance < 2, l = e.deltaTime < 250;
|
|
1008
1008
|
if (s && c && l) return;
|
|
1009
1009
|
}
|
|
1010
|
-
if (!(o && a) && (i || a && n &
|
|
1010
|
+
if (!(o && a) && (i || a && n & z || o && n & B)) return this.preventSrc(t);
|
|
1011
1011
|
},
|
|
1012
1012
|
preventSrc: function(e) {
|
|
1013
1013
|
this.manager.session.prevented = !0, e.preventDefault();
|
|
1014
1014
|
}
|
|
1015
1015
|
};
|
|
1016
|
-
function
|
|
1016
|
+
function at(e) {
|
|
1017
1017
|
if (w(e, W)) return W;
|
|
1018
1018
|
var t = w(e, tt), n = w(e, nt);
|
|
1019
1019
|
return t && n ? W : t || n ? t ? tt : nt : w(e, et) ? et : $e;
|
|
1020
1020
|
}
|
|
1021
|
-
function
|
|
1021
|
+
function ot() {
|
|
1022
1022
|
if (!Ze) return !1;
|
|
1023
1023
|
var t = {}, n = e.CSS && e.CSS.supports;
|
|
1024
1024
|
return [
|
|
@@ -1032,9 +1032,9 @@ var O = class {
|
|
|
1032
1032
|
t[r] = n ? e.CSS.supports("touch-action", r) : !0;
|
|
1033
1033
|
}), t;
|
|
1034
1034
|
}
|
|
1035
|
-
var
|
|
1035
|
+
var G = 1, K = 2, q = 4, J = 8, Y = J, st = 16, X = 32;
|
|
1036
1036
|
function Z(e) {
|
|
1037
|
-
this.options = m({}, this.defaults, e || {}), this.id =
|
|
1037
|
+
this.options = m({}, this.defaults, e || {}), this.id = te(), this.manager = null, this.options.enable = b(this.options.enable, !0), this.state = G, this.simultaneous = {}, this.requireFail = [];
|
|
1038
1038
|
}
|
|
1039
1039
|
Z.prototype = {
|
|
1040
1040
|
defaults: {},
|
|
@@ -1079,7 +1079,7 @@ var O = class {
|
|
|
1079
1079
|
},
|
|
1080
1080
|
canEmit: function() {
|
|
1081
1081
|
for (var e = 0; e < this.requireFail.length;) {
|
|
1082
|
-
if (!(this.requireFail[e].state & (X |
|
|
1082
|
+
if (!(this.requireFail[e].state & (X | G))) return !1;
|
|
1083
1083
|
e++;
|
|
1084
1084
|
}
|
|
1085
1085
|
return !0;
|
|
@@ -1090,17 +1090,17 @@ var O = class {
|
|
|
1090
1090
|
this.reset(), this.state = X;
|
|
1091
1091
|
return;
|
|
1092
1092
|
}
|
|
1093
|
-
this.state & (Y | st | X) && (this.state =
|
|
1093
|
+
this.state & (Y | st | X) && (this.state = G), this.state = this.process(t), this.state & (K | q | J | st) && this.tryEmit(t);
|
|
1094
1094
|
},
|
|
1095
1095
|
process: function(e) {},
|
|
1096
1096
|
getTouchAction: function() {},
|
|
1097
1097
|
reset: function() {}
|
|
1098
1098
|
};
|
|
1099
1099
|
function ct(e) {
|
|
1100
|
-
return e & st ? "cancel" : e & J ? "end" : e &
|
|
1100
|
+
return e & st ? "cancel" : e & J ? "end" : e & q ? "move" : e & K ? "start" : "";
|
|
1101
1101
|
}
|
|
1102
1102
|
function lt(e) {
|
|
1103
|
-
return e ==
|
|
1103
|
+
return e == R ? "down" : e == L ? "up" : e == F ? "left" : e == I ? "right" : "";
|
|
1104
1104
|
}
|
|
1105
1105
|
function ut(e, t) {
|
|
1106
1106
|
var n = t.manager;
|
|
@@ -1116,8 +1116,8 @@ var O = class {
|
|
|
1116
1116
|
return t === 0 || e.pointers.length === t;
|
|
1117
1117
|
},
|
|
1118
1118
|
process: function(e) {
|
|
1119
|
-
var t = this.state, n = e.eventType, r = t & (
|
|
1120
|
-
return r && (n &
|
|
1119
|
+
var t = this.state, n = e.eventType, r = t & (K | q), i = this.attrTest(e);
|
|
1120
|
+
return r && (n & P || !i) ? t | st : r || i ? n & N ? t | J : t & K ? t | q : K : X;
|
|
1121
1121
|
}
|
|
1122
1122
|
});
|
|
1123
1123
|
function dt() {
|
|
@@ -1128,18 +1128,18 @@ var O = class {
|
|
|
1128
1128
|
event: "pan",
|
|
1129
1129
|
threshold: 10,
|
|
1130
1130
|
pointers: 1,
|
|
1131
|
-
direction:
|
|
1131
|
+
direction: V
|
|
1132
1132
|
},
|
|
1133
1133
|
getTouchAction: function() {
|
|
1134
1134
|
var e = this.options.direction, t = [];
|
|
1135
|
-
return e &
|
|
1135
|
+
return e & z && t.push(nt), e & B && t.push(tt), t;
|
|
1136
1136
|
},
|
|
1137
1137
|
directionTest: function(e) {
|
|
1138
1138
|
var t = this.options, n = !0, r = e.distance, i = e.direction, a = e.deltaX, o = e.deltaY;
|
|
1139
|
-
return i & t.direction || (t.direction &
|
|
1139
|
+
return i & t.direction || (t.direction & z ? (i = a === 0 ? de : a < 0 ? F : I, n = a != this.pX, r = Math.abs(e.deltaX)) : (i = o === 0 ? de : o < 0 ? L : R, n = o != this.pY, r = Math.abs(e.deltaY))), e.direction = i, n && r > t.threshold && i & t.direction;
|
|
1140
1140
|
},
|
|
1141
1141
|
attrTest: function(e) {
|
|
1142
|
-
return Q.prototype.attrTest.call(this, e) && (this.state &
|
|
1142
|
+
return Q.prototype.attrTest.call(this, e) && (this.state & K || !(this.state & K) && this.directionTest(e));
|
|
1143
1143
|
},
|
|
1144
1144
|
emit: function(e) {
|
|
1145
1145
|
this.pX = e.deltaX, this.pY = e.deltaY;
|
|
@@ -1160,7 +1160,7 @@ var O = class {
|
|
|
1160
1160
|
return [W];
|
|
1161
1161
|
},
|
|
1162
1162
|
attrTest: function(e) {
|
|
1163
|
-
return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1) > this.options.threshold || this.state &
|
|
1163
|
+
return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1) > this.options.threshold || this.state & K);
|
|
1164
1164
|
},
|
|
1165
1165
|
emit: function(e) {
|
|
1166
1166
|
if (e.scale !== 1) {
|
|
@@ -1185,18 +1185,18 @@ var O = class {
|
|
|
1185
1185
|
},
|
|
1186
1186
|
process: function(e) {
|
|
1187
1187
|
var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime > t.time;
|
|
1188
|
-
if (this._input = e, !r || !n || e.eventType & (
|
|
1189
|
-
else if (e.eventType &
|
|
1188
|
+
if (this._input = e, !r || !n || e.eventType & (N | P) && !i) this.reset();
|
|
1189
|
+
else if (e.eventType & j) this.reset(), this._timer = u(function() {
|
|
1190
1190
|
this.state = Y, this.tryEmit();
|
|
1191
1191
|
}, t.time, this);
|
|
1192
|
-
else if (e.eventType &
|
|
1192
|
+
else if (e.eventType & N) return Y;
|
|
1193
1193
|
return X;
|
|
1194
1194
|
},
|
|
1195
1195
|
reset: function() {
|
|
1196
1196
|
clearTimeout(this._timer);
|
|
1197
1197
|
},
|
|
1198
1198
|
emit: function(e) {
|
|
1199
|
-
this.state === Y && (e && e.eventType &
|
|
1199
|
+
this.state === Y && (e && e.eventType & N ? this.manager.emit(this.options.event + "up", e) : (this._input.timeStamp = l(), this.manager.emit(this.options.event, this._input)));
|
|
1200
1200
|
}
|
|
1201
1201
|
});
|
|
1202
1202
|
function mt() {
|
|
@@ -1212,7 +1212,7 @@ var O = class {
|
|
|
1212
1212
|
return [W];
|
|
1213
1213
|
},
|
|
1214
1214
|
attrTest: function(e) {
|
|
1215
|
-
return this._super.attrTest.call(this, e) && (Math.abs(e.rotation) > this.options.threshold || this.state &
|
|
1215
|
+
return this._super.attrTest.call(this, e) && (Math.abs(e.rotation) > this.options.threshold || this.state & K);
|
|
1216
1216
|
}
|
|
1217
1217
|
});
|
|
1218
1218
|
function ht() {
|
|
@@ -1223,7 +1223,7 @@ var O = class {
|
|
|
1223
1223
|
event: "swipe",
|
|
1224
1224
|
threshold: 10,
|
|
1225
1225
|
velocity: .3,
|
|
1226
|
-
direction:
|
|
1226
|
+
direction: z | B,
|
|
1227
1227
|
pointers: 1
|
|
1228
1228
|
},
|
|
1229
1229
|
getTouchAction: function() {
|
|
@@ -1231,7 +1231,7 @@ var O = class {
|
|
|
1231
1231
|
},
|
|
1232
1232
|
attrTest: function(e) {
|
|
1233
1233
|
var t = this.options.direction, n;
|
|
1234
|
-
return t & (
|
|
1234
|
+
return t & (z | B) ? n = e.overallVelocity : t & z ? n = e.overallVelocityX : t & B && (n = e.overallVelocityY), this._super.attrTest.call(this, e) && t & e.offsetDirection && e.distance > this.options.threshold && e.maxPointers == this.options.pointers && c(n) > this.options.velocity && e.eventType & N;
|
|
1235
1235
|
},
|
|
1236
1236
|
emit: function(e) {
|
|
1237
1237
|
var t = lt(e.offsetDirection);
|
|
@@ -1256,13 +1256,13 @@ var O = class {
|
|
|
1256
1256
|
},
|
|
1257
1257
|
process: function(e) {
|
|
1258
1258
|
var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime < t.time;
|
|
1259
|
-
if (this.reset(), e.eventType &
|
|
1259
|
+
if (this.reset(), e.eventType & j && this.count === 0) return this.failTimeout();
|
|
1260
1260
|
if (r && i && n) {
|
|
1261
|
-
if (e.eventType !=
|
|
1261
|
+
if (e.eventType != N) return this.failTimeout();
|
|
1262
1262
|
var a = this.pTime ? e.timeStamp - this.pTime < t.interval : !0, o = !this.pCenter || Se(this.pCenter, e.center) < t.posThreshold;
|
|
1263
1263
|
if (this.pTime = e.timeStamp, this.pCenter = e.center, !o || !a ? this.count = 1 : this.count += 1, this._input = e, this.count % t.taps === 0) return this.hasRequireFailures() ? (this._timer = u(function() {
|
|
1264
1264
|
this.state = Y, this.tryEmit();
|
|
1265
|
-
}, t.interval, this),
|
|
1265
|
+
}, t.interval, this), K) : Y;
|
|
1266
1266
|
}
|
|
1267
1267
|
return X;
|
|
1268
1268
|
},
|
|
@@ -1294,10 +1294,10 @@ var O = class {
|
|
|
1294
1294
|
{ enable: !1 },
|
|
1295
1295
|
["rotate"]
|
|
1296
1296
|
],
|
|
1297
|
-
[ht, { direction:
|
|
1297
|
+
[ht, { direction: z }],
|
|
1298
1298
|
[
|
|
1299
1299
|
dt,
|
|
1300
|
-
{ direction:
|
|
1300
|
+
{ direction: z },
|
|
1301
1301
|
["swipe"]
|
|
1302
1302
|
],
|
|
1303
1303
|
[gt],
|
|
@@ -1322,7 +1322,7 @@ var O = class {
|
|
|
1322
1322
|
};
|
|
1323
1323
|
var vt = 1, yt = 2;
|
|
1324
1324
|
function bt(e, t) {
|
|
1325
|
-
this.options = m({}, _t.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = pe(this), this.touchAction = new
|
|
1325
|
+
this.options = m({}, _t.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = pe(this), this.touchAction = new it(this, this.options.touchAction), xt(this, !0), f(this.options.recognizers, function(e) {
|
|
1326
1326
|
var t = this.add(new e[0](e[1]));
|
|
1327
1327
|
e[2] && t.recognizeWith(e[2]), e[3] && t.requireFailure(e[3]);
|
|
1328
1328
|
}, this);
|
|
@@ -1340,7 +1340,7 @@ var O = class {
|
|
|
1340
1340
|
this.touchAction.preventDefaults(e);
|
|
1341
1341
|
var n, r = this.recognizers, i = t.curRecognizer;
|
|
1342
1342
|
(!i || i && i.state & Y) && (i = t.curRecognizer = null);
|
|
1343
|
-
for (var a = 0; a < r.length;) n = r[a], t.stopped !== yt && (!i || n == i || n.canRecognizeWith(i)) ? n.recognize(e) : n.reset(), !i && n.state & (
|
|
1343
|
+
for (var a = 0; a < r.length;) n = r[a], t.stopped !== yt && (!i || n == i || n.canRecognizeWith(i)) ? n.recognize(e) : n.reset(), !i && n.state & (K | q | J) && (i = t.curRecognizer = n), a++;
|
|
1344
1344
|
}
|
|
1345
1345
|
},
|
|
1346
1346
|
get: function(e) {
|
|
@@ -1405,28 +1405,28 @@ var O = class {
|
|
|
1405
1405
|
r.initEvent(e, !0, !0), r.gesture = n, n.target.dispatchEvent(r);
|
|
1406
1406
|
}
|
|
1407
1407
|
return m(_t, {
|
|
1408
|
-
INPUT_START:
|
|
1409
|
-
INPUT_MOVE:
|
|
1410
|
-
INPUT_END:
|
|
1411
|
-
INPUT_CANCEL:
|
|
1412
|
-
STATE_POSSIBLE:
|
|
1413
|
-
STATE_BEGAN:
|
|
1414
|
-
STATE_CHANGED:
|
|
1408
|
+
INPUT_START: j,
|
|
1409
|
+
INPUT_MOVE: M,
|
|
1410
|
+
INPUT_END: N,
|
|
1411
|
+
INPUT_CANCEL: P,
|
|
1412
|
+
STATE_POSSIBLE: G,
|
|
1413
|
+
STATE_BEGAN: K,
|
|
1414
|
+
STATE_CHANGED: q,
|
|
1415
1415
|
STATE_ENDED: J,
|
|
1416
1416
|
STATE_RECOGNIZED: Y,
|
|
1417
1417
|
STATE_CANCELLED: st,
|
|
1418
1418
|
STATE_FAILED: X,
|
|
1419
|
-
DIRECTION_NONE:
|
|
1420
|
-
DIRECTION_LEFT:
|
|
1421
|
-
DIRECTION_RIGHT:
|
|
1422
|
-
DIRECTION_UP:
|
|
1423
|
-
DIRECTION_DOWN:
|
|
1424
|
-
DIRECTION_HORIZONTAL:
|
|
1425
|
-
DIRECTION_VERTICAL:
|
|
1426
|
-
DIRECTION_ALL:
|
|
1419
|
+
DIRECTION_NONE: de,
|
|
1420
|
+
DIRECTION_LEFT: F,
|
|
1421
|
+
DIRECTION_RIGHT: I,
|
|
1422
|
+
DIRECTION_UP: L,
|
|
1423
|
+
DIRECTION_DOWN: R,
|
|
1424
|
+
DIRECTION_HORIZONTAL: z,
|
|
1425
|
+
DIRECTION_VERTICAL: B,
|
|
1426
|
+
DIRECTION_ALL: V,
|
|
1427
1427
|
Manager: bt,
|
|
1428
1428
|
Input: U,
|
|
1429
|
-
TouchAction:
|
|
1429
|
+
TouchAction: it,
|
|
1430
1430
|
TouchInput: He,
|
|
1431
1431
|
MouseInput: ke,
|
|
1432
1432
|
PointerEventInput: Pe,
|
|
@@ -1451,36 +1451,36 @@ var O = class {
|
|
|
1451
1451
|
prefixed: ee
|
|
1452
1452
|
}), _t;
|
|
1453
1453
|
})(typeof window < "u" ? window : {}, typeof document < "u" ? document : {}, "Hammer"), A = function(e, t) {
|
|
1454
|
-
t === void 0 && console.warn("THREE.OrbitControls: The second parameter \"domElement\" is now mandatory."), t === document && console.error("THREE.OrbitControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead."), this.object = e, this.domElement = t, this.enabled = !0, this.target = new
|
|
1454
|
+
t === void 0 && console.warn("THREE.OrbitControls: The second parameter \"domElement\" is now mandatory."), t === document && console.error("THREE.OrbitControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead."), this.object = e, this.domElement = t, this.enabled = !0, this.target = new _(), this.minDistance = 0, this.maxDistance = Infinity, this.minZoom = 0, this.maxZoom = Infinity, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -Infinity, this.maxAzimuthAngle = Infinity, this.enableDamping = !1, this.dampingFactor = .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 = {
|
|
1455
1455
|
LEFT: 37,
|
|
1456
1456
|
UP: 38,
|
|
1457
1457
|
RIGHT: 39,
|
|
1458
1458
|
BOTTOM: 40
|
|
1459
1459
|
}, this.mouseButtons = {
|
|
1460
|
-
LEFT:
|
|
1461
|
-
MIDDLE:
|
|
1462
|
-
RIGHT:
|
|
1460
|
+
LEFT: u.ROTATE,
|
|
1461
|
+
MIDDLE: u.DOLLY,
|
|
1462
|
+
RIGHT: u.PAN
|
|
1463
1463
|
}, this.touches = {
|
|
1464
|
-
ONE:
|
|
1465
|
-
TWO:
|
|
1464
|
+
ONE: h.ROTATE,
|
|
1465
|
+
TWO: h.DOLLY_PAN
|
|
1466
1466
|
}, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this.getPolarAngle = function() {
|
|
1467
|
-
return
|
|
1467
|
+
return l.phi;
|
|
1468
1468
|
}, this.getAzimuthalAngle = function() {
|
|
1469
|
-
return
|
|
1469
|
+
return l.theta;
|
|
1470
1470
|
}, this.saveState = function() {
|
|
1471
1471
|
n.target0.copy(n.target), n.position0.copy(n.object.position), n.zoom0 = n.object.zoom;
|
|
1472
1472
|
}, this.reset = function() {
|
|
1473
|
-
n.target.copy(n.target0), n.object.position.copy(n.position0), n.object.zoom = n.zoom0, n.object.updateProjectionMatrix(), n.dispatchEvent(r), n.update(),
|
|
1473
|
+
n.target.copy(n.target0), n.object.position.copy(n.position0), n.object.zoom = n.zoom0, n.object.updateProjectionMatrix(), n.dispatchEvent(r), n.update(), s = o.NONE;
|
|
1474
1474
|
}, this.update = function() {
|
|
1475
|
-
var t = new
|
|
1475
|
+
var t = new _(), i = new p().setFromUnitVectors(e.up, new _(0, 1, 0)), a = i.clone().inverse(), u = new _(), m = new p();
|
|
1476
1476
|
return function() {
|
|
1477
1477
|
var e = n.object.position;
|
|
1478
|
-
return t.copy(e).sub(n.target), t.applyQuaternion(i),
|
|
1478
|
+
return t.copy(e).sub(n.target), t.applyQuaternion(i), l.setFromVector3(t), n.autoRotate && s === o.NONE && te(ee()), n.enableDamping ? (l.theta += d.theta * n.dampingFactor, l.phi += d.phi * n.dampingFactor) : (l.theta += d.theta, l.phi += d.phi), l.theta = Math.max(n.minAzimuthAngle, Math.min(n.maxAzimuthAngle, l.theta)), l.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, l.phi)), l.makeSafe(), l.radius *= f, l.radius = Math.max(n.minDistance, Math.min(n.maxDistance, l.radius)), n.enableDamping === !0 ? n.target.addScaledVector(v, n.dampingFactor) : n.target.add(v), t.setFromSpherical(l), t.applyQuaternion(a), e.copy(n.target).add(t), n.object.lookAt(n.target), n.enableDamping === !0 ? (d.theta *= 1 - n.dampingFactor, d.phi *= 1 - n.dampingFactor, v.multiplyScalar(1 - n.dampingFactor)) : (d.set(0, 0, 0), v.set(0, 0, 0)), f = 1, y || u.distanceToSquared(n.object.position) > c || 8 * (1 - m.dot(n.object.quaternion)) > c ? (n.dispatchEvent(r), u.copy(n.object.position), m.copy(n.object.quaternion), y = !1, !0) : !1;
|
|
1479
1479
|
};
|
|
1480
1480
|
}(), this.dispose = function() {
|
|
1481
1481
|
n.domElement.removeEventListener("contextmenu", be, !1), n.domElement.removeEventListener("mousedown", U, !1), n.domElement.removeEventListener("wheel", he, !1), n.domElement.removeEventListener("touchstart", _e, !1), n.domElement.removeEventListener("touchend", ye, !1), n.domElement.removeEventListener("touchmove", ve, !1), document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.domElement.removeEventListener("keydown", ge, !1);
|
|
1482
1482
|
};
|
|
1483
|
-
var n = this, r = { type: "change" }, i = { type: "start" }, a = { type: "end" },
|
|
1483
|
+
var n = this, r = { type: "change" }, i = { type: "start" }, a = { type: "end" }, o = {
|
|
1484
1484
|
NONE: -1,
|
|
1485
1485
|
ROTATE: 0,
|
|
1486
1486
|
DOLLY: 1,
|
|
@@ -1489,113 +1489,113 @@ var O = class {
|
|
|
1489
1489
|
TOUCH_PAN: 4,
|
|
1490
1490
|
TOUCH_DOLLY_PAN: 5,
|
|
1491
1491
|
TOUCH_DOLLY_ROTATE: 6
|
|
1492
|
-
},
|
|
1492
|
+
}, s = o.NONE, c = 1e-6, l = new m(), d = new m(), f = 1, v = new _(), y = !1, b = new g(), x = new g(), S = new g(), C = new g(), w = new g(), T = new g(), E = new g(), D = new g(), O = new g();
|
|
1493
1493
|
function ee() {
|
|
1494
1494
|
return 2 * Math.PI / 60 / 60 * n.autoRotateSpeed;
|
|
1495
1495
|
}
|
|
1496
|
-
function
|
|
1496
|
+
function k() {
|
|
1497
1497
|
return Math.pow(.95, n.zoomSpeed);
|
|
1498
1498
|
}
|
|
1499
|
-
function
|
|
1500
|
-
|
|
1499
|
+
function te(e) {
|
|
1500
|
+
d.theta -= e;
|
|
1501
1501
|
}
|
|
1502
|
-
function
|
|
1503
|
-
|
|
1502
|
+
function ne(e) {
|
|
1503
|
+
d.phi -= e;
|
|
1504
1504
|
}
|
|
1505
|
-
var
|
|
1506
|
-
var e = new
|
|
1505
|
+
var re = function() {
|
|
1506
|
+
var e = new _();
|
|
1507
1507
|
return function(t, n) {
|
|
1508
1508
|
e.setFromMatrixColumn(n, 0), e.multiplyScalar(-t), v.add(e);
|
|
1509
1509
|
};
|
|
1510
|
-
}(),
|
|
1511
|
-
var e = new
|
|
1510
|
+
}(), ie = function() {
|
|
1511
|
+
var e = new _();
|
|
1512
1512
|
return function(t, r) {
|
|
1513
1513
|
n.screenSpacePanning === !0 ? e.setFromMatrixColumn(r, 1) : (e.setFromMatrixColumn(r, 0), e.crossVectors(n.object.up, e)), e.multiplyScalar(t), v.add(e);
|
|
1514
1514
|
};
|
|
1515
|
-
}(),
|
|
1516
|
-
var e = new
|
|
1515
|
+
}(), ae = function() {
|
|
1516
|
+
var e = new _();
|
|
1517
1517
|
return function(t, r) {
|
|
1518
1518
|
var i = n.domElement;
|
|
1519
1519
|
if (n.object.isPerspectiveCamera) {
|
|
1520
1520
|
var a = n.object.position;
|
|
1521
1521
|
e.copy(a).sub(n.target);
|
|
1522
1522
|
var o = e.length();
|
|
1523
|
-
o *= Math.tan(n.object.fov / 2 * Math.PI / 180),
|
|
1524
|
-
} else n.object.isOrthographicCamera ? (
|
|
1523
|
+
o *= Math.tan(n.object.fov / 2 * Math.PI / 180), re(2 * t * o / i.clientHeight, n.object.matrix), ie(2 * r * o / i.clientHeight, n.object.matrix);
|
|
1524
|
+
} else n.object.isOrthographicCamera ? (re(t * (n.object.right - n.object.left) / n.object.zoom / i.clientWidth, n.object.matrix), ie(r * (n.object.top - n.object.bottom) / n.object.zoom / i.clientHeight, n.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), n.enablePan = !1);
|
|
1525
1525
|
};
|
|
1526
1526
|
}();
|
|
1527
|
-
function
|
|
1528
|
-
n.object.isPerspectiveCamera ?
|
|
1527
|
+
function oe(e) {
|
|
1528
|
+
n.object.isPerspectiveCamera ? f /= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
|
|
1529
1529
|
}
|
|
1530
|
-
function
|
|
1531
|
-
n.object.isPerspectiveCamera ?
|
|
1530
|
+
function se(e) {
|
|
1531
|
+
n.object.isPerspectiveCamera ? f *= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
|
|
1532
1532
|
}
|
|
1533
|
-
function
|
|
1533
|
+
function ce(e) {
|
|
1534
1534
|
b.set(e.clientX, e.clientY);
|
|
1535
1535
|
}
|
|
1536
|
-
function
|
|
1536
|
+
function le(e) {
|
|
1537
1537
|
E.set(e.clientX, e.clientY);
|
|
1538
1538
|
}
|
|
1539
|
-
function
|
|
1539
|
+
function A(e) {
|
|
1540
1540
|
C.set(e.clientX, e.clientY);
|
|
1541
1541
|
}
|
|
1542
|
-
function
|
|
1542
|
+
function ue(e) {
|
|
1543
1543
|
x.set(e.clientX, e.clientY), S.subVectors(x, b).multiplyScalar(n.rotateSpeed);
|
|
1544
1544
|
var t = n.domElement;
|
|
1545
|
-
|
|
1545
|
+
te(2 * Math.PI * S.x / t.clientHeight), ne(2 * Math.PI * S.y / t.clientHeight), b.copy(x), n.update();
|
|
1546
|
+
}
|
|
1547
|
+
function j(e) {
|
|
1548
|
+
D.set(e.clientX, e.clientY), O.subVectors(D, E), O.y > 0 ? oe(k()) : O.y < 0 && se(k()), E.copy(D), n.update();
|
|
1546
1549
|
}
|
|
1547
1550
|
function M(e) {
|
|
1548
|
-
|
|
1551
|
+
w.set(e.clientX, e.clientY), T.subVectors(w, C).multiplyScalar(n.panSpeed), ae(T.x, T.y), C.copy(w), n.update();
|
|
1549
1552
|
}
|
|
1550
1553
|
function N(e) {
|
|
1551
|
-
|
|
1554
|
+
e.deltaY < 0 ? se(k()) : e.deltaY > 0 && oe(k()), n.update();
|
|
1552
1555
|
}
|
|
1553
1556
|
function P(e) {
|
|
1554
|
-
e.deltaY < 0 ? j(te()) : e.deltaY > 0 && A(te()), n.update();
|
|
1555
|
-
}
|
|
1556
|
-
function F(e) {
|
|
1557
1557
|
var t = !1;
|
|
1558
1558
|
switch (e.keyCode) {
|
|
1559
1559
|
case n.keys.UP:
|
|
1560
|
-
|
|
1560
|
+
ae(0, n.keyPanSpeed), t = !0;
|
|
1561
1561
|
break;
|
|
1562
1562
|
case n.keys.BOTTOM:
|
|
1563
|
-
|
|
1563
|
+
ae(0, -n.keyPanSpeed), t = !0;
|
|
1564
1564
|
break;
|
|
1565
1565
|
case n.keys.LEFT:
|
|
1566
|
-
|
|
1566
|
+
ae(n.keyPanSpeed, 0), t = !0;
|
|
1567
1567
|
break;
|
|
1568
1568
|
case n.keys.RIGHT:
|
|
1569
|
-
|
|
1569
|
+
ae(-n.keyPanSpeed, 0), t = !0;
|
|
1570
1570
|
break;
|
|
1571
1571
|
}
|
|
1572
1572
|
t && (e.preventDefault(), n.update());
|
|
1573
1573
|
}
|
|
1574
|
-
function
|
|
1574
|
+
function de(e) {
|
|
1575
1575
|
if (e.touches.length == 1) b.set(e.touches[0].pageX, e.touches[0].pageY);
|
|
1576
1576
|
else {
|
|
1577
1577
|
var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), n = .5 * (e.touches[0].pageY + e.touches[1].pageY);
|
|
1578
1578
|
b.set(t, n);
|
|
1579
1579
|
}
|
|
1580
1580
|
}
|
|
1581
|
-
function
|
|
1581
|
+
function F(e) {
|
|
1582
1582
|
if (e.touches.length == 1) C.set(e.touches[0].pageX, e.touches[0].pageY);
|
|
1583
1583
|
else {
|
|
1584
1584
|
var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), n = .5 * (e.touches[0].pageY + e.touches[1].pageY);
|
|
1585
1585
|
C.set(t, n);
|
|
1586
1586
|
}
|
|
1587
1587
|
}
|
|
1588
|
-
function
|
|
1588
|
+
function I(e) {
|
|
1589
1589
|
var t = e.touches[0].pageX - e.touches[1].pageX, n = e.touches[0].pageY - e.touches[1].pageY, r = Math.sqrt(t * t + n * n);
|
|
1590
1590
|
E.set(0, r);
|
|
1591
1591
|
}
|
|
1592
|
-
function
|
|
1593
|
-
n.enableZoom &&
|
|
1592
|
+
function L(e) {
|
|
1593
|
+
n.enableZoom && I(e), n.enablePan && F(e);
|
|
1594
1594
|
}
|
|
1595
|
-
function
|
|
1596
|
-
n.enableZoom &&
|
|
1595
|
+
function R(e) {
|
|
1596
|
+
n.enableZoom && I(e), n.enableRotate && de(e);
|
|
1597
1597
|
}
|
|
1598
|
-
function
|
|
1598
|
+
function z(e) {
|
|
1599
1599
|
if (e.touches.length == 1) x.set(e.touches[0].pageX, e.touches[0].pageY);
|
|
1600
1600
|
else {
|
|
1601
1601
|
var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), r = .5 * (e.touches[0].pageY + e.touches[1].pageY);
|
|
@@ -1603,25 +1603,25 @@ var O = class {
|
|
|
1603
1603
|
}
|
|
1604
1604
|
S.subVectors(x, b).multiplyScalar(n.rotateSpeed);
|
|
1605
1605
|
var i = n.domElement;
|
|
1606
|
-
|
|
1606
|
+
te(2 * Math.PI * S.x / i.clientHeight), ne(2 * Math.PI * S.y / i.clientHeight), b.copy(x);
|
|
1607
1607
|
}
|
|
1608
|
-
function
|
|
1608
|
+
function B(e) {
|
|
1609
1609
|
if (e.touches.length == 1) w.set(e.touches[0].pageX, e.touches[0].pageY);
|
|
1610
1610
|
else {
|
|
1611
1611
|
var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), r = .5 * (e.touches[0].pageY + e.touches[1].pageY);
|
|
1612
1612
|
w.set(t, r);
|
|
1613
1613
|
}
|
|
1614
|
-
T.subVectors(w, C).multiplyScalar(n.panSpeed),
|
|
1614
|
+
T.subVectors(w, C).multiplyScalar(n.panSpeed), ae(T.x, T.y), C.copy(w);
|
|
1615
1615
|
}
|
|
1616
|
-
function
|
|
1616
|
+
function V(e) {
|
|
1617
1617
|
var t = e.touches[0].pageX - e.touches[1].pageX, r = e.touches[0].pageY - e.touches[1].pageY, i = Math.sqrt(t * t + r * r);
|
|
1618
|
-
D.set(0, i), O.set(0, Math.pow(D.y / E.y, n.zoomSpeed)),
|
|
1618
|
+
D.set(0, i), O.set(0, Math.pow(D.y / E.y, n.zoomSpeed)), oe(O.y), E.copy(D);
|
|
1619
1619
|
}
|
|
1620
|
-
function
|
|
1621
|
-
n.enableZoom &&
|
|
1620
|
+
function H(e) {
|
|
1621
|
+
n.enableZoom && V(e), n.enablePan && B(e);
|
|
1622
1622
|
}
|
|
1623
1623
|
function fe(e) {
|
|
1624
|
-
n.enableZoom &&
|
|
1624
|
+
n.enableZoom && V(e), n.enableRotate && z(e);
|
|
1625
1625
|
}
|
|
1626
1626
|
function U(e) {
|
|
1627
1627
|
if (n.enabled !== !1) {
|
|
@@ -1640,129 +1640,129 @@ var O = class {
|
|
|
1640
1640
|
default: t = -1;
|
|
1641
1641
|
}
|
|
1642
1642
|
switch (t) {
|
|
1643
|
-
case
|
|
1643
|
+
case u.DOLLY:
|
|
1644
1644
|
if (n.enableZoom === !1) return;
|
|
1645
|
-
|
|
1645
|
+
le(e), s = o.DOLLY;
|
|
1646
1646
|
break;
|
|
1647
|
-
case
|
|
1647
|
+
case u.ROTATE:
|
|
1648
1648
|
if (e.ctrlKey || e.metaKey || e.shiftKey) {
|
|
1649
1649
|
if (n.enablePan === !1) return;
|
|
1650
|
-
|
|
1650
|
+
A(e), s = o.PAN;
|
|
1651
1651
|
} else {
|
|
1652
1652
|
if (n.enableRotate === !1) return;
|
|
1653
|
-
|
|
1653
|
+
ce(e), s = o.ROTATE;
|
|
1654
1654
|
}
|
|
1655
1655
|
break;
|
|
1656
|
-
case
|
|
1656
|
+
case u.PAN:
|
|
1657
1657
|
if (e.ctrlKey || e.metaKey || e.shiftKey) {
|
|
1658
1658
|
if (n.enableRotate === !1) return;
|
|
1659
|
-
|
|
1659
|
+
ce(e), s = o.ROTATE;
|
|
1660
1660
|
} else {
|
|
1661
1661
|
if (n.enablePan === !1) return;
|
|
1662
|
-
|
|
1662
|
+
A(e), s = o.PAN;
|
|
1663
1663
|
}
|
|
1664
1664
|
break;
|
|
1665
|
-
default:
|
|
1665
|
+
default: s = o.NONE;
|
|
1666
1666
|
}
|
|
1667
|
-
|
|
1667
|
+
s !== o.NONE && (document.addEventListener("mousemove", pe, !1), document.addEventListener("mouseup", me, !1), n.dispatchEvent(i));
|
|
1668
1668
|
}
|
|
1669
1669
|
}
|
|
1670
1670
|
function pe(e) {
|
|
1671
|
-
if (n.enabled !== !1) switch (e.preventDefault(),
|
|
1672
|
-
case
|
|
1671
|
+
if (n.enabled !== !1) switch (e.preventDefault(), s) {
|
|
1672
|
+
case o.ROTATE:
|
|
1673
1673
|
if (n.enableRotate === !1) return;
|
|
1674
|
-
|
|
1674
|
+
ue(e);
|
|
1675
1675
|
break;
|
|
1676
|
-
case
|
|
1676
|
+
case o.DOLLY:
|
|
1677
1677
|
if (n.enableZoom === !1) return;
|
|
1678
|
-
|
|
1678
|
+
j(e);
|
|
1679
1679
|
break;
|
|
1680
|
-
case
|
|
1680
|
+
case o.PAN:
|
|
1681
1681
|
if (n.enablePan === !1) return;
|
|
1682
|
-
|
|
1682
|
+
M(e);
|
|
1683
1683
|
break;
|
|
1684
1684
|
}
|
|
1685
1685
|
}
|
|
1686
1686
|
function me(e) {
|
|
1687
|
-
n.enabled !== !1 && (document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.dispatchEvent(a),
|
|
1687
|
+
n.enabled !== !1 && (document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.dispatchEvent(a), s = o.NONE);
|
|
1688
1688
|
}
|
|
1689
1689
|
function he(e) {
|
|
1690
|
-
n.enabled === !1 || n.enableZoom === !1 ||
|
|
1690
|
+
n.enabled === !1 || n.enableZoom === !1 || s !== o.NONE && s !== o.ROTATE || (e.preventDefault(), e.stopPropagation(), n.dispatchEvent(i), N(e), n.dispatchEvent(a));
|
|
1691
1691
|
}
|
|
1692
1692
|
function ge(e) {
|
|
1693
|
-
n.enabled === !1 || n.enableKeys === !1 || n.enablePan === !1 ||
|
|
1693
|
+
n.enabled === !1 || n.enableKeys === !1 || n.enablePan === !1 || P(e);
|
|
1694
1694
|
}
|
|
1695
1695
|
function _e(e) {
|
|
1696
1696
|
if (n.enabled !== !1) {
|
|
1697
1697
|
switch (e.preventDefault(), e.touches.length) {
|
|
1698
1698
|
case 1:
|
|
1699
1699
|
switch (n.touches.ONE) {
|
|
1700
|
-
case
|
|
1700
|
+
case h.ROTATE:
|
|
1701
1701
|
if (n.enableRotate === !1) return;
|
|
1702
|
-
|
|
1702
|
+
de(e), s = o.TOUCH_ROTATE;
|
|
1703
1703
|
break;
|
|
1704
|
-
case
|
|
1704
|
+
case h.PAN:
|
|
1705
1705
|
if (n.enablePan === !1) return;
|
|
1706
|
-
|
|
1706
|
+
F(e), s = o.TOUCH_PAN;
|
|
1707
1707
|
break;
|
|
1708
|
-
default:
|
|
1708
|
+
default: s = o.NONE;
|
|
1709
1709
|
}
|
|
1710
1710
|
break;
|
|
1711
1711
|
case 2:
|
|
1712
1712
|
switch (n.touches.TWO) {
|
|
1713
|
-
case
|
|
1713
|
+
case h.DOLLY_PAN:
|
|
1714
1714
|
if (n.enableZoom === !1 && n.enablePan === !1) return;
|
|
1715
|
-
|
|
1715
|
+
L(e), s = o.TOUCH_DOLLY_PAN;
|
|
1716
1716
|
break;
|
|
1717
|
-
case
|
|
1717
|
+
case h.DOLLY_ROTATE:
|
|
1718
1718
|
if (n.enableZoom === !1 && n.enableRotate === !1) return;
|
|
1719
|
-
|
|
1719
|
+
R(e), s = o.TOUCH_DOLLY_ROTATE;
|
|
1720
1720
|
break;
|
|
1721
|
-
default:
|
|
1721
|
+
default: s = o.NONE;
|
|
1722
1722
|
}
|
|
1723
1723
|
break;
|
|
1724
|
-
default:
|
|
1724
|
+
default: s = o.NONE;
|
|
1725
1725
|
}
|
|
1726
|
-
|
|
1726
|
+
s !== o.NONE && n.dispatchEvent(i);
|
|
1727
1727
|
}
|
|
1728
1728
|
}
|
|
1729
1729
|
function ve(e) {
|
|
1730
|
-
if (n.enabled !== !1) switch (e.preventDefault(), e.stopPropagation(),
|
|
1731
|
-
case
|
|
1730
|
+
if (n.enabled !== !1) switch (e.preventDefault(), e.stopPropagation(), s) {
|
|
1731
|
+
case o.TOUCH_ROTATE:
|
|
1732
1732
|
if (n.enableRotate === !1) return;
|
|
1733
|
-
|
|
1733
|
+
z(e), n.update();
|
|
1734
1734
|
break;
|
|
1735
|
-
case
|
|
1735
|
+
case o.TOUCH_PAN:
|
|
1736
1736
|
if (n.enablePan === !1) return;
|
|
1737
|
-
|
|
1737
|
+
B(e), n.update();
|
|
1738
1738
|
break;
|
|
1739
|
-
case
|
|
1739
|
+
case o.TOUCH_DOLLY_PAN:
|
|
1740
1740
|
if (n.enableZoom === !1 && n.enablePan === !1) return;
|
|
1741
|
-
|
|
1741
|
+
H(e), n.update();
|
|
1742
1742
|
break;
|
|
1743
|
-
case
|
|
1743
|
+
case o.TOUCH_DOLLY_ROTATE:
|
|
1744
1744
|
if (n.enableZoom === !1 && n.enableRotate === !1) return;
|
|
1745
1745
|
fe(e), n.update();
|
|
1746
1746
|
break;
|
|
1747
|
-
default:
|
|
1747
|
+
default: s = o.NONE;
|
|
1748
1748
|
}
|
|
1749
1749
|
}
|
|
1750
1750
|
function ye(e) {
|
|
1751
|
-
n.enabled !== !1 && (n.dispatchEvent(a),
|
|
1751
|
+
n.enabled !== !1 && (n.dispatchEvent(a), s = o.NONE);
|
|
1752
1752
|
}
|
|
1753
1753
|
function be(e) {
|
|
1754
1754
|
n.enabled !== !1 && e.preventDefault();
|
|
1755
1755
|
}
|
|
1756
1756
|
n.domElement.addEventListener("contextmenu", be, !1), n.domElement.addEventListener("mousedown", U, !1), n.domElement.addEventListener("wheel", he, !1), n.domElement.addEventListener("touchstart", _e, !1), n.domElement.addEventListener("touchend", ye, !1), n.domElement.addEventListener("touchmove", ve, !1), n.domElement.addEventListener("keydown", ge, !1), n.domElement.tabIndex === -1 && (n.domElement.tabIndex = 0), this.update();
|
|
1757
1757
|
};
|
|
1758
|
-
A.prototype = Object.create(
|
|
1759
|
-
var
|
|
1760
|
-
A.call(this, e, t), this.mouseButtons.LEFT =
|
|
1758
|
+
A.prototype = Object.create(s.prototype), A.prototype.constructor = A;
|
|
1759
|
+
var ue = function(e, t) {
|
|
1760
|
+
A.call(this, e, t), this.mouseButtons.LEFT = u.PAN, this.mouseButtons.RIGHT = u.ROTATE, this.touches.ONE = h.PAN, this.touches.TWO = h.DOLLY_ROTATE;
|
|
1761
1761
|
};
|
|
1762
|
-
|
|
1762
|
+
ue.prototype = Object.create(s.prototype), ue.prototype.constructor = ue;
|
|
1763
1763
|
//#endregion
|
|
1764
1764
|
//#region build/plugins/thirdParty/CSS3DRenderer.js
|
|
1765
|
-
var
|
|
1765
|
+
var j = new _(), M = new p(), N = new _(), P = class extends f {
|
|
1766
1766
|
constructor(e = document.createElement("div")) {
|
|
1767
1767
|
super(), this.isCSS3DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
|
|
1768
1768
|
this.traverse(function(e) {
|
|
@@ -1773,14 +1773,14 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
|
|
|
1773
1773
|
copy(e, t) {
|
|
1774
1774
|
return super.copy(e, t), this.element = e.element.cloneNode(!0), this;
|
|
1775
1775
|
}
|
|
1776
|
-
},
|
|
1776
|
+
}, de = class extends P {
|
|
1777
1777
|
constructor(e) {
|
|
1778
1778
|
super(e), this.isCSS3DSprite = !0, this.rotation2D = 0;
|
|
1779
1779
|
}
|
|
1780
1780
|
copy(e, t) {
|
|
1781
1781
|
return super.copy(e, t), this.rotation2D = e.rotation2D, this;
|
|
1782
1782
|
}
|
|
1783
|
-
},
|
|
1783
|
+
}, F = new d(), I = new d(), L = class {
|
|
1784
1784
|
constructor(e = {}) {
|
|
1785
1785
|
let t = this, n, r, i, a, o = {
|
|
1786
1786
|
camera: { style: "" },
|
|
@@ -1808,8 +1808,8 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
|
|
|
1808
1808
|
if (e.visible === !1) return;
|
|
1809
1809
|
let i = e.layers.test(r.layers) === !0, a = e.element;
|
|
1810
1810
|
if (a.style.display = i === !0 ? "" : "none", i === !0) {
|
|
1811
|
-
e.onBeforeRender(t, n, r),
|
|
1812
|
-
let i = h(
|
|
1811
|
+
e.onBeforeRender(t, n, r), F.copy(r.matrixWorldInverse), F.transpose(), e.rotation2D !== 0 && F.multiply(I.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(j, M, N), F.setPosition(j), F.scale(N), F.elements[3] = 0, F.elements[7] = 0, F.elements[11] = 0, F.elements[15] = 1;
|
|
1812
|
+
let i = h(F), s = o.objects.get(e);
|
|
1813
1813
|
(s === void 0 || s.style !== i) && (a.style.transform = i, o.objects.set(e, { style: i })), a.parentNode !== l && l.appendChild(a), e.onAfterRender(t, n, r);
|
|
1814
1814
|
}
|
|
1815
1815
|
}
|
|
@@ -1866,7 +1866,7 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
|
|
|
1866
1866
|
if (a.style.display = i === !0 ? "" : "none", i === !0) {
|
|
1867
1867
|
e.onBeforeRender(t, n, r);
|
|
1868
1868
|
let i;
|
|
1869
|
-
e.isCSS3DSprite ? (
|
|
1869
|
+
e.isCSS3DSprite ? (F.copy(r.matrixWorldInverse), F.transpose(), e.rotation2D !== 0 && F.multiply(I.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(j, M, N), F.setPosition(j), F.scale(N), F.elements[3] = 0, F.elements[7] = 0, F.elements[11] = 0, F.elements[15] = 1, i = h(F)) : i = h(e.matrixWorld);
|
|
1870
1870
|
let s = o.objects.get(e);
|
|
1871
1871
|
if (s === void 0 || s.style !== i) {
|
|
1872
1872
|
a.style.transform = i;
|
|
@@ -1882,13 +1882,13 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
|
|
|
1882
1882
|
};
|
|
1883
1883
|
//#endregion
|
|
1884
1884
|
//#region build/five/utils/calculateThreeMouse.js
|
|
1885
|
-
function
|
|
1885
|
+
function R(e, t, n) {
|
|
1886
1886
|
let { top: r, left: a, width: o, height: s } = t.getBoundingClientRect();
|
|
1887
1887
|
return n && (a += o * n.left, r += s * (1 - n.bottom - n.height), o *= n.width, s *= n.height), new i.Vector2((e.x - a) / o * 2 - 1, -(e.y - r) / s * 2 + 1);
|
|
1888
1888
|
}
|
|
1889
1889
|
//#endregion
|
|
1890
1890
|
//#region build/plugins/OrientationPlugin/RoundedBoxGeometry.js
|
|
1891
|
-
var
|
|
1891
|
+
var z = class extends i.BufferGeometry {
|
|
1892
1892
|
constructor(e, t, n, r, a) {
|
|
1893
1893
|
super(), this.type = "RoundedBoxGeometry", a = isNaN(a) ? 1 : Math.max(1, Math.floor(a)), e = isNaN(e) ? 1 : e, t = isNaN(t) ? 1 : t, n = isNaN(n) ? 1 : n, r = isNaN(r) ? .15 : r, r = Math.min(r, Math.min(e, Math.min(t, Math.min(n))) / 2);
|
|
1894
1894
|
let o = e / 2 - r, s = t / 2 - r, c = n / 2 - r;
|
|
@@ -2033,32 +2033,32 @@ var L = class extends i.BufferGeometry {
|
|
|
2033
2033
|
};
|
|
2034
2034
|
//#endregion
|
|
2035
2035
|
//#region build/plugins/OrientationPlugin/Controller.js
|
|
2036
|
-
function
|
|
2036
|
+
function B(e, t) {
|
|
2037
2037
|
return typeof e != "number" || typeof t != "number" ? !1 : Math.abs(e - t) < .001;
|
|
2038
2038
|
}
|
|
2039
|
-
function
|
|
2039
|
+
function V(e, t, n, r = (e) => e) {
|
|
2040
2040
|
let i = r(n);
|
|
2041
2041
|
return e * (1 - i) + t * i;
|
|
2042
2042
|
}
|
|
2043
|
-
var
|
|
2044
|
-
function
|
|
2043
|
+
var H = Number((Math.PI / 2).toFixed(5));
|
|
2044
|
+
function fe(e, t, n) {
|
|
2045
2045
|
let r = new i.Shape();
|
|
2046
|
-
return r.moveTo(n, 0), r.lineTo(e - n, 0), r.absarc(e - n, n, n, -
|
|
2046
|
+
return r.moveTo(n, 0), r.lineTo(e - n, 0), r.absarc(e - n, n, n, -H, 0, !1), r.lineTo(e, t - n), r.absarc(e - n, t - n, n, 0, H, !1), r.lineTo(n, t), r.absarc(n, t - n, n, H, Math.PI, !1), r.lineTo(0, n), r.absarc(n, n, n, Math.PI, Math.PI * 1.5, !1), r;
|
|
2047
2047
|
}
|
|
2048
|
-
var
|
|
2048
|
+
var U = (e) => {
|
|
2049
2049
|
let t = document.createElement("div");
|
|
2050
2050
|
t.innerText = e;
|
|
2051
|
-
let n = new
|
|
2051
|
+
let n = new P(t);
|
|
2052
2052
|
return n.name = e, n.scale.set(.3, .3, .3), t.style.pointerEvents = "none", t.style.backfaceVisibility = "hidden", n;
|
|
2053
|
-
},
|
|
2053
|
+
}, pe = (e) => {
|
|
2054
2054
|
let t = new i.PlaneGeometry(5, 5), n = new i.MeshBasicMaterial({
|
|
2055
2055
|
transparent: !0,
|
|
2056
2056
|
opacity: 0
|
|
2057
2057
|
}), r = new i.Mesh(t, n), a = document.createElement("div");
|
|
2058
2058
|
a.innerText = e;
|
|
2059
|
-
let o = new
|
|
2060
|
-
return o.name = e, o.scale.set(.3, .3, .3), a.style.color = "#ffffff", a.style.opacity = "0.5", a.style.pointerEvents = "none", a.style.backfaceVisibility = "hidden", r.rotateX(-
|
|
2061
|
-
},
|
|
2059
|
+
let o = new P(a);
|
|
2060
|
+
return o.name = e, o.scale.set(.3, .3, .3), a.style.color = "#ffffff", a.style.opacity = "0.5", a.style.pointerEvents = "none", a.style.backfaceVisibility = "hidden", r.rotateX(-H), r.add(o), r;
|
|
2061
|
+
}, me = class extends x.Controller {
|
|
2062
2062
|
get config() {
|
|
2063
2063
|
return Object.assign({}, this._config);
|
|
2064
2064
|
}
|
|
@@ -2074,7 +2074,7 @@ var H = (e) => {
|
|
|
2074
2074
|
super(e), this.camera = new t(90), this.scene = new i.Scene(), this.renderer = new i.WebGLRenderer({
|
|
2075
2075
|
antialias: !0,
|
|
2076
2076
|
alpha: !0
|
|
2077
|
-
}), this.css3drenderer = new
|
|
2077
|
+
}), this.css3drenderer = new L(), this.ambientLight = new i.AmbientLight(16777215, .7), this.wrapper = document.createElement("div"), this.arrows = document.createElement("div"), this.arrowLeft = document.createElement("div"), this.arrowRight = document.createElement("div"), this.arrowFront = document.createElement("div"), this.arrowBack = document.createElement("div"), this.arrowTop = document.createElement("div"), this.arrowBottom = document.createElement("div"), this.spherical = null, this.dragging = !1, this.style = document.createElement("style"), this.directionalLight = new i.DirectionalLight(16777215, .2), this.box = new i.Mesh(new z(8, 8, 8, .5, 20), new i.MeshPhongMaterial({ color: 16777215 })), this.faces = new i.Group(), this.orient = ({ longitude: e, latitude: t }) => {
|
|
2078
2078
|
this.dragging = !1, this.spherical = null, this.controls.enableDamping = !1, this.five.setState(Object.assign({ latitude: t }, e === void 0 ? {} : { longitude: e + this.config.fixedLongitude })), this.five.ready().then(() => {
|
|
2079
2079
|
this.controls.enableDamping = !0, this.setState({ arrowsVisible: !0 });
|
|
2080
2080
|
});
|
|
@@ -2090,7 +2090,7 @@ var H = (e) => {
|
|
|
2090
2090
|
longitude: e,
|
|
2091
2091
|
latitude: t
|
|
2092
2092
|
});
|
|
2093
|
-
} else if (this.spherical && (!
|
|
2093
|
+
} else if (this.spherical && (!B(this.spherical.pi, (t = this.controls) == null ? void 0 : t.getPolarAngle()) || !B(this.spherical.theta, (n = this.controls) == null ? void 0 : n.getAzimuthalAngle()))) {
|
|
2094
2094
|
this.spherical = {
|
|
2095
2095
|
pi: (r = this.controls) == null ? void 0 : r.getPolarAngle(),
|
|
2096
2096
|
theta: (i = this.controls) == null ? void 0 : i.getAzimuthalAngle()
|
|
@@ -2105,7 +2105,7 @@ var H = (e) => {
|
|
|
2105
2105
|
});
|
|
2106
2106
|
} else this.spherical = null;
|
|
2107
2107
|
}, this.onTapGesture = (e) => {
|
|
2108
|
-
let t = e.pointers[0].clientX, n = e.pointers[0].clientY, r =
|
|
2108
|
+
let t = e.pointers[0].clientX, n = e.pointers[0].clientY, r = R({
|
|
2109
2109
|
x: t,
|
|
2110
2110
|
y: n
|
|
2111
2111
|
}, this.wrapper), a = new i.Raycaster();
|
|
@@ -2121,7 +2121,7 @@ var H = (e) => {
|
|
|
2121
2121
|
}, this.onFiveWantsGesture = () => {
|
|
2122
2122
|
if (this.spherical) return !1;
|
|
2123
2123
|
}, this.onFiveModeChange = (e) => {
|
|
2124
|
-
this.controls && (this.controls.maxPolarAngle = e === "Topview" ? 0 :
|
|
2124
|
+
this.controls && (this.controls.maxPolarAngle = e === "Topview" ? 0 : H);
|
|
2125
2125
|
}, this.onCameraUpdate = ({ state: e }) => {
|
|
2126
2126
|
if (this.dragging || this.spherical) return;
|
|
2127
2127
|
let { longitude: t, latitude: n } = e;
|
|
@@ -2138,7 +2138,7 @@ var H = (e) => {
|
|
|
2138
2138
|
this.dragging = !0, this.spherical = {};
|
|
2139
2139
|
}, this.onMouseMove = (e) => {
|
|
2140
2140
|
if (this.dragging) return;
|
|
2141
|
-
let t =
|
|
2141
|
+
let t = R({
|
|
2142
2142
|
x: e.clientX,
|
|
2143
2143
|
y: e.clientY
|
|
2144
2144
|
}, this.wrapper), n = new i.Raycaster();
|
|
@@ -2161,7 +2161,7 @@ var H = (e) => {
|
|
|
2161
2161
|
}, n == null ? void 0 : n.initialState), this._config = Object.assign({
|
|
2162
2162
|
fixedLongitude: 0,
|
|
2163
2163
|
orthoView: !0
|
|
2164
|
-
}, n == null ? void 0 : n.config), this.state.enabled && this._enable({ userAction: !1 }), this.mc = new
|
|
2164
|
+
}, n == null ? void 0 : n.config), this.state.enabled && this._enable({ userAction: !1 }), this.mc = new le.Manager(this.wrapper), this.mc.add(new le.Tap({ interval: 410 })), this.mc.add(new le.Pan({
|
|
2165
2165
|
threshold: 10,
|
|
2166
2166
|
pointers: 0
|
|
2167
2167
|
})), this.camera.setFromPose({
|
|
@@ -2190,13 +2190,13 @@ var H = (e) => {
|
|
|
2190
2190
|
this.renderer.setClearAlpha(0), this.renderer.domElement.style.outline = "none", this.initDom(), this.initFaces(), this.initControls(), this.initLights();
|
|
2191
2191
|
let e = this.cylinder;
|
|
2192
2192
|
e.position.y = -3;
|
|
2193
|
-
let t =
|
|
2193
|
+
let t = pe("西");
|
|
2194
2194
|
t.position.set(-19, 0, 0), e.add(t);
|
|
2195
|
-
let n =
|
|
2195
|
+
let n = pe("东");
|
|
2196
2196
|
n.position.set(19, 0, 0), e.add(n);
|
|
2197
|
-
let r =
|
|
2197
|
+
let r = pe("北");
|
|
2198
2198
|
r.position.set(0, 0, -19), e.add(r);
|
|
2199
|
-
let i =
|
|
2199
|
+
let i = pe("南");
|
|
2200
2200
|
i.position.set(0, 0, 19), e.add(i), this.updateByCamera(), this.scene.add(e, this.box, this.faces), this.scene.rotation.y = this.config.fixedLongitude;
|
|
2201
2201
|
}
|
|
2202
2202
|
initDom() {
|
|
@@ -2205,12 +2205,12 @@ var H = (e) => {
|
|
|
2205
2205
|
bindEvents() {
|
|
2206
2206
|
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 = () => this.orient({
|
|
2207
2207
|
longitude: 0,
|
|
2208
|
-
latitude:
|
|
2208
|
+
latitude: H
|
|
2209
2209
|
}), this.arrowLeft.onclick = () => this.orient({
|
|
2210
|
-
longitude: -
|
|
2210
|
+
longitude: -H,
|
|
2211
2211
|
latitude: 0
|
|
2212
2212
|
}), this.arrowRight.onclick = () => this.orient({
|
|
2213
|
-
longitude:
|
|
2213
|
+
longitude: H,
|
|
2214
2214
|
latitude: 0
|
|
2215
2215
|
}), this.arrowFront.onclick = () => this.orient({
|
|
2216
2216
|
longitude: 0,
|
|
@@ -2224,7 +2224,7 @@ var H = (e) => {
|
|
|
2224
2224
|
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;
|
|
2225
2225
|
}
|
|
2226
2226
|
updateByCamera() {
|
|
2227
|
-
let e =
|
|
2227
|
+
let e = V(.2, 1, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), t = V(11, 13, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), n = V(12, 15, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), r = V(13, 19, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), a = V(-.2, .5, this.camera.pose.latitude / Math.PI * 2, (e) => e * e);
|
|
2228
2228
|
this.cylinder.geometry = new i.CylinderGeometry(t, n, .01, 50, 1, !0), this.cylinder.material.uniforms.radiusTop.value = t, this.cylinder.material.uniforms.radiusBottom.value = n, this.cylinder.material.needsUpdate = !0, this.cylinder.children.forEach((t) => {
|
|
2229
2229
|
t.position.normalize().multiplyScalar(r), t.scale.set(e, e, e);
|
|
2230
2230
|
let n = t.children[0];
|
|
@@ -2232,24 +2232,24 @@ var H = (e) => {
|
|
|
2232
2232
|
}), this.css3drenderer.markDirty();
|
|
2233
2233
|
}
|
|
2234
2234
|
updateArrows({ longitude: e, latitude: t }) {
|
|
2235
|
-
let n =
|
|
2235
|
+
let n = H - t < .02;
|
|
2236
2236
|
this.setState({ arrowsVisible: n });
|
|
2237
2237
|
}
|
|
2238
2238
|
handleArrowsVisible(e) {
|
|
2239
2239
|
if (this.state.enabled) if (this.cylinder.material.uniforms.opacity.value = e ? .4 : 1, this.cylinder.material.needsUpdate = !0, e) {
|
|
2240
2240
|
let { longitude: e, latitude: t } = this.five.getCurrentState();
|
|
2241
|
-
if (
|
|
2241
|
+
if (H - t < .03) 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(${(e - this.config.fixedLongitude) / Math.PI * 180}deg)`) : (this.arrows.innerHTML = "", this.faces.getObjectByName("上").element.className = "");
|
|
2242
2242
|
else {
|
|
2243
2243
|
switch (this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowTop), this.config.orthoView && this.five.ready().then(() => {
|
|
2244
2244
|
this.five.controller.cameraType = "orthographic", this.five.ready().then(() => this.five.controller.cameraMotion.ended = !1);
|
|
2245
2245
|
}), !0) {
|
|
2246
|
-
case
|
|
2246
|
+
case B(0, e - this.config.fixedLongitude):
|
|
2247
2247
|
this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("前").element.className = "active";
|
|
2248
2248
|
break;
|
|
2249
|
-
case
|
|
2249
|
+
case B(H, e - this.config.fixedLongitude):
|
|
2250
2250
|
this.arrows.appendChild(this.arrowFront), this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("右").element.className = "active";
|
|
2251
2251
|
break;
|
|
2252
|
-
case
|
|
2252
|
+
case B(Math.PI, e - this.config.fixedLongitude):
|
|
2253
2253
|
this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("后").element.className = "active";
|
|
2254
2254
|
break;
|
|
2255
2255
|
default:
|
|
@@ -2274,7 +2274,7 @@ var H = (e) => {
|
|
|
2274
2274
|
this.directionalLight.target = this.box, this.scene.add(this.ambientLight, this.directionalLight);
|
|
2275
2275
|
}
|
|
2276
2276
|
initFaces() {
|
|
2277
|
-
let e =
|
|
2277
|
+
let e = fe(7, 7, .5), t = new i.ShapeGeometry(e);
|
|
2278
2278
|
t.translate(-3.5, -3.5, 0);
|
|
2279
2279
|
let n = new i.Mesh(t, new i.MeshBasicMaterial({
|
|
2280
2280
|
transparent: !0,
|
|
@@ -2284,13 +2284,13 @@ var H = (e) => {
|
|
|
2284
2284
|
n.userData = {
|
|
2285
2285
|
longitude: 0,
|
|
2286
2286
|
latitude: 0
|
|
2287
|
-
}, n.position.z = 4.1, n.add(
|
|
2287
|
+
}, n.position.z = 4.1, n.add(U("前"));
|
|
2288
2288
|
let r = new i.Mesh(t, new i.MeshBasicMaterial({
|
|
2289
2289
|
transparent: !0,
|
|
2290
2290
|
color: 3370495,
|
|
2291
2291
|
opacity: 0
|
|
2292
2292
|
}));
|
|
2293
|
-
r.rotateY(Math.PI), r.position.z = -4.1, r.add(
|
|
2293
|
+
r.rotateY(Math.PI), r.position.z = -4.1, r.add(U("后")), r.userData = {
|
|
2294
2294
|
longitude: Math.PI,
|
|
2295
2295
|
latitude: 0
|
|
2296
2296
|
};
|
|
@@ -2299,8 +2299,8 @@ var H = (e) => {
|
|
|
2299
2299
|
color: 3370495,
|
|
2300
2300
|
opacity: 0
|
|
2301
2301
|
}));
|
|
2302
|
-
a.rotateY(
|
|
2303
|
-
longitude:
|
|
2302
|
+
a.rotateY(H), a.position.x = 4.1, a.add(U("右")), a.userData = {
|
|
2303
|
+
longitude: H,
|
|
2304
2304
|
latitude: 0
|
|
2305
2305
|
};
|
|
2306
2306
|
let o = new i.Mesh(t, new i.MeshBasicMaterial({
|
|
@@ -2308,8 +2308,8 @@ var H = (e) => {
|
|
|
2308
2308
|
color: 3370495,
|
|
2309
2309
|
opacity: 0
|
|
2310
2310
|
}));
|
|
2311
|
-
o.rotateY(-
|
|
2312
|
-
longitude: -
|
|
2311
|
+
o.rotateY(-H), o.position.x = -4.1, o.add(U("左")), o.userData = {
|
|
2312
|
+
longitude: -H,
|
|
2313
2313
|
latitude: 0
|
|
2314
2314
|
};
|
|
2315
2315
|
let s = new i.Mesh(t, new i.MeshBasicMaterial({
|
|
@@ -2317,17 +2317,17 @@ var H = (e) => {
|
|
|
2317
2317
|
color: 3370495,
|
|
2318
2318
|
opacity: 0
|
|
2319
2319
|
}));
|
|
2320
|
-
s.rotateX(-
|
|
2320
|
+
s.rotateX(-H), s.position.y = 4.1, s.add(U("上")), s.userData = {
|
|
2321
2321
|
longitude: 0,
|
|
2322
|
-
latitude:
|
|
2322
|
+
latitude: H
|
|
2323
2323
|
}, this.faces.add(n, r, o, a, s);
|
|
2324
2324
|
}
|
|
2325
2325
|
initControls() {
|
|
2326
2326
|
let e = this.controls = new A(this.camera, this.renderer.domElement);
|
|
2327
|
-
e.enableZoom = !1, e.enableDamping = !0, e.enablePan = !1, e.maxPolarAngle =
|
|
2327
|
+
e.enableZoom = !1, e.enableDamping = !0, e.enablePan = !1, e.maxPolarAngle = H, e.dampingFactor = .15, e.rotateSpeed = .25;
|
|
2328
2328
|
}
|
|
2329
2329
|
load(e) {
|
|
2330
|
-
return
|
|
2330
|
+
return S(this, void 0, void 0, function* () {});
|
|
2331
2331
|
}
|
|
2332
2332
|
_enable(e) {
|
|
2333
2333
|
let { longitude: t, latitude: n } = this.five.getCurrentState();
|
|
@@ -2353,7 +2353,7 @@ var H = (e) => {
|
|
|
2353
2353
|
let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
|
|
2354
2354
|
this.updateState({ enabled: !1 }, n), this._disable({ userAction: n }), document.head.removeChild(this.style);
|
|
2355
2355
|
}
|
|
2356
|
-
},
|
|
2356
|
+
}, he = (e, t) => new me(e, t), ge = class extends v.Controller {
|
|
2357
2357
|
constructor(e, t) {
|
|
2358
2358
|
super(e), this.data = {}, this.pluginName = "BackgroundPlugin", this._onFiveCameraUpdate = (e) => {
|
|
2359
2359
|
let t = (Math.PI / 2 - Math.max(e.latitude, 0)) / (Math.PI / 2), n = Math.max(.2 - t, 0) * 10;
|
|
@@ -2362,7 +2362,7 @@ var H = (e) => {
|
|
|
2362
2362
|
this.five.on("cameraUpdate", this._onFiveCameraUpdate);
|
|
2363
2363
|
}, this._removeEventListener = () => {
|
|
2364
2364
|
this.five.off("cameraUpdate", this._onFiveCameraUpdate);
|
|
2365
|
-
}, this.load = () =>
|
|
2365
|
+
}, this.load = () => S(this, void 0, void 0, function* () {}), this.setState = (e, t = {}) => {}, this.enable = () => {
|
|
2366
2366
|
var e;
|
|
2367
2367
|
let t = (e = this.five.getElement()) == null ? void 0 : e.parentNode;
|
|
2368
2368
|
if (!t) {
|
|
@@ -2377,7 +2377,7 @@ var H = (e) => {
|
|
|
2377
2377
|
this._removeEventListener(), this.hooks.emit("disable", { userAction: !0 }), this.state.enabled = !1;
|
|
2378
2378
|
}, this.state = { enabled: !1 }, !(typeof document > "u") && (this.gradientBg = document.createElement("div"), this.groundBg = document.createElement("div"), this.style = document.createElement("style"), this.gradientBg.className = "BackgroundPluginBg", this.groundBg.className = "BackgroundPluginGroundBg", this.style.innerHTML = "\n .BackgroundPluginBg {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n height: 200%;\n background: linear-gradient(#0A0B0D, #2E3033);\n z-index: -1;\n pointerEvents: none;\n }\n .BackgroundPluginGroundBg {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background-image: radial-gradient(circle, #2E303350 0, transparent 0);\n z-index: -1;\n pointerEvents: none;\n }\n ", this.enable());
|
|
2379
2379
|
}
|
|
2380
|
-
},
|
|
2380
|
+
}, _e = (e, t) => new ge(e, t);
|
|
2381
2381
|
//#endregion
|
|
2382
2382
|
//#region build/plugins/TrajectoryPlugin/Controller.js
|
|
2383
2383
|
new i.Matrix4().fromArray([
|
|
@@ -2398,7 +2398,7 @@ new i.Matrix4().fromArray([
|
|
|
2398
2398
|
0,
|
|
2399
2399
|
1
|
|
2400
2400
|
]);
|
|
2401
|
-
var
|
|
2401
|
+
var ve = class {
|
|
2402
2402
|
constructor(e, t, n, r, i) {
|
|
2403
2403
|
this.R = e, this.Q = t, this.A = n, this.B = r, this.C = i, this.cov = NaN, this.x = NaN;
|
|
2404
2404
|
}
|
|
@@ -2410,7 +2410,7 @@ var me = class {
|
|
|
2410
2410
|
}
|
|
2411
2411
|
return this.x;
|
|
2412
2412
|
}
|
|
2413
|
-
},
|
|
2413
|
+
}, ye = class extends x.Controller {
|
|
2414
2414
|
get config() {
|
|
2415
2415
|
return Object.assign({}, this._config);
|
|
2416
2416
|
}
|
|
@@ -2441,11 +2441,11 @@ var me = class {
|
|
|
2441
2441
|
} });
|
|
2442
2442
|
}
|
|
2443
2443
|
load(e) {
|
|
2444
|
-
return
|
|
2444
|
+
return S(this, void 0, void 0, function* () {});
|
|
2445
2445
|
}
|
|
2446
2446
|
loadTrajectory(e) {
|
|
2447
2447
|
this.trajectory = e, this.cancelAnimation && this.cancelAnimation(), this.playingState.keyframeIndex = null, this.playingState.progress = null;
|
|
2448
|
-
let t = .01, n = .1, r = new
|
|
2448
|
+
let t = .01, n = .1, r = new ve(t, n, 1, 0, 1), a = new ve(t, n, 1, 0, 1), o = new ve(t, n, 1, 0, 1);
|
|
2449
2449
|
if (this.trajectory && this.trajectory.content.loadState === "READY") {
|
|
2450
2450
|
let t = this.trajectory.content.data.positionArray;
|
|
2451
2451
|
this.timeArray = this.trajectory.content.data.timeArray;
|
|
@@ -2651,15 +2651,15 @@ var me = class {
|
|
|
2651
2651
|
let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
|
|
2652
2652
|
this.updateState({ enabled: !1 }, n), this._disable({ userAction: n });
|
|
2653
2653
|
}
|
|
2654
|
-
},
|
|
2654
|
+
}, be = (e, t) => new ye(e, t);
|
|
2655
2655
|
//#endregion
|
|
2656
2656
|
//#region build/plugins/utils/clamp.js
|
|
2657
|
-
function
|
|
2657
|
+
function xe(e, t, n) {
|
|
2658
2658
|
return e < t ? t : e > n ? n : e;
|
|
2659
2659
|
}
|
|
2660
2660
|
//#endregion
|
|
2661
2661
|
//#region build/plugins/PanoAnimePlugin/Controller.js
|
|
2662
|
-
var
|
|
2662
|
+
var Se = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = uv;\n vPosition = position;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", Ce = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform float progress;\nuniform float opacity;\nvarying vec3 vPosition;\n\nvoid main() {\n vec3 white = vec3(1.0, 1.0, 1.0);\n vec4 image = texture2D(map, vUv);\n if (vUv.y > progress) {\n discard;\n }\n gl_FragColor = vec4(white, 0.7 * (progress - vPosition.y));\n if (progress == 1.0) {\n gl_FragColor = gl_FragColor + vec4(image.rgb, image.a * (1.0 - vPosition.y));\n }\n gl_FragColor.a = gl_FragColor.a * opacity;\n}\n", we = [
|
|
2663
2663
|
1,
|
|
2664
2664
|
5,
|
|
2665
2665
|
2,
|
|
@@ -2676,7 +2676,7 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2676
2676
|
15,
|
|
2677
2677
|
12,
|
|
2678
2678
|
16
|
|
2679
|
-
],
|
|
2679
|
+
], Te = 512, Ee = 512, De = 128, Oe = class extends v.Controller {
|
|
2680
2680
|
get config() {
|
|
2681
2681
|
return Object.assign({}, this._config);
|
|
2682
2682
|
}
|
|
@@ -2702,8 +2702,8 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2702
2702
|
let e = new i.CylinderGeometry(.12, .12, 1, 32, 1, !0);
|
|
2703
2703
|
e.translate(0, .5, 0);
|
|
2704
2704
|
let t = new i.ShaderMaterial({
|
|
2705
|
-
vertexShader:
|
|
2706
|
-
fragmentShader:
|
|
2705
|
+
vertexShader: Se,
|
|
2706
|
+
fragmentShader: Ce,
|
|
2707
2707
|
uniforms: {
|
|
2708
2708
|
map: { value: new i.Texture() },
|
|
2709
2709
|
progress: { value: 0 },
|
|
@@ -2717,24 +2717,24 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2717
2717
|
if (!this.ctx) return;
|
|
2718
2718
|
let n = (() => {
|
|
2719
2719
|
var t;
|
|
2720
|
-
return (
|
|
2721
|
-
})(), r = (1 - (t + e * 150) % 1200 / 1200) * (
|
|
2722
|
-
i.addColorStop(0, "rgba(255,255,255,0)"), i.addColorStop(.5, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), this.ctx.fillStyle = i, this.ctx.fillRect(n, r -
|
|
2720
|
+
return (Te / 16 | 0) * ((t = we[e]) == null ? 0 : t);
|
|
2721
|
+
})(), r = (1 - (t + e * 150) % 1200 / 1200) * (Ee + De), i = this.ctx.createLinearGradient(0, r - De, 0, r);
|
|
2722
|
+
i.addColorStop(0, "rgba(255,255,255,0)"), i.addColorStop(.5, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), this.ctx.fillStyle = i, this.ctx.fillRect(n, r - De, 3, De);
|
|
2723
2723
|
}, this.anime = (e) => {
|
|
2724
2724
|
if (!this.ctx || !this.startTime) return;
|
|
2725
|
-
this.ctx.clearRect(0, 0,
|
|
2725
|
+
this.ctx.clearRect(0, 0, Te, Ee);
|
|
2726
2726
|
for (let t = 0; t < 16; t++) this.drawLine(t, e - this.startTime);
|
|
2727
|
-
let t =
|
|
2727
|
+
let t = xe((e - this.startTime) / 1e3, 0, 1), n = xe((e - this.startTime) / 300, 0, this.config.maxOpacity);
|
|
2728
2728
|
this.panoMesh.setOpacity(n), this.mesh.material.uniforms.progress.value = t, this.mesh.material.uniforms.opacity.value = n, this.mesh.material.uniforms.map.value.needsUpdate = !0, this.five.needsRender = !0;
|
|
2729
2729
|
}, this.dispose = () => {
|
|
2730
2730
|
this.disable();
|
|
2731
2731
|
}, this.five = e, this.state = Object.assign({
|
|
2732
2732
|
enabled: !1,
|
|
2733
2733
|
visible: !0
|
|
2734
|
-
}, t == null ? void 0 : t.initialState), this._config = Object.assign(Object.assign({}, t == null ? void 0 : t.config), { maxOpacity: 1 }), !(typeof document > "u") && (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width =
|
|
2734
|
+
}, t == null ? void 0 : t.initialState), this._config = Object.assign(Object.assign({}, t == null ? void 0 : t.config), { maxOpacity: 1 }), !(typeof document > "u") && (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width = Te, this.canvas.height = Ee, this.ctx.shadowColor = "rgba(255,255,255,0.5)", this.ctx.shadowBlur = 6, this.ctx.shadowOffsetX = 0, this.ctx.shadowOffsetY = 0, this.mesh.material.uniforms.map.value = new i.CanvasTexture(this.canvas), this.group.add(this.mesh), this.panoMesh.setProgress(1), this.panoMesh.setOpacity(0), this.group.add(this.panoMesh), this.state.enabled && this._enable({ userAction: !1 }));
|
|
2735
2735
|
}
|
|
2736
2736
|
load(e) {
|
|
2737
|
-
return
|
|
2737
|
+
return S(this, void 0, void 0, function* () {});
|
|
2738
2738
|
}
|
|
2739
2739
|
_enable(t) {
|
|
2740
2740
|
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(() => {
|
|
@@ -2765,7 +2765,7 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2765
2765
|
e.enabled ? this._enable(t) : this._disable(t);
|
|
2766
2766
|
}
|
|
2767
2767
|
}
|
|
2768
|
-
},
|
|
2768
|
+
}, ke = (e, t) => new Oe(e, t), Ae = class extends i.InstancedBufferGeometry {
|
|
2769
2769
|
constructor() {
|
|
2770
2770
|
super(), this.type = "LineSegmentsGeometry", this.setIndex([
|
|
2771
2771
|
0,
|
|
@@ -2884,10 +2884,10 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
|
|
|
2884
2884
|
}
|
|
2885
2885
|
toJSON() {}
|
|
2886
2886
|
};
|
|
2887
|
-
Object.assign(
|
|
2887
|
+
Object.assign(Ae.prototype, { isLineSegmentsGeometry: !0 });
|
|
2888
2888
|
//#endregion
|
|
2889
2889
|
//#region build/plugins/DynamicPathLinePlugin/line2/LineMaterial.js
|
|
2890
|
-
var
|
|
2890
|
+
var je = {
|
|
2891
2891
|
uniforms: i.UniformsUtils.merge([
|
|
2892
2892
|
i.UniformsLib.common,
|
|
2893
2893
|
i.UniformsLib.fog,
|
|
@@ -2911,12 +2911,12 @@ var De = {
|
|
|
2911
2911
|
]),
|
|
2912
2912
|
vertexShader: "\n #include <common>\n #include <color_pars_vertex>\n #include <fog_pars_vertex>\n #include <logdepthbuf_pars_vertex>\n #include <clipping_planes_pars_vertex>\n\n uniform float linewidth;\n uniform vec2 resolution;\n uniform float totalLength;\n uniform float time;\n uniform float waveAmp;\n uniform float waveFreq;\n uniform float waveDir;\n uniform float startOffset;\n uniform float endOffset; // 新增\n\n attribute vec3 instanceStart;\n attribute vec3 instanceEnd;\n attribute float distanceProgress;\n attribute vec3 instanceColorStart;\n attribute vec3 instanceColorEnd;\n attribute float instanceDistanceStart;\n attribute float instanceDistanceEnd;\n\n varying vec2 vUv;\n varying float vDistanceProgress;\n\n #ifdef USE_DASH\n uniform float dashScale;\n varying float vLineDistance;\n #endif\n\n void trimSegment(const in vec4 start, inout vec4 end) {\n float a = projectionMatrix[2][2];\n float b = projectionMatrix[3][2];\n float nearEstimate = -0.5 * b / a;\n float alpha = (nearEstimate - start.z) / (end.z - start.z);\n end.xyz = mix(start.xyz, end.xyz, alpha);\n }\n\n void main() {\n #ifdef USE_COLOR\n vColor.xyz = (position.y < 0.5) ? instanceColorStart : instanceColorEnd;\n #endif\n\n #ifdef USE_DASH\n vLineDistance = (position.y < 0.5) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n #endif\n\n float aspect = resolution.x / resolution.y;\n vUv = uv;\n\n // camera space\n vec4 start = modelViewMatrix * vec4(instanceStart, 1.0);\n vec4 end = modelViewMatrix * vec4(instanceEnd, 1.0);\n\n // ===== 波浪偏移逻辑 =====\n if (waveDir > 0.5) { // 0 表示不波动\n float adjustedDistanceStart = max(0.0, instanceDistanceStart - startOffset);\n float adjustedDistanceEnd = max(0.0, instanceDistanceEnd - startOffset);\n float adjustedTotalLength = totalLength - startOffset - endOffset;\n adjustedTotalLength = max(0.01, adjustedTotalLength);\n float phaseStart = adjustedDistanceStart / adjustedTotalLength;\n float phaseEnd = adjustedDistanceEnd / adjustedTotalLength;\n float waveStart = sin(phaseStart * waveFreq - time * 2.0) * waveAmp;\n float waveEnd = sin(phaseEnd * waveFreq - time * 2.0) * waveAmp;\n\n if (abs(waveDir - 1.0) < 0.1) { // X 方向\n start.x += waveStart;\n end.x += waveEnd;\n } else if (abs(waveDir - 2.0) < 0.1) { // Y 方向\n start.y += waveStart;\n end.y += waveEnd;\n } else if (abs(waveDir - 3.0) < 0.1) { // Z 方向\n start.z += waveStart;\n end.z += waveEnd;\n }\n }\n // ======================\n\n bool perspective = (projectionMatrix[2][3] == -1.0);\n if (perspective) {\n if (start.z < 0.0 && end.z >= 0.0) {\n trimSegment(start, end);\n } else if (end.z < 0.0 && start.z >= 0.0) {\n trimSegment(end, start);\n }\n }\n\n vec4 clipStart = projectionMatrix * start;\n vec4 clipEnd = projectionMatrix * end;\n\n vec2 ndcStart = clipStart.xy / clipStart.w;\n vec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n vec2 dir = ndcEnd - ndcStart;\n dir.x *= aspect;\n dir = normalize(dir);\n\n vec2 offset = vec2(dir.y, -dir.x);\n dir.x /= aspect;\n offset.x /= aspect;\n\n if (position.x < 0.0) offset *= -1.0;\n if (position.y < 0.0) {\n offset += -dir;\n } else if (position.y > 1.0) {\n offset += dir;\n }\n\n offset *= linewidth;\n offset /= resolution.y;\n\n vec4 clip = (position.y < 0.5) ? clipStart : clipEnd;\n offset *= clip.w;\n clip.xy += offset;\n \n gl_Position = clip;\n\n float adjustedDistanceEnd = max(0.0, instanceDistanceEnd - startOffset);\n float adjustedTotalLength = totalLength - startOffset - endOffset;\n adjustedTotalLength = max(0.01, adjustedTotalLength);\n vDistanceProgress = adjustedDistanceEnd / adjustedTotalLength;\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <fog_vertex>\n }\n ",
|
|
2913
2913
|
fragmentShader: "\n uniform vec3 diffuse;\n uniform float opacity;\n uniform float animationProgress;\n uniform float range;\n uniform float totalLength;\n varying float vDistanceProgress;\n\n #ifdef USE_DASH\n uniform float dashSize;\n uniform float gapSize;\n #endif\n\n varying float vLineDistance;\n #include <common>\n #include <color_pars_fragment>\n #include <fog_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n varying vec2 vUv;\n\n void main() {\n #include <clipping_planes_fragment>\n\n #ifdef USE_DASH\n if (vUv.y < -1.0 || vUv.y > 1.0) discard;\n if (mod(vLineDistance, dashSize + gapSize) > dashSize) discard;\n #endif\n\n if (abs(vUv.y) > 1.0) {\n float a = vUv.x;\n float b = (vUv.y > 0.0) ? vUv.y - 1.0 : vUv.y + 1.0;\n float len2 = a * a + b * b;\n if (len2 > 1.0) discard;\n }\n\n vec4 diffuseColor = vec4(diffuse, 1.0);\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4(diffuseColor.rgb, diffuseColor.a);\n\n float alpha = 0.0;\n float diff = (1.0 - 2.0 * range) * vDistanceProgress + range - animationProgress;\n // 使用绝对值计算,在animationProgress前后range范围内过渡\n if (abs(diff) < range) {\n alpha = 1.0 - abs(diff) / range;\n } else {\n alpha = 0.0;\n }\n\n alpha = clamp(alpha, 0.0, 1.0);\n gl_FragColor.a = alpha;\n\n // 增加开头和结尾的渐变alpha遮罩,固定物理距离为 1 米\n float startFadeLength = 1.0 / totalLength;\n if (vDistanceProgress < startFadeLength) {\n gl_FragColor.a *= vDistanceProgress / startFadeLength;\n }\n float endFadeStart = 1.0 - startFadeLength;\n if (vDistanceProgress > endFadeStart) {\n gl_FragColor.a *= (1.0 - vDistanceProgress) / startFadeLength;\n }\n gl_FragColor.a *= opacity;\n #include <tonemapping_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n }\n "
|
|
2914
|
-
},
|
|
2914
|
+
}, Me = class extends i.ShaderMaterial {
|
|
2915
2915
|
constructor(e) {
|
|
2916
2916
|
super({
|
|
2917
|
-
uniforms: i.UniformsUtils.clone(
|
|
2918
|
-
vertexShader:
|
|
2919
|
-
fragmentShader:
|
|
2917
|
+
uniforms: i.UniformsUtils.clone(je.uniforms),
|
|
2918
|
+
vertexShader: je.vertexShader,
|
|
2919
|
+
fragmentShader: je.fragmentShader,
|
|
2920
2920
|
clipping: !0
|
|
2921
2921
|
}), this.type = "LineMaterial", this.dashed = !1, Object.defineProperties(this, {
|
|
2922
2922
|
color: {
|
|
@@ -3057,12 +3057,12 @@ var De = {
|
|
|
3057
3057
|
}), this.setValues(e);
|
|
3058
3058
|
}
|
|
3059
3059
|
};
|
|
3060
|
-
Object.assign(
|
|
3060
|
+
Object.assign(Me.prototype, { isLineMaterial: !0 });
|
|
3061
3061
|
//#endregion
|
|
3062
3062
|
//#region build/plugins/DynamicPathLinePlugin/line2/LineSegments2.js
|
|
3063
|
-
var
|
|
3063
|
+
var Ne = class extends i.Mesh {
|
|
3064
3064
|
constructor(e, t) {
|
|
3065
|
-
super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new
|
|
3065
|
+
super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new Ae() : e, this.material = t === void 0 ? new Me({ color: Math.random() * 16777215 }) : t;
|
|
3066
3066
|
}
|
|
3067
3067
|
computeLineDistances() {
|
|
3068
3068
|
let e = this.geometry, t = e.attributes.instanceStart, n = e.attributes.instanceEnd, r = new Float32Array(2 * t.count), a = new i.Vector3(), o = new i.Vector3(), s = 0;
|
|
@@ -3105,18 +3105,18 @@ var ke = class extends i.Mesh {
|
|
|
3105
3105
|
}
|
|
3106
3106
|
}
|
|
3107
3107
|
};
|
|
3108
|
-
Object.assign(
|
|
3108
|
+
Object.assign(Ne.prototype, { isLineSegments2: !0 });
|
|
3109
3109
|
//#endregion
|
|
3110
3110
|
//#region build/plugins/DynamicPathLinePlugin/line2/Line2.js
|
|
3111
|
-
var
|
|
3111
|
+
var Pe = class extends Ne {
|
|
3112
3112
|
constructor(e, t) {
|
|
3113
3113
|
super(e, t), this.type = "Line2";
|
|
3114
3114
|
}
|
|
3115
3115
|
};
|
|
3116
|
-
Object.assign(
|
|
3116
|
+
Object.assign(Pe.prototype, { isLine2: !0 });
|
|
3117
3117
|
//#endregion
|
|
3118
3118
|
//#region build/plugins/DynamicPathLinePlugin/line2/LineGeometry.js
|
|
3119
|
-
var
|
|
3119
|
+
var Fe = class extends Ae {
|
|
3120
3120
|
constructor() {
|
|
3121
3121
|
super(), this.type = "LineGeometry";
|
|
3122
3122
|
}
|
|
@@ -3142,10 +3142,10 @@ var je = class extends Ee {
|
|
|
3142
3142
|
return this;
|
|
3143
3143
|
}
|
|
3144
3144
|
};
|
|
3145
|
-
Object.assign(
|
|
3145
|
+
Object.assign(Fe.prototype, { isLineGeometry: !0 });
|
|
3146
3146
|
//#endregion
|
|
3147
3147
|
//#region build/plugins/DynamicPathLinePlugin/Controller.js
|
|
3148
|
-
var
|
|
3148
|
+
var Ie = class extends v.Controller {
|
|
3149
3149
|
get config() {
|
|
3150
3150
|
return Object.assign({}, this._config);
|
|
3151
3151
|
}
|
|
@@ -3185,7 +3185,7 @@ var Me = class extends m.Controller {
|
|
|
3185
3185
|
}), this.state.enabled && this._enable({ userAction: !1 });
|
|
3186
3186
|
}
|
|
3187
3187
|
load(e, t) {
|
|
3188
|
-
return
|
|
3188
|
+
return S(this, void 0, void 0, function* () {
|
|
3189
3189
|
this.clearAllPaths(), e.paths.forEach((e) => {
|
|
3190
3190
|
var t, n;
|
|
3191
3191
|
let r = e.points.map((e) => new i.Vector3(e.x, e.y, e.z));
|
|
@@ -3319,9 +3319,9 @@ var Me = class extends m.Controller {
|
|
|
3319
3319
|
let r = (n - (c - 1) / 2) * l, a = e.points.map((a, o) => {
|
|
3320
3320
|
let s = o / (e.points.length - 1), c = t.getTangent(s).normalize(), l = new i.Vector3().crossVectors(this.up, c).normalize(), u = r * Math.abs((o - e.points.length / 2) / e.points.length - .5) * -1;
|
|
3321
3321
|
return a.clone().addScaledVector(l, r + u).add(new i.Vector3(0, f + .02 * (n % 2 == 0 ? 1 : 0), 0));
|
|
3322
|
-
}), g = new i.CatmullRomCurve3(a), { positions: _ } = this.getPositions(g, s), v = new
|
|
3322
|
+
}), g = new i.CatmullRomCurve3(a), { positions: _ } = this.getPositions(g, s), v = new Fe();
|
|
3323
3323
|
v.setPositions(_);
|
|
3324
|
-
let y = new
|
|
3324
|
+
let y = new Me({
|
|
3325
3325
|
color: m,
|
|
3326
3326
|
linewidth: p * (n % 2 == 0 ? 1 : .5),
|
|
3327
3327
|
transparent: !0,
|
|
@@ -3333,7 +3333,7 @@ var Me = class extends m.Controller {
|
|
|
3333
3333
|
startOffset: { value: 0 },
|
|
3334
3334
|
range: { value: h }
|
|
3335
3335
|
});
|
|
3336
|
-
let b = new
|
|
3336
|
+
let b = new Pe(v, y);
|
|
3337
3337
|
b.computeLineDistances(), o.push(b), this.five.scene.add(b);
|
|
3338
3338
|
}
|
|
3339
3339
|
return o;
|
|
@@ -3649,14 +3649,14 @@ var Me = class extends m.Controller {
|
|
|
3649
3649
|
dispose() {
|
|
3650
3650
|
this.pause(), this.clearAllPaths(), this.hooks.emit("dispose");
|
|
3651
3651
|
}
|
|
3652
|
-
},
|
|
3652
|
+
}, Le = (e, t) => new Ie(e, t), Re = "#five-CSS3DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n transform-origin: left top;\n}\n\n.five-CSS3DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS3DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS3DPlugin .five-CSS3DPlugin-hidden * {\n pointer-events: none;\n}";
|
|
3653
3653
|
//#endregion
|
|
3654
3654
|
//#region build/plugins/utils/uuid.js
|
|
3655
|
-
function
|
|
3655
|
+
function ze() {
|
|
3656
3656
|
return ((1 + Math.random()) * parseInt("10000", 36) | 0).toString(36).substring(1);
|
|
3657
3657
|
}
|
|
3658
|
-
function
|
|
3659
|
-
let e =
|
|
3658
|
+
function Be() {
|
|
3659
|
+
let e = ze() + ze().substr(0, 2) + Date.now().toString(36), t = e.length, n = "", r = Math.floor(Math.random() * Math.pow(2, t));
|
|
3660
3660
|
for (let i = 0; i < t; i++) {
|
|
3661
3661
|
let t = e[i];
|
|
3662
3662
|
t >= "a" && t <= "z" && r >> i & 1 && (t = t.toUpperCase()), n += t;
|
|
@@ -3665,7 +3665,7 @@ function Ie() {
|
|
|
3665
3665
|
}
|
|
3666
3666
|
//#endregion
|
|
3667
3667
|
//#region build/plugins/CSS3DPlugin/Controller.js
|
|
3668
|
-
var
|
|
3668
|
+
var Ve = class extends x.Controller {
|
|
3669
3669
|
updateState(e, t) {
|
|
3670
3670
|
let n = this.state;
|
|
3671
3671
|
this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
|
|
@@ -3675,10 +3675,10 @@ var Le = class extends _.Controller {
|
|
|
3675
3675
|
});
|
|
3676
3676
|
}
|
|
3677
3677
|
constructor(e, t) {
|
|
3678
|
-
super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.cacheMap = /* @__PURE__ */ new WeakMap(), this.createCSS3DObject = ({ id: e =
|
|
3678
|
+
super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.cacheMap = /* @__PURE__ */ new WeakMap(), this.createCSS3DObject = ({ id: e = Be(), name: t, innerHTML: n, sprite: r, normal: a, position: o, scalar: s = .00216, visible: c = !0, timeout: l }) => {
|
|
3679
3679
|
let u = document.createElement("div");
|
|
3680
3680
|
u.className = "five-CSS3DPlugin-X", c || u.classList.add("five-CSS3DPlugin-hidden"), l && u.style.setProperty("--timeout", l + "ms"), u.innerHTML = n;
|
|
3681
|
-
let d = r ? new
|
|
3681
|
+
let d = r ? new de(u) : new P(u);
|
|
3682
3682
|
if (d.userData = {
|
|
3683
3683
|
id: e,
|
|
3684
3684
|
_visible: c,
|
|
@@ -3711,13 +3711,13 @@ var Le = class extends _.Controller {
|
|
|
3711
3711
|
this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
|
|
3712
3712
|
}, this.dispose = () => {
|
|
3713
3713
|
this.removeAll(), this._disable({ userAction: !1 });
|
|
3714
|
-
}, this.five = e, this.renderer = new
|
|
3714
|
+
}, this.five = e, this.renderer = new L(), this.renderer.domElement.id = "five-CSS3DPlugin", this.styleSheet.replaceSync(Re), /Chrome/.test(navigator.userAgent) && !/Edge|Edg|OPR/.test(navigator.userAgent) && this.styleSheet.insertRule("#five-CSS3DPlugin * { transform-style: preserve-3d; }"), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
|
|
3715
3715
|
enabled: !0,
|
|
3716
3716
|
visible: !0
|
|
3717
3717
|
}, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
|
|
3718
3718
|
}
|
|
3719
3719
|
load(e) {
|
|
3720
|
-
return
|
|
3720
|
+
return S(this, void 0, void 0, function* () {});
|
|
3721
3721
|
}
|
|
3722
3722
|
appendToFiveContainer() {
|
|
3723
3723
|
var e;
|
|
@@ -3739,7 +3739,7 @@ var Le = class extends _.Controller {
|
|
|
3739
3739
|
}
|
|
3740
3740
|
remove(e) {
|
|
3741
3741
|
this.scene.remove(e), e.traverse((e) => {
|
|
3742
|
-
e instanceof
|
|
3742
|
+
e instanceof P && e.element.remove();
|
|
3743
3743
|
}), this.renderer.updateSpriteSet(this.scene), this.forceRender();
|
|
3744
3744
|
}
|
|
3745
3745
|
removeAll() {
|
|
@@ -3777,9 +3777,9 @@ var Le = class extends _.Controller {
|
|
|
3777
3777
|
hide(e) {
|
|
3778
3778
|
this.renderer.domElement.style.display = "none", this.updateState({ visible: !1 }, !0);
|
|
3779
3779
|
}
|
|
3780
|
-
},
|
|
3780
|
+
}, He = (e, t) => new Ve(e, t), Ue = class extends f {
|
|
3781
3781
|
constructor(e = document.createElement("div")) {
|
|
3782
|
-
super(), this.isCSS2DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.center = new
|
|
3782
|
+
super(), this.isCSS2DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.center = new g(.5, .5), this.addEventListener("removed", function() {
|
|
3783
3783
|
this.traverse(function(e) {
|
|
3784
3784
|
e.element && e.element instanceof Element && e.element.parentNode !== null && e.element.remove();
|
|
3785
3785
|
});
|
|
@@ -3788,7 +3788,7 @@ var Le = class extends _.Controller {
|
|
|
3788
3788
|
copy(e, t) {
|
|
3789
3789
|
return super.copy(e, t), this.element = e.element.cloneNode(!0), this.center = e.center.clone(), this;
|
|
3790
3790
|
}
|
|
3791
|
-
},
|
|
3791
|
+
}, We = new _(), Ge = new d(), Ke = new d(), qe = new _(), Je = new _(), Ye = class {
|
|
3792
3792
|
constructor(e = {}) {
|
|
3793
3793
|
let t = this, n, r, i, a, o = { objects: /* @__PURE__ */ new WeakMap() }, s = e.element === void 0 ? document.createElement("div") : e.element;
|
|
3794
3794
|
s.style.overflow = "hidden", this.domElement = s, this.sortObjects = !0, this.getSize = function() {
|
|
@@ -3797,7 +3797,7 @@ var Le = class extends _.Controller {
|
|
|
3797
3797
|
height: r
|
|
3798
3798
|
};
|
|
3799
3799
|
}, this.render = function(e, n) {
|
|
3800
|
-
e.autoUpdate === !0 && e.updateMatrixWorld(), n.parent === null && n.updateMatrixWorld(),
|
|
3800
|
+
e.autoUpdate === !0 && e.updateMatrixWorld(), n.parent === null && n.updateMatrixWorld(), Ge.copy(n.matrixWorldInverse), Ke.multiplyMatrices(n.projectionMatrix, Ge), l(e, e, n), t.sortObjects && f(e);
|
|
3801
3801
|
}, this.setSize = function(e, t) {
|
|
3802
3802
|
n = e, r = t, i = n / 2, a = r / 2, s.style.width = e + "px", s.style.height = t + "px";
|
|
3803
3803
|
};
|
|
@@ -3811,16 +3811,16 @@ var Le = class extends _.Controller {
|
|
|
3811
3811
|
return;
|
|
3812
3812
|
}
|
|
3813
3813
|
if (e.isCSS2DObject) {
|
|
3814
|
-
|
|
3815
|
-
let c =
|
|
3816
|
-
l.style.display = c === !0 ? "" : "none", c === !0 && (e.onBeforeRender(t, n, r), l.style.transform = "translate(" + -100 * e.center.x + "%," + -100 * e.center.y + "%)translate(" + (
|
|
3814
|
+
We.setFromMatrixPosition(e.matrixWorld), We.applyMatrix4(Ke);
|
|
3815
|
+
let c = We.z >= -1 && We.z <= 1 && e.layers.test(r.layers) === !0, l = e.element;
|
|
3816
|
+
l.style.display = c === !0 ? "" : "none", c === !0 && (e.onBeforeRender(t, n, r), l.style.transform = "translate(" + -100 * e.center.x + "%," + -100 * e.center.y + "%)translate(" + (We.x * i + i) + "px," + (-We.y * a + a) + "px)", l.parentNode !== s && s.appendChild(l), e.onAfterRender(t, n, r));
|
|
3817
3817
|
let d = { distanceToCameraSquared: u(r, e) };
|
|
3818
3818
|
o.objects.set(e, d);
|
|
3819
3819
|
}
|
|
3820
3820
|
for (let t = 0, i = e.children.length; t < i; t++) l(e.children[t], n, r);
|
|
3821
3821
|
}
|
|
3822
3822
|
function u(e, t) {
|
|
3823
|
-
return
|
|
3823
|
+
return qe.setFromMatrixPosition(e.matrixWorld), Je.setFromMatrixPosition(t.matrixWorld), qe.distanceToSquared(Je);
|
|
3824
3824
|
}
|
|
3825
3825
|
function d(e) {
|
|
3826
3826
|
let t = [];
|
|
@@ -3835,7 +3835,7 @@ var Le = class extends _.Controller {
|
|
|
3835
3835
|
for (let e = 0, r = t.length; e < r; e++) t[e].element.style.zIndex = n - e;
|
|
3836
3836
|
}
|
|
3837
3837
|
}
|
|
3838
|
-
},
|
|
3838
|
+
}, Xe = "#five-CSS2DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n top: 0;\n left: 0;\n}\n\n.five-CSS2DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS2DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS2DPlugin .five-CSS2DPlugin-hidden * {\n pointer-events: none;\n}\n", Ze = class extends x.Controller {
|
|
3839
3839
|
updateState(e, t) {
|
|
3840
3840
|
let n = this.state;
|
|
3841
3841
|
this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
|
|
@@ -3845,10 +3845,10 @@ var Le = class extends _.Controller {
|
|
|
3845
3845
|
});
|
|
3846
3846
|
}
|
|
3847
3847
|
constructor(e, t) {
|
|
3848
|
-
super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.createCSS2DObject = ({ id: e =
|
|
3848
|
+
super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.createCSS2DObject = ({ id: e = Be(), name: t, innerHTML: n, center: r, position: i, visible: a = !0, timeout: o }) => {
|
|
3849
3849
|
let s = document.createElement("div");
|
|
3850
3850
|
s.className = "five-CSS2DPlugin-X", a || s.classList.add("five-CSS2DPlugin-hidden"), o && s.style.setProperty("--timeout", o + "ms"), s.innerHTML = n;
|
|
3851
|
-
let c = new
|
|
3851
|
+
let c = new Ue(s);
|
|
3852
3852
|
return c.userData = {
|
|
3853
3853
|
id: e,
|
|
3854
3854
|
_visible: a,
|
|
@@ -3875,13 +3875,13 @@ var Le = class extends _.Controller {
|
|
|
3875
3875
|
this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
|
|
3876
3876
|
}, this.dispose = () => {
|
|
3877
3877
|
this.removeAll(), this._disable({ userAction: !1 });
|
|
3878
|
-
}, this.five = e, this.renderer = new
|
|
3878
|
+
}, this.five = e, this.renderer = new Ye(), this.renderer.domElement.id = "five-CSS2DPlugin", this.styleSheet.replaceSync(Xe), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
|
|
3879
3879
|
enabled: !0,
|
|
3880
3880
|
visible: !0
|
|
3881
3881
|
}, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
|
|
3882
3882
|
}
|
|
3883
3883
|
load(e) {
|
|
3884
|
-
return
|
|
3884
|
+
return S(this, void 0, void 0, function* () {});
|
|
3885
3885
|
}
|
|
3886
3886
|
appendToFiveContainer() {
|
|
3887
3887
|
var e;
|
|
@@ -3903,7 +3903,7 @@ var Le = class extends _.Controller {
|
|
|
3903
3903
|
}
|
|
3904
3904
|
remove(e) {
|
|
3905
3905
|
this.scene.remove(e), e.traverse((e) => {
|
|
3906
|
-
e instanceof
|
|
3906
|
+
e instanceof Ue && e.element.remove();
|
|
3907
3907
|
}), this.render();
|
|
3908
3908
|
}
|
|
3909
3909
|
removeAll() {
|
|
@@ -3941,10 +3941,10 @@ var Le = class extends _.Controller {
|
|
|
3941
3941
|
hide(e) {
|
|
3942
3942
|
this.renderer.domElement.style.display = "none", this.updateState({ visible: !1 }, !0);
|
|
3943
3943
|
}
|
|
3944
|
-
},
|
|
3944
|
+
}, Qe = (e, t) => new Ze(e, t);
|
|
3945
3945
|
//#endregion
|
|
3946
3946
|
//#region build/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js
|
|
3947
|
-
function
|
|
3947
|
+
function $e(e, t, n) {
|
|
3948
3948
|
if (n) {
|
|
3949
3949
|
let r = new i.Vector3().subVectors(e.position, n).applyQuaternion(e.quaternion.clone().inverse()).applyQuaternion(t).add(n);
|
|
3950
3950
|
e.position.copy(r);
|
|
@@ -3953,12 +3953,12 @@ function Ye(e, t, n) {
|
|
|
3953
3953
|
}
|
|
3954
3954
|
//#endregion
|
|
3955
3955
|
//#region build/five/utils/isNil.js
|
|
3956
|
-
function
|
|
3956
|
+
function et(e) {
|
|
3957
3957
|
return e == null;
|
|
3958
3958
|
}
|
|
3959
3959
|
//#endregion
|
|
3960
3960
|
//#region build/plugins/Object3DHelperPlugin/Helper/BaseHelper.js
|
|
3961
|
-
var
|
|
3961
|
+
var W = class extends i.Object3D {
|
|
3962
3962
|
removeChildren() {
|
|
3963
3963
|
for (; this.children.length > 0;) this.remove(this.children[0]);
|
|
3964
3964
|
return this;
|
|
@@ -4007,7 +4007,7 @@ var Ze = class extends i.Object3D {
|
|
|
4007
4007
|
return e.intersectObject(this, !0, t);
|
|
4008
4008
|
}
|
|
4009
4009
|
initialPosition(e) {
|
|
4010
|
-
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" || this.positionFrom === "boundingSphere" ? this.position.copy(new i.Box3().expandByObject(this.originObject3D).getCenter(new i.Vector3())) : this.positionFrom instanceof
|
|
4010
|
+
this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" || this.positionFrom === "boundingSphere" ? this.position.copy(new i.Box3().expandByObject(this.originObject3D).getCenter(new i.Vector3())) : this.positionFrom instanceof _ ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
|
|
4011
4011
|
}
|
|
4012
4012
|
setScaleByCamera(e) {}
|
|
4013
4013
|
initQuaternion(e) {
|
|
@@ -4029,7 +4029,7 @@ var Ze = class extends i.Object3D {
|
|
|
4029
4029
|
a,
|
|
4030
4030
|
o,
|
|
4031
4031
|
s
|
|
4032
|
-
].filter((e) => !
|
|
4032
|
+
].filter((e) => !et(e)).length >= 2) {
|
|
4033
4033
|
a || (a = new i.Vector3().crossVectors(o, s).normalize()), o || (o = new i.Vector3().crossVectors(a, s).normalize()), s || (s = new i.Vector3().crossVectors(a, o).normalize()), a.applyQuaternion(this.quaternion), o.applyQuaternion(this.quaternion), s.applyQuaternion(this.quaternion);
|
|
4034
4034
|
let e = new i.Matrix4().makeBasis(a, o, s), t = new i.Quaternion().setFromRotationMatrix(e);
|
|
4035
4035
|
this.quaternion.copy(t);
|
|
@@ -4040,11 +4040,11 @@ var Ze = class extends i.Object3D {
|
|
|
4040
4040
|
this.scale.applyMatrix4(e);
|
|
4041
4041
|
}
|
|
4042
4042
|
setHelperQuaternion(e, t) {
|
|
4043
|
-
this.initQuaternion(), t ?
|
|
4043
|
+
this.initQuaternion(), t ? $e(this, this.quaternion.clone().premultiply(e), t) : this.quaternion.premultiply(e);
|
|
4044
4044
|
}
|
|
4045
4045
|
applyHelperQuaternion(e, t) {
|
|
4046
4046
|
if (t) {
|
|
4047
|
-
let n = new
|
|
4047
|
+
let n = new _().subVectors(this.position, t).applyQuaternion(e).add(t);
|
|
4048
4048
|
this.position.copy(n);
|
|
4049
4049
|
}
|
|
4050
4050
|
this.applyQuaternion(e);
|
|
@@ -4052,29 +4052,29 @@ var Ze = class extends i.Object3D {
|
|
|
4052
4052
|
dispose() {
|
|
4053
4053
|
this.removeFromParent();
|
|
4054
4054
|
}
|
|
4055
|
-
},
|
|
4055
|
+
}, tt = class extends W {}, nt = class extends W {}, rt = class extends W {}, it = class extends i.Group {
|
|
4056
4056
|
constructor(e) {
|
|
4057
4057
|
super(), this.direction = e || "x";
|
|
4058
4058
|
}
|
|
4059
4059
|
};
|
|
4060
4060
|
i.Line;
|
|
4061
|
-
var
|
|
4061
|
+
var at = class extends i.Mesh {
|
|
4062
4062
|
constructor(e, t, n) {
|
|
4063
4063
|
super(e, t), this.direction = n || "x";
|
|
4064
4064
|
}
|
|
4065
|
-
},
|
|
4065
|
+
}, ot = {
|
|
4066
4066
|
X: 16730698,
|
|
4067
4067
|
Y: 54927,
|
|
4068
4068
|
Z: 3368703
|
|
4069
4069
|
}, G = class {
|
|
4070
4070
|
static get X() {
|
|
4071
|
-
return new i.Color(
|
|
4071
|
+
return new i.Color(ot.X).convertSRGBToLinear().clone();
|
|
4072
4072
|
}
|
|
4073
4073
|
static get Y() {
|
|
4074
|
-
return new i.Color(
|
|
4074
|
+
return new i.Color(ot.Y).convertSRGBToLinear().clone();
|
|
4075
4075
|
}
|
|
4076
4076
|
static get Z() {
|
|
4077
|
-
return new i.Color(
|
|
4077
|
+
return new i.Color(ot.Z).convertSRGBToLinear().clone();
|
|
4078
4078
|
}
|
|
4079
4079
|
}, K = {
|
|
4080
4080
|
ROTATE_HELPER: 9992,
|
|
@@ -4085,7 +4085,7 @@ var tt = class extends i.Mesh {
|
|
|
4085
4085
|
MOVE_HELPER_CENTER: 10002,
|
|
4086
4086
|
DRAG_GUIDE_LINE: 10003,
|
|
4087
4087
|
DRAG_FACE_PATCH: 10004
|
|
4088
|
-
},
|
|
4088
|
+
}, q = class extends it {
|
|
4089
4089
|
constructor(e) {
|
|
4090
4090
|
var t;
|
|
4091
4091
|
super(e.direction), this.lineHeight = .5, this.arrowHeight = .1, this.name = "ArrowGroup";
|
|
@@ -4096,15 +4096,15 @@ var tt = class extends i.Mesh {
|
|
|
4096
4096
|
depthTest: !1,
|
|
4097
4097
|
depthWrite: !1
|
|
4098
4098
|
});
|
|
4099
|
-
this.arrow = new
|
|
4099
|
+
this.arrow = new at(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrow.name = `arrow-${e.direction}`, this.arrow.renderOrder = K.MOVE_HELPER_ARROW, this.arrowNeg = new at(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrowNeg.name = `arrow-neg-${e.direction}`, this.arrowNeg.renderOrder = K.MOVE_HELPER_ARROW;
|
|
4100
4100
|
let a = .004;
|
|
4101
|
-
this.line = new
|
|
4101
|
+
this.line = new at(new i.CylinderGeometry(a, a, this.lineHeight, 32), r(), e.direction), this.line.name = `line-${e.direction}`, this.line.renderOrder = K.MOVE_HELPER_ARROW, this.formatGeometries(), this.add(this.arrow, this.arrowNeg, this.line);
|
|
4102
4102
|
}
|
|
4103
4103
|
formatGeometries() {
|
|
4104
4104
|
let e = this.lineHeight, t = this.arrowHeight;
|
|
4105
4105
|
this.arrow.geometry.translate(0, e + t / 2, 0), this.arrowNeg.geometry.rotateZ(Math.PI), this.arrowNeg.geometry.translate(0, -(e + t / 2), 0), this.line.geometry.translate(0, e / 2, 0), this.direction === "x" ? (this.arrow.geometry.rotateX(Math.PI / 2), this.arrow.geometry.rotateY(Math.PI / 2), this.arrowNeg.geometry.rotateX(Math.PI / 2), this.arrowNeg.geometry.rotateY(Math.PI / 2), this.line.geometry.rotateX(Math.PI / 2), this.line.geometry.rotateY(Math.PI / 2)) : this.direction === "z" && (this.arrow.geometry.rotateX(Math.PI / 2), this.arrowNeg.geometry.rotateX(Math.PI / 2), this.line.geometry.rotateX(Math.PI / 2));
|
|
4106
4106
|
}
|
|
4107
|
-
},
|
|
4107
|
+
}, J = class extends it {
|
|
4108
4108
|
constructor(e) {
|
|
4109
4109
|
var t, n;
|
|
4110
4110
|
super("plane"), this.name = "CenterHandle", this.faceNormals = [
|
|
@@ -4146,7 +4146,7 @@ var tt = class extends i.Mesh {
|
|
|
4146
4146
|
this.faceMaterials[e.index].color.copy(a[n]);
|
|
4147
4147
|
});
|
|
4148
4148
|
}
|
|
4149
|
-
},
|
|
4149
|
+
}, Y = class extends it {
|
|
4150
4150
|
constructor(e) {
|
|
4151
4151
|
var t, n, r;
|
|
4152
4152
|
super(e.direction), this.name = "PlaneHandle";
|
|
@@ -4174,32 +4174,32 @@ var tt = class extends i.Mesh {
|
|
|
4174
4174
|
};
|
|
4175
4175
|
//#endregion
|
|
4176
4176
|
//#region build/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js
|
|
4177
|
-
function
|
|
4177
|
+
function st(e, t, n) {
|
|
4178
4178
|
let r = e.position.distanceTo(t), i = e.fov, a = e.distance || 3, o = r / 3, s = i / 90, c = a / 3, l = o * s * c, u = (n == null ? void 0 : n.min) || .6, d = n == null ? void 0 : n.max;
|
|
4179
4179
|
return u && l < u ? u : d && l > d ? d : l;
|
|
4180
4180
|
}
|
|
4181
4181
|
//#endregion
|
|
4182
4182
|
//#region build/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js
|
|
4183
|
-
function
|
|
4183
|
+
function X(e) {
|
|
4184
4184
|
let { latitude: t, longitude: n } = e, r = new i.Vector3();
|
|
4185
|
-
return
|
|
4185
|
+
return Z - t < .03 ? r.set(0, 1, 0) : ct(0, n) ? r.set(0, 0, 1) : ct(Math.PI, n) ? r.set(0, 0, -1) : ct(Z, n) ? r.set(1, 0, 0) : r.set(-1, 0, 0), r;
|
|
4186
4186
|
}
|
|
4187
|
-
var
|
|
4188
|
-
function
|
|
4187
|
+
var Z = Number((Math.PI / 2).toFixed(5));
|
|
4188
|
+
function ct(e, t) {
|
|
4189
4189
|
return typeof e != "number" || typeof t != "number" ? !1 : Math.abs(e - t) < .001;
|
|
4190
4190
|
}
|
|
4191
4191
|
//#endregion
|
|
4192
4192
|
//#region build/plugins/Object3DHelperPlugin/utils/tipsDom.js
|
|
4193
|
-
function
|
|
4194
|
-
return
|
|
4193
|
+
function lt(e, t) {
|
|
4194
|
+
return ut(document.createElement(t == null ? "div" : t), e);
|
|
4195
4195
|
}
|
|
4196
|
-
function
|
|
4196
|
+
function ut(e, t) {
|
|
4197
4197
|
if (!t) return e;
|
|
4198
4198
|
for (let n in t) n && t[n] && (e.style[n] = t[n]);
|
|
4199
4199
|
return e;
|
|
4200
4200
|
}
|
|
4201
|
-
function
|
|
4202
|
-
let t =
|
|
4201
|
+
function Q(e) {
|
|
4202
|
+
let t = lt(Object.assign({
|
|
4203
4203
|
position: "absolute",
|
|
4204
4204
|
display: "block",
|
|
4205
4205
|
borderRadius: "4px",
|
|
@@ -4231,27 +4231,27 @@ function Z(e) {
|
|
|
4231
4231
|
}
|
|
4232
4232
|
//#endregion
|
|
4233
4233
|
//#region build/plugins/Object3DHelperPlugin/Helper/MoveHelper.js
|
|
4234
|
-
var
|
|
4234
|
+
var dt = class extends tt {
|
|
4235
4235
|
constructor(e, t) {
|
|
4236
|
-
super(e, t), this.name = "MoveHelper", (t == null ? void 0 : t.xArrowEnable) !== !1 && (this.xArrow = new
|
|
4236
|
+
super(e, t), this.name = "MoveHelper", (t == null ? void 0 : t.xArrowEnable) !== !1 && (this.xArrow = new q({
|
|
4237
4237
|
direction: "x",
|
|
4238
4238
|
color: G.X
|
|
4239
|
-
})), (t == null ? void 0 : t.yArrowEnable) !== !1 && (this.yArrow = new
|
|
4239
|
+
})), (t == null ? void 0 : t.yArrowEnable) !== !1 && (this.yArrow = new q({
|
|
4240
4240
|
direction: "y",
|
|
4241
4241
|
color: G.Y
|
|
4242
|
-
})), (t == null ? void 0 : t.zArrowEnable) !== !1 && (this.zArrow = new
|
|
4242
|
+
})), (t == null ? void 0 : t.zArrowEnable) !== !1 && (this.zArrow = new q({
|
|
4243
4243
|
direction: "z",
|
|
4244
4244
|
color: G.Z
|
|
4245
|
-
})), (t == null ? void 0 : t.centerHandleEnable) !== !1 && (this.centerHandle = new
|
|
4245
|
+
})), (t == null ? void 0 : t.centerHandleEnable) !== !1 && (this.centerHandle = new J()), (t == null ? void 0 : t.xyPlaneEnable) !== !1 && (this.xyPlane = new Y({
|
|
4246
4246
|
direction: "xy",
|
|
4247
4247
|
color: G.Z
|
|
4248
|
-
})), (t == null ? void 0 : t.xzPlaneEnable) !== !1 && (this.xzPlane = new
|
|
4248
|
+
})), (t == null ? void 0 : t.xzPlaneEnable) !== !1 && (this.xzPlane = new Y({
|
|
4249
4249
|
direction: "xz",
|
|
4250
4250
|
color: G.Y
|
|
4251
|
-
})), (t == null ? void 0 : t.yzPlaneEnable) !== !1 && (this.yzPlane = new
|
|
4251
|
+
})), (t == null ? void 0 : t.yzPlaneEnable) !== !1 && (this.yzPlane = new Y({
|
|
4252
4252
|
direction: "yz",
|
|
4253
4253
|
color: G.X
|
|
4254
|
-
})), t != null && t.container && (t == null ? void 0 : t.moveTipsEnable) !== !1 && (this.container = t.container, this.moveTips =
|
|
4254
|
+
})), t != null && t.container && (t == null ? void 0 : t.moveTipsEnable) !== !1 && (this.container = t.container, this.moveTips = Q({ display: "none" }), this.container.appendChild(this.moveTips.element)), this.add(...[
|
|
4255
4255
|
this.xArrow,
|
|
4256
4256
|
this.yArrow,
|
|
4257
4257
|
this.zArrow,
|
|
@@ -4263,7 +4263,7 @@ var ct = class extends Qe {
|
|
|
4263
4263
|
}
|
|
4264
4264
|
update(e) {
|
|
4265
4265
|
if (this.xArrow && (this.xArrow.visible = !0), this.yArrow && (this.yArrow.visible = !0), this.zArrow && (this.zArrow.visible = !0), this.centerHandle && this.centerHandle.update(e), e.type === "OrthographicCamera") {
|
|
4266
|
-
let t = new i.Vector3(1, 0, 0).applyQuaternion(this.quaternion), n = new i.Vector3(0, 1, 0).applyQuaternion(this.quaternion), r = new i.Vector3(0, 0, 1).applyQuaternion(this.quaternion), a = e.pose, o =
|
|
4266
|
+
let t = new i.Vector3(1, 0, 0).applyQuaternion(this.quaternion), n = new i.Vector3(0, 1, 0).applyQuaternion(this.quaternion), r = new i.Vector3(0, 0, 1).applyQuaternion(this.quaternion), a = e.pose, o = X(a), s = .0872665;
|
|
4267
4267
|
Math.abs(t.angleTo(o) - 0) < s || Math.abs(t.angleTo(o) - Math.PI) < s ? this.xArrow && (this.xArrow.visible = !1) : Math.abs(n.angleTo(o) - 0) < s || Math.abs(n.angleTo(o) - Math.PI) < s ? this.yArrow && (this.yArrow.visible = !1) : (Math.abs(r.angleTo(o) - 0) < s || Math.abs(r.angleTo(o) - Math.PI) < s) && this.zArrow && (this.zArrow.visible = !1);
|
|
4268
4268
|
}
|
|
4269
4269
|
}
|
|
@@ -4272,7 +4272,7 @@ var ct = class extends Qe {
|
|
|
4272
4272
|
super.show(), this.xArrow && this.add(this.xArrow), this.yArrow && this.add(this.yArrow), this.zArrow && this.add(this.zArrow), this.centerHandle && this.add(this.centerHandle), this.xyPlane && this.add(this.xyPlane), this.xzPlane && this.add(this.xzPlane), this.yzPlane && this.add(this.yzPlane), (e = this.moveTips) == null || e.hide();
|
|
4273
4273
|
}
|
|
4274
4274
|
setScaleByCamera(e) {
|
|
4275
|
-
this.scale.setScalar(
|
|
4275
|
+
this.scale.setScalar(st(e, this.position));
|
|
4276
4276
|
}
|
|
4277
4277
|
showDraggingHelper(e) {
|
|
4278
4278
|
this.xArrow && (e.includes("x") ? this.add(this.xArrow) : this.remove(this.xArrow)), this.yArrow && (e.includes("y") ? this.add(this.yArrow) : this.remove(this.yArrow)), this.zArrow && (e.includes("z") ? this.add(this.zArrow) : this.remove(this.zArrow)), this.centerHandle && (e.includes("plane") ? this.add(this.centerHandle) : this.remove(this.centerHandle)), this.xyPlane && (e.includes("xy") ? this.add(this.xyPlane) : this.remove(this.xyPlane)), this.xzPlane && (e.includes("xz") ? this.add(this.xzPlane) : this.remove(this.xzPlane)), this.yzPlane && (e.includes("yz") ? this.add(this.yzPlane) : this.remove(this.yzPlane));
|
|
@@ -4289,18 +4289,18 @@ var ct = class extends Qe {
|
|
|
4289
4289
|
this.yzPlane
|
|
4290
4290
|
].filter(Boolean)), (t = (e = this.moveTips) == null ? void 0 : e.element) == null || t.remove(), super.dispose();
|
|
4291
4291
|
}
|
|
4292
|
-
},
|
|
4292
|
+
}, ft = class extends rt {
|
|
4293
4293
|
constructor(e, t) {
|
|
4294
|
-
super(e, t), this.name = "RotateHelper", this.children = [], (t == null ? void 0 : t.yzCircleEnable) !== !1 && (this.xCircle = new
|
|
4294
|
+
super(e, t), this.name = "RotateHelper", this.children = [], (t == null ? void 0 : t.yzCircleEnable) !== !1 && (this.xCircle = new pt({
|
|
4295
4295
|
direction: "x",
|
|
4296
4296
|
color: G.X
|
|
4297
|
-
})), (t == null ? void 0 : t.xzCircleEnable) !== !1 && (this.yCircle = new
|
|
4297
|
+
})), (t == null ? void 0 : t.xzCircleEnable) !== !1 && (this.yCircle = new pt({
|
|
4298
4298
|
direction: "y",
|
|
4299
4299
|
color: G.Y
|
|
4300
|
-
})), (t == null ? void 0 : t.xyCircleEnable) !== !1 && (this.zCircle = new
|
|
4300
|
+
})), (t == null ? void 0 : t.xyCircleEnable) !== !1 && (this.zCircle = new pt({
|
|
4301
4301
|
direction: "z",
|
|
4302
4302
|
color: G.Z
|
|
4303
|
-
})), t != null && t.container && (t == null ? void 0 : t.angleTipsEnable) !== !1 && (this.container = t == null ? void 0 : t.container, this.angleTips =
|
|
4303
|
+
})), t != null && t.container && (t == null ? void 0 : t.angleTipsEnable) !== !1 && (this.container = t == null ? void 0 : t.container, this.angleTips = Q({ display: "none" }), this.container.appendChild(this.angleTips.element)), this.add(...[
|
|
4304
4304
|
this.xCircle,
|
|
4305
4305
|
this.yCircle,
|
|
4306
4306
|
this.zCircle
|
|
@@ -4314,7 +4314,7 @@ var ct = class extends Qe {
|
|
|
4314
4314
|
this.children.forEach((e) => e.showCircle()), (e = this.angleTips) == null || e.hide();
|
|
4315
4315
|
}
|
|
4316
4316
|
setScaleByCamera(e) {
|
|
4317
|
-
this.scale.setScalar(
|
|
4317
|
+
this.scale.setScalar(st(e, this.position));
|
|
4318
4318
|
}
|
|
4319
4319
|
update(e) {
|
|
4320
4320
|
if (e.type === "OrthographicCamera") return;
|
|
@@ -4342,9 +4342,9 @@ var ct = class extends Qe {
|
|
|
4342
4342
|
var e, t;
|
|
4343
4343
|
this.removeFromParent(), (t = (e = this.angleTips) == null ? void 0 : e.element) == null || t.remove();
|
|
4344
4344
|
}
|
|
4345
|
-
},
|
|
4345
|
+
}, pt = class extends i.Group {
|
|
4346
4346
|
constructor(e) {
|
|
4347
|
-
super(), this.direction = e.direction, this.circle = new
|
|
4347
|
+
super(), this.direction = e.direction, this.circle = new mt(e), this.ring = new ht(e), this.angleSector = new gt(e), this.add(this.circle, this.ring, this.angleSector), this.direction === "y" ? this.rotation.x = Math.PI / 2 : this.direction === "x" && (this.rotation.y = -Math.PI / 2);
|
|
4348
4348
|
}
|
|
4349
4349
|
showCircle() {
|
|
4350
4350
|
this.add(this.circle), this.remove(this.ring, this.angleSector);
|
|
@@ -4355,7 +4355,7 @@ var ct = class extends Qe {
|
|
|
4355
4355
|
hide() {
|
|
4356
4356
|
this.remove(this.ring, this.angleSector, this.circle);
|
|
4357
4357
|
}
|
|
4358
|
-
},
|
|
4358
|
+
}, mt = class extends i.Mesh {
|
|
4359
4359
|
constructor(e) {
|
|
4360
4360
|
var t;
|
|
4361
4361
|
super(), this.gapAngle = .02, this.geometry = new i.RingGeometry(.3, .35, 20, 8, this.gapAngle, Math.PI / 2 - this.gapAngle * 2), this.material = new i.MeshBasicMaterial({
|
|
@@ -4366,7 +4366,7 @@ var ct = class extends Qe {
|
|
|
4366
4366
|
depthTest: !1
|
|
4367
4367
|
}), this.direction = e.direction, this.renderOrder = K.ROTATE_HELPER, this.geometry.name = `RotateHelperCircleGeometry-${this.direction}`;
|
|
4368
4368
|
}
|
|
4369
|
-
},
|
|
4369
|
+
}, ht = class extends i.Group {
|
|
4370
4370
|
constructor(e) {
|
|
4371
4371
|
super(), this.direction = e.direction;
|
|
4372
4372
|
let t = .015, n = Array(8).fill(null).map((e, n) => {
|
|
@@ -4382,7 +4382,7 @@ var ct = class extends Qe {
|
|
|
4382
4382
|
});
|
|
4383
4383
|
this.add(...n);
|
|
4384
4384
|
}
|
|
4385
|
-
},
|
|
4385
|
+
}, gt = class extends i.Mesh {
|
|
4386
4386
|
constructor(e) {
|
|
4387
4387
|
var t;
|
|
4388
4388
|
switch (super(), this.offsetAngle = (e) => e, e.direction) {
|
|
@@ -4420,7 +4420,7 @@ var ct = class extends Qe {
|
|
|
4420
4420
|
getDirection() {
|
|
4421
4421
|
return this.angleDirection === -1 ? "clockwise" : "counterclockwise";
|
|
4422
4422
|
}
|
|
4423
|
-
},
|
|
4423
|
+
}, _t = class extends nt {
|
|
4424
4424
|
constructor(e) {
|
|
4425
4425
|
super(e), this.name = "BoundingBoxHelper", this.positionAttribute = new i.BufferAttribute(new Float32Array(24), 3), this.box = this.createBox(), this.outline = this.createOutline(), this.add(this.box, this.outline), this.update();
|
|
4426
4426
|
}
|
|
@@ -4428,7 +4428,7 @@ var ct = class extends Qe {
|
|
|
4428
4428
|
this.quaternion.copy(this.originObject3D.quaternion), this.scale.copy(this.originObject3D.scale);
|
|
4429
4429
|
}
|
|
4430
4430
|
setHelperQuaternion(e, t) {
|
|
4431
|
-
|
|
4431
|
+
$e(this, e, t);
|
|
4432
4432
|
}
|
|
4433
4433
|
raycasterIntersectObject(e, t) {
|
|
4434
4434
|
return e.intersectObject(this, !1, t);
|
|
@@ -4541,27 +4541,27 @@ var ct = class extends Qe {
|
|
|
4541
4541
|
});
|
|
4542
4542
|
return new i.Mesh(t, n);
|
|
4543
4543
|
}
|
|
4544
|
-
},
|
|
4545
|
-
function
|
|
4546
|
-
if (
|
|
4544
|
+
}, vt = /* @__PURE__ */ new Map();
|
|
4545
|
+
function yt(e) {
|
|
4546
|
+
if (vt.has(e)) return vt.get(e).hooks;
|
|
4547
4547
|
let t = new r(), n = null, i, a = () => {
|
|
4548
4548
|
n = requestAnimationFrame(a);
|
|
4549
4549
|
let r = e.projectionMatrix.toArray().join(",") + e.matrixWorld.toArray().join(",");
|
|
4550
4550
|
r !== i && (i = r, t.emit("cameraUpdate"));
|
|
4551
4551
|
};
|
|
4552
|
-
return a(),
|
|
4552
|
+
return a(), vt.set(e, {
|
|
4553
4553
|
hooks: t,
|
|
4554
4554
|
dispose: () => {
|
|
4555
|
-
|
|
4555
|
+
vt.delete(e), cancelAnimationFrame(n);
|
|
4556
4556
|
}
|
|
4557
4557
|
}), t;
|
|
4558
4558
|
}
|
|
4559
4559
|
//#endregion
|
|
4560
4560
|
//#region build/plugins/Object3DHelperPlugin/Controllers/BaseController.js
|
|
4561
|
-
function
|
|
4561
|
+
function bt(e) {
|
|
4562
4562
|
return arguments.length === 0 ? [] : Array.isArray(e) ? e : [e];
|
|
4563
4563
|
}
|
|
4564
|
-
var
|
|
4564
|
+
var xt = class {
|
|
4565
4565
|
updateOtherControllers(e) {
|
|
4566
4566
|
this.otherControllers = e;
|
|
4567
4567
|
}
|
|
@@ -4574,7 +4574,7 @@ var _t = class {
|
|
|
4574
4574
|
if (this.getIntersectObject(e)) return !1;
|
|
4575
4575
|
}, this.updateHelperScale = () => {
|
|
4576
4576
|
"update" in this.helperObject3D && typeof this.helperObject3D.update == "function" && this.helperObject3D.update(this.camera), this.helperObject3D.setScaleByCamera(this.camera);
|
|
4577
|
-
}, this.getBox = () => (this.boundingBox || (this.boundingBox = new i.Box3().expandByObject(this.originObject3D)), this.boundingBox), this.hooks = (n = e.sharedHooks) == null ? new r() : n, this.internalHooks = (a = e.sharedInternalHooks) == null ? new r() : a, this.camera = e.camera, this.model = e.model, this.originObject3D = e.originObject3D, this.helperObject3D = e.helperObject3D, this.container = e.container, this.scene = e.scene, this.domEvents = e.domEvents, this.onRender = (o = e.onRender) == null ? (() => {}) : o, this.config = t == null ? {} : t, this.otherControllers = e.otherControllers, this.initialHelperPosition(), this.initialHelperQuaternion(), this.updateHelperScale(), this.cameraHooks =
|
|
4577
|
+
}, this.getBox = () => (this.boundingBox || (this.boundingBox = new i.Box3().expandByObject(this.originObject3D)), this.boundingBox), this.hooks = (n = e.sharedHooks) == null ? new r() : n, this.internalHooks = (a = e.sharedInternalHooks) == null ? new r() : a, this.camera = e.camera, this.model = e.model, this.originObject3D = e.originObject3D, this.helperObject3D = e.helperObject3D, this.container = e.container, this.scene = e.scene, this.domEvents = e.domEvents, this.onRender = (o = e.onRender) == null ? (() => {}) : o, this.config = t == null ? {} : t, this.otherControllers = e.otherControllers, this.initialHelperPosition(), this.initialHelperQuaternion(), this.updateHelperScale(), this.cameraHooks = yt(this.camera), this.enable();
|
|
4578
4578
|
let s = this.onSetOriginObjectScale.bind(this), c = this.onSetOriginObjectRotate.bind(this), l = this.onSetOriginObjectPosition.bind(this), u = this.onApplyOriginObjectScale.bind(this), d = this.onApplyOriginObjectRotate.bind(this), f = this.onApplyOriginObjectPosition.bind(this), p = this.initialHelperPosition.bind(this);
|
|
4579
4579
|
this.cameraHooks.on("cameraUpdate", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", p), this.internalHooks.on("setObjectScale", s), this.internalHooks.on("setObjectRotate", c), this.internalHooks.on("setObjectPosition", l), this.internalHooks.on("applyObjectPosition", f), this.internalHooks.on("applyObjectRotate", d), this.internalHooks.on("applyObjectScale", u), this.hooks.on("moveEnd", this.updateHelperScale), this.internalHooks.on("setObjectPosition", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", this.updateHelperScale), this.disposers.push(() => {
|
|
4580
4580
|
this.cameraHooks.off("cameraUpdate", this.updateHelperScale), this.internalHooks.off("initialHelperPosition", p), this.internalHooks.off("setObjectScale", s), this.internalHooks.off("setObjectRotate", c), this.internalHooks.off("setObjectPosition", l), this.internalHooks.off("applyObjectPosition", f), this.internalHooks.off("applyObjectRotate", d), this.internalHooks.off("applyObjectScale", u), this.hooks.off("moveEnd", this.updateHelperScale), this.internalHooks.off("setObjectPosition", this.updateHelperScale), this.internalHooks.off("initialHelperPosition", this.updateHelperScale);
|
|
@@ -4648,7 +4648,7 @@ var _t = class {
|
|
|
4648
4648
|
}
|
|
4649
4649
|
}
|
|
4650
4650
|
hoverListener(e, t = 16777215, n = 1) {
|
|
4651
|
-
let r =
|
|
4651
|
+
let r = bt(e).filter((e) => !et(e)), a = [];
|
|
4652
4652
|
for (let e of r) if (e.material || e instanceof i.Group) {
|
|
4653
4653
|
let r = e instanceof i.Group ? e.children.filter((e) => e instanceof i.Mesh) : [e];
|
|
4654
4654
|
r.forEach((e) => {
|
|
@@ -4734,7 +4734,7 @@ var _t = class {
|
|
|
4734
4734
|
};
|
|
4735
4735
|
//#endregion
|
|
4736
4736
|
//#region build/plugins/Object3DHelperPlugin/utils/solidGuide.js
|
|
4737
|
-
function
|
|
4737
|
+
function St(e, t) {
|
|
4738
4738
|
let n = 10, r = 10, i = e.isPerspectiveCamera, a = e.isOrthographicCamera;
|
|
4739
4739
|
if (i) {
|
|
4740
4740
|
let i = e, a = i.position.distanceTo(t), o = i.fov * Math.PI / 180;
|
|
@@ -4746,7 +4746,7 @@ function vt(e, t) {
|
|
|
4746
4746
|
let o = Math.sqrt(n * n + r * r), s = o * .8, c = Math.min(n, r) * .25, l = o * 1.2;
|
|
4747
4747
|
return Math.max(c, Math.min(s, l));
|
|
4748
4748
|
}
|
|
4749
|
-
var
|
|
4749
|
+
var Ct = class {
|
|
4750
4750
|
constructor(e, t, n) {
|
|
4751
4751
|
this.camera = e, this.container = t, this.defaults = Object.assign({}, n || {});
|
|
4752
4752
|
}
|
|
@@ -4784,7 +4784,7 @@ var yt = class {
|
|
|
4784
4784
|
d && d.itemSize === 3 && d.array.length === l.length ? (d.array.set(l), d.needsUpdate = !0) : u.setAttribute("position", new i.BufferAttribute(l, 3)), (r == null ? void 0 : r.color) !== void 0 && e.material.color.setHex(r.color);
|
|
4785
4785
|
}
|
|
4786
4786
|
computeInfiniteLineLength(e) {
|
|
4787
|
-
return
|
|
4787
|
+
return St(this.camera, e) * 10;
|
|
4788
4788
|
}
|
|
4789
4789
|
dispose(e) {
|
|
4790
4790
|
if (!e) return;
|
|
@@ -4798,16 +4798,16 @@ var yt = class {
|
|
|
4798
4798
|
};
|
|
4799
4799
|
//#endregion
|
|
4800
4800
|
//#region build/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js
|
|
4801
|
-
function
|
|
4801
|
+
function wt(e, t, n) {
|
|
4802
4802
|
if (!t || !n || !e) return;
|
|
4803
|
-
let r =
|
|
4803
|
+
let r = R(t, n);
|
|
4804
4804
|
if (Math.abs(r.x) === 1 || Math.abs(r.y) === 1) return;
|
|
4805
4805
|
let a = new i.Raycaster();
|
|
4806
4806
|
return a.setFromCamera(r, e), a.params.Points && (a.params.Points.threshold = .1), a;
|
|
4807
4807
|
}
|
|
4808
4808
|
//#endregion
|
|
4809
4809
|
//#region build/plugins/Object3DHelperPlugin/Controllers/MoveController.js
|
|
4810
|
-
function
|
|
4810
|
+
function Tt(e) {
|
|
4811
4811
|
let { raycaster: t, line: n, clampToLine: r = !0 } = e, a = new i.Plane().setFromNormalAndCoplanarPoint(t.ray.direction.clone().normalize(), new i.Vector3()), o = a.projectPoint(n.start, new i.Vector3()), s = a.projectPoint(n.end, new i.Vector3()), c = new i.Line3(o, s), l = c.closestPointToPoint(t.ray.origin, r, new i.Vector3()), u = l.distanceTo(s), d = l.distanceTo(o), f = c.distance();
|
|
4812
4812
|
if (u > d && u > f) {
|
|
4813
4813
|
let e = -l.distanceTo(o) / f, t = n.start.clone().sub(n.end).normalize();
|
|
@@ -4817,13 +4817,13 @@ function xt(e) {
|
|
|
4817
4817
|
return new i.Vector3().lerpVectors(n.start, n.end, e);
|
|
4818
4818
|
}
|
|
4819
4819
|
}
|
|
4820
|
-
var
|
|
4820
|
+
var Et = class extends xt {
|
|
4821
4821
|
get moveByMouseEnable() {
|
|
4822
4822
|
return this._moveByMouse.enabled;
|
|
4823
4823
|
}
|
|
4824
4824
|
constructor(...e) {
|
|
4825
4825
|
var t, n, r, a, o;
|
|
4826
|
-
super(...e), this.name = "MoveController", this.solidGuide = new
|
|
4826
|
+
super(...e), this.name = "MoveController", this.solidGuide = new Ct(this.camera, this.container, (n = (t = this.config) == null ? void 0 : t.solidGuide) == null ? {} : n), this._moveByMouse = { enabled: !1 }, this.dragStart = (e) => {
|
|
4827
4827
|
if (this.moveByMouseEnable || this.isDragging) return;
|
|
4828
4828
|
let t = e == null ? void 0 : e.intersect;
|
|
4829
4829
|
if (!t) return this.dragEnd();
|
|
@@ -4901,7 +4901,7 @@ var St = class extends _t {
|
|
|
4901
4901
|
this.helperObject3D.showDraggingHelper(l), this.hooks.emit("moveStart", n), this.isDragging = !0, this.setTipsText(this.originObject3D.position), this.setTipsPosition(c);
|
|
4902
4902
|
}, this.dragging = (e) => {
|
|
4903
4903
|
if (!this.isDragging || !this.startInfo) return;
|
|
4904
|
-
let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r =
|
|
4904
|
+
let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = wt(this.camera, {
|
|
4905
4905
|
x: t,
|
|
4906
4906
|
y: n
|
|
4907
4907
|
}, this.container);
|
|
@@ -4924,7 +4924,7 @@ var St = class extends _t {
|
|
|
4924
4924
|
(r = s.xyPlane) == null ? void 0 : r.handle,
|
|
4925
4925
|
(a = s.xzPlane) == null ? void 0 : a.handle,
|
|
4926
4926
|
(o = s.yzPlane) == null ? void 0 : o.handle
|
|
4927
|
-
]), s.centerHandle && s.centerHandle instanceof
|
|
4927
|
+
]), s.centerHandle && s.centerHandle instanceof J) {
|
|
4928
4928
|
let e = s.centerHandle, t = e.cube;
|
|
4929
4929
|
this.domEvents.addEventListener(t, "mouseover", () => {
|
|
4930
4930
|
this.isDragging || (Array.isArray(t.material) && t.material.forEach((e) => {
|
|
@@ -5010,7 +5010,7 @@ var St = class extends _t {
|
|
|
5010
5010
|
let a = -(t.normal.dot(e.ray.origin) + t.constant) / r;
|
|
5011
5011
|
if (a < 0) return;
|
|
5012
5012
|
n.copy(e.ray.origin.clone().add(e.ray.direction.clone().multiplyScalar(a))), o = n;
|
|
5013
|
-
} else o =
|
|
5013
|
+
} else o = Tt({
|
|
5014
5014
|
raycaster: e,
|
|
5015
5015
|
line: t,
|
|
5016
5016
|
clampToLine: !1
|
|
@@ -5064,7 +5064,7 @@ var St = class extends _t {
|
|
|
5064
5064
|
let o = this.container.getBoundingClientRect(), s = (n + 1) / 2 * o.width, c = (-r + 1) / 2 * o.height;
|
|
5065
5065
|
t.setLeftTop(s + "px", c + "px");
|
|
5066
5066
|
}
|
|
5067
|
-
},
|
|
5067
|
+
}, Dt = class {
|
|
5068
5068
|
constructor(e, t, n, r, i, a, o, s, c) {
|
|
5069
5069
|
this.onFiveWantsTapGesture = (e) => {
|
|
5070
5070
|
if (!this.helperController) return;
|
|
@@ -5098,13 +5098,13 @@ var St = class extends _t {
|
|
|
5098
5098
|
var e;
|
|
5099
5099
|
this.five.off("wantsTapGesture", this.onFiveWantsTapGesture), this.five.off("wantsGesture", this.onFiveWantsGesture), this.five.off("intersectionOnModelUpdate", this.onFiveIntersectionOnModelUpdate), (e = this.helperController) == null || e.dispose();
|
|
5100
5100
|
}
|
|
5101
|
-
},
|
|
5101
|
+
}, Ot = new i.Quaternion(), kt = class extends xt {
|
|
5102
5102
|
get rotateCenter() {
|
|
5103
5103
|
return this.helperObject3D.position.clone();
|
|
5104
5104
|
}
|
|
5105
5105
|
constructor(...e) {
|
|
5106
5106
|
var t, n, r;
|
|
5107
|
-
super(...e), this.name = "RotateController", this.solidGuide = new
|
|
5107
|
+
super(...e), this.name = "RotateController", this.solidGuide = new Ct(this.camera, this.container), this.snapGuideLines = [];
|
|
5108
5108
|
let i = this.helperObject3D;
|
|
5109
5109
|
this.hoverListener([
|
|
5110
5110
|
(t = i.xCircle) == null ? void 0 : t.circle,
|
|
@@ -5124,7 +5124,7 @@ var St = class extends _t {
|
|
|
5124
5124
|
let { x: t = 0, y: n = 0, z: r = 0 } = e, a = new i.Euler(i.MathUtils.degToRad(t), i.MathUtils.degToRad(n), i.MathUtils.degToRad(r)), o = new i.Quaternion().setFromEuler(a);
|
|
5125
5125
|
if (this.hooks.emit("wantToRotate", o)) return;
|
|
5126
5126
|
let { originObject3D: s, rotateCenter: c } = this;
|
|
5127
|
-
|
|
5127
|
+
$e(s, o, c), this.internalHooks.emit("setObjectRotate", o, c), this.hooks.emit("rotate", o), this.render();
|
|
5128
5128
|
}
|
|
5129
5129
|
getEulerAngle(e, t) {
|
|
5130
5130
|
let { originObject3D: n } = this, r = new i.Euler().setFromQuaternion(n.quaternion), a = {
|
|
@@ -5165,7 +5165,7 @@ var St = class extends _t {
|
|
|
5165
5165
|
angle: 0,
|
|
5166
5166
|
helperQuaternion: o.clone(),
|
|
5167
5167
|
startQuaternion: this.originObject3D.quaternion.clone()
|
|
5168
|
-
},
|
|
5168
|
+
}, Ot = new i.Quaternion(), this.helperObject3D.showDraggingHelper([n]), this.hooks.emit("rotateStart", n), this.isDragging = !0;
|
|
5169
5169
|
}
|
|
5170
5170
|
getMatrix() {
|
|
5171
5171
|
var e, t;
|
|
@@ -5194,7 +5194,7 @@ var St = class extends _t {
|
|
|
5194
5194
|
}
|
|
5195
5195
|
dragging(e) {
|
|
5196
5196
|
if (!this.isDragging) return;
|
|
5197
|
-
let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r =
|
|
5197
|
+
let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = wt(this.camera, {
|
|
5198
5198
|
x: t,
|
|
5199
5199
|
y: n
|
|
5200
5200
|
}, this.container);
|
|
@@ -5222,7 +5222,7 @@ var St = class extends _t {
|
|
|
5222
5222
|
let e = new i.Vector3().subVectors(s.position, l).applyQuaternion(O).add(l);
|
|
5223
5223
|
s.position.copy(e);
|
|
5224
5224
|
}
|
|
5225
|
-
s.applyQuaternion(O),
|
|
5225
|
+
s.applyQuaternion(O), Ot.premultiply(O), this.internalHooks.emit("applyObjectRotate", {
|
|
5226
5226
|
quaternion: O,
|
|
5227
5227
|
origin: l
|
|
5228
5228
|
}), this.hooks.emit("rotate", s.quaternion), E || (this.startInfo.startVector = u);
|
|
@@ -5305,7 +5305,7 @@ var St = class extends _t {
|
|
|
5305
5305
|
for (let e of this.snapGuideLines) this.scene.remove(e), this.solidGuide.dispose(e);
|
|
5306
5306
|
this.snapGuideLines = [];
|
|
5307
5307
|
}
|
|
5308
|
-
},
|
|
5308
|
+
}, At = class extends xt {
|
|
5309
5309
|
constructor(...e) {
|
|
5310
5310
|
super(...e), this.name = "BoundingBoxController";
|
|
5311
5311
|
let t = () => {
|
|
@@ -5521,13 +5521,13 @@ $.prototype.destroy = function() {
|
|
|
5521
5521
|
};
|
|
5522
5522
|
//#endregion
|
|
5523
5523
|
//#region build/plugins/Object3DHelperPlugin/Controller.js
|
|
5524
|
-
var
|
|
5525
|
-
console.error(`${
|
|
5526
|
-
},
|
|
5527
|
-
console.warn(`${
|
|
5528
|
-
},
|
|
5529
|
-
console.error(`${
|
|
5530
|
-
},
|
|
5524
|
+
var jt = "Object3DHelperPlugin", Mt = jt, Nt = () => {
|
|
5525
|
+
console.error(`${Mt} is disposed`);
|
|
5526
|
+
}, Pt = () => {
|
|
5527
|
+
console.warn(`${Mt} is disabled`);
|
|
5528
|
+
}, Ft = () => {
|
|
5529
|
+
console.error(`${Mt} is disabled`);
|
|
5530
|
+
}, It = class {
|
|
5531
5531
|
constructor(e) {
|
|
5532
5532
|
this.controllers = {}, this.state = {
|
|
5533
5533
|
visible: !0,
|
|
@@ -5582,21 +5582,21 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5582
5582
|
t && e(t);
|
|
5583
5583
|
});
|
|
5584
5584
|
}
|
|
5585
|
-
},
|
|
5585
|
+
}, Lt = class extends x.Controller {
|
|
5586
5586
|
constructor(e) {
|
|
5587
|
-
super(e), this.name =
|
|
5587
|
+
super(e), this.name = jt, this.state = {
|
|
5588
5588
|
visible: !0,
|
|
5589
5589
|
enabled: !0,
|
|
5590
5590
|
disposed: !1
|
|
5591
5591
|
}, this.objectHelperMap = /* @__PURE__ */ new Map(), this.five = e;
|
|
5592
5592
|
}
|
|
5593
5593
|
show(e) {
|
|
5594
|
-
return
|
|
5594
|
+
return S(this, void 0, void 0, function* () {
|
|
5595
5595
|
this.setState({ visible: !0 }, e);
|
|
5596
5596
|
});
|
|
5597
5597
|
}
|
|
5598
5598
|
hide(e) {
|
|
5599
|
-
return
|
|
5599
|
+
return S(this, void 0, void 0, function* () {
|
|
5600
5600
|
this.setState({ visible: !1 }, e);
|
|
5601
5601
|
});
|
|
5602
5602
|
}
|
|
@@ -5610,12 +5610,12 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5610
5610
|
this.setState({ disposed: !0 });
|
|
5611
5611
|
}
|
|
5612
5612
|
load(e) {
|
|
5613
|
-
return
|
|
5613
|
+
return S(this, void 0, void 0, function* () {});
|
|
5614
5614
|
}
|
|
5615
5615
|
setState(e, t) {
|
|
5616
5616
|
var n;
|
|
5617
|
-
if (this.state.disposed) return
|
|
5618
|
-
if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0) return
|
|
5617
|
+
if (this.state.disposed) return Nt();
|
|
5618
|
+
if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0) return Ft();
|
|
5619
5619
|
let r = Object.assign({}, this.state);
|
|
5620
5620
|
this.state = Object.assign(Object.assign({}, this.state), e), e.disposed !== void 0 && e.disposed !== r.disposed && e.disposed && this.handleDispose(), e.visible !== void 0 && e.visible !== r.visible && this.handleVisible(e.visible), e.enabled !== void 0 && e.enabled !== r.enabled && this.handleEnable(e.enabled), this.hooks.emit("stateChange", {
|
|
5621
5621
|
state: this.state,
|
|
@@ -5636,7 +5636,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5636
5636
|
console.warn(`Object3DHelperPlugin: object3D ${e.name} already has helper`);
|
|
5637
5637
|
return;
|
|
5638
5638
|
}
|
|
5639
|
-
let o = new
|
|
5639
|
+
let o = new It(), s = [], c = (n = this.five.getElement()) == null ? void 0 : n.parentElement;
|
|
5640
5640
|
this.five.camera;
|
|
5641
5641
|
let l = Object.assign(Object.assign({}, {
|
|
5642
5642
|
moveHelper: !0,
|
|
@@ -5650,18 +5650,18 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5650
5650
|
if (e) return typeof e == "boolean" ? e : e.enable;
|
|
5651
5651
|
}, v = {};
|
|
5652
5652
|
if (_(u)) {
|
|
5653
|
-
let t = Object.assign(Object.assign({}, this.getConfig(l.moveHelper)), l), n = new
|
|
5653
|
+
let t = Object.assign(Object.assign({}, this.getConfig(l.moveHelper)), l), n = new dt(e, Object.assign({
|
|
5654
5654
|
container: c == null ? void 0 : c,
|
|
5655
5655
|
moveTipsEnable: (a = l.moveHelperTips) == null ? !1 : a
|
|
5656
|
-
}, t)), r = new
|
|
5656
|
+
}, t)), r = new Dt(this.five, g, Et, e, n, t, m, h, p);
|
|
5657
5657
|
v.moveController = r.helperController, s.push(() => r.dispose());
|
|
5658
5658
|
}
|
|
5659
5659
|
if (_(d)) {
|
|
5660
|
-
let t = Object.assign(Object.assign({}, this.getConfig(l.rotateHelper)), l), n = new
|
|
5660
|
+
let t = Object.assign(Object.assign({}, this.getConfig(l.rotateHelper)), l), n = new ft(e, Object.assign({ container: c == null ? void 0 : c }, t)), r = new Dt(this.five, g, kt, e, n, t, m, h, p);
|
|
5661
5661
|
v.rotateController = r.helperController, s.push(() => r.dispose());
|
|
5662
5662
|
}
|
|
5663
5663
|
if (_(f)) {
|
|
5664
|
-
let t = new
|
|
5664
|
+
let t = new _t(e), n = new Dt(this.five, g, At, e, t, void 0, m, h, p);
|
|
5665
5665
|
v.boundingBoxController = n.helperController, s.push(() => n.dispose());
|
|
5666
5666
|
}
|
|
5667
5667
|
return Object.values(v).forEach((e) => {
|
|
@@ -5695,12 +5695,12 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5695
5695
|
}
|
|
5696
5696
|
actionIfStateIsEnabled(e, t) {
|
|
5697
5697
|
if (this.state.enabled) return e();
|
|
5698
|
-
t != null && t.warnLog &&
|
|
5698
|
+
t != null && t.warnLog && Pt();
|
|
5699
5699
|
}
|
|
5700
5700
|
getConfig(e) {
|
|
5701
5701
|
if (e && typeof e != "boolean" && e.enable) return e;
|
|
5702
5702
|
}
|
|
5703
|
-
},
|
|
5703
|
+
}, Rt = (e) => new Lt(e), zt = class {
|
|
5704
5704
|
constructor(e, t, n, r, i) {
|
|
5705
5705
|
this.R = e, this.Q = t, this.A = n, this.B = r, this.C = i, this.cov = NaN, this.x = NaN;
|
|
5706
5706
|
}
|
|
@@ -5712,7 +5712,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5712
5712
|
}
|
|
5713
5713
|
return this.x;
|
|
5714
5714
|
}
|
|
5715
|
-
},
|
|
5715
|
+
}, Bt = class extends x.Controller {
|
|
5716
5716
|
updateState(e, t) {
|
|
5717
5717
|
let n = this.state;
|
|
5718
5718
|
this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
|
|
@@ -5729,7 +5729,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5729
5729
|
}, this.duration = (n = t == null ? void 0 : t.duration) == null ? 6e3 : n, this.curveHeight = (r = t == null ? void 0 : t.curveHeight) == null ? 1.5 : r, this.pointDuration = (i = t == null ? void 0 : t.pointDuration) == null ? 4e3 : i;
|
|
5730
5730
|
}
|
|
5731
5731
|
load() {
|
|
5732
|
-
return
|
|
5732
|
+
return S(this, void 0, void 0, function* () {});
|
|
5733
5733
|
}
|
|
5734
5734
|
enable(e) {
|
|
5735
5735
|
var t;
|
|
@@ -5756,7 +5756,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5756
5756
|
extractKeyframes(e) {
|
|
5757
5757
|
let t = [];
|
|
5758
5758
|
if (!e.content.data) throw Error("轨迹数据未加载");
|
|
5759
|
-
let n = e.content.data.positionArray, r = n.length / 3, a = .01, o = .1, s = new
|
|
5759
|
+
let n = e.content.data.positionArray, r = n.length / 3, a = .01, o = .1, s = new zt(a, o, 1, 0, 1), c = new zt(a, o, 1, 0, 1), l = new zt(a, o, 1, 0, 1), u = new Float32Array(r);
|
|
5760
5760
|
for (let e = 0; e < r; e++) if (e === 0) u[e] = 0;
|
|
5761
5761
|
else {
|
|
5762
5762
|
let t = new i.Vector3(n[(e - 1) * 3], n[(e - 1) * 3 + 1], n[(e - 1) * 3 + 2]);
|
|
@@ -5792,7 +5792,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5792
5792
|
return r;
|
|
5793
5793
|
}
|
|
5794
5794
|
getCameraCurve() {
|
|
5795
|
-
return
|
|
5795
|
+
return S(this, void 0, void 0, function* () {
|
|
5796
5796
|
var t, n, r;
|
|
5797
5797
|
let a = (r = (n = (t = this.five.model.viewLayers[0]) == null ? void 0 : t.scene) == null ? void 0 : n.trajectories) == null ? void 0 : r[0];
|
|
5798
5798
|
if (!a) throw Error("未找到轨迹数据");
|
|
@@ -5844,7 +5844,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5844
5844
|
});
|
|
5845
5845
|
}
|
|
5846
5846
|
playEntrance() {
|
|
5847
|
-
return
|
|
5847
|
+
return S(this, void 0, void 0, function* () {
|
|
5848
5848
|
let n = yield this.getCameraCurve(), r = this.boundingAABB, a = new i.Vector3((r.min.x + r.max.x) / 2, this.curveHeight, (r.min.y + r.max.y) / 2), o = n.getPointAt(0), s = new t(90).copy(this.five.camera);
|
|
5849
5849
|
s.position.copy(o), s.lookAt(a), s.computePose(0), this.five.setState(Object.assign({}, s.pose)), this.setBounds();
|
|
5850
5850
|
let c = this.findRenderMesh().material.uniforms;
|
|
@@ -5860,6 +5860,125 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
|
|
|
5860
5860
|
});
|
|
5861
5861
|
});
|
|
5862
5862
|
}
|
|
5863
|
-
},
|
|
5863
|
+
}, Vt = (e, t) => new Bt(e, t), Ht = class extends l {
|
|
5864
|
+
constructor(e, t) {
|
|
5865
|
+
super(), this.prefabGeometry = e, this.copy(e), this.instanceCount = t, this.prefabCount = t;
|
|
5866
|
+
}
|
|
5867
|
+
createAttribute(e, t, n) {
|
|
5868
|
+
let r = new c(new Float32Array(this.prefabCount * t), t);
|
|
5869
|
+
if (this.setAttribute(e, r), n) {
|
|
5870
|
+
let e = [];
|
|
5871
|
+
for (let t = 0; t < this.prefabCount; t++) n(e, t, this.prefabCount), this.setPrefabData(r, t, e);
|
|
5872
|
+
}
|
|
5873
|
+
return r;
|
|
5874
|
+
}
|
|
5875
|
+
setPrefabData(e, t, n) {
|
|
5876
|
+
let r = typeof e == "string" ? this.attributes[e] : e, i = t * r.itemSize, a = r.array;
|
|
5877
|
+
for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
|
|
5878
|
+
}
|
|
5879
|
+
}, Ut = class extends o {
|
|
5880
|
+
constructor(e, t) {
|
|
5881
|
+
super(), this.prefabGeometry = e, this.isPrefabBufferGeometry = e.isBufferGeometry, this.prefabCount = t, this.isPrefabBufferGeometry ? this.prefabVertexCount = e.attributes.position.count : this.prefabVertexCount = e.vertices.length, this.bufferIndices(), this.bufferPositions();
|
|
5882
|
+
}
|
|
5883
|
+
bufferIndices() {
|
|
5884
|
+
let e = [], t;
|
|
5885
|
+
if (this.isPrefabBufferGeometry) {
|
|
5886
|
+
let n = this.prefabGeometry;
|
|
5887
|
+
if (n.index) t = n.index.count, e = Array.from(n.index.array);
|
|
5888
|
+
else {
|
|
5889
|
+
t = this.prefabVertexCount;
|
|
5890
|
+
for (let n = 0; n < t; n++) e.push(n);
|
|
5891
|
+
}
|
|
5892
|
+
} else {
|
|
5893
|
+
let n = this.prefabGeometry, r = n.faces.length;
|
|
5894
|
+
t = r * 3;
|
|
5895
|
+
for (let t = 0; t < r; t++) {
|
|
5896
|
+
let r = n.faces[t];
|
|
5897
|
+
e.push(r.a, r.b, r.c);
|
|
5898
|
+
}
|
|
5899
|
+
}
|
|
5900
|
+
let n = new Uint32Array(this.prefabCount * t);
|
|
5901
|
+
this.setIndex(new a(n, 1));
|
|
5902
|
+
for (let r = 0; r < this.prefabCount; r++) for (let i = 0; i < t; i++) n[r * t + i] = e[i] + r * this.prefabVertexCount;
|
|
5903
|
+
}
|
|
5904
|
+
bufferPositions() {
|
|
5905
|
+
let e = this.createAttribute("position", 3).array;
|
|
5906
|
+
if (this.isPrefabBufferGeometry) {
|
|
5907
|
+
let t = this.prefabGeometry.attributes.position.array;
|
|
5908
|
+
for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) e[r] = t[n * 3], e[r + 1] = t[n * 3 + 1], e[r + 2] = t[n * 3 + 2];
|
|
5909
|
+
} else {
|
|
5910
|
+
let t = this.prefabGeometry;
|
|
5911
|
+
for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) {
|
|
5912
|
+
let i = t.vertices[n];
|
|
5913
|
+
e[r] = i.x, e[r + 1] = i.y, e[r + 2] = i.z;
|
|
5914
|
+
}
|
|
5915
|
+
}
|
|
5916
|
+
}
|
|
5917
|
+
bufferUvs() {
|
|
5918
|
+
let e = this.createAttribute("uv", 2).array;
|
|
5919
|
+
if (this.isPrefabBufferGeometry) {
|
|
5920
|
+
let t = this.prefabGeometry.attributes.uv.array;
|
|
5921
|
+
for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 2) e[r] = t[n * 2], e[r + 1] = t[n * 2 + 1];
|
|
5922
|
+
} else {
|
|
5923
|
+
let t = this.prefabGeometry, n = t.faces.length, r = [];
|
|
5924
|
+
for (let e = 0; e < n; e++) {
|
|
5925
|
+
let n = t.faces[e], i = t.faceVertexUvs[0][e];
|
|
5926
|
+
r[n.a] = i[0], r[n.b] = i[1], r[n.c] = i[2];
|
|
5927
|
+
}
|
|
5928
|
+
for (let t = 0, n = 0; t < this.prefabCount; t++) for (let t = 0; t < this.prefabVertexCount; t++, n += 2) {
|
|
5929
|
+
let i = r[t];
|
|
5930
|
+
e[n] = i.x, e[n + 1] = i.y;
|
|
5931
|
+
}
|
|
5932
|
+
}
|
|
5933
|
+
}
|
|
5934
|
+
bufferNormals() {
|
|
5935
|
+
let e = this.createAttribute("normal", 3).array;
|
|
5936
|
+
if (this.isPrefabBufferGeometry) {
|
|
5937
|
+
let t = this.prefabGeometry.attributes.normal.array;
|
|
5938
|
+
for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) e[r] = t[n * 3], e[r + 1] = t[n * 3 + 1], e[r + 2] = t[n * 3 + 2];
|
|
5939
|
+
} else {
|
|
5940
|
+
let t = this.prefabGeometry, n = t.faces.length, r = [];
|
|
5941
|
+
for (let e = 0; e < n; e++) {
|
|
5942
|
+
let n = t.faces[e];
|
|
5943
|
+
n.vertexNormals.length > 0 ? (r[n.a] = n.vertexNormals[0], r[n.b] = n.vertexNormals[1], r[n.c] = n.vertexNormals[2]) : (r[n.a] = n.normal, r[n.b] = n.normal, r[n.c] = n.normal);
|
|
5944
|
+
}
|
|
5945
|
+
for (let t = 0, n = 0; t < this.prefabCount; t++) for (let t = 0; t < this.prefabVertexCount; t++, n += 3) {
|
|
5946
|
+
let i = r[t];
|
|
5947
|
+
e[n] = i.x, e[n + 1] = i.y, e[n + 2] = i.z;
|
|
5948
|
+
}
|
|
5949
|
+
}
|
|
5950
|
+
}
|
|
5951
|
+
createAttribute(e, t, n) {
|
|
5952
|
+
let r = new a(new Float32Array(this.prefabCount * this.prefabVertexCount * t), t);
|
|
5953
|
+
if (this.setAttribute(e, r), n) {
|
|
5954
|
+
let e = [];
|
|
5955
|
+
for (let t = 0; t < this.prefabCount; t++) n(e, t, this.prefabCount), this.setPrefabData(r, t, e);
|
|
5956
|
+
}
|
|
5957
|
+
return r;
|
|
5958
|
+
}
|
|
5959
|
+
setPrefabData(e, t, n) {
|
|
5960
|
+
let r = typeof e == "string" ? this.attributes[e] : e, i = t * this.prefabVertexCount * r.itemSize, a = r.array;
|
|
5961
|
+
for (let e = 0; e < this.prefabVertexCount; e++) for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
|
|
5962
|
+
}
|
|
5963
|
+
}, Wt = class extends o {
|
|
5964
|
+
constructor(e) {
|
|
5965
|
+
super(), this.pointCount = e, this.bufferPositions();
|
|
5966
|
+
}
|
|
5967
|
+
bufferPositions() {
|
|
5968
|
+
this.createAttribute("position", 3);
|
|
5969
|
+
}
|
|
5970
|
+
createAttribute(e, t, n) {
|
|
5971
|
+
let r = new a(new Float32Array(this.pointCount * t), t);
|
|
5972
|
+
if (this.setAttribute(e, r), n) {
|
|
5973
|
+
let e = [];
|
|
5974
|
+
for (let t = 0; t < this.pointCount; t++) n(e, t, this.pointCount), this.setPointData(r, t, e);
|
|
5975
|
+
}
|
|
5976
|
+
return r;
|
|
5977
|
+
}
|
|
5978
|
+
setPointData(e, t, n) {
|
|
5979
|
+
let r = typeof e == "string" ? this.attributes[e] : e, i = t * r.itemSize, a = r.array;
|
|
5980
|
+
for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
|
|
5981
|
+
}
|
|
5982
|
+
};
|
|
5864
5983
|
//#endregion
|
|
5865
|
-
export {
|
|
5984
|
+
export { _e as BackgroundPlugin, x as BasePlugin, Ue as CSS2DObject, Qe as CSS2DPlugin, Ye as CSS2DRenderer, P as CSS3DObject, He as CSS3DPlugin, L as CSS3DRenderer, de as CSS3DSprite, Le as DynamicPathLinePlugin, Vt as GaussianSplattingEntranceAnimationPlugin, Ht as InstancedPrefabBufferGeometry, ce as ItemMaskPlugin, Lt as Object3DHelperController, Rt as Object3DHelperPlugin, A as OrbitControls, he as OrientationPlugin, ke as PanoAnimePlugin, Wt as PointBufferGeometry, Ut as PrefabBufferGeometry, z as RoundedBoxGeometry, be as TrajectoryPlugin };
|