@realsee/dnalogel 2.1.0-alpha.27 → 2.1.0-alpha.29
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 +8387 -8231
- package/dist/index.js +8387 -8231
- 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/PanoTagPlugin/Components/Common/Audio.js +39 -41
- package/libs/PanoTagPlugin/Components/Common/Media.js +1060 -1031
- package/libs/PanoTagPlugin/Components/Common/MediaItem.js +49 -57
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +27 -27
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +22 -22
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +7 -7
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +64 -66
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +100 -99
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +35 -33
- package/libs/PanoTagPlugin/Components/Tag/index.js +60 -63
- package/libs/PanoTagPlugin/Components/TagContainer.js +187 -0
- package/libs/PanoTagPlugin/Components/TagWrapper.js +61 -62
- package/libs/PanoTagPlugin/controller/TagComputer.js +1 -1
- package/libs/PanoTagPlugin/controller/index.d.ts +2 -1
- package/libs/PanoTagPlugin/controller/index.js +52 -42
- package/libs/PanoTagPlugin/index.js +2 -2
- package/libs/PanoTagPlugin/tag.config.js +1 -0
- package/libs/{TagComputer.0920083a.js → TagComputer.92e6d9a9.js} +0 -0
- package/libs/index.js +2 -2
- 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
- package/libs/PanoTagPlugin/Components/PointTag.js +0 -162
|
@@ -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"));
|
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
var y = Object.defineProperty;
|
|
2
|
-
var g = (r,
|
|
3
|
-
var i = (r,
|
|
2
|
+
var g = (r, t, e) => t in r ? y(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
3
|
+
var i = (r, t, e) => (g(r, typeof t != "symbol" ? t + "" : t, e), e);
|
|
4
4
|
import * as o from "three";
|
|
5
5
|
import { DirectionGroup as f, DirectionMesh as l } from "../../utils/direction.js";
|
|
6
|
-
class
|
|
7
|
-
constructor(
|
|
6
|
+
class G extends f {
|
|
7
|
+
constructor(e) {
|
|
8
8
|
var c;
|
|
9
|
-
super(
|
|
9
|
+
super(e.direction);
|
|
10
10
|
i(this, "line");
|
|
11
11
|
i(this, "arrow");
|
|
12
12
|
i(this, "lineHeight", 0.4);
|
|
13
13
|
i(this, "arrowHeight", 0.1);
|
|
14
14
|
this.name = "ArrowGroup";
|
|
15
|
-
const w = new o.Color((c =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const w = new o.Color((c = e.color) != null ? c : 16214315), n = new o.MeshBasicMaterial({
|
|
16
|
+
color: w,
|
|
17
|
+
depthTest: !1,
|
|
18
|
+
opacity: 1,
|
|
19
|
+
transparent: !0,
|
|
20
|
+
side: o.DoubleSide
|
|
21
|
+
}), d = new o.ConeGeometry(0.04, 0.1, 32), s = new l(d, n.clone(), e.direction);
|
|
22
|
+
s.name = `arrow-${e.direction}`, this.arrow = s;
|
|
23
|
+
const a = 4e-3, m = new o.CylinderGeometry(a, a, 0.4, 32), h = new l(m, n.clone(), e.direction);
|
|
24
|
+
h.name = `line-${e.direction}`, this.line = h, this.formatArrow(), this.formatLine(), this.add(this.arrow, this.line);
|
|
19
25
|
}
|
|
20
26
|
formatArrow() {
|
|
21
27
|
this.arrow.geometry.translate(0, this.lineHeight + this.arrowHeight / 2, 0), this.direction === "x" ? (this.arrow.geometry.rotateX(Math.PI / 2), this.arrow.geometry.rotateY(Math.PI / 2)) : this.direction === "z" && this.arrow.geometry.rotateX(Math.PI / 2);
|
|
@@ -25,5 +31,5 @@ class u extends f {
|
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
export {
|
|
28
|
-
|
|
34
|
+
G as ArrowGroup
|
|
29
35
|
};
|
|
@@ -3,7 +3,7 @@ import { RectangleScaleHelperAbstract } from '.';
|
|
|
3
3
|
import type { Create3DElementReturnType } from '../../../CSS3DRenderPlugin';
|
|
4
4
|
import type { Vector3 } from 'three';
|
|
5
5
|
import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
|
|
6
|
-
import { CSS3DObjectPlus } from '../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus';
|
|
6
|
+
import type { CSS3DObjectPlus } from '../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus';
|
|
7
7
|
declare type NonVoid<T> = T extends void ? never : T;
|
|
8
8
|
declare type OriginObjectType = CSS3DObject | THREE.Object3D;
|
|
9
9
|
export declare class RectangleScaleHelper<T extends OriginObjectType = OriginObjectType> extends RectangleScaleHelperAbstract<T, HTMLElement> {
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
var b = Object.defineProperty;
|
|
2
|
-
var m = (
|
|
3
|
-
var
|
|
2
|
+
var m = (o, n, e) => n in o ? b(o, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[n] = e;
|
|
3
|
+
var i = (o, n, e) => (m(o, typeof n != "symbol" ? n + "" : n, e), e);
|
|
4
4
|
import { CSS3DRender as f } from "../../../CSS3DRenderPlugin/CSS3DRender.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as c from "three";
|
|
6
6
|
import { RectangleScaleHelperAbstract as y } from "../Base/BaseHelper.js";
|
|
7
7
|
import "./OutlineHelper.js";
|
|
8
8
|
import { CSS3DObject as S } from "three/examples/jsm/renderers/CSS3DRenderer";
|
|
9
9
|
import { rectangleScaleDom as j } from "./HTML/rectangleScaleDom.js";
|
|
10
|
-
import { CSS3DObjectPlus as O } from "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
11
10
|
import "../../Subscribe.js";
|
|
12
11
|
import "../../../CSS3DRenderPlugin/utils/evenNumber.js";
|
|
13
12
|
import "../../../CSS3DRenderPlugin/utils/positionToVector3.js";
|
|
13
|
+
import "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
|
|
14
14
|
import "../../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
15
15
|
import "./HTML/utils/createElement.js";
|
|
16
|
-
class
|
|
17
|
-
constructor(e, t, s,
|
|
16
|
+
class x extends y {
|
|
17
|
+
constructor(e, t, s, l) {
|
|
18
18
|
super(e);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.camera = s, this.scene =
|
|
19
|
+
i(this, "points", []);
|
|
20
|
+
i(this, "cornerPositions", []);
|
|
21
|
+
i(this, "css3DInstance");
|
|
22
|
+
i(this, "plane");
|
|
23
|
+
i(this, "css3DRenderer", new f());
|
|
24
|
+
i(this, "camera");
|
|
25
|
+
i(this, "scene");
|
|
26
|
+
i(this, "container");
|
|
27
|
+
i(this, "enabled", !1);
|
|
28
|
+
this.camera = s, this.scene = l, this.container = t, this.initRectangleScaleHelper();
|
|
29
29
|
}
|
|
30
30
|
get helperObject() {
|
|
31
31
|
var e;
|
|
@@ -34,22 +34,22 @@ class C extends y {
|
|
|
34
34
|
return this.css3DInstance.css3DObject;
|
|
35
35
|
}
|
|
36
36
|
updatePosition() {
|
|
37
|
-
var e
|
|
38
|
-
|
|
37
|
+
var e;
|
|
38
|
+
this.helperObject.position.copy(this.originObject3D.position), (e = this.plane) == null || e.position.copy(this.originObject3D.position);
|
|
39
39
|
}
|
|
40
40
|
updateQuaternion() {
|
|
41
41
|
var e;
|
|
42
42
|
(e = this.plane) == null || e.quaternion.copy(this.originObject3D.quaternion);
|
|
43
43
|
}
|
|
44
44
|
applyMatrix4(e) {
|
|
45
|
-
var t
|
|
46
|
-
(
|
|
45
|
+
var t;
|
|
46
|
+
super.applyMatrix4(e), this.helperObject.applyMatrix4(e), (t = this.plane) == null || t.applyMatrix4(e), this.cornerPositions.forEach((s) => s.applyMatrix4(e));
|
|
47
47
|
}
|
|
48
48
|
showDraggingHelper() {
|
|
49
49
|
}
|
|
50
50
|
applyHelperScaleMatrix4(e, t) {
|
|
51
|
-
var s
|
|
52
|
-
(s = this.
|
|
51
|
+
var s;
|
|
52
|
+
(s = this.plane) == null || s.scale.applyMatrix4(e), this.helperObject.applyScaleMatrix4(e);
|
|
53
53
|
}
|
|
54
54
|
updatePoints() {
|
|
55
55
|
const e = this.calculatePointPosition(this.cornerPositions);
|
|
@@ -58,19 +58,19 @@ class C extends y {
|
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
applyHelperQuaternion(e, t) {
|
|
61
|
-
var
|
|
62
|
-
const s = (
|
|
61
|
+
var l;
|
|
62
|
+
const s = (l = this.css3DInstance) == null ? void 0 : l.css3DObject;
|
|
63
63
|
if (s) {
|
|
64
|
-
const
|
|
65
|
-
s.position.copy(
|
|
64
|
+
const a = new c.Vector3().subVectors(s.position, t).applyQuaternion(e).add(t);
|
|
65
|
+
s.position.copy(a), s.applyQuaternion(e);
|
|
66
66
|
}
|
|
67
67
|
if (this.plane) {
|
|
68
|
-
const
|
|
69
|
-
this.plane.position.copy(
|
|
68
|
+
const a = new c.Vector3().subVectors(this.plane.position, t).applyQuaternion(e).add(t);
|
|
69
|
+
this.plane.position.copy(a), this.plane.applyQuaternion(e);
|
|
70
70
|
}
|
|
71
|
-
this.cornerPositions.forEach((
|
|
72
|
-
const r = new
|
|
73
|
-
|
|
71
|
+
this.cornerPositions.forEach((a) => {
|
|
72
|
+
const r = new c.Vector3().subVectors(a, t).applyQuaternion(e).add(t);
|
|
73
|
+
a.copy(r);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
enable() {
|
|
@@ -93,7 +93,7 @@ class C extends y {
|
|
|
93
93
|
this.disable(), this.css3DRenderer.dispose();
|
|
94
94
|
}
|
|
95
95
|
initRectangleScaleHelper() {
|
|
96
|
-
var
|
|
96
|
+
var p;
|
|
97
97
|
const e = this.getCornerPositions();
|
|
98
98
|
if (!e)
|
|
99
99
|
return;
|
|
@@ -102,24 +102,24 @@ class C extends y {
|
|
|
102
102
|
if (!t)
|
|
103
103
|
return;
|
|
104
104
|
this.css3DInstance = t, t.appendToElement(this.container);
|
|
105
|
-
const s = t.css3DObject.container, { container:
|
|
106
|
-
this.points =
|
|
107
|
-
direction:
|
|
108
|
-
point:
|
|
105
|
+
const s = t.css3DObject.container, { container: l, squares: a } = j();
|
|
106
|
+
this.points = a.map((h, D) => ({
|
|
107
|
+
direction: h.direction,
|
|
108
|
+
point: h.element,
|
|
109
109
|
position: this.calculatePointPosition(e)[D]
|
|
110
|
-
})), s.insertBefore(
|
|
111
|
-
const r = new
|
|
110
|
+
})), s.insertBefore(l, (p = s.children[0]) != null ? p : null);
|
|
111
|
+
const r = new c.PlaneGeometry(t.css3DObject.width, t.css3DObject.height), d = new c.MeshBasicMaterial({
|
|
112
112
|
color: 0,
|
|
113
113
|
opacity: 0.15,
|
|
114
114
|
transparent: !0,
|
|
115
|
-
side:
|
|
116
|
-
}),
|
|
117
|
-
this.scene.add(
|
|
115
|
+
side: c.DoubleSide
|
|
116
|
+
}), u = new c.Mesh(r, d);
|
|
117
|
+
this.scene.add(u), this.updatePosition();
|
|
118
118
|
}
|
|
119
119
|
getCornerPositions() {
|
|
120
120
|
const { originObject3D: e } = this;
|
|
121
121
|
if (e instanceof S) {
|
|
122
|
-
if (e
|
|
122
|
+
if (e.isCSS3DObjectPlus)
|
|
123
123
|
return e.cornerPoints;
|
|
124
124
|
console.error("\u6682\u65F6\u53EA\u652F\u6301 CSS3DRenderPlugin \u751F\u6210\u7684\u7269\u4F53");
|
|
125
125
|
} else
|
|
@@ -139,5 +139,5 @@ class C extends y {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
export {
|
|
142
|
-
|
|
142
|
+
x as RectangleScaleHelper
|
|
143
143
|
};
|
|
@@ -81,9 +81,9 @@ class h extends r.Mesh {
|
|
|
81
81
|
this.material = new r.MeshBasicMaterial({
|
|
82
82
|
opacity: 0.6,
|
|
83
83
|
color: (i = e.color) != null ? i : 16777215,
|
|
84
|
-
depthTest: !1,
|
|
85
84
|
transparent: !0,
|
|
86
|
-
side: r.DoubleSide
|
|
85
|
+
side: r.DoubleSide,
|
|
86
|
+
depthTest: !1
|
|
87
87
|
}), this.direction = e.direction, this.geometry.name = `RotateHelperCircleGeometry-${this.direction}`, this.direction === "y" ? this.rotateX(Math.PI / 2) : this.direction === "x" && this.rotateY(-Math.PI / 2);
|
|
88
88
|
}
|
|
89
89
|
}
|