@realsee/dnalogel 2.1.0-alpha.27 → 2.1.0-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +556 -0
- package/dist/index.es.js +5082 -4976
- package/dist/index.js +5082 -4976
- package/dist/index.umd.js +556 -0
- package/docs/classes/CruisePluginController.html +14 -14
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/classes/Object3DHelperController.html +9 -9
- package/docs/classes/PaintBrush.html +3 -3
- package/docs/classes/PanoTagPluginController.html +23 -23
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/ContentType.html +7 -7
- package/docs/enums/DIRECTION.html +1 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/DimensionType.html +1 -1
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/LinkType.html +1 -1
- package/docs/enums/PaintBrushTypeEnum.html +1 -1
- package/docs/enums/PointType.html +1 -1
- package/docs/enums/Rotation.html +2 -2
- package/docs/index.html +1 -1
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/ContentTypeMap.html +3 -3
- package/docs/interfaces/FloorplanBounding.html +4 -4
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +7 -7
- package/docs/interfaces/FloorplanExtraObject.html +3 -3
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +6 -6
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
- package/docs/interfaces/FloorplanServerBounding.html +4 -4
- package/docs/interfaces/FloorplanServerComputedData.html +1 -1
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
- package/docs/interfaces/FloorplanServerEntrance.html +7 -7
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
- package/docs/interfaces/ItemLabelPluginData.html +1 -1
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/LineJson.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
- package/docs/interfaces/ModelViewPluginExportType.html +1 -1
- package/docs/interfaces/Object3DHelperState.html +1 -1
- package/docs/interfaces/OpenParameter.html +2 -2
- package/docs/interfaces/PaintBrushAction.html +7 -7
- package/docs/interfaces/PaintBrushConfigs.html +1 -1
- package/docs/interfaces/PaintBrushState.html +1 -1
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- package/docs/interfaces/PanoMeasureParameterType.html +2 -2
- package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginState.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
- package/docs/interfaces/Point.html +1 -1
- package/docs/interfaces/PointJson.html +1 -1
- package/docs/interfaces/Room.html +1 -1
- package/docs/interfaces/RoomInfo.html +1 -1
- package/docs/interfaces/RoomLabel.html +7 -7
- package/docs/interfaces/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Scissor.html +5 -5
- package/docs/interfaces/TagConfig.html +3 -3
- package/docs/interfaces/Tags.html +3 -3
- package/docs/modules.html +21 -21
- package/libs/CSS3DRenderPlugin/CSS3DRender.d.ts +15 -4
- package/libs/CSS3DRenderPlugin/CSS3DRender.js +197 -143
- package/libs/CSS3DRenderPlugin/Controller.d.ts +2 -0
- package/libs/CSS3DRenderPlugin/Controller.js +47 -26
- package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.d.ts +22 -4
- package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +56 -37
- package/libs/Object3DHelperPlugin/Controller.js +24 -23
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +63 -53
- package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +12 -13
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +43 -45
- package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +16 -10
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +43 -43
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +2 -2
- package/libs/shared-utils/Object3DHelper/index.js +12 -12
- package/package.json +2 -2
|
@@ -1,48 +1,67 @@
|
|
|
1
1
|
var P = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var
|
|
2
|
+
var k = (p, h, t) => h in p ? P(p, h, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[h] = t;
|
|
3
|
+
var s = (p, h, t) => (k(p, typeof h != "symbol" ? h + "" : h, t), t);
|
|
4
4
|
import { CSS3DObject as D } from "three/examples/jsm/renderers/CSS3DRenderer";
|
|
5
|
-
import { Vector3 as
|
|
6
|
-
import { evenNumber as
|
|
7
|
-
import { centerPoint as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
import { Vector3 as n } from "three";
|
|
6
|
+
import { evenNumber as f } from "./evenNumber.js";
|
|
7
|
+
import { centerPoint as W } from "./centerPoint.js";
|
|
8
|
+
import { Subscribe as j } from "../../shared-utils/Subscribe.js";
|
|
9
|
+
const w = "1.0.2", v = `CSS3DObjectPlus@${w}`, C = 216e-5, E = 3e-3;
|
|
10
|
+
class z extends D {
|
|
11
|
+
constructor(t, e, o = E, x = 1, M = "front") {
|
|
12
|
+
const l = Math.max(C, o), d = e[0].distanceTo(e[1]), m = e[1].distanceTo(e[2]), c = f(d / o * x), a = f(m / o * x), r = W(...e);
|
|
13
|
+
let u;
|
|
14
|
+
if (l === o)
|
|
15
|
+
t.style.width = `${c}px`, t.style.height = `${a}px`, u = t;
|
|
15
16
|
else {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const b =
|
|
19
|
-
t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = `${b *
|
|
17
|
+
const i = document.createElement("div");
|
|
18
|
+
i.style.width = `${c}px`, i.style.height = `${a}px`, i.style.pointerEvents = "none";
|
|
19
|
+
const b = o / l;
|
|
20
|
+
t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = `${b * c}px`, t.style.height = `${b * a}px`, i.appendChild(t), u = i;
|
|
20
21
|
}
|
|
21
|
-
super(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
super(u);
|
|
23
|
+
s(this, "version", w);
|
|
24
|
+
s(this, "width");
|
|
25
|
+
s(this, "height");
|
|
26
|
+
s(this, "domWidthPx");
|
|
27
|
+
s(this, "domHeightPx");
|
|
28
|
+
s(this, "cornerPoints");
|
|
29
|
+
s(this, "ratio");
|
|
30
|
+
s(this, "container");
|
|
31
|
+
s(this, "centerPosition");
|
|
32
|
+
s(this, "mode", "front");
|
|
33
|
+
s(this, "hooks", new j());
|
|
34
|
+
s(this, "isCSS3DObjectPlus", !0);
|
|
35
|
+
if (this.scale.set(l, l, l), this.cornerPoints = e, this.ratio = o, this.container = t, this.mode = M, l === o)
|
|
36
|
+
this.width = d, this.height = m, this.domWidthPx = c, this.domHeightPx = a, this.centerPosition = r;
|
|
33
37
|
else {
|
|
34
|
-
const
|
|
35
|
-
this.width =
|
|
38
|
+
const i = o / l;
|
|
39
|
+
this.width = i * d, this.height = i * m, this.domWidthPx = i * c, this.domHeightPx = i * a, this.centerPosition = new n().subVectors(r, e[0]).multiplyScalar(i).add(e[0]);
|
|
36
40
|
}
|
|
37
|
-
t.classList.add(`${
|
|
38
|
-
const
|
|
41
|
+
t.classList.add(`${v}__container`);
|
|
42
|
+
const V = new n().subVectors(e[1], e[0]), y = new n().subVectors(e[3], e[0]), $ = new n().crossVectors(V, y).normalize();
|
|
39
43
|
this.lookAt($);
|
|
40
|
-
const
|
|
41
|
-
this.rotateOnWorldAxis(O,
|
|
44
|
+
const g = this.up.clone().applyQuaternion(this.quaternion), S = y.clone(), O = new n().crossVectors(g, S).normalize();
|
|
45
|
+
this.rotateOnWorldAxis(O, g.angleTo(S)), this.position.copy(r);
|
|
46
|
+
}
|
|
47
|
+
changeMode(t, e) {
|
|
48
|
+
if (t === this.mode)
|
|
49
|
+
return;
|
|
50
|
+
const o = this.mode;
|
|
51
|
+
this.mode = t, this.hooks.emit("changeMode", t, o, e);
|
|
52
|
+
}
|
|
53
|
+
applyScaleMatrix4(t) {
|
|
54
|
+
this.scale.applyMatrix4(t), this.hooks.emit("applyScaleMatrix4", t);
|
|
55
|
+
}
|
|
56
|
+
applyMatrix4(t) {
|
|
57
|
+
super.applyMatrix4(t), this.hooks.emit("applyMatrix4", t);
|
|
58
|
+
}
|
|
59
|
+
applyQuaternion(t) {
|
|
60
|
+
return super.applyQuaternion(t), this.hooks.emit("applyQuaternion", t), this;
|
|
42
61
|
}
|
|
43
62
|
}
|
|
44
63
|
export {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
64
|
+
z as CSS3DObjectPlus,
|
|
65
|
+
E as DefaultRatio,
|
|
66
|
+
C as MinRatio
|
|
48
67
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
var C = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var n = (
|
|
4
|
-
import { Controller as
|
|
2
|
+
var S = (o, i, e) => i in o ? C(o, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[i] = e;
|
|
3
|
+
var n = (o, i, e) => (S(o, typeof i != "symbol" ? i + "" : i, e), e);
|
|
4
|
+
import { Controller as g } from "../base/BasePlugin.js";
|
|
5
5
|
import "three";
|
|
6
|
-
import { MoveHelper as
|
|
6
|
+
import { MoveHelper as w } from "../shared-utils/Object3DHelper/Helper/MoveHelper.js";
|
|
7
7
|
import { RotateHelper as E } from "../shared-utils/Object3DHelper/Helper/RotateHelper.js";
|
|
8
8
|
import { RectangleScaleHelper as M } from "../shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js";
|
|
9
9
|
import "../shared-utils/Object3DHelper/Helper/OutlineHelper.js";
|
|
10
10
|
import { MoveController as O } from "../shared-utils/Object3DHelper/Controller/MoveController.js";
|
|
11
11
|
import { ControllerWrapper as p } from "./FiveControllerWrapper.js";
|
|
12
|
-
import { Object3DHelper as
|
|
13
|
-
import { RotateController as
|
|
12
|
+
import { Object3DHelper as D } from "../shared-utils/Object3DHelper/index.js";
|
|
13
|
+
import { RotateController as y } from "../shared-utils/Object3DHelper/Controller/RotateController.js";
|
|
14
14
|
import { CSS3DScaleController as I } from "../shared-utils/Object3DHelper/Controller/CSS3DScaleController.js";
|
|
15
15
|
import "../shared-utils/Subscribe.js";
|
|
16
16
|
import "../shared-utils/Object3DHelper/Base/BaseHelper.js";
|
|
@@ -33,14 +33,14 @@ import "../shared-utils/Object3DHelper/utils/getMouseRaycaster.js";
|
|
|
33
33
|
import "../shared-utils/Object3DHelper/utils/calculateThreeMouse.js";
|
|
34
34
|
import "../shared-utils/Object3DHelper/Controller/RectangleScaleController.js";
|
|
35
35
|
import "../shared-utils/Object3DHelper/utils/vectorIsEqual.js";
|
|
36
|
-
const f = "v1.0.0", d = "Object3DHelperPlugin", h = `${d}@${f}`,
|
|
36
|
+
const f = "v1.0.0", d = "Object3DHelperPlugin", h = `${d}@${f}`, k = () => {
|
|
37
37
|
console.error(`${h} is disposed`);
|
|
38
|
-
},
|
|
38
|
+
}, F = () => {
|
|
39
39
|
console.warn(`${h} is disabled`);
|
|
40
|
-
},
|
|
40
|
+
}, P = () => {
|
|
41
41
|
console.error(`${h} is disabled`);
|
|
42
42
|
};
|
|
43
|
-
class he extends
|
|
43
|
+
class he extends g {
|
|
44
44
|
constructor(e) {
|
|
45
45
|
super(e);
|
|
46
46
|
n(this, "version", f);
|
|
@@ -51,7 +51,7 @@ class he extends S {
|
|
|
51
51
|
disposed: !1
|
|
52
52
|
});
|
|
53
53
|
n(this, "objectHelperMap", /* @__PURE__ */ new Map());
|
|
54
|
-
this.five = e, Object.assign(window, { [`__${d.toUpperCase()}_DEBUG__`]: this });
|
|
54
|
+
this.five = e, console.warn("Object3DHelper: \u4F7F\u7528\u6B64\u63D2\u4EF6\u9700\u8981\u5728\u521D\u59CB\u5316five\u65F6\uFF0C\u8BBE\u7F6Efive\u53C2\u6570: { backgroundAlpha: 0, backgroundColor: 0x000000 }"), Object.assign(window, { [`__${d.toUpperCase()}_DEBUG__`]: this });
|
|
55
55
|
}
|
|
56
56
|
async show(e) {
|
|
57
57
|
this.setState({ visible: !0 }, e);
|
|
@@ -70,9 +70,9 @@ class he extends S {
|
|
|
70
70
|
}
|
|
71
71
|
setState(e, t) {
|
|
72
72
|
if (this.state.disposed)
|
|
73
|
-
return
|
|
73
|
+
return k();
|
|
74
74
|
if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0)
|
|
75
|
-
return
|
|
75
|
+
return P();
|
|
76
76
|
const r = { ...this.state };
|
|
77
77
|
this.state = { ...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", { state: this.state, prevState: r });
|
|
78
78
|
}
|
|
@@ -84,30 +84,31 @@ class he extends S {
|
|
|
84
84
|
if (!e)
|
|
85
85
|
return console.error("Object3D is undefined");
|
|
86
86
|
if (this.objectHelperMap.has(e)) {
|
|
87
|
-
console.warn(`Object3DHelperPlugin: object3D ${e.name} already has helper`);
|
|
87
|
+
console.warn(`Object3DHelperPlugin: object3D ${e.name} is already has helper`);
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
|
-
const r = new
|
|
90
|
+
const r = new D();
|
|
91
91
|
this.objectHelperMap.set(e, r);
|
|
92
|
-
const a = (c = this.five.getElement()) == null ? void 0 : c.parentElement, m = this.five.camera, { moveHelper: b = !0, rotateHelper:
|
|
92
|
+
const a = (c = this.five.getElement()) == null ? void 0 : c.parentElement, m = this.five.camera, { moveHelper: b = !0, rotateHelper: u = !0, scaleHelper: v = !0 } = t;
|
|
93
93
|
if (b) {
|
|
94
|
-
const s = new
|
|
94
|
+
const s = new w(e), l = new p(this.five, O, e, s);
|
|
95
95
|
r.addControllers({ moveController: l.helperController });
|
|
96
96
|
}
|
|
97
|
-
if (
|
|
97
|
+
if (u) {
|
|
98
98
|
let s;
|
|
99
99
|
a && m && (s = { container: a });
|
|
100
|
-
const l = new E(e, s),
|
|
101
|
-
r.addControllers({ rotateController:
|
|
100
|
+
const l = new E(e, s), H = new p(this.five, y, e, l);
|
|
101
|
+
r.addControllers({ rotateController: H.helperController });
|
|
102
102
|
}
|
|
103
|
-
if (
|
|
103
|
+
if (v && a) {
|
|
104
104
|
const s = new M(e, a, m, this.five.scene), l = new p(this.five, I, e, s);
|
|
105
105
|
r.addControllers({ scaleController: l.helperController });
|
|
106
106
|
}
|
|
107
|
+
e.isCSS3DObjectPlus && e.changeMode("behind", this.five.scene);
|
|
107
108
|
}
|
|
108
109
|
removeObject3DHelper(e) {
|
|
109
110
|
const t = this.objectHelperMap.get(e);
|
|
110
|
-
!t || (this.objectHelperMap.delete(e), t.dispose());
|
|
111
|
+
!t || (e.isCSS3DObjectPlus && e.changeMode("front"), this.objectHelperMap.delete(e), t.dispose());
|
|
111
112
|
}
|
|
112
113
|
handleEnable(e, t = !0) {
|
|
113
114
|
e ? (this.everyHelperDo((r) => r.enable()), this.hooks.emit("enable", { userAction: t })) : (this.everyHelperDo((r) => r.disable()), this.hooks.emit("disable", { userAction: t })), this.state.enabled = e;
|
|
@@ -126,7 +127,7 @@ class he extends S {
|
|
|
126
127
|
actionIfStateIsEnabled(e, t) {
|
|
127
128
|
if (this.state.enabled)
|
|
128
129
|
return e();
|
|
129
|
-
t != null && t.warnLog &&
|
|
130
|
+
t != null && t.warnLog && F();
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
export {
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
var m = Object.defineProperty;
|
|
2
|
+
var O = (p, e, t) => e in p ? m(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
|
|
3
|
+
var s = (p, e, t) => (O(p, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
4
|
import * as l from "three";
|
|
5
|
-
import { Subscribe as
|
|
6
|
-
import
|
|
7
|
-
import { notNil as
|
|
8
|
-
import { CSS3DObjectPlus as
|
|
5
|
+
import { Subscribe as y } from "../../Subscribe.js";
|
|
6
|
+
import j from "../utils/threex/domevents/index.js";
|
|
7
|
+
import { notNil as g } from "../../isNil.js";
|
|
8
|
+
import { CSS3DObjectPlus as D } from "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
9
9
|
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
10
10
|
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
11
11
|
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
12
|
-
let
|
|
13
|
-
class
|
|
14
|
-
constructor(e, t,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
12
|
+
let h = null;
|
|
13
|
+
class k {
|
|
14
|
+
constructor(e, t, o, n, a, r, c) {
|
|
15
|
+
s(this, "hooks", new y());
|
|
16
|
+
s(this, "helperObject3D");
|
|
17
|
+
s(this, "originObject3D");
|
|
18
|
+
s(this, "camera");
|
|
19
|
+
s(this, "model");
|
|
20
|
+
s(this, "scene");
|
|
21
|
+
s(this, "container");
|
|
22
|
+
s(this, "domEvents");
|
|
23
|
+
s(this, "isDragging", !1);
|
|
24
|
+
s(this, "onRender");
|
|
25
|
+
s(this, "enabled", !1);
|
|
26
|
+
s(this, "onWantsTapGesture", (e) => {
|
|
27
27
|
if (this.getIntersectObject(e))
|
|
28
28
|
return !1;
|
|
29
29
|
});
|
|
30
|
-
this.camera = e, this.model = t, this.originObject3D =
|
|
30
|
+
this.camera = e, this.model = t, this.originObject3D = o, this.helperObject3D = n, this.container = a, this.scene = r, this.domEvents = new j(e, a), this.onRender = c != null ? c : () => {
|
|
31
31
|
}, this.initialHelperPosition(), this.initialHelperQuaternion(), this.enable();
|
|
32
32
|
}
|
|
33
33
|
initialHelperPosition() {
|
|
@@ -54,22 +54,32 @@ class S {
|
|
|
54
54
|
setOpacity(e) {
|
|
55
55
|
this.setOriginOpacityProperty();
|
|
56
56
|
const t = this.originObject3D;
|
|
57
|
-
t instanceof l.Mesh && (t.material.opacity = e), t
|
|
57
|
+
if (t instanceof l.Mesh && (t.material.opacity = e), t.isCSS3DObjectPlus) {
|
|
58
|
+
const o = t;
|
|
59
|
+
o.container.style.opacity = e.toString();
|
|
60
|
+
}
|
|
61
|
+
this.render();
|
|
58
62
|
}
|
|
59
63
|
restoreOpacity() {
|
|
60
|
-
if (
|
|
64
|
+
if (h === null)
|
|
61
65
|
return;
|
|
62
66
|
const e = this.originObject3D;
|
|
63
|
-
e instanceof l.Mesh && (e.material.opacity =
|
|
67
|
+
if (e instanceof l.Mesh && (e.material.opacity = h.opacity), e.isCSS3DObjectPlus) {
|
|
68
|
+
const t = e;
|
|
69
|
+
t.container.style.opacity = h.opacity.toString();
|
|
70
|
+
}
|
|
71
|
+
this.render();
|
|
64
72
|
}
|
|
65
73
|
setOriginOpacityProperty() {
|
|
66
|
-
var e;
|
|
67
|
-
if (
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
opacity:
|
|
71
|
-
}),
|
|
72
|
-
opacity: (e =
|
|
74
|
+
var e, t;
|
|
75
|
+
if (h === null) {
|
|
76
|
+
const o = this.originObject3D;
|
|
77
|
+
o instanceof l.Mesh && (h = {
|
|
78
|
+
opacity: o.material.opacity
|
|
79
|
+
}), o instanceof D && (h = {
|
|
80
|
+
opacity: (e = o.container.style.opacity) != null ? e : 1
|
|
81
|
+
}), o.isCSS3DObjectPlus && (h = {
|
|
82
|
+
opacity: Number((t = o.container.style.opacity) != null ? t : 1)
|
|
73
83
|
});
|
|
74
84
|
}
|
|
75
85
|
}
|
|
@@ -88,51 +98,51 @@ class S {
|
|
|
88
98
|
applyHelperScaleMatrix4(e, t) {
|
|
89
99
|
this.helperObject3D.applyHelperScaleMatrix4(e, t);
|
|
90
100
|
}
|
|
91
|
-
onWantsGesture(e, t,
|
|
101
|
+
onWantsGesture(e, t, o) {
|
|
92
102
|
if (this.isDragging)
|
|
93
103
|
return !1;
|
|
94
104
|
}
|
|
95
105
|
render() {
|
|
96
106
|
this.onRender();
|
|
97
107
|
}
|
|
98
|
-
hoverListener(e, t = 16777215,
|
|
99
|
-
const n = (Array.isArray(e) ? e : [e]).filter(
|
|
100
|
-
for (const
|
|
101
|
-
if (
|
|
102
|
-
const c =
|
|
108
|
+
hoverListener(e, t = 16777215, o = 1) {
|
|
109
|
+
const n = (Array.isArray(e) ? e : [e]).filter(g), a = [];
|
|
110
|
+
for (const r of n)
|
|
111
|
+
if (r instanceof l.Mesh || r instanceof l.Group) {
|
|
112
|
+
const c = r instanceof l.Group ? r.children.filter((i) => i instanceof l.Mesh) : [r];
|
|
103
113
|
c.forEach((i) => {
|
|
104
114
|
i.__originalColor__ = i.material.color.clone(), i.__originalOpacity__ = i.material.opacity;
|
|
105
115
|
});
|
|
106
116
|
const d = () => {
|
|
107
117
|
c.forEach((i) => {
|
|
108
|
-
i.material.color.set(t), i.material.opacity =
|
|
118
|
+
i.material.color.set(t), i.material.opacity = o;
|
|
109
119
|
}), this.render();
|
|
110
120
|
}, f = () => {
|
|
111
121
|
c.forEach((i) => {
|
|
112
122
|
i.material.color.copy(i.__originalColor__), i.material.opacity = i.__originalOpacity__;
|
|
113
123
|
}), this.render();
|
|
114
|
-
},
|
|
124
|
+
}, u = () => {
|
|
115
125
|
this.isDragging || d();
|
|
116
|
-
},
|
|
126
|
+
}, b = () => {
|
|
117
127
|
this.isDragging || f();
|
|
118
128
|
};
|
|
119
129
|
for (const i of c)
|
|
120
|
-
this.domEvents.addEventListener(i, "mouseover",
|
|
121
|
-
this.domEvents.removeEventListener(i, "mouseover",
|
|
130
|
+
this.domEvents.addEventListener(i, "mouseover", u), this.domEvents.addEventListener(i, "mouseout", b), this.hooks.on("moveStart", d), this.hooks.on("moveEnd", f), this.hooks.on("rotateEnd", f), a.push(() => {
|
|
131
|
+
this.domEvents.removeEventListener(i, "mouseover", u), this.domEvents.removeEventListener(i, "mouseout", b), this.hooks.off("moveStart", d), this.hooks.off("moveEnd", f), this.hooks.off("rotateEnd", f);
|
|
122
132
|
});
|
|
123
133
|
}
|
|
124
|
-
return () => a.forEach((
|
|
134
|
+
return () => a.forEach((r) => r == null ? void 0 : r());
|
|
125
135
|
}
|
|
126
136
|
getIntersectObject(e) {
|
|
127
|
-
const t = this.camera.position,
|
|
128
|
-
if (!
|
|
137
|
+
const t = this.camera.position, o = this.helperObject3D;
|
|
138
|
+
if (!o)
|
|
129
139
|
return;
|
|
130
140
|
let n;
|
|
131
|
-
const a = e.intersectObject(
|
|
132
|
-
if (!!a && (n = a, n.object =
|
|
141
|
+
const a = e.intersectObject(o, !0)[0];
|
|
142
|
+
if (!!a && (n = a, n.object = o, !!n)) {
|
|
133
143
|
if (this.model.intersectRaycaster) {
|
|
134
|
-
const
|
|
135
|
-
if (
|
|
144
|
+
const r = this.model.intersectRaycaster(e)[0];
|
|
145
|
+
if (r && r.point.distanceTo(t) < n.point.distanceTo(t))
|
|
136
146
|
return;
|
|
137
147
|
}
|
|
138
148
|
return n.object;
|
|
@@ -140,6 +150,6 @@ class S {
|
|
|
140
150
|
}
|
|
141
151
|
}
|
|
142
152
|
export {
|
|
143
|
-
|
|
144
|
-
|
|
153
|
+
k as BaseController,
|
|
154
|
+
h as originOpacity
|
|
145
155
|
};
|
|
@@ -2,7 +2,7 @@ var u = Object.defineProperty;
|
|
|
2
2
|
var m = (s, e, t) => e in s ? u(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
3
3
|
var p = (s, e, t) => (m(s, typeof e != "symbol" ? e + "" : e, t), t);
|
|
4
4
|
import { BaseController as f } from "../Base/BaseController.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as c from "three";
|
|
6
6
|
import { getMouseRaycaster as b } from "../utils/getMouseRaycaster.js";
|
|
7
7
|
import "../../Subscribe.js";
|
|
8
8
|
import "../utils/threex/domevents/index.js";
|
|
@@ -18,8 +18,8 @@ class P extends f {
|
|
|
18
18
|
p(this, "startInfo");
|
|
19
19
|
const r = this.helperObject3D;
|
|
20
20
|
this.hoverListener([r.xArrow, r.yArrow, r.zArrow]);
|
|
21
|
-
const o = this.dragStart.bind(this), n = this.dragging.bind(this),
|
|
22
|
-
this.domEvents.addEventListener(this.helperObject3D, "mousedown", o), document.addEventListener("mousemove", n), document.addEventListener("mouseup",
|
|
21
|
+
const o = this.dragStart.bind(this), n = this.dragging.bind(this), a = this.dragEnd.bind(this);
|
|
22
|
+
this.domEvents.addEventListener(this.helperObject3D, "mousedown", o), document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
23
23
|
}
|
|
24
24
|
dragStart(t) {
|
|
25
25
|
if (this.isDragging)
|
|
@@ -30,25 +30,24 @@ class P extends f {
|
|
|
30
30
|
const o = (r == null ? void 0 : r.object).direction;
|
|
31
31
|
if (!o)
|
|
32
32
|
return this.dragEnd();
|
|
33
|
-
const n = new
|
|
33
|
+
const n = new c.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), a = new c.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), h = new c.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), d = (() => {
|
|
34
34
|
switch (o) {
|
|
35
35
|
case "x":
|
|
36
36
|
return n;
|
|
37
37
|
case "y":
|
|
38
|
-
return
|
|
38
|
+
return a;
|
|
39
39
|
case "z":
|
|
40
|
-
return
|
|
40
|
+
return h;
|
|
41
41
|
}
|
|
42
42
|
})(), g = (() => {
|
|
43
43
|
switch (o) {
|
|
44
44
|
case "x":
|
|
45
|
-
return c;
|
|
46
45
|
case "y":
|
|
47
|
-
return
|
|
46
|
+
return h;
|
|
48
47
|
case "z":
|
|
49
48
|
return n;
|
|
50
49
|
}
|
|
51
|
-
})(), i = r.point.clone(), l = new
|
|
50
|
+
})(), i = r.point.clone(), l = new c.Plane();
|
|
52
51
|
l.setFromNormalAndCoplanarPoint(g, i), this.startInfo = { startVectorProject: i.clone().projectOnVector(d), directionVector: d, plane: l }, this.helperObject3D.showDraggingHelper([o]), this.hooks.emit("moveStart"), this.isDragging = !0, console.log("%c MoveController dragStart", "color: #e5af2e");
|
|
53
52
|
}
|
|
54
53
|
dragging(t) {
|
|
@@ -60,11 +59,11 @@ class P extends f {
|
|
|
60
59
|
move(t) {
|
|
61
60
|
if (!this.startInfo)
|
|
62
61
|
return this.dragEnd();
|
|
63
|
-
const { plane: r, directionVector: o, startVectorProject: n } = this.startInfo,
|
|
64
|
-
if (!
|
|
62
|
+
const { plane: r, directionVector: o, startVectorProject: n } = this.startInfo, a = this.originObject3D, h = t.ray.intersectPlane(r, new c.Vector3());
|
|
63
|
+
if (!h)
|
|
65
64
|
return;
|
|
66
|
-
const d =
|
|
67
|
-
i.setPosition(g),
|
|
65
|
+
const d = h.clone().projectOnVector(o), g = d.clone().sub(n), i = new c.Matrix4();
|
|
66
|
+
i.setPosition(g), a.applyMatrix4(i), this.helperObject3D.applyMatrix4(i), n.copy(d), this.hooks.emit("positionUpdate", { matrix4: i });
|
|
68
67
|
}
|
|
69
68
|
dragEnd() {
|
|
70
69
|
!this.isDragging || (console.log("%c MoveController dragEnd", "color: #e94e4e"), this.startInfo = void 0, this.isDragging = !1, this.helperObject3D.show(), this.hooks.emit("moveEnd"));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var X = Object.defineProperty;
|
|
2
|
-
var Y = (h, a,
|
|
3
|
-
var
|
|
2
|
+
var Y = (h, a, s) => a in h ? X(h, a, { enumerable: !0, configurable: !0, writable: !0, value: s }) : h[a] = s;
|
|
3
|
+
var N = (h, a, s) => (Y(h, typeof a != "symbol" ? a + "" : a, s), s);
|
|
4
4
|
import { BaseController as A } from "../Base/BaseController.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as D from "three";
|
|
6
6
|
import { Vector3 as n } from "three";
|
|
7
7
|
import { getMouseRaycaster as H } from "../utils/getMouseRaycaster.js";
|
|
8
8
|
import { vectorIsEqual as T } from "../utils/vectorIsEqual.js";
|
|
@@ -15,9 +15,9 @@ import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
|
15
15
|
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
16
16
|
import "../utils/calculateThreeMouse.js";
|
|
17
17
|
class it extends A {
|
|
18
|
-
constructor(...
|
|
19
|
-
super(...
|
|
20
|
-
|
|
18
|
+
constructor(...s) {
|
|
19
|
+
super(...s);
|
|
20
|
+
N(this, "startInfo");
|
|
21
21
|
}
|
|
22
22
|
enable() {
|
|
23
23
|
this.helperObject3D.enable(), super.enable();
|
|
@@ -32,83 +32,81 @@ class it extends A {
|
|
|
32
32
|
this.helperObject3D.hide(), super.hide();
|
|
33
33
|
}
|
|
34
34
|
getDragPlane() {
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
return
|
|
35
|
+
const s = new D.Plane(), e = this.helperObject3D.cornerPositions;
|
|
36
|
+
if (e.length !== 0)
|
|
37
|
+
return e.length < 3 ? s.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n()), e[0]) : s.setFromCoplanarPoints(e[0], e[1], e[2]), s;
|
|
38
38
|
}
|
|
39
|
-
dragStart(
|
|
40
|
-
var p,
|
|
41
|
-
(
|
|
39
|
+
dragStart(s, e) {
|
|
40
|
+
var p, o;
|
|
41
|
+
(o = (p = this.helperObject3D).updatePoints) == null || o.call(p);
|
|
42
42
|
const f = this.getDragPlane();
|
|
43
43
|
if (!f)
|
|
44
44
|
return this.dragEnd();
|
|
45
|
-
this.startInfo = { startPoint: { position:
|
|
45
|
+
this.startInfo = { startPoint: { position: e.position.clone(), direction: e.direction }, plane: f }, this.hooks.emit("scaleStart"), this.render(), this.isDragging = !0, console.log("%c RectangleScaleController dragStart", "color: #e5af2e");
|
|
46
46
|
}
|
|
47
|
-
dragging(
|
|
47
|
+
dragging(s) {
|
|
48
48
|
if (!this.isDragging)
|
|
49
49
|
return;
|
|
50
|
-
const
|
|
51
|
-
if (!
|
|
50
|
+
const e = H(this.camera, s, this.container);
|
|
51
|
+
if (!e)
|
|
52
52
|
return this.dragEnd();
|
|
53
|
-
this.scale(
|
|
53
|
+
this.scale(e), console.log("%c RectangleScaleController dragging", "color: #49de1b");
|
|
54
54
|
}
|
|
55
|
-
scale(
|
|
56
|
-
var
|
|
55
|
+
scale(s) {
|
|
56
|
+
var S, x;
|
|
57
57
|
if (!this.startInfo)
|
|
58
58
|
return;
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
59
|
+
const e = this.originObject3D, { startPoint: f, plane: p } = this.startInfo, o = this.helperObject3D.cornerPositions;
|
|
60
|
+
if (o.length < 4)
|
|
61
61
|
return this.dragEnd();
|
|
62
|
-
const g =
|
|
62
|
+
const g = s.ray.intersectPlane(p, new n());
|
|
63
63
|
if (!g || T(g, this.camera.position))
|
|
64
64
|
return;
|
|
65
|
-
const
|
|
65
|
+
const u = new n().addVectors(o[0], o[2]).divideScalar(2), { position: k, direction: z } = f, j = new n().subVectors(o[1], o[0]), O = new n().subVectors(o[3], o[0]), V = (r) => {
|
|
66
66
|
const i = new n(0, 0, 0);
|
|
67
67
|
if (!this.startInfo)
|
|
68
68
|
return i;
|
|
69
|
-
const t = (r === "ew" ?
|
|
70
|
-
if (
|
|
69
|
+
const t = (r === "ew" ? j : O).clone(), c = k.clone().projectOnVector(t), b = g.clone().projectOnVector(t), E = u.clone().projectOnVector(t);
|
|
70
|
+
if (b.equals(c))
|
|
71
71
|
return i;
|
|
72
72
|
if (r === "ns" && typeof this.startInfo.dragPointInCenterBottom != "boolean") {
|
|
73
|
-
const l = new n().subVectors(
|
|
74
|
-
this.startInfo.dragPointInCenterBottom =
|
|
73
|
+
const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
|
|
74
|
+
this.startInfo.dragPointInCenterBottom = w || P || I;
|
|
75
75
|
}
|
|
76
76
|
if (r === "ew" && typeof this.startInfo.dragPointInCenterLeft != "boolean") {
|
|
77
|
-
const l = new n().subVectors(
|
|
78
|
-
this.startInfo.dragPointInCenterLeft =
|
|
77
|
+
const l = new n().subVectors(b, E), w = l.x < 0 && t.x >= 0, P = l.y < 0 && t.y >= 0, I = l.z < 0 && t.z >= 0;
|
|
78
|
+
this.startInfo.dragPointInCenterLeft = w || P || I;
|
|
79
79
|
}
|
|
80
|
-
const
|
|
81
|
-
return
|
|
82
|
-
},
|
|
83
|
-
const r =
|
|
80
|
+
const v = new n().subVectors(b, c), M = v.length();
|
|
81
|
+
return M > 0.3 ? (console.warn("offset.length() > 0.3, skipped", M), i) : v;
|
|
82
|
+
}, R = V("ew"), B = V("ns"), y = () => {
|
|
83
|
+
const r = R;
|
|
84
84
|
this.helperObject3D.cornerPositions.forEach((i, t) => {
|
|
85
85
|
var c;
|
|
86
86
|
(c = this.startInfo) != null && c.dragPointInCenterLeft ? (t === 0 || t === 3) && i.add(r) : (t === 1 || t === 2) && i.add(r);
|
|
87
87
|
});
|
|
88
|
-
},
|
|
89
|
-
const r =
|
|
88
|
+
}, C = () => {
|
|
89
|
+
const r = B;
|
|
90
90
|
this.helperObject3D.cornerPositions.forEach((i, t) => {
|
|
91
91
|
var c;
|
|
92
92
|
(c = this.startInfo) != null && c.dragPointInCenterBottom ? (t === 0 || t === 1) && i.add(r) : (t === 2 || t === 3) && i.add(r);
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
|
-
switch (
|
|
95
|
+
switch (z) {
|
|
96
96
|
case "ew":
|
|
97
|
-
|
|
97
|
+
y();
|
|
98
98
|
break;
|
|
99
99
|
case "ns":
|
|
100
|
-
|
|
100
|
+
C();
|
|
101
101
|
break;
|
|
102
102
|
case "nesw":
|
|
103
103
|
case "nwse":
|
|
104
|
-
|
|
104
|
+
y(), C();
|
|
105
105
|
}
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
const U = new n().addVectors(s[0], s[2]).divideScalar(2), W = new n().subVectors(U, b), d = new I.Matrix4().setPosition(W);
|
|
111
|
-
o.applyMatrix4(d), (E = this.helperObject3D.css3DInstance) == null || E.css3DObject.applyMatrix4(d), (S = this.helperObject3D.plane) == null || S.applyMatrix4(d), this.hooks.emit("scaleUpdate", { matrix4: x, helperOrigin: b }), this.hooks.emit("positionUpdate", { matrix4: d }), this.render();
|
|
106
|
+
const L = new n().subVectors(o[1], o[0]).length() / j.length(), q = new n().subVectors(o[3], o[0]).length() / O.length(), F = new n(L, q, 1), m = new D.Matrix4().scale(F);
|
|
107
|
+
e.isCSS3DObjectPlus ? e.applyScaleMatrix4(m) : e.scale.applyMatrix4(m), f.position.copy(g);
|
|
108
|
+
const U = new n().addVectors(o[0], o[2]).divideScalar(2), W = new n().subVectors(U, u), d = new D.Matrix4().setPosition(W);
|
|
109
|
+
e.applyMatrix4(d), (S = this.helperObject3D.css3DInstance) == null || S.css3DObject.applyMatrix4(d), (x = this.helperObject3D.plane) == null || x.applyMatrix4(d), this.hooks.emit("scaleUpdate", { matrix4: m, helperOrigin: u }), this.hooks.emit("positionUpdate", { matrix4: d }), this.render();
|
|
112
110
|
}
|
|
113
111
|
dragEnd() {
|
|
114
112
|
!this.isDragging || (this.startInfo = void 0, this.isDragging = !1, this.hooks.emit("scaleEnd"), this.render(), console.log("%c RectangleScaleController dragEnd", "color: #e94e4e"));
|