@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.
Files changed (119) hide show
  1. package/dist/index.cjs.js +556 -0
  2. package/dist/index.es.js +5082 -4976
  3. package/dist/index.js +5082 -4976
  4. package/dist/index.umd.js +556 -0
  5. package/docs/classes/CruisePluginController.html +14 -14
  6. package/docs/classes/Magnifier.html +4 -4
  7. package/docs/classes/ModelRoomLabelController.html +4 -4
  8. package/docs/classes/Object3DHelperController.html +9 -9
  9. package/docs/classes/PaintBrush.html +3 -3
  10. package/docs/classes/PanoTagPluginController.html +23 -23
  11. package/docs/enums/CameraMovementEffect.html +2 -2
  12. package/docs/enums/ContentType.html +7 -7
  13. package/docs/enums/DIRECTION.html +1 -1
  14. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  15. package/docs/enums/DimensionType.html +1 -1
  16. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  17. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  18. package/docs/enums/LinkType.html +1 -1
  19. package/docs/enums/PaintBrushTypeEnum.html +1 -1
  20. package/docs/enums/PointType.html +1 -1
  21. package/docs/enums/Rotation.html +2 -2
  22. package/docs/index.html +1 -1
  23. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  24. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  25. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  26. package/docs/interfaces/ContentTypeMap.html +3 -3
  27. package/docs/interfaces/FloorplanBounding.html +4 -4
  28. package/docs/interfaces/FloorplanData.html +2 -2
  29. package/docs/interfaces/FloorplanEntrance.html +7 -7
  30. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  31. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  32. package/docs/interfaces/FloorplanFloorData.html +2 -2
  33. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  34. package/docs/interfaces/FloorplanObserver.html +2 -2
  35. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  36. package/docs/interfaces/FloorplanPosition.html +2 -2
  37. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  38. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  39. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  40. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  41. package/docs/interfaces/FloorplanServerData.html +2 -2
  42. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  43. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  44. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  45. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  46. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  47. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  48. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  49. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  50. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  51. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  52. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  53. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  54. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  55. package/docs/interfaces/LineJson.html +1 -1
  56. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  57. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  58. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  59. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  60. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  61. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  62. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  63. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  64. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  65. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  66. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  67. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  68. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  69. package/docs/interfaces/Object3DHelperState.html +1 -1
  70. package/docs/interfaces/OpenParameter.html +2 -2
  71. package/docs/interfaces/PaintBrushAction.html +7 -7
  72. package/docs/interfaces/PaintBrushConfigs.html +1 -1
  73. package/docs/interfaces/PaintBrushState.html +1 -1
  74. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  75. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  76. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  77. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  78. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  79. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  80. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  81. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  82. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  83. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  84. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  85. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  86. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  87. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  88. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  89. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  90. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  91. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  92. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  93. package/docs/interfaces/Point.html +1 -1
  94. package/docs/interfaces/PointJson.html +1 -1
  95. package/docs/interfaces/Room.html +1 -1
  96. package/docs/interfaces/RoomInfo.html +1 -1
  97. package/docs/interfaces/RoomLabel.html +7 -7
  98. package/docs/interfaces/RoomRules.html +1 -1
  99. package/docs/interfaces/Rooms.html +1 -1
  100. package/docs/interfaces/Scissor.html +5 -5
  101. package/docs/interfaces/TagConfig.html +3 -3
  102. package/docs/interfaces/Tags.html +3 -3
  103. package/docs/modules.html +21 -21
  104. package/libs/CSS3DRenderPlugin/CSS3DRender.d.ts +15 -4
  105. package/libs/CSS3DRenderPlugin/CSS3DRender.js +197 -143
  106. package/libs/CSS3DRenderPlugin/Controller.d.ts +2 -0
  107. package/libs/CSS3DRenderPlugin/Controller.js +47 -26
  108. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.d.ts +22 -4
  109. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +56 -37
  110. package/libs/Object3DHelperPlugin/Controller.js +24 -23
  111. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +63 -53
  112. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +12 -13
  113. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +43 -45
  114. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +16 -10
  115. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -1
  116. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +43 -43
  117. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +2 -2
  118. package/libs/shared-utils/Object3DHelper/index.js +12 -12
  119. package/package.json +2 -2
@@ -1,48 +1,67 @@
1
1
  var P = Object.defineProperty;
2
- var W = (c, o, t) => o in c ? P(c, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[o] = t;
3
- var i = (c, o, t) => (W(c, typeof o != "symbol" ? o + "" : o, t), t);
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 m } from "three";
6
- import { evenNumber as V } from "./evenNumber.js";
7
- import { centerPoint as E } from "./centerPoint.js";
8
- const f = "1.0.1", H = `CSS3DObjectPlus@${f}`, j = 216e-5, v = 3e-3;
9
- class T extends D {
10
- constructor(t, e, h = v, u = 1) {
11
- const l = Math.max(j, h), p = e[0].distanceTo(e[1]), a = e[1].distanceTo(e[2]), n = V(p / h * u), d = V(a / h * u), x = E(...e);
12
- let g;
13
- if (l === h)
14
- t.style.width = `${n}px`, t.style.height = `${d}px`, g = t;
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 s = document.createElement("div");
17
- s.style.width = `${n}px`, s.style.height = `${d}px`, s.style.pointerEvents = "none";
18
- const b = h / l;
19
- t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = `${b * n}px`, t.style.height = `${b * d}px`, s.appendChild(t), g = s;
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(g);
22
- i(this, "version", f);
23
- i(this, "width");
24
- i(this, "height");
25
- i(this, "domWidthPx");
26
- i(this, "domHeightPx");
27
- i(this, "cornerPoints");
28
- i(this, "ratio");
29
- i(this, "container");
30
- i(this, "centerPosition");
31
- if (this.scale.set(l, l, l), this.cornerPoints = e, this.ratio = h, this.container = t, l === h)
32
- this.width = p, this.height = a, this.domWidthPx = n, this.domHeightPx = d, this.centerPosition = x;
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 s = h / l;
35
- this.width = s * p, this.height = s * a, this.domWidthPx = s * n, this.domHeightPx = s * d, this.centerPosition = new m().subVectors(x, e[0]).multiplyScalar(s).add(e[0]);
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(`${H}__container`);
38
- const S = new m().subVectors(e[1], e[0]), r = new m().subVectors(e[3], e[0]), $ = new m().crossVectors(S, r).normalize();
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 y = this.up.clone().applyQuaternion(this.quaternion), w = r.clone(), O = new m().crossVectors(y, w).normalize();
41
- this.rotateOnWorldAxis(O, y.angleTo(w)), this.position.copy(x);
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
- T as CSS3DObjectPlus,
46
- v as DefaultRatio,
47
- j as MinRatio
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 w = (i, o, e) => o in i ? C(i, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[o] = e;
3
- var n = (i, o, e) => (w(i, typeof o != "symbol" ? o + "" : o, e), e);
4
- import { Controller as S } from "../base/BasePlugin.js";
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 g } from "../shared-utils/Object3DHelper/Helper/MoveHelper.js";
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 y } from "../shared-utils/Object3DHelper/index.js";
13
- import { RotateController as D } from "../shared-utils/Object3DHelper/Controller/RotateController.js";
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}`, j = () => {
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
- }, L = () => {
40
+ }, P = () => {
41
41
  console.error(`${h} is disabled`);
42
42
  };
43
- class he extends S {
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 j();
73
+ return k();
74
74
  if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0)
75
- return L();
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 y();
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: v = !0, scaleHelper: H = !0 } = t;
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 g(e), l = new p(this.five, O, e, s);
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 (v) {
97
+ if (u) {
98
98
  let s;
99
99
  a && m && (s = { container: a });
100
- const l = new E(e, s), u = new p(this.five, D, e, l);
101
- r.addControllers({ rotateController: u.helperController });
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 (H && a) {
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 O = Object.defineProperty;
2
- var y = (h, e, t) => e in h ? O(h, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : h[e] = t;
3
- var r = (h, e, t) => (y(h, typeof e != "symbol" ? e + "" : e, t), t);
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 j } from "../../Subscribe.js";
6
- import g from "../utils/threex/domevents/index.js";
7
- import { notNil as v } from "../../isNil.js";
8
- import { CSS3DObjectPlus as u } from "../../../CSS3DRenderPlugin/utils/CSS3DObjectPlus.js";
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 p = null;
13
- class S {
14
- constructor(e, t, s, n, a, o, c) {
15
- r(this, "hooks", new j());
16
- r(this, "helperObject3D");
17
- r(this, "originObject3D");
18
- r(this, "camera");
19
- r(this, "model");
20
- r(this, "scene");
21
- r(this, "container");
22
- r(this, "domEvents");
23
- r(this, "isDragging", !1);
24
- r(this, "onRender");
25
- r(this, "enabled", !1);
26
- r(this, "onWantsTapGesture", (e) => {
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 = s, this.helperObject3D = n, this.container = a, this.scene = o, this.domEvents = new g(e, a), this.onRender = c != null ? c : () => {
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 instanceof u && (t.container.style.opacity = e), this.render();
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 (p === null)
64
+ if (h === null)
61
65
  return;
62
66
  const e = this.originObject3D;
63
- e instanceof l.Mesh && (e.material.opacity = p.opacity), e instanceof u && (e.container.style.opacity = p.opacity), this.render();
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 (p === null) {
68
- const t = this.originObject3D;
69
- t instanceof l.Mesh && (p = {
70
- opacity: t.material.opacity
71
- }), t instanceof u && (p = {
72
- opacity: (e = t.container.style.opacity) != null ? e : 1
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, s) {
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, s = 1) {
99
- const n = (Array.isArray(e) ? e : [e]).filter(v), a = [];
100
- for (const o of n)
101
- if (o instanceof l.Mesh || o instanceof l.Group) {
102
- const c = o instanceof l.Group ? o.children.filter((i) => i instanceof l.Mesh) : [o];
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 = s;
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
- }, b = () => {
124
+ }, u = () => {
115
125
  this.isDragging || d();
116
- }, m = () => {
126
+ }, b = () => {
117
127
  this.isDragging || f();
118
128
  };
119
129
  for (const i of c)
120
- this.domEvents.addEventListener(i, "mouseover", b), this.domEvents.addEventListener(i, "mouseout", m), this.hooks.on("moveStart", d), this.hooks.on("moveEnd", f), this.hooks.on("rotateEnd", f), a.push(() => {
121
- this.domEvents.removeEventListener(i, "mouseover", b), this.domEvents.removeEventListener(i, "mouseout", m), this.hooks.off("moveStart", d), this.hooks.off("moveEnd", f), this.hooks.off("rotateEnd", f);
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((o) => o == null ? void 0 : o());
134
+ return () => a.forEach((r) => r == null ? void 0 : r());
125
135
  }
126
136
  getIntersectObject(e) {
127
- const t = this.camera.position, s = this.helperObject3D;
128
- if (!s)
137
+ const t = this.camera.position, o = this.helperObject3D;
138
+ if (!o)
129
139
  return;
130
140
  let n;
131
- const a = e.intersectObject(s, !0)[0];
132
- if (!!a && (n = a, n.object = s, !!n)) {
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 o = this.model.intersectRaycaster(e)[0];
135
- if (o && o.point.distanceTo(t) < n.point.distanceTo(t))
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
- S as BaseController,
144
- p as originOpacity
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 a from "three";
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), h = this.dragEnd.bind(this);
22
- this.domEvents.addEventListener(this.helperObject3D, "mousedown", o), document.addEventListener("mousemove", n), document.addEventListener("mouseup", h);
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 a.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), h = new a.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), c = new a.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), d = (() => {
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 h;
38
+ return a;
39
39
  case "z":
40
- return c;
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 c;
46
+ return h;
48
47
  case "z":
49
48
  return n;
50
49
  }
51
- })(), i = r.point.clone(), l = new a.Plane();
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, h = this.originObject3D, c = t.ray.intersectPlane(r, new a.Vector3());
64
- if (!c)
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 = c.clone().projectOnVector(o), g = d.clone().sub(n), i = new a.Matrix4();
67
- i.setPosition(g), h.applyMatrix4(i), this.helperObject3D.applyMatrix4(i), n.copy(d), this.hooks.emit("positionUpdate", { matrix4: i });
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, e) => a in h ? X(h, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[a] = e;
3
- var k = (h, a, e) => (Y(h, typeof a != "symbol" ? a + "" : a, e), e);
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 I from "three";
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(...e) {
19
- super(...e);
20
- k(this, "startInfo");
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 e = new I.Plane(), o = this.helperObject3D.cornerPositions;
36
- if (o.length !== 0)
37
- return o.length < 3 ? e.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new n()), o[0]) : e.setFromCoplanarPoints(o[0], o[1], o[2]), e;
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(e, o) {
40
- var p, s;
41
- (s = (p = this.helperObject3D).updatePoints) == null || s.call(p);
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: o.position.clone(), direction: o.direction }, plane: f }, this.hooks.emit("scaleStart"), this.render(), this.isDragging = !0, console.log("%c RectangleScaleController dragStart", "color: #e5af2e");
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(e) {
47
+ dragging(s) {
48
48
  if (!this.isDragging)
49
49
  return;
50
- const o = H(this.camera, e, this.container);
51
- if (!o)
50
+ const e = H(this.camera, s, this.container);
51
+ if (!e)
52
52
  return this.dragEnd();
53
- this.scale(o);
53
+ this.scale(e), console.log("%c RectangleScaleController dragging", "color: #49de1b");
54
54
  }
55
- scale(e) {
56
- var E, S;
55
+ scale(s) {
56
+ var S, x;
57
57
  if (!this.startInfo)
58
58
  return;
59
- const o = this.originObject3D, { startPoint: f, plane: p } = this.startInfo, s = this.helperObject3D.cornerPositions;
60
- if (s.length < 4)
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 = e.ray.intersectPlane(p, new n());
62
+ const g = s.ray.intersectPlane(p, new n());
63
63
  if (!g || T(g, this.camera.position))
64
64
  return;
65
- const b = new n().addVectors(s[0], s[2]).divideScalar(2), { position: z, direction: R } = f, D = new n().subVectors(s[1], s[0]), j = new n().subVectors(s[3], s[0]), O = (r) => {
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" ? D : j).clone(), c = z.clone().projectOnVector(t), u = g.clone().projectOnVector(t), v = b.clone().projectOnVector(t);
70
- if (u.equals(c))
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(u, v), m = l.x < 0 && t.x >= 0, w = l.y < 0 && t.y >= 0, P = l.z < 0 && t.z >= 0;
74
- this.startInfo.dragPointInCenterBottom = m || w || P;
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(u, v), m = l.x < 0 && t.x >= 0, w = l.y < 0 && t.y >= 0, P = l.z < 0 && t.z >= 0;
78
- this.startInfo.dragPointInCenterLeft = m || w || P;
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 M = new n().subVectors(u, c), N = M.length();
81
- return N > 0.2 ? (console.warn("offset.length() > 0.2, skipped", N), i) : M;
82
- }, B = O("ew"), L = O("ns"), V = () => {
83
- const r = B;
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
- }, y = () => {
89
- const r = L;
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 (R) {
95
+ switch (z) {
96
96
  case "ew":
97
- V();
97
+ y();
98
98
  break;
99
99
  case "ns":
100
- y();
100
+ C();
101
101
  break;
102
102
  case "nesw":
103
103
  case "nwse":
104
- V(), y();
104
+ y(), C();
105
105
  }
106
- const q = new n().subVectors(s[1], s[0]).length() / D.length(), F = new n().subVectors(s[3], s[0]).length() / j.length(), C = new n(q, F, 1);
107
- console.log(C);
108
- const x = new I.Matrix4().scale(C);
109
- o.scale.applyMatrix4(x), f.position.copy(g);
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"));