@planara/core 2.3.2 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/editor-renderer.d.ts +3 -0
- package/dist/core/editor-renderer.d.ts.map +1 -1
- package/dist/index.cjs.js +2 -2
- package/dist/index.es.js +165 -155
- package/dist/index.full.d.ts +3 -0
- package/dist/index.public.d.ts +3 -0
- package/dist/index.umd.js +2 -2
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import * as l from "three";
|
|
3
|
-
import { Controls as yt, Vector3 as c, Quaternion as O, Raycaster as Ct, Object3D as
|
|
4
|
-
import { FigureType as C, SelectMode as I, Figure as
|
|
5
|
-
import { SymmetricAxesHelper as Nt, OrbitWithState as Ft } from "@planara/three";
|
|
6
|
-
import { injectable as w, inject as u, injectAll as ve, container as
|
|
7
|
-
import { EventEmitter as
|
|
8
|
-
import { makeAutoObservable as
|
|
9
|
-
const
|
|
3
|
+
import { Controls as yt, Vector3 as c, Quaternion as O, Raycaster as Ct, Object3D as xe, MeshBasicMaterial as bt, LineBasicMaterial as It, CylinderGeometry as S, BoxGeometry as M, BufferGeometry as Be, Float32BufferAttribute as Ke, Mesh as h, OctahedronGeometry as ue, Line as N, TorusGeometry as te, SphereGeometry as jt, Euler as Rt, Matrix4 as wt, PlaneGeometry as Ht, DoubleSide as kt, MOUSE as J, TOUCH as V, Spherical as Ve, Vector2 as L, Ray as Yt, Plane as Zt, MathUtils as zt } from "three";
|
|
4
|
+
import { FigureType as C, SelectMode as I, Figure as Xt, DisplayMode as ae, ToolType as G, SceneMode as he } from "@planara/types";
|
|
5
|
+
import { SymmetricAxesHelper as Nt, OrbitWithState as Ft, CameraAxesGizmo as Qt } from "@planara/three";
|
|
6
|
+
import { injectable as w, inject as u, injectAll as ve, container as Ut } from "tsyringe";
|
|
7
|
+
import { EventEmitter as Wt } from "events";
|
|
8
|
+
import { makeAutoObservable as $t } from "mobx";
|
|
9
|
+
const Gt = {
|
|
10
10
|
[C.Plane]: () => new l.PlaneGeometry(1, 1, 1, 1),
|
|
11
11
|
[C.Cube]: () => new l.BoxGeometry(1, 1, 1, 1, 1, 1),
|
|
12
12
|
[C.UVSphere]: () => new l.SphereGeometry(0.5, 32, 16),
|
|
@@ -177,7 +177,7 @@ const W = new Ct(), v = new c(), F = new c(), m = new O(), Je = {
|
|
|
177
177
|
Y: new c(0, 1, 0),
|
|
178
178
|
Z: new c(0, 0, 1)
|
|
179
179
|
}, Me = { type: "change" }, et = { type: "mouseDown", mode: null }, tt = { type: "mouseUp", mode: null }, st = { type: "objectChange" };
|
|
180
|
-
class
|
|
180
|
+
class qt extends yt {
|
|
181
181
|
/**
|
|
182
182
|
* Constructs a new controls instance.
|
|
183
183
|
*
|
|
@@ -186,27 +186,27 @@ class Gt extends yt {
|
|
|
186
186
|
*/
|
|
187
187
|
constructor(e, s = null) {
|
|
188
188
|
super(void 0, s);
|
|
189
|
-
const i = new
|
|
189
|
+
const i = new ts(this);
|
|
190
190
|
this._root = i;
|
|
191
|
-
const o = new
|
|
191
|
+
const o = new ss();
|
|
192
192
|
this._gizmo = o, i.add(o);
|
|
193
|
-
const r = new
|
|
193
|
+
const r = new is();
|
|
194
194
|
this._plane = r, i.add(r);
|
|
195
195
|
const n = this;
|
|
196
|
-
function a(
|
|
196
|
+
function a(T, Q) {
|
|
197
197
|
let B = Q;
|
|
198
|
-
Object.defineProperty(n,
|
|
198
|
+
Object.defineProperty(n, T, {
|
|
199
199
|
get: function() {
|
|
200
200
|
return B !== void 0 ? B : Q;
|
|
201
201
|
},
|
|
202
202
|
set: function(U) {
|
|
203
|
-
B !== U && (B = U, r[
|
|
203
|
+
B !== U && (B = U, r[T] = U, o[T] = U, n.dispatchEvent({ type: T + "-changed", value: U }), n.dispatchEvent(Me));
|
|
204
204
|
}
|
|
205
|
-
}), n[
|
|
205
|
+
}), n[T] = Q, r[T] = Q, o[T] = Q;
|
|
206
206
|
}
|
|
207
207
|
a("camera", e), a("object", void 0), a("enabled", !0), a("axis", null), a("mode", "translate"), a("translationSnap", null), a("rotationSnap", null), a("scaleSnap", null), a("space", "world"), a("size", 1), a("dragging", !1), a("showX", !0), a("showY", !0), a("showZ", !0), a("minX", -1 / 0), a("maxX", 1 / 0), a("minY", -1 / 0), a("maxY", 1 / 0), a("minZ", -1 / 0), a("maxZ", 1 / 0);
|
|
208
|
-
const d = new c(), g = new c(), b = new O(), H = new O(),
|
|
209
|
-
a("worldPosition", d), a("worldPositionStart", g), a("worldQuaternion", b), a("worldQuaternionStart", H), a("cameraPosition",
|
|
208
|
+
const d = new c(), g = new c(), b = new O(), H = new O(), x = new c(), q = new O(), le = new c(), k = new c(), Y = new c(), j = 0, Z = new c();
|
|
209
|
+
a("worldPosition", d), a("worldPositionStart", g), a("worldQuaternion", b), a("worldQuaternionStart", H), a("cameraPosition", x), a("cameraQuaternion", q), a("pointStart", le), a("pointEnd", k), a("rotationAxis", Y), a("rotationAngle", j), a("eye", Z), this._offset = new c(), this._startNorm = new c(), this._endNorm = new c(), this._cameraScale = new c(), this._parentPosition = new c(), this._parentQuaternion = new O(), this._parentQuaternionInv = new O(), this._parentScale = new c(), this._worldScaleStart = new c(), this._worldQuaternionInv = new O(), this._worldScale = new c(), this._positionStart = new c(), this._quaternionStart = new O(), this._scaleStart = new c(), this._getPointer = Bt.bind(this), this._onPointerDown = Vt.bind(this), this._onPointerHover = Kt.bind(this), this._onPointerMove = Jt.bind(this), this._onPointerUp = es.bind(this), s !== null && this.connect(s);
|
|
210
210
|
}
|
|
211
211
|
connect(e) {
|
|
212
212
|
super.connect(e), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointermove", this._onPointerHover), this.domElement.addEventListener("pointerup", this._onPointerUp), this.domElement.style.touchAction = "none";
|
|
@@ -368,7 +368,7 @@ class Gt extends yt {
|
|
|
368
368
|
r.xAxis.color.set(e), r.yAxis.color.set(s), r.zAxis.color.set(i), r.active.color.set(o), r.xAxisTransparent.color.set(e), r.yAxisTransparent.color.set(s), r.zAxisTransparent.color.set(i), r.activeTransparent.color.set(o), r.xAxis._color && r.xAxis._color.set(e), r.yAxis._color && r.yAxis._color.set(s), r.zAxis._color && r.zAxis._color.set(i), r.active._color && r.active._color.set(o), r.xAxisTransparent._color && r.xAxisTransparent._color.set(e), r.yAxisTransparent._color && r.yAxisTransparent._color.set(s), r.zAxisTransparent._color && r.zAxisTransparent._color.set(i), r.activeTransparent._color && r.activeTransparent._color.set(o);
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
|
-
function
|
|
371
|
+
function Bt(t) {
|
|
372
372
|
if (this.domElement.ownerDocument.pointerLockElement)
|
|
373
373
|
return {
|
|
374
374
|
x: 0,
|
|
@@ -384,7 +384,7 @@ function qt(t) {
|
|
|
384
384
|
};
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
-
function
|
|
387
|
+
function Kt(t) {
|
|
388
388
|
if (this.enabled)
|
|
389
389
|
switch (t.pointerType) {
|
|
390
390
|
case "mouse":
|
|
@@ -393,13 +393,13 @@ function Bt(t) {
|
|
|
393
393
|
break;
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
|
-
function
|
|
396
|
+
function Vt(t) {
|
|
397
397
|
this.enabled && (document.pointerLockElement || this.domElement.setPointerCapture(t.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.pointerHover(this._getPointer(t)), this.pointerDown(this._getPointer(t)));
|
|
398
398
|
}
|
|
399
|
-
function
|
|
399
|
+
function Jt(t) {
|
|
400
400
|
this.enabled && this.pointerMove(this._getPointer(t));
|
|
401
401
|
}
|
|
402
|
-
function
|
|
402
|
+
function es(t) {
|
|
403
403
|
this.enabled && (this.domElement.releasePointerCapture(t.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.pointerUp(this._getPointer(t)));
|
|
404
404
|
}
|
|
405
405
|
function Pe(t, e, s) {
|
|
@@ -410,7 +410,7 @@ function Pe(t, e, s) {
|
|
|
410
410
|
return !1;
|
|
411
411
|
}
|
|
412
412
|
const me = new Rt(), _ = new c(0, 1, 0), it = new c(0, 0, 0), ot = new wt(), fe = new O(), we = new O(), R = new c(), nt = new wt(), ne = new c(1, 0, 0), $ = new c(0, 1, 0), re = new c(0, 0, 1), ge = new c(), se = new c(), ie = new c();
|
|
413
|
-
class
|
|
413
|
+
class ts extends xe {
|
|
414
414
|
constructor(e) {
|
|
415
415
|
super(), this.isTransformControlsRoot = !0, this.controls = e, this.visible = !1;
|
|
416
416
|
}
|
|
@@ -425,7 +425,7 @@ class es extends Te {
|
|
|
425
425
|
});
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
|
-
class
|
|
428
|
+
class ss extends xe {
|
|
429
429
|
constructor() {
|
|
430
430
|
super(), this.isTransformControlsGizmo = !0, this.type = "TransformControlsGizmo";
|
|
431
431
|
const e = new bt({
|
|
@@ -458,8 +458,8 @@ class ts extends Te {
|
|
|
458
458
|
b.color.setHex(255), b.opacity = 0.5;
|
|
459
459
|
const H = e.clone();
|
|
460
460
|
H.opacity = 0.25;
|
|
461
|
-
const
|
|
462
|
-
|
|
461
|
+
const x = e.clone();
|
|
462
|
+
x.color.setHex(16776960), x.opacity = 0.25;
|
|
463
463
|
const q = e.clone();
|
|
464
464
|
q.color.setHex(16776960);
|
|
465
465
|
const le = e.clone();
|
|
@@ -471,7 +471,7 @@ class ts extends Te {
|
|
|
471
471
|
xAxisTransparent: d,
|
|
472
472
|
yAxisTransparent: g,
|
|
473
473
|
zAxisTransparent: b,
|
|
474
|
-
activeTransparent:
|
|
474
|
+
activeTransparent: x
|
|
475
475
|
};
|
|
476
476
|
const k = new S(0, 0.04, 0.1, 12);
|
|
477
477
|
k.translate(0, 0.05, 0);
|
|
@@ -481,7 +481,7 @@ class ts extends Te {
|
|
|
481
481
|
j.setAttribute("position", new Ke([0, 0, 0, 1, 0, 0], 3));
|
|
482
482
|
const Z = new S(75e-4, 75e-4, 0.5, 3);
|
|
483
483
|
Z.translate(0, 0.25, 0);
|
|
484
|
-
function
|
|
484
|
+
function T(D, ce) {
|
|
485
485
|
const A = new te(D, 75e-4, 3, 64, ce * Math.PI * 2);
|
|
486
486
|
return A.rotateY(Math.PI / 2), A.rotateX(Math.PI / 2), A;
|
|
487
487
|
}
|
|
@@ -563,25 +563,25 @@ class ts extends Te {
|
|
|
563
563
|
]
|
|
564
564
|
}, Et = {
|
|
565
565
|
XYZE: [
|
|
566
|
-
[new h(
|
|
566
|
+
[new h(T(0.5, 1), le), null, [0, Math.PI / 2, 0]]
|
|
567
567
|
],
|
|
568
568
|
X: [
|
|
569
|
-
[new h(
|
|
569
|
+
[new h(T(0.5, 0.5), r)]
|
|
570
570
|
],
|
|
571
571
|
Y: [
|
|
572
|
-
[new h(
|
|
572
|
+
[new h(T(0.5, 0.5), n), null, [0, 0, -Math.PI / 2]]
|
|
573
573
|
],
|
|
574
574
|
Z: [
|
|
575
|
-
[new h(
|
|
575
|
+
[new h(T(0.5, 0.5), a), null, [0, Math.PI / 2, 0]]
|
|
576
576
|
],
|
|
577
577
|
E: [
|
|
578
|
-
[new h(
|
|
578
|
+
[new h(T(0.75, 1), x), null, [0, Math.PI / 2, 0]]
|
|
579
579
|
]
|
|
580
|
-
},
|
|
580
|
+
}, xt = {
|
|
581
581
|
AXIS: [
|
|
582
582
|
[new N(j, o), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
583
583
|
]
|
|
584
|
-
},
|
|
584
|
+
}, Tt = {
|
|
585
585
|
XYZE: [
|
|
586
586
|
[new h(new jt(0.25, 10, 8), i)]
|
|
587
587
|
],
|
|
@@ -661,8 +661,8 @@ class ts extends Te {
|
|
|
661
661
|
[new N(j, o), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
|
|
662
662
|
]
|
|
663
663
|
};
|
|
664
|
-
function
|
|
665
|
-
const ce = new
|
|
664
|
+
function z(D) {
|
|
665
|
+
const ce = new xe();
|
|
666
666
|
for (const A in D)
|
|
667
667
|
for (let K = D[A].length; K--; ) {
|
|
668
668
|
const P = D[A][K][0].clone(), de = D[A][K][1], pe = D[A][K][2], _e = D[A][K][3], Lt = D[A][K][4];
|
|
@@ -672,7 +672,7 @@ class ts extends Te {
|
|
|
672
672
|
}
|
|
673
673
|
return ce;
|
|
674
674
|
}
|
|
675
|
-
this.gizmo = {}, this.picker = {}, this.helper = {}, this.add(this.gizmo.translate =
|
|
675
|
+
this.gizmo = {}, this.picker = {}, this.helper = {}, this.add(this.gizmo.translate = z(B)), this.add(this.gizmo.rotate = z(Et)), this.add(this.gizmo.scale = z(Dt)), this.add(this.picker.translate = z(U)), this.add(this.picker.rotate = z(Tt)), this.add(this.picker.scale = z(Ot)), this.add(this.helper.translate = z(St)), this.add(this.helper.rotate = z(xt)), this.add(this.helper.scale = z(At)), this.picker.translate.visible = !1, this.picker.rotate.visible = !1, this.picker.scale.visible = !1;
|
|
676
676
|
}
|
|
677
677
|
// updateMatrixWorld will update transformations and appearance of individual handles
|
|
678
678
|
updateMatrixWorld(e) {
|
|
@@ -695,7 +695,7 @@ class ts extends Te {
|
|
|
695
695
|
super.updateMatrixWorld(e);
|
|
696
696
|
}
|
|
697
697
|
}
|
|
698
|
-
class
|
|
698
|
+
class is extends h {
|
|
699
699
|
constructor() {
|
|
700
700
|
super(
|
|
701
701
|
new Ht(1e5, 1e5, 2, 2),
|
|
@@ -739,15 +739,15 @@ class ss extends h {
|
|
|
739
739
|
R.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (nt.lookAt(v.set(0, 0, 0), R, _), this.quaternion.setFromRotationMatrix(nt)), super.updateMatrixWorld(e);
|
|
740
740
|
}
|
|
741
741
|
}
|
|
742
|
-
var
|
|
743
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
742
|
+
var os = Object.getOwnPropertyDescriptor, ns = (t, e, s, i) => {
|
|
743
|
+
for (var o = i > 1 ? void 0 : i ? os(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
744
744
|
(n = t[r]) && (o = n(o) || o);
|
|
745
745
|
return o;
|
|
746
746
|
};
|
|
747
|
-
let
|
|
747
|
+
let Te = class {
|
|
748
748
|
_emitter;
|
|
749
749
|
constructor() {
|
|
750
|
-
this._emitter = new
|
|
750
|
+
this._emitter = new Wt();
|
|
751
751
|
}
|
|
752
752
|
/** Публикация события */
|
|
753
753
|
emit(t, e) {
|
|
@@ -762,13 +762,13 @@ let xe = class {
|
|
|
762
762
|
this._emitter.off(t, e);
|
|
763
763
|
}
|
|
764
764
|
};
|
|
765
|
-
|
|
765
|
+
Te = ns([
|
|
766
766
|
w()
|
|
767
|
-
],
|
|
767
|
+
], Te);
|
|
768
768
|
var ee = /* @__PURE__ */ ((t) => (t.SelectHover = "select.hover", t.SelectClick = "select.click", t.ToolSelect = "tool.select", t))(ee || {});
|
|
769
|
-
const
|
|
770
|
-
var
|
|
771
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
769
|
+
const rs = 0.03, as = 10;
|
|
770
|
+
var hs = Object.getOwnPropertyDescriptor, ls = (t, e, s, i) => {
|
|
771
|
+
for (var o = i > 1 ? void 0 : i ? hs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
772
772
|
(n = t[r]) && (o = n(o) || o);
|
|
773
773
|
return o;
|
|
774
774
|
}, rt = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -778,7 +778,12 @@ let De = class extends Mt {
|
|
|
778
778
|
const s = new l.GridHelper(10, 10);
|
|
779
779
|
s.position.y = -1e-3, this.scene.add(s);
|
|
780
780
|
const i = new Nt(6);
|
|
781
|
-
this.scene.add(i), this._orbit = new Ft(this.camera, this.renderer.domElement), this._orbit.enableDamping = !0, this._orbit.dampingFactor = 0.05, this.
|
|
781
|
+
this.scene.add(i), this._orbit = new Ft(this.camera, this.renderer.domElement), this._orbit.enableDamping = !0, this._orbit.dampingFactor = 0.05, this._cameraGizmo = new Qt(this.renderer, this.camera, {
|
|
782
|
+
size: 96,
|
|
783
|
+
// Размер квадрата
|
|
784
|
+
margin: 36
|
|
785
|
+
// Отступы по сторонам (снизу и справа)
|
|
786
|
+
}), this._raycaster = new l.Raycaster(), this._mouse = new l.Vector2(), this.scene.add(new l.HemisphereLight(16777215, 4473924, 0.6)), this.camera.layers.enable(0), this.camera.layers.enable(1), this._transform = new qt(this.camera, this.renderer.domElement), this._transformHelper = this._transform.getHelper(), this.scene.add(this._transformHelper), this._isEventListenersAdded || this._initMouseListeners();
|
|
782
787
|
}
|
|
783
788
|
/** Orbit-контроллер для управления камерой */
|
|
784
789
|
_orbit;
|
|
@@ -796,6 +801,8 @@ let De = class extends Mt {
|
|
|
796
801
|
* необходима для отправки только уникальных событий в event bus
|
|
797
802
|
*/
|
|
798
803
|
_lastHovered = null;
|
|
804
|
+
/** Gizmo для управления отображением perspective camera */
|
|
805
|
+
_cameraGizmo;
|
|
799
806
|
/**
|
|
800
807
|
* Обновление состояния рендерера.
|
|
801
808
|
*/
|
|
@@ -847,10 +854,10 @@ let De = class extends Mt {
|
|
|
847
854
|
e.layers.set(0);
|
|
848
855
|
break;
|
|
849
856
|
case I.Edge:
|
|
850
|
-
e.layers.set(1), e.params.Line.threshold =
|
|
857
|
+
e.layers.set(1), e.params.Line.threshold = rs;
|
|
851
858
|
break;
|
|
852
859
|
case I.Vertex:
|
|
853
|
-
e.layers.set(2), e.params.Points.threshold =
|
|
860
|
+
e.layers.set(2), e.params.Points.threshold = as;
|
|
854
861
|
break;
|
|
855
862
|
}
|
|
856
863
|
}
|
|
@@ -859,6 +866,9 @@ let De = class extends Mt {
|
|
|
859
866
|
this._orbit.enabled = !this._transform.dragging;
|
|
860
867
|
}), this._isEventListenersAdded = !1), this._orbit?.dispose(), this._transform?.dispose(), this._transformHelper?.parent && this._transformHelper.parent.remove(this._transformHelper), this._lastHovered = null, super.dispose();
|
|
861
868
|
}
|
|
869
|
+
render() {
|
|
870
|
+
super.render(), this._cameraGizmo.render(this.canvas.width, this.canvas.height);
|
|
871
|
+
}
|
|
862
872
|
/** Инициализация обработчиков событий на hover/click */
|
|
863
873
|
_initMouseListeners() {
|
|
864
874
|
this.canvas.addEventListener("mousemove", this._handleMouseMove, !1), this.canvas.addEventListener("click", this._handleMouseClick, !1), this.canvas.addEventListener("pointerdown", (t) => this._transform.pointerDown(t)), this.canvas.addEventListener("pointermove", (t) => this._transform.pointerMove(t)), this.canvas.addEventListener("pointerup", (t) => this._transform.pointerUp(t)), this.canvas.addEventListener("pointerleave", () => this._transform.pointerHover(null)), this._transform.addEventListener("dragging-changed", () => {
|
|
@@ -882,12 +892,12 @@ let De = class extends Mt {
|
|
|
882
892
|
s ? n !== this._lastHovered && (this.meshes.forEach((a) => a.userData.isHit = !1), n && (n.userData.isHit = !0), this._lastHovered = n, this._bus.emit(e, r ? { intersection: r } : null)) : this._bus.emit(e, r ? { intersection: r } : null);
|
|
883
893
|
}
|
|
884
894
|
};
|
|
885
|
-
De =
|
|
895
|
+
De = ls([
|
|
886
896
|
w(),
|
|
887
897
|
rt(0, u("Canvas")),
|
|
888
898
|
rt(1, u("EventBus"))
|
|
889
899
|
], De);
|
|
890
|
-
const at = { type: "change" }, Ue = { type: "start" }, Pt = { type: "end" }, ye = new Yt(), ht = new Zt(),
|
|
900
|
+
const at = { type: "change" }, Ue = { type: "start" }, Pt = { type: "end" }, ye = new Yt(), ht = new Zt(), cs = Math.cos(70 * zt.DEG2RAD), y = new c(), E = 2 * Math.PI, p = {
|
|
891
901
|
NONE: -1,
|
|
892
902
|
ROTATE: 0,
|
|
893
903
|
DOLLY: 1,
|
|
@@ -897,7 +907,7 @@ const at = { type: "change" }, Ue = { type: "start" }, Pt = { type: "end" }, ye
|
|
|
897
907
|
TOUCH_DOLLY_PAN: 5,
|
|
898
908
|
TOUCH_DOLLY_ROTATE: 6
|
|
899
909
|
}, Se = 1e-6;
|
|
900
|
-
class
|
|
910
|
+
class ds extends yt {
|
|
901
911
|
/**
|
|
902
912
|
* Constructs a new controls instance.
|
|
903
913
|
*
|
|
@@ -905,7 +915,7 @@ class cs extends yt {
|
|
|
905
915
|
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
906
916
|
*/
|
|
907
917
|
constructor(e, s = null) {
|
|
908
|
-
super(e, s), this.state = p.NONE, this.target = new c(), this.cursor = new c(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: J.ROTATE, MIDDLE: J.DOLLY, RIGHT: J.PAN }, this.touches = { ONE: V.ROTATE, TWO: V.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new c(), this._lastQuaternion = new O(), this._lastTargetPosition = new c(), this._quat = new O().setFromUnitVectors(e.up, new c(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Ve(), this._sphericalDelta = new Ve(), this._scale = 1, this._panOffset = new c(), this._rotateStart = new L(), this._rotateEnd = new L(), this._rotateDelta = new L(), this._panStart = new L(), this._panEnd = new L(), this._panDelta = new L(), this._dollyStart = new L(), this._dollyEnd = new L(), this._dollyDelta = new L(), this._dollyDirection = new c(), this._mouse = new L(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove =
|
|
918
|
+
super(e, s), this.state = p.NONE, this.target = new c(), this.cursor = new c(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: J.ROTATE, MIDDLE: J.DOLLY, RIGHT: J.PAN }, this.touches = { ONE: V.ROTATE, TWO: V.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new c(), this._lastQuaternion = new O(), this._lastTargetPosition = new c(), this._quat = new O().setFromUnitVectors(e.up, new c(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Ve(), this._sphericalDelta = new Ve(), this._scale = 1, this._panOffset = new c(), this._rotateStart = new L(), this._rotateEnd = new L(), this._rotateDelta = new L(), this._panStart = new L(), this._panEnd = new L(), this._panDelta = new L(), this._dollyStart = new L(), this._dollyEnd = new L(), this._dollyDelta = new L(), this._dollyDirection = new c(), this._mouse = new L(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = _s.bind(this), this._onPointerDown = ps.bind(this), this._onPointerUp = us.bind(this), this._onContextMenu = vs.bind(this), this._onMouseWheel = gs.bind(this), this._onKeyDown = ys.bind(this), this._onTouchStart = bs.bind(this), this._onTouchMove = ws.bind(this), this._onMouseDown = ms.bind(this), this._onMouseMove = fs.bind(this), this._interceptControlDown = Ms.bind(this), this._interceptControlUp = Ps.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
|
|
909
919
|
}
|
|
910
920
|
connect(e) {
|
|
911
921
|
super.connect(e), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
|
|
@@ -996,7 +1006,7 @@ class cs extends yt {
|
|
|
996
1006
|
g.unproject(this.object), this.object.position.sub(g).add(a), this.object.updateMatrixWorld(), n = y.length();
|
|
997
1007
|
} else
|
|
998
1008
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
999
|
-
n !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(n).add(this.object.position) : (ye.origin.copy(this.object.position), ye.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(ye.direction)) <
|
|
1009
|
+
n !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(n).add(this.object.position) : (ye.origin.copy(this.object.position), ye.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(ye.direction)) < cs ? this.object.lookAt(this.target) : (ht.setFromNormalAndCoplanarPoint(this.object.up, this.target), ye.intersectPlane(ht, this.target))));
|
|
1000
1010
|
} else if (this.object.isOrthographicCamera) {
|
|
1001
1011
|
const n = this.object.zoom;
|
|
1002
1012
|
this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), n !== this.object.zoom && (this.object.updateProjectionMatrix(), r = !0);
|
|
@@ -1193,13 +1203,13 @@ class cs extends yt {
|
|
|
1193
1203
|
return e.ctrlKey && !this._controlActive && (i.deltaY *= 10), i;
|
|
1194
1204
|
}
|
|
1195
1205
|
}
|
|
1196
|
-
function
|
|
1206
|
+
function ps(t) {
|
|
1197
1207
|
this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(t.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.domElement.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(t) && (this._addPointer(t), t.pointerType === "touch" ? this._onTouchStart(t) : this._onMouseDown(t)));
|
|
1198
1208
|
}
|
|
1199
|
-
function
|
|
1209
|
+
function _s(t) {
|
|
1200
1210
|
this.enabled !== !1 && (t.pointerType === "touch" ? this._onTouchMove(t) : this._onMouseMove(t));
|
|
1201
1211
|
}
|
|
1202
|
-
function
|
|
1212
|
+
function us(t) {
|
|
1203
1213
|
switch (this._removePointer(t), this._pointers.length) {
|
|
1204
1214
|
case 0:
|
|
1205
1215
|
this.domElement.releasePointerCapture(t.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Pt), this.state = p.NONE;
|
|
@@ -1210,7 +1220,7 @@ function _s(t) {
|
|
|
1210
1220
|
break;
|
|
1211
1221
|
}
|
|
1212
1222
|
}
|
|
1213
|
-
function
|
|
1223
|
+
function ms(t) {
|
|
1214
1224
|
let e;
|
|
1215
1225
|
switch (t.button) {
|
|
1216
1226
|
case 0:
|
|
@@ -1253,7 +1263,7 @@ function us(t) {
|
|
|
1253
1263
|
}
|
|
1254
1264
|
this.state !== p.NONE && this.dispatchEvent(Ue);
|
|
1255
1265
|
}
|
|
1256
|
-
function
|
|
1266
|
+
function fs(t) {
|
|
1257
1267
|
switch (this.state) {
|
|
1258
1268
|
case p.ROTATE:
|
|
1259
1269
|
if (this.enableRotate === !1) return;
|
|
@@ -1269,13 +1279,13 @@ function ms(t) {
|
|
|
1269
1279
|
break;
|
|
1270
1280
|
}
|
|
1271
1281
|
}
|
|
1272
|
-
function
|
|
1282
|
+
function gs(t) {
|
|
1273
1283
|
this.enabled === !1 || this.enableZoom === !1 || this.state !== p.NONE || (t.preventDefault(), this.dispatchEvent(Ue), this._handleMouseWheel(this._customWheelEvent(t)), this.dispatchEvent(Pt));
|
|
1274
1284
|
}
|
|
1275
|
-
function
|
|
1285
|
+
function ys(t) {
|
|
1276
1286
|
this.enabled !== !1 && this._handleKeyDown(t);
|
|
1277
1287
|
}
|
|
1278
|
-
function
|
|
1288
|
+
function bs(t) {
|
|
1279
1289
|
switch (this._trackPointer(t), this._pointers.length) {
|
|
1280
1290
|
case 1:
|
|
1281
1291
|
switch (this.touches.ONE) {
|
|
@@ -1310,7 +1320,7 @@ function ys(t) {
|
|
|
1310
1320
|
}
|
|
1311
1321
|
this.state !== p.NONE && this.dispatchEvent(Ue);
|
|
1312
1322
|
}
|
|
1313
|
-
function
|
|
1323
|
+
function ws(t) {
|
|
1314
1324
|
switch (this._trackPointer(t), this.state) {
|
|
1315
1325
|
case p.TOUCH_ROTATE:
|
|
1316
1326
|
if (this.enableRotate === !1) return;
|
|
@@ -1332,20 +1342,20 @@ function bs(t) {
|
|
|
1332
1342
|
this.state = p.NONE;
|
|
1333
1343
|
}
|
|
1334
1344
|
}
|
|
1335
|
-
function
|
|
1345
|
+
function vs(t) {
|
|
1336
1346
|
this.enabled !== !1 && t.preventDefault();
|
|
1337
1347
|
}
|
|
1338
|
-
function
|
|
1348
|
+
function Ms(t) {
|
|
1339
1349
|
t.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
1340
1350
|
}
|
|
1341
|
-
function
|
|
1351
|
+
function Ps(t) {
|
|
1342
1352
|
t.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
1343
1353
|
}
|
|
1344
|
-
class
|
|
1354
|
+
class gi extends Mt {
|
|
1345
1355
|
/** Orbit-контроллер для управления камерой */
|
|
1346
1356
|
_orbit;
|
|
1347
1357
|
constructor(e) {
|
|
1348
|
-
super(e), this.camera.position.set(1, 1, 7), this.camera.lookAt(0, 0, 0), this._orbit = new
|
|
1358
|
+
super(e), this.camera.position.set(1, 1, 7), this.camera.lookAt(0, 0, 0), this._orbit = new ds(this.camera, this.canvas), this._orbit.target.set(0, 0, 0), this._orbit.minPolarAngle = Math.PI / 2, this._orbit.maxPolarAngle = Math.PI / 2, this._orbit.enableRotate = !0, this._orbit.enableZoom = !1, this._orbit.enablePan = !1;
|
|
1349
1359
|
}
|
|
1350
1360
|
/**
|
|
1351
1361
|
* Обновление состояния рендерера.
|
|
@@ -1354,7 +1364,7 @@ class fi extends Mt {
|
|
|
1354
1364
|
this._orbit?.update();
|
|
1355
1365
|
}
|
|
1356
1366
|
}
|
|
1357
|
-
class
|
|
1367
|
+
class yi {
|
|
1358
1368
|
/** Позиции вершин */
|
|
1359
1369
|
_positions = [];
|
|
1360
1370
|
/** Нормали вершин */
|
|
@@ -1396,7 +1406,7 @@ class gi {
|
|
|
1396
1406
|
...this._normals.length > 0 && { normal: this._normals },
|
|
1397
1407
|
...this._uvs.length > 0 && { uv: this._uvs }
|
|
1398
1408
|
};
|
|
1399
|
-
return new
|
|
1409
|
+
return new Xt(i);
|
|
1400
1410
|
}
|
|
1401
1411
|
/**
|
|
1402
1412
|
* Обрабатывает строку face (f) и разворачивает индексы в массивы для рендеринга
|
|
@@ -1421,8 +1431,8 @@ class gi {
|
|
|
1421
1431
|
}
|
|
1422
1432
|
}
|
|
1423
1433
|
}
|
|
1424
|
-
var
|
|
1425
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1434
|
+
var Ss = Object.getOwnPropertyDescriptor, Es = (t, e, s, i) => {
|
|
1435
|
+
for (var o = i > 1 ? void 0 : i ? Ss(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1426
1436
|
(n = t[r]) && (o = n(o) || o);
|
|
1427
1437
|
return o;
|
|
1428
1438
|
}, lt = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1443,13 +1453,13 @@ let Oe = class {
|
|
|
1443
1453
|
this._handlers && this._handlers.clear(), this._currentMode = ae.Plane, this._store.setDisplayMode(this._currentMode);
|
|
1444
1454
|
}
|
|
1445
1455
|
};
|
|
1446
|
-
Oe =
|
|
1456
|
+
Oe = Es([
|
|
1447
1457
|
w(),
|
|
1448
1458
|
lt(0, ve("IDisplayHandler")),
|
|
1449
1459
|
lt(1, u("IEditorStore"))
|
|
1450
1460
|
], Oe);
|
|
1451
|
-
var
|
|
1452
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1461
|
+
var X = /* @__PURE__ */ ((t) => (t.Hover = "hover", t.Click = "click", t))(X || {}), xs = Object.getOwnPropertyDescriptor, Ts = (t, e, s, i) => {
|
|
1462
|
+
for (var o = i > 1 ? void 0 : i ? xs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1453
1463
|
(n = t[r]) && (o = n(o) || o);
|
|
1454
1464
|
return o;
|
|
1455
1465
|
}, Ee = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1467,11 +1477,11 @@ let Ae = class {
|
|
|
1467
1477
|
}
|
|
1468
1478
|
/** Обработчик события наведения на модель */
|
|
1469
1479
|
_onHover = (t) => {
|
|
1470
|
-
this._handlers.get(this._currentMode)?.handle(t,
|
|
1480
|
+
this._handlers.get(this._currentMode)?.handle(t, X.Hover);
|
|
1471
1481
|
};
|
|
1472
1482
|
/** Обработчик события клика на модель */
|
|
1473
1483
|
_onClick = (t) => {
|
|
1474
|
-
this._handlers.get(this._currentMode)?.handle(t,
|
|
1484
|
+
this._handlers.get(this._currentMode)?.handle(t, X.Click);
|
|
1475
1485
|
};
|
|
1476
1486
|
/** Освобождает ресурсы менеджера. */
|
|
1477
1487
|
dispose() {
|
|
@@ -1484,8 +1494,8 @@ Ae = Ts([
|
|
|
1484
1494
|
Ee(1, ve("ISelectHandler")),
|
|
1485
1495
|
Ee(2, u("IEditorStore"))
|
|
1486
1496
|
], Ae);
|
|
1487
|
-
var
|
|
1488
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1497
|
+
var Ds = Object.getOwnPropertyDescriptor, Os = (t, e, s, i) => {
|
|
1498
|
+
for (var o = i > 1 ? void 0 : i ? Ds(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1489
1499
|
(n = t[r]) && (o = n(o) || o);
|
|
1490
1500
|
return o;
|
|
1491
1501
|
}, ct = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1508,16 +1518,16 @@ let Le = class {
|
|
|
1508
1518
|
this._unsubSelected?.(), this._handlers && this._handlers.clear(), this._currentTool = G.Translate, this._store.setToolType(this._currentTool);
|
|
1509
1519
|
}
|
|
1510
1520
|
};
|
|
1511
|
-
Le =
|
|
1521
|
+
Le = Os([
|
|
1512
1522
|
w(),
|
|
1513
1523
|
ct(0, ve("IToolHandler")),
|
|
1514
1524
|
ct(1, u("IEditorStore"))
|
|
1515
1525
|
], Le);
|
|
1516
|
-
var
|
|
1517
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1526
|
+
var As = Object.getOwnPropertyDescriptor, Ls = (t, e, s, i) => {
|
|
1527
|
+
for (var o = i > 1 ? void 0 : i ? As(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1518
1528
|
(n = t[r]) && (o = n(o) || o);
|
|
1519
1529
|
return o;
|
|
1520
|
-
},
|
|
1530
|
+
}, Cs = (t, e) => (s, i) => e(s, i, t);
|
|
1521
1531
|
let Ce = class {
|
|
1522
1532
|
/** Текущий режим редактирования сцены */
|
|
1523
1533
|
_currentMode = he.AddFigure;
|
|
@@ -1535,15 +1545,15 @@ let Ce = class {
|
|
|
1535
1545
|
this._handlers && this._handlers.clear(), this._currentMode = he.AddFigure;
|
|
1536
1546
|
}
|
|
1537
1547
|
};
|
|
1538
|
-
Ce =
|
|
1548
|
+
Ce = Ls([
|
|
1539
1549
|
w(),
|
|
1540
|
-
|
|
1550
|
+
Cs(0, ve("ISceneHandler"))
|
|
1541
1551
|
], Ce);
|
|
1542
|
-
var
|
|
1543
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1552
|
+
var Is = Object.getOwnPropertyDescriptor, js = (t, e, s, i) => {
|
|
1553
|
+
for (var o = i > 1 ? void 0 : i ? Is(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1544
1554
|
(n = t[r]) && (o = n(o) || o);
|
|
1545
1555
|
return o;
|
|
1546
|
-
},
|
|
1556
|
+
}, Rs = (t, e) => (s, i) => e(s, i, t);
|
|
1547
1557
|
let Ie = class {
|
|
1548
1558
|
constructor(t) {
|
|
1549
1559
|
this._api = t;
|
|
@@ -1600,13 +1610,13 @@ let Ie = class {
|
|
|
1600
1610
|
"wireframe" in e && !this._prevWireframe.has(t) && (this._prevWireframe.set(t, !!e.wireframe), e.wireframe = !0, t.needsUpdate = !0), e.color?.isColor && (this._prevColorMesh.has(t) || this._prevColorMesh.set(t, e.color.clone()), e.color.copy(this._wireColor));
|
|
1601
1611
|
}
|
|
1602
1612
|
};
|
|
1603
|
-
Ie =
|
|
1613
|
+
Ie = js([
|
|
1604
1614
|
w(),
|
|
1605
|
-
|
|
1615
|
+
Rs(0, u("RendererApi"))
|
|
1606
1616
|
], Ie);
|
|
1607
|
-
const We = 16776960, $e = 16755200,
|
|
1608
|
-
var
|
|
1609
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1617
|
+
const We = 16776960, $e = 16755200, Hs = 2236962;
|
|
1618
|
+
var ks = Object.getOwnPropertyDescriptor, Ys = (t, e, s, i) => {
|
|
1619
|
+
for (var o = i > 1 ? void 0 : i ? ks(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1610
1620
|
(n = t[r]) && (o = n(o) || o);
|
|
1611
1621
|
return o;
|
|
1612
1622
|
}, dt = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1628,7 +1638,7 @@ let je = class {
|
|
|
1628
1638
|
/** Исходные цвета материалов линий для отката */
|
|
1629
1639
|
_origLineColors = /* @__PURE__ */ new WeakMap();
|
|
1630
1640
|
handle(t, e) {
|
|
1631
|
-
if (this._api.setRaycastMode(this.mode), e ===
|
|
1641
|
+
if (this._api.setRaycastMode(this.mode), e === X.Hover) {
|
|
1632
1642
|
if (!t) {
|
|
1633
1643
|
this._hoveredMesh && this._hoveredMesh !== this._selectedMesh && this._restoreEdgesColor(this._hoveredMesh), this._hoveredMesh = null;
|
|
1634
1644
|
return;
|
|
@@ -1636,7 +1646,7 @@ let je = class {
|
|
|
1636
1646
|
const s = t.intersection.object;
|
|
1637
1647
|
this._hoveredMesh !== s && (this._hoveredMesh && this._hoveredMesh !== this._selectedMesh && this._restoreEdgesColor(this._hoveredMesh), s !== this._selectedMesh && this._paintEdges(s, this._hoverColor), this._hoveredMesh = s);
|
|
1638
1648
|
}
|
|
1639
|
-
if (e ===
|
|
1649
|
+
if (e === X.Click) {
|
|
1640
1650
|
if (!t) {
|
|
1641
1651
|
this._selectedMesh && (this._restoreEdgesColor(this._selectedMesh), this._selectedMesh = null, this._store.setSelectedObject(null));
|
|
1642
1652
|
return;
|
|
@@ -1681,13 +1691,13 @@ let je = class {
|
|
|
1681
1691
|
});
|
|
1682
1692
|
}
|
|
1683
1693
|
};
|
|
1684
|
-
je =
|
|
1694
|
+
je = Ys([
|
|
1685
1695
|
w(),
|
|
1686
1696
|
dt(0, u("RendererApi")),
|
|
1687
1697
|
dt(1, u("IEditorStore"))
|
|
1688
1698
|
], je);
|
|
1689
|
-
var
|
|
1690
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1699
|
+
var Zs = Object.getOwnPropertyDescriptor, zs = (t, e, s, i) => {
|
|
1700
|
+
for (var o = i > 1 ? void 0 : i ? Zs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1691
1701
|
(n = t[r]) && (o = n(o) || o);
|
|
1692
1702
|
return o;
|
|
1693
1703
|
}, Xs = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1709,7 +1719,7 @@ let Re = class {
|
|
|
1709
1719
|
/** Изначальный цвет граней у модели, перед наложением эффектов*/
|
|
1710
1720
|
_defaultColor = 2236962;
|
|
1711
1721
|
handle(t, e) {
|
|
1712
|
-
this._api.setRaycastMode(this.mode), e ===
|
|
1722
|
+
this._api.setRaycastMode(this.mode), e === X.Hover && console.log(t), e === X.Click && console.log(t);
|
|
1713
1723
|
}
|
|
1714
1724
|
rollback() {
|
|
1715
1725
|
throw new Error("Method not implemented.");
|
|
@@ -1719,7 +1729,7 @@ let Re = class {
|
|
|
1719
1729
|
throw new Error("Method not implemented.");
|
|
1720
1730
|
}
|
|
1721
1731
|
};
|
|
1722
|
-
Re =
|
|
1732
|
+
Re = zs([
|
|
1723
1733
|
w(),
|
|
1724
1734
|
Xs(0, u("RendererApi"))
|
|
1725
1735
|
], Re);
|
|
@@ -1747,8 +1757,8 @@ class Ge {
|
|
|
1747
1757
|
this.rollback();
|
|
1748
1758
|
}
|
|
1749
1759
|
}
|
|
1750
|
-
var
|
|
1751
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1760
|
+
var Ns = Object.getOwnPropertyDescriptor, Fs = (t, e, s, i) => {
|
|
1761
|
+
for (var o = i > 1 ? void 0 : i ? Ns(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1752
1762
|
(n = t[r]) && (o = n(o) || o);
|
|
1753
1763
|
return o;
|
|
1754
1764
|
}, pt = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1759,13 +1769,13 @@ let He = class extends Ge {
|
|
|
1759
1769
|
super(t, e);
|
|
1760
1770
|
}
|
|
1761
1771
|
};
|
|
1762
|
-
He =
|
|
1772
|
+
He = Fs([
|
|
1763
1773
|
w(),
|
|
1764
1774
|
pt(0, u("RendererApi")),
|
|
1765
1775
|
pt(1, u("IEditorStore"))
|
|
1766
1776
|
], He);
|
|
1767
|
-
var
|
|
1768
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1777
|
+
var Qs = Object.getOwnPropertyDescriptor, Us = (t, e, s, i) => {
|
|
1778
|
+
for (var o = i > 1 ? void 0 : i ? Qs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1769
1779
|
(n = t[r]) && (o = n(o) || o);
|
|
1770
1780
|
return o;
|
|
1771
1781
|
}, _t = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1776,13 +1786,13 @@ let ke = class extends Ge {
|
|
|
1776
1786
|
super(t, e);
|
|
1777
1787
|
}
|
|
1778
1788
|
};
|
|
1779
|
-
ke =
|
|
1789
|
+
ke = Us([
|
|
1780
1790
|
w(),
|
|
1781
1791
|
_t(0, u("RendererApi")),
|
|
1782
1792
|
_t(1, u("IEditorStore"))
|
|
1783
1793
|
], ke);
|
|
1784
|
-
var
|
|
1785
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1794
|
+
var Ws = Object.getOwnPropertyDescriptor, $s = (t, e, s, i) => {
|
|
1795
|
+
for (var o = i > 1 ? void 0 : i ? Ws(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1786
1796
|
(n = t[r]) && (o = n(o) || o);
|
|
1787
1797
|
return o;
|
|
1788
1798
|
}, ut = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1793,14 +1803,14 @@ let Ye = class extends Ge {
|
|
|
1793
1803
|
super(t, e);
|
|
1794
1804
|
}
|
|
1795
1805
|
};
|
|
1796
|
-
Ye =
|
|
1806
|
+
Ye = $s([
|
|
1797
1807
|
w(),
|
|
1798
1808
|
ut(0, u("RendererApi")),
|
|
1799
1809
|
ut(1, u("IEditorStore"))
|
|
1800
1810
|
], Ye);
|
|
1801
1811
|
const be = 31;
|
|
1802
|
-
var
|
|
1803
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1812
|
+
var Gs = Object.getOwnPropertyDescriptor, qs = (t, e, s, i) => {
|
|
1813
|
+
for (var o = i > 1 ? void 0 : i ? Gs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1804
1814
|
(n = t[r]) && (o = n(o) || o);
|
|
1805
1815
|
return o;
|
|
1806
1816
|
}, mt = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -1825,7 +1835,7 @@ let Ze = class {
|
|
|
1825
1835
|
_selectColor = $e;
|
|
1826
1836
|
/** Обработка текущего режима выборки. */
|
|
1827
1837
|
handle(t, e) {
|
|
1828
|
-
if (this._api.setRaycastMode(this.mode), e ===
|
|
1838
|
+
if (this._api.setRaycastMode(this.mode), e === X.Hover) {
|
|
1829
1839
|
if (!t) {
|
|
1830
1840
|
this._hoverLine.visible = !1, this._hovered = null;
|
|
1831
1841
|
return;
|
|
@@ -1837,7 +1847,7 @@ let Ze = class {
|
|
|
1837
1847
|
this._selected && this._same({ lines: i, seg: o }, this._selected) ? this._hoverLine.visible = !1 : (this._writeWorldSegment(this._hoverLine, i, o), this._hoverLine.visible = !0), this._hovered = { lines: i, seg: o };
|
|
1838
1848
|
return;
|
|
1839
1849
|
}
|
|
1840
|
-
if (e ===
|
|
1850
|
+
if (e === X.Click) {
|
|
1841
1851
|
if (!t) {
|
|
1842
1852
|
this._selectLine.visible = !1, this._selected = null, this._store.setSelectedObject(null);
|
|
1843
1853
|
return;
|
|
@@ -1893,23 +1903,23 @@ let Ze = class {
|
|
|
1893
1903
|
const b = new l.Vector3().addVectors(n, a).multiplyScalar(0.5);
|
|
1894
1904
|
t.position.copy(b);
|
|
1895
1905
|
const H = t.geometry;
|
|
1896
|
-
let
|
|
1897
|
-
(!
|
|
1906
|
+
let x = H.getAttribute("position");
|
|
1907
|
+
(!x || x.count < 2) && (H.setAttribute("position", new l.BufferAttribute(new Float32Array(6), 3)), x = H.getAttribute("position")), x.setXYZ(0, -g / 2, 0, 0), x.setXYZ(1, g / 2, 0, 0), x.needsUpdate = !0, d.normalize();
|
|
1898
1908
|
const q = new l.Quaternion().setFromUnitVectors(new l.Vector3(1, 0, 0), d);
|
|
1899
1909
|
t.quaternion.copy(q), t.updateMatrixWorld(!0);
|
|
1900
1910
|
}
|
|
1901
1911
|
};
|
|
1902
|
-
Ze =
|
|
1912
|
+
Ze = qs([
|
|
1903
1913
|
w(),
|
|
1904
1914
|
mt(0, u("RendererApi")),
|
|
1905
1915
|
mt(1, u("IEditorStore"))
|
|
1906
1916
|
], Ze);
|
|
1907
|
-
var
|
|
1908
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1917
|
+
var Bs = Object.getOwnPropertyDescriptor, Ks = (t, e, s, i) => {
|
|
1918
|
+
for (var o = i > 1 ? void 0 : i ? Bs(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1909
1919
|
(n = t[r]) && (o = n(o) || o);
|
|
1910
1920
|
return o;
|
|
1911
|
-
},
|
|
1912
|
-
let
|
|
1921
|
+
}, Vs = (t, e) => (s, i) => e(s, i, t);
|
|
1922
|
+
let ze = class {
|
|
1913
1923
|
constructor(t) {
|
|
1914
1924
|
this._api = t;
|
|
1915
1925
|
}
|
|
@@ -1919,13 +1929,13 @@ let Xe = class {
|
|
|
1919
1929
|
_lastAddedMesh = null;
|
|
1920
1930
|
/** Добавление базовых фигур на сцену, которые приписаны в `FigureType`. */
|
|
1921
1931
|
handle(t) {
|
|
1922
|
-
const e =
|
|
1932
|
+
const e = Gt[t](), s = e.getAttribute("position");
|
|
1923
1933
|
s && s.setUsage && s.setUsage(l.DynamicDrawUsage);
|
|
1924
1934
|
const i = new l.Mesh(e, vt);
|
|
1925
1935
|
i.layers.enable(0);
|
|
1926
1936
|
const o = new l.EdgesGeometry(i.geometry), r = new l.LineSegments(
|
|
1927
1937
|
o,
|
|
1928
|
-
new l.LineBasicMaterial({ color:
|
|
1938
|
+
new l.LineBasicMaterial({ color: Hs, linewidth: 1 })
|
|
1929
1939
|
);
|
|
1930
1940
|
r.layers.set(1), i.add(r), this._api.addMesh(i), this._lastAddedMesh = i;
|
|
1931
1941
|
}
|
|
@@ -1938,17 +1948,17 @@ let Xe = class {
|
|
|
1938
1948
|
this._lastAddedMesh = null;
|
|
1939
1949
|
}
|
|
1940
1950
|
};
|
|
1941
|
-
|
|
1951
|
+
ze = Ks([
|
|
1942
1952
|
w(),
|
|
1943
|
-
|
|
1944
|
-
],
|
|
1945
|
-
const
|
|
1946
|
-
var
|
|
1947
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1953
|
+
Vs(0, u("RendererApi"))
|
|
1954
|
+
], ze);
|
|
1955
|
+
const Js = (t) => !!t && t.isMesh;
|
|
1956
|
+
var ei = Object.getOwnPropertyDescriptor, ti = (t, e, s, i) => {
|
|
1957
|
+
for (var o = i > 1 ? void 0 : i ? ei(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1948
1958
|
(n = t[r]) && (o = n(o) || o);
|
|
1949
1959
|
return o;
|
|
1950
1960
|
}, ft = (t, e) => (s, i) => e(s, i, t);
|
|
1951
|
-
let
|
|
1961
|
+
let Xe = class {
|
|
1952
1962
|
constructor(t, e) {
|
|
1953
1963
|
this._api = t, this._store = e;
|
|
1954
1964
|
}
|
|
@@ -1958,7 +1968,7 @@ let ze = class {
|
|
|
1958
1968
|
_lastDeletedMesh = null;
|
|
1959
1969
|
handle() {
|
|
1960
1970
|
const t = this._store.getSelectedObject();
|
|
1961
|
-
|
|
1971
|
+
Js(t) && (this._api.removeMesh(t), this._store.setSelectedObject(null), this._lastDeletedMesh = t);
|
|
1962
1972
|
}
|
|
1963
1973
|
/** Срабатывает только на `ctrl + z`. */
|
|
1964
1974
|
rollback() {
|
|
@@ -1969,16 +1979,16 @@ let ze = class {
|
|
|
1969
1979
|
this._lastDeletedMesh = null;
|
|
1970
1980
|
}
|
|
1971
1981
|
};
|
|
1972
|
-
|
|
1982
|
+
Xe = ti([
|
|
1973
1983
|
w(),
|
|
1974
1984
|
ft(0, u("RendererApi")),
|
|
1975
1985
|
ft(1, u("IEditorStore"))
|
|
1976
|
-
],
|
|
1977
|
-
var
|
|
1978
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
1986
|
+
], Xe);
|
|
1987
|
+
var si = Object.getOwnPropertyDescriptor, ii = (t, e, s, i) => {
|
|
1988
|
+
for (var o = i > 1 ? void 0 : i ? si(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
1979
1989
|
(n = t[r]) && (o = n(o) || o);
|
|
1980
1990
|
return o;
|
|
1981
|
-
},
|
|
1991
|
+
}, oi = (t, e) => (s, i) => e(s, i, t);
|
|
1982
1992
|
let Ne = class {
|
|
1983
1993
|
constructor(t) {
|
|
1984
1994
|
this._renderer = t;
|
|
@@ -2034,12 +2044,12 @@ let Ne = class {
|
|
|
2034
2044
|
this._renderer.enableCameraLayer(t);
|
|
2035
2045
|
}
|
|
2036
2046
|
};
|
|
2037
|
-
Ne =
|
|
2047
|
+
Ne = ii([
|
|
2038
2048
|
w(),
|
|
2039
|
-
|
|
2049
|
+
oi(0, u("EditorRenderer"))
|
|
2040
2050
|
], Ne);
|
|
2041
|
-
var
|
|
2042
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
2051
|
+
var ni = Object.getOwnPropertyDescriptor, ri = (t, e, s, i) => {
|
|
2052
|
+
for (var o = i > 1 ? void 0 : i ? ni(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
2043
2053
|
(n = t[r]) && (o = n(o) || o);
|
|
2044
2054
|
return o;
|
|
2045
2055
|
}, oe = (t, e) => (s, i) => e(s, i, t);
|
|
@@ -2072,7 +2082,7 @@ let Fe = class {
|
|
|
2072
2082
|
this._displayManager.dispose(), this._selectManager.dispose(), this._renderer.dispose();
|
|
2073
2083
|
}
|
|
2074
2084
|
};
|
|
2075
|
-
Fe =
|
|
2085
|
+
Fe = ri([
|
|
2076
2086
|
w(),
|
|
2077
2087
|
oe(0, u("IDisplayManager")),
|
|
2078
2088
|
oe(1, u("ISelectManager")),
|
|
@@ -2080,8 +2090,8 @@ Fe = ni([
|
|
|
2080
2090
|
oe(3, u("ISceneManager")),
|
|
2081
2091
|
oe(4, u("EditorRenderer"))
|
|
2082
2092
|
], Fe);
|
|
2083
|
-
var
|
|
2084
|
-
for (var o = i > 1 ? void 0 : i ?
|
|
2093
|
+
var ai = Object.getOwnPropertyDescriptor, hi = (t, e, s, i) => {
|
|
2094
|
+
for (var o = i > 1 ? void 0 : i ? ai(e, s) : e, r = t.length - 1, n; r >= 0; r--)
|
|
2085
2095
|
(n = t[r]) && (o = n(o) || o);
|
|
2086
2096
|
return o;
|
|
2087
2097
|
};
|
|
@@ -2097,7 +2107,7 @@ let Qe = class {
|
|
|
2097
2107
|
/** Слушатели событий по изменению выбранного объекта. */
|
|
2098
2108
|
_selectedListeners = /* @__PURE__ */ new Set();
|
|
2099
2109
|
constructor() {
|
|
2100
|
-
|
|
2110
|
+
$t(this, {}, { autoBind: !0 });
|
|
2101
2111
|
}
|
|
2102
2112
|
/** @inheritdoc */
|
|
2103
2113
|
getSelectMode() {
|
|
@@ -2139,24 +2149,24 @@ let Qe = class {
|
|
|
2139
2149
|
return this._selectedListeners.add(t), () => this._selectedListeners.delete(t);
|
|
2140
2150
|
}
|
|
2141
2151
|
};
|
|
2142
|
-
Qe =
|
|
2152
|
+
Qe = hi([
|
|
2143
2153
|
w()
|
|
2144
2154
|
], Qe);
|
|
2145
2155
|
let gt = !1;
|
|
2146
|
-
const f =
|
|
2147
|
-
function
|
|
2148
|
-
return gt || (f.registerInstance("Canvas", t), f.registerSingleton("EventBus",
|
|
2156
|
+
const f = Ut.createChildContainer();
|
|
2157
|
+
function li(t) {
|
|
2158
|
+
return gt || (f.registerInstance("Canvas", t), f.registerSingleton("EventBus", Te), f.registerSingleton("EditorRenderer", De), f.registerSingleton("RendererApi", Ne), f.registerSingleton("IDisplayHandler", Ie), f.registerSingleton("ISelectHandler", je), f.registerSingleton("ISelectHandler", Re), f.registerSingleton("ISelectHandler", Ze), f.registerSingleton("IToolHandler", He), f.registerSingleton("IToolHandler", ke), f.registerSingleton("IToolHandler", Ye), f.registerSingleton("ISceneHandler", ze), f.registerSingleton("ISceneHandler", Xe), f.registerSingleton("IDisplayManager", Oe), f.registerSingleton("ISelectManager", Ae), f.registerSingleton("IToolManager", Le), f.registerSingleton("ISceneManager", Ce), f.registerSingleton("EditorHub", Fe), f.registerSingleton("IEditorStore", Qe), gt = !0), f;
|
|
2149
2159
|
}
|
|
2150
|
-
function
|
|
2151
|
-
return
|
|
2160
|
+
function bi(t) {
|
|
2161
|
+
return li(t).resolve("EditorHub");
|
|
2152
2162
|
}
|
|
2153
2163
|
export {
|
|
2154
2164
|
Fe as EditorHub,
|
|
2155
2165
|
De as EditorRenderer,
|
|
2156
|
-
|
|
2166
|
+
Te as EventBus,
|
|
2157
2167
|
ee as EventTopics,
|
|
2158
|
-
|
|
2159
|
-
|
|
2168
|
+
yi as ObjLoader,
|
|
2169
|
+
gi as PreviewRenderer,
|
|
2160
2170
|
Mt as Renderer,
|
|
2161
|
-
|
|
2171
|
+
bi as createAppHub
|
|
2162
2172
|
};
|