@realsee/dnalogel
Version:
477 lines (476 loc) • 16.3 kB
JavaScript
import { SvelteComponent as ee, init as te, safe_not_equal as oe, append_styles as re, element as j, space as T, create_component as q, attr as w, toggle_class as D, insert as I, append as g, mount_component as O, transition_in as k, transition_out as _, check_outros as R, detach as K, destroy_component as U, onMount as ie, onDestroy as le, add_render_callback as F, create_bidirectional_transition as E, text as V, set_style as W, listen as X, set_data as Y, group_outros as B } from "../../vendor/svelte/internal/index.js";
import ne from "./Common/Switcher1.js";
import se from "./Common/CircleButton.js";
import H from "../Controller/EditController.js";
import ae from "./Common/Exit.js";
import { fade as S } from "../../vendor/svelte/transition/index.js";
import { IconUndo as me, IconOk as pe } from "./Common/icons/index.js";
import "../Modules/UIController/mobileHTML.js";
import "../../vendor/svelte/easing/index.js";
import "../Model/line.js";
import "../../shared-utils/uuid.js";
import "../utils/line.js";
import "../../shared-utils/five/FiveLine.js";
import "@realsee/five/line";
import "../utils/constants.js";
import "three";
import "@realsee/five";
import "../utils/dom/distanceItem.js";
import "../utils/dom/base.js";
import "../utils/isNDCPointInScreen.js";
import "../../shared-utils/three/centerPoint.js";
import "../Model/point.js";
import "../../shared-utils/throttle.js";
import "../Controller/BaseController.js";
import "../utils/ironbox.js";
import "../Model/polyline.js";
import "../Model/area.js";
import "../Model/polygon.js";
import "../../shared-utils/three/IObject3D.js";
import "../../shared-utils/three/generatePolygonGeometry.js";
import "../../shared-utils/three/earcut3D.js";
import "../../vendor/earcut/src/earcut.js";
import "../../shared-utils/three/getNormal.js";
import "../utils/isIntersecting.js";
import "../utils/dom/areaDom.js";
import "../../shared-utils/three/geometryUtil.js";
import "../../shared-utils/tag.js";
import "../../shared-utils/positionToVector3.js";
import "../../shared-utils/five/vector3ToScreen.js";
import "../../shared-utils/five/getFiveModel.js";
import "../../shared-utils/Utils/FiveUtil.js";
import "../../shared-utils/Utils/BaseUtil.js";
import "../../shared-utils/Subscribe.js";
import "../../shared-utils/Utils/WorkUtil.js";
import "../../shared-utils/five/transformPosition.js";
import "../../shared-utils/three/temp.js";
import "../../shared-utils/three/core/Raycaster.js";
import "../../shared-utils/dom/resizeObserver.js";
import "../../shared-utils/five/fiveEveryReadyListener.js";
import "../../vendor/hammerjs/hammer.js";
import "../../shared-utils/three/PointSelector/index.js";
import "../../shared-utils/three/PointSelector/utils/PointSelectorHelper.js";
import "../../shared-utils/three/Magnifier.js";
import "../../shared-utils/three/PointSelector/utils/PointHelper.js";
import "../../shared-utils/three/Assets/index.js";
import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
import "../../shared-utils/even.js";
import "../../shared-utils/CSS3DRender/OpacityMesh.js";
import "../../shared-utils/three/getObjectVisible.js";
import "../../shared-utils/three/CSS3DRenderer/index.js";
import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
import "../../shared-utils/isNil.js";
import "../../shared-utils/three/core/Five_LineMaterial2.js";
import "../../shared-utils/three/core/Sphere.js";
import "../../shared-utils/three/blink.js";
import "../../vendor/animejs/lib/anime.es.js";
import "../../shared-utils/util.js";
import "../../vendor/@tweenjs/tween/dist/tween.esm.js.js";
import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
import "../../shared-utils/CSS3DRender/CSS3DRenderer.js";
import "../../shared-utils/createResizeObserver.js";
import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
import "../../shared-utils/three/PointSelector/utils/html.js";
import "../../shared-utils/CSS3DRender/index.js";
import "../../shared-utils/five/fiveModelLoad.js";
import "../../shared-utils/three/PointSelector/utils/PointHelper2.js";
import "../../Sculpt/Meshes/Line.js";
import "../../Sculpt/typings/style.js";
import "../../Sculpt/utils/Meshes/getLengthHTML.js";
import "../../shared-utils/three/applyObjectMatrixWorld.js";
import "../../shared-utils/five/getFiveFromParentChain.js";
import "../../shared-utils/three/core/LineGeometry.js";
import "../../shared-utils/three/core/LineMaterial.js";
import "../../shared-utils/three/core/Line2.js";
import "../../shared-utils/three/core/LineMaterial2.js";
import "../../Sculpt/utils/unit.js";
import "../../Sculpt/utils/renderDom.js";
import "../../shared-utils/five/FivePuppet.js";
import "../../CSS3DRenderPlugin/utils/three/CSS3DSprite.js";
import "../../shared-utils/isTouchDevice.js";
import "../../shared-utils/five/getPosition.js";
import "../../shared-utils/five/getRaycasterByNdcPosition.js";
import "../../shared-utils/three/PointSelector/utils/contents.js";
import "../../Sculpt/utils/three/rayOnLine.js";
import "../Modules/DeleteDom/index.js";
import "../Modules/DeleteDom/_Assets/delete.svg.js";
import "../Modules/DeleteDom/_Assets/delete_bg.png.js";
import "../Modules/DeleteDom/_Assets/delete_hover_bg.png.js";
import "../utils/math.js";
function fe(o) {
re(o, "svelte-ldjbp8", "*.forbid.svelte-ldjbp8.svelte-ldjbp8{pointer-events:none !important;opacity:0.5}.Measure-Controller.svelte-ldjbp8.svelte-ldjbp8{pointer-events:none;position:relative;width:100%;height:100%;z-index:2;color:white}.Measure-Controller.svelte-ldjbp8 .mode-switcher.svelte-ldjbp8{margin-top:2.25rem}.Measure-Controller.svelte-ldjbp8 .bottom.svelte-ldjbp8{position:absolute;width:100%;bottom:0}.Measure-Controller.svelte-ldjbp8 .bottom .mask.svelte-ldjbp8{position:absolute;bottom:0;width:100%;height:12.5rem;background-size:100%;z-index:-1;background-image:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5))}.Measure-Controller.svelte-ldjbp8 .bottom .center.svelte-ldjbp8{display:flex;flex-direction:column;align-items:center;margin-bottom:2.5rem}.Measure-Controller.svelte-ldjbp8 .controller.svelte-ldjbp8{pointer-events:all;display:flex;align-items:center}.Measure-Controller.svelte-ldjbp8 .controller .button.svelte-ldjbp8{cursor:pointer;display:flex;align-items:center;height:2.5rem;padding-left:1rem;padding-right:1rem;border-radius:624.9375rem;font-size:0.875rem;color:#fff;background-color:rgba(0, 0, 0, 0.2)}.Measure-Controller.svelte-ldjbp8 .controller .button .icon.svelte-ldjbp8{width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-size:100%;margin:0 0.25rem}.Measure-Controller.svelte-ldjbp8 .controller .main-button.svelte-ldjbp8{margin-left:1.75rem;margin-right:1.75rem;font-size:0.875rem;font-weight:bold}");
}
function J(o) {
let t, i;
return t = new ae({
props: {
onClick: (
/*measureController*/
o[0].disable
)
}
}), {
c() {
q(t.$$.fragment);
},
m(e, a) {
O(t, e, a), i = !0;
},
p(e, a) {
const l = {};
a & /*measureController*/
1 && (l.onClick = /*measureController*/
e[0].disable), t.$set(l);
},
i(e) {
i || (k(t.$$.fragment, e), i = !0);
},
o(e) {
_(t.$$.fragment, e), i = !1;
},
d(e) {
U(t, e);
}
};
}
function L(o) {
let t, i, e, a;
return i = new ne({
props: {
options: [
{
key: "line",
value: (
/*i18n*/
o[2]("测距离")
)
},
{
key: "area",
value: (
/*i18n*/
o[2]("测面积")
)
}
],
defaultKey: (
/*measureController*/
o[0].currentMeasureType
),
onChange: (
/*measureController*/
o[0].changeMeasureType
)
}
}), {
c() {
t = j("div"), q(i.$$.fragment), w(t, "class", "mode-switcher svelte-ldjbp8");
},
m(l, n) {
I(l, t, n), O(i, t, null), a = !0;
},
p(l, n) {
o = l;
const m = {};
n & /*i18n*/
4 && (m.options = [
{
key: "line",
value: (
/*i18n*/
o[2]("测距离")
)
},
{
key: "area",
value: (
/*i18n*/
o[2]("测面积")
)
}
]), n & /*measureController*/
1 && (m.defaultKey = /*measureController*/
o[0].currentMeasureType), n & /*measureController*/
1 && (m.onChange = /*measureController*/
o[0].changeMeasureType), i.$set(m);
},
i(l) {
a || (k(i.$$.fragment, l), l && F(() => {
a && (e || (e = E(t, S, { duration: P }, !0)), e.run(1));
}), a = !0);
},
o(l) {
_(i.$$.fragment, l), l && (e || (e = E(t, S, { duration: P }, !1)), e.run(0)), a = !1;
},
d(l) {
l && K(t), U(i), l && e && e.end();
}
};
}
function N(o) {
let t, i, e, a = (
/*i18n*/
o[2]("撤销") + ""
), l, n, m, f, C;
return {
c() {
t = j("div"), i = j("div"), e = T(), l = V(a), w(i, "class", "icon svelte-ldjbp8"), W(i, "background-image", `url(${me})`), w(t, "class", "button svelte-ldjbp8"), D(
t,
"forbid",
/*buttonState*/
o[3] === "start"
);
},
m(r, c) {
I(r, t, c), g(t, i), g(t, e), g(t, l), m = !0, f || (C = X(
t,
"click",
/*click_handler*/
o[13]
), f = !0);
},
p(r, c) {
o = r, (!m || c & /*i18n*/
4) && a !== (a = /*i18n*/
o[2]("撤销") + "") && Y(l, a), (!m || c & /*buttonState*/
8) && D(
t,
"forbid",
/*buttonState*/
o[3] === "start"
);
},
i(r) {
m || (r && F(() => {
m && (n || (n = E(t, S, { duration: P }, !0)), n.run(1));
}), m = !0);
},
o(r) {
r && (n || (n = E(t, S, { duration: P }, !1)), n.run(0)), m = !1;
},
d(r) {
r && K(t), r && n && n.end(), f = !1, C();
}
};
}
function Q(o) {
let t, i, e, a = (
/*i18n*/
o[2]("结束") + ""
), l, n, m, f, C;
return {
c() {
t = j("div"), i = j("div"), e = T(), l = V(a), w(i, "class", "icon svelte-ldjbp8"), W(i, "background-image", `url(${pe})`), w(t, "class", "button svelte-ldjbp8");
},
m(r, c) {
I(r, t, c), g(t, i), g(t, e), g(t, l), m = !0, f || (C = X(
t,
"click",
/*complete*/
o[10]
), f = !0);
},
p(r, c) {
o = r, (!m || c & /*i18n*/
4) && a !== (a = /*i18n*/
o[2]("结束") + "") && Y(l, a);
},
i(r) {
m || (r && F(() => {
m && (n || (n = E(t, S, { duration: P }, !0)), n.run(1));
}), m = !0);
},
o(r) {
r && (n || (n = E(t, S, { duration: P }, !1)), n.run(0)), m = !1;
},
d(r) {
r && K(t), r && n && n.end(), f = !1, C();
}
};
}
function ue(o) {
let t, i, e, a, l, n, m, f, C, r, c, z, M, b = (
/*showExit*/
o[1] && J(o)
), p = (
/*measureController*/
o[0].allowMeasureType.length >= 2 && /*buttonState*/
o[3] === "start" && L(o)
), u = (
/*showButton*/
o[4] && N(o)
);
c = new se({
props: {
onClick: (
/*func*/
o[14]
),
text: (
/*buttonTextMap*/
o[6][
/*buttonState*/
o[3]
]
),
color: (
/*buttonColorMap*/
o[7][
/*buttonState*/
o[3]
]
)
}
});
let d = (
/*showButton*/
o[4] && Q(o)
);
return {
c() {
t = j("div"), b && b.c(), i = T(), e = j("div"), a = j("div"), l = T(), n = j("div"), p && p.c(), m = T(), f = j("div"), u && u.c(), C = T(), r = j("div"), q(c.$$.fragment), z = T(), d && d.c(), w(a, "class", "mask svelte-ldjbp8"), w(r, "class", "main-button svelte-ldjbp8"), D(r, "forbid", !/*allowAddPoint*/
o[5]), w(f, "class", "controller svelte-ldjbp8"), w(n, "class", "center svelte-ldjbp8"), w(e, "class", "bottom svelte-ldjbp8"), w(t, "class", "Measure-Controller svelte-ldjbp8");
},
m(s, v) {
I(s, t, v), b && b.m(t, null), g(t, i), g(t, e), g(e, a), g(e, l), g(e, n), p && p.m(n, null), g(n, m), g(n, f), u && u.m(f, null), g(f, C), g(f, r), O(c, r, null), g(f, z), d && d.m(f, null), M = !0;
},
p(s, [v]) {
/*showExit*/
s[1] ? b ? (b.p(s, v), v & /*showExit*/
2 && k(b, 1)) : (b = J(s), b.c(), k(b, 1), b.m(t, i)) : b && (B(), _(b, 1, 1, () => {
b = null;
}), R()), /*measureController*/
s[0].allowMeasureType.length >= 2 && /*buttonState*/
s[3] === "start" ? p ? (p.p(s, v), v & /*measureController, buttonState*/
9 && k(p, 1)) : (p = L(s), p.c(), k(p, 1), p.m(n, m)) : p && (B(), _(p, 1, 1, () => {
p = null;
}), R()), /*showButton*/
s[4] ? u ? (u.p(s, v), v & /*showButton*/
16 && k(u, 1)) : (u = N(s), u.c(), k(u, 1), u.m(f, C)) : u && (B(), _(u, 1, 1, () => {
u = null;
}), R());
const y = {};
v & /*buttonState*/
8 && (y.onClick = /*func*/
s[14]), v & /*buttonState*/
8 && (y.text = /*buttonTextMap*/
s[6][
/*buttonState*/
s[3]
]), v & /*buttonState*/
8 && (y.color = /*buttonColorMap*/
s[7][
/*buttonState*/
s[3]
]), c.$set(y), (!M || v & /*allowAddPoint*/
32) && D(r, "forbid", !/*allowAddPoint*/
s[5]), /*showButton*/
s[4] ? d ? (d.p(s, v), v & /*showButton*/
16 && k(d, 1)) : (d = Q(s), d.c(), k(d, 1), d.m(f, null)) : d && (B(), _(d, 1, 1, () => {
d = null;
}), R());
},
i(s) {
M || (k(b), k(p), k(u), k(c.$$.fragment, s), k(d), M = !0);
},
o(s) {
_(b), _(p), _(u), _(c.$$.fragment, s), _(d), M = !1;
},
d(s) {
s && K(t), b && b.d(), p && p.d(), u && u.d(), U(c), d && d.d();
}
};
}
const P = 100;
function de(o, t, i) {
let { measureController: e } = t, { showExit: a = !1 } = t, { i18n: l = (h) => h } = t;
const n = {
start: l("开始"),
add: l("添加"),
end: l("结束"),
complete: l("完成")
}, m = {
start: "white",
add: "white",
end: "blue",
complete: "blue"
};
let f = !1, C = !0, r = "start", c = e.currentMeasureType;
const z = () => {
e.getCurrentMode() !== "Edit" ? e.changeMode("Edit") : (p("add"), M());
}, M = () => {
e.controller instanceof H && e.controller.selectPoint();
}, b = () => {
e.controller instanceof H && e.controller.complete();
}, p = (h) => {
i(3, r = h);
}, u = () => {
M(), A("allow");
}, d = () => {
p("complete");
}, s = () => {
e.currentMeasureType === "area" && r === "complete" && p("add");
}, v = (h) => {
h.length;
}, y = () => {
p("start"), A("allow");
}, A = (h) => {
i(5, C = h === "allow");
}, G = (h) => {
i(12, c = h);
}, Z = (h) => {
h.isEmpty && p("start");
};
ie(() => {
e.hook.on("revoke", Z), e.hook.on("measureTypeChange", G), e.hook.on("modeChange", y), e.hook.on("pointsChange", v), e.hook.on("allowAddPointStateChange", A), e.hook.on("readyComplete", d), e.hook.on("notReadyComplete", s), e.hook.on("complete", y);
}), le(() => {
e.hook.off("measureTypeChange", G), e.hook.off("modeChange", y), e.hook.off("allowAddPointStateChange", A), e.hook.off("readyComplete", d), e.hook.off("pointsChange", v), e.hook.off("notReadyComplete", s), e.hook.off("complete", y);
});
const $ = () => e.revoke(), x = () => {
r === "start" ? z() : r === "add" ? M() : (r === "end" || r === "complete") && u();
};
return o.$$set = (h) => {
"measureController" in h && i(0, e = h.measureController), "showExit" in h && i(1, a = h.showExit), "i18n" in h && i(2, l = h.i18n);
}, o.$$.update = () => {
o.$$.dirty & /*currentMeasureType, buttonState*/
4104 && i(4, f = c === "area" && r !== "start");
}, [
e,
a,
l,
r,
f,
C,
n,
m,
z,
M,
b,
u,
c,
$,
x
];
}
class so extends ee {
constructor(t) {
super(), te(
this,
t,
de,
ue,
oe,
{
measureController: 0,
showExit: 1,
i18n: 2
},
fe
);
}
}
export {
so as default
};