@vsleem-realsee-viewer/dualsee-plugin 1.0.2 → 2.0.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/index.css +1 -1
- package/dist/index.d.ts +323 -532
- package/dist/index.mjs +470 -870
- package/dist/index.umd.js +1 -1
- package/package.json +10 -5
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(X,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vsleem-realsee-viewer/realsee-plugin"),require("@vsleem-realsee-viewer/shared")):typeof define=="function"&&define.amd?define(["exports","vue","@vsleem-realsee-viewer/realsee-plugin","@vsleem-realsee-viewer/shared"],e):(X=typeof globalThis<"u"?globalThis:X||self,e(X.DualseePlugin={},X.Vue,X.VSLeemRealseePlugin,X.VSLeemShared))})(this,function(X,e,ne,z){"use strict";function ce(f,E){const t=e.ref(),u=e.computed(()=>({...f,...e.unref(t)}));function c(){return e.unref(u)}function i(l){t.value={...e.unref(t),...l}}function A(l){i({distance:l}),E("distance-updated",l)}function p(l){i({locked:l}),E("locked-updated",l)}return{getProps:u,lockAction:{getState:c,setState:i,setDistance:A,setLocked:p}}}const se="data:image/png;base64,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",le="data:image/png;base64,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",de={class:"vsleem-dualsee-lock"},fe=["src"],pe=["src"],ue={key:0,class:"dualsee-lock-distance"},Ae=e.defineComponent({__name:"Lock",props:{locked:{type:Boolean},distance:{},showDistance:{type:Boolean},maxMatchDistance:{}},emits:["locked-updated","distance-updated"],setup(f,{expose:E,emit:t}){const u=f,c=t,{getProps:i,lockAction:A}=ce(u,c),p=e.computed(()=>{var h;return Math.floor((((h=e.unref(i))==null?void 0:h.distance)||0)/1e3*10)/10}),y=e.computed(()=>{const{locked:h=!1,distance:g=0}=e.unref(i);return P(h,g)});function l(){const{locked:h=!1}=e.unref(i);A.setLocked(!h)}function P(h,g){if(h){const M=(u.maxMatchDistance??5e3)/5;let U;return g<=M?U="#54b168":g<=M*2?U="#CBDE3C":g<=M*3?U="#DEC53C":g<=M*4?U="#DE5B3C":g<=M*5?U="#FA1212":U="#666",{backgroundColor:U,color:"#fff"}}return{color:"#333"}}return E({...A}),(h,g)=>(e.openBlock(),e.createElementBlock("div",de,[e.renderSlot(h.$slots,"button",e.normalizeProps(e.guardReactiveProps(e.unref(i))),()=>[e.createElementVNode("div",{class:"dualsee-lock-button",style:e.normalizeStyle(y.value),onClick:l},[e.unref(i).locked?(e.openBlock(),e.createElementBlock("img",{key:0,class:"dualsee-lock-icon",src:e.unref(se)},null,8,fe)):(e.openBlock(),e.createElementBlock("img",{key:1,class:"dualsee-lock-icon",src:e.unref(le)},null,8,pe))],4),e.renderSlot(h.$slots,"distance",e.normalizeProps(e.guardReactiveProps(e.unref(i))),()=>[h.showDistance?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("span",null,"相距 "+e.toDisplayString(p.value)+" m",1)])):e.createCommentVNode("",!0)],!0)],!0)]))}}),oe=(f,E)=>{const t=f.__vccOpts||f;for(const[u,c]of E)t[u]=c;return t},me=oe(Ae,[["__scopeId","data-v-7087342b"]]);function ge(f,E){const t=e.ref(),u=e.ref(),c=e.ref(!1),i=e.ref(!1),A=e.ref(),p=e.ref(),y=e.ref(),l=e.computed(()=>{var Q;return(Q=t.value)==null?void 0:Q.findCsById(A.value)}),P=e.computed(()=>{var Q;return(Q=t.value)==null?void 0:Q.findCsById(p.value)}),h=e.computed(()=>T(y.value,P.value));async function g(Q){var x,J,d,B,b,k,V;const{projectId:r,modelCsId:F}=Q||{};try{if(!r)throw new z.AppError(0,"缺少必要的查询参数");c.value=!0;const S=await z.DataSource.getCoordinateTree(r);let D=(x=S==null?void 0:S.findCsById(F))==null?void 0:x.findCsByLevel(z.CoordinateModelType.BimfaceModel);if(D=await((d=(J=f.value).handleResponseFn)==null?void 0:d.call(J,D))||D,!S)throw new z.AppError(0,`未查询到坐标系ID为 ${F} 的坐标系树`);t.value=S,u.value=D,U({modelCsId:F}),(b=(B=f.value).fetchSuccess)==null||b.call(B,S)}catch(S){console.error(S),(V=(k=f.value).fetchError)==null||V.call(k,S)}finally{c.value=!1}}function M(Q=!1){i.value=Q}function U(Q){const{modelCsId:r}=Q;r&&N({id:r})}function N(Q){var x;const{id:r}=Q,F=(x=t.value)==null?void 0:x.findCsById(r);if((F==null?void 0:F.modelType)===z.CoordinateModelType.BimfaceModel)A.value=r;else throw new z.AppError(0,`未找到ID为 ${r} 的Bimface模型坐标系`)}function Y(Q,r){y.value=Q,p.value=r.id}function T(Q,r){if(Q&&r&&l.value){const F=r==null?void 0:r.getDestRelativeMap(l.value);if(!F)return;const x=new z.Point(Q).projection(F,r,l.value),{y:J=0}=x||{};return new z.Point({...x,y:-J})}}function H(){return I.value}const I=e.computed(()=>({isReady:i.value,coordinateTree:t.value,mappedCoordinateTree:u.value,srcCoordinate:P.value,currentModel:l.value,currentPoint:h.value,reload:g,setReady:M,selectModel:N,setPoint:Y}));return{storeRef:I,getStore:H,setReady:M}}const we={locked:!0,distance:0,showDistance:!0},re={defaultYaw:0,defaultPitch:0,defaultZoomLvl:30,minFov:20,maxFov:120},be={immediate:!0,viewer:re},Ie={enableMatchPoint:!0,maxMatchDistance:5e3},Be={lock:()=>we,dualseeSetting:()=>Ie};function Ce(f,E,t){const u=e.reactive(z.utils.cloneDeep(be)),c=e.ref(),i=e.computed(()=>z.utils.deepMergeProps(u,f,c.value)),{storeRef:A,getStore:p,setReady:y}=ge(i);e.onMounted(l);async function l(){var Y;const{appSetting:M,immediate:U,delay:N=0}=e.unref(i);M&&z.http.setRequestGlobalConfig(M),U&&(await((Y=A.value)==null?void 0:Y.reload(i.value.searchInfo)),setTimeout(()=>{y(!0),t==null||t("ready")},N))}function P(){return e.unref(i)}function h(M){c.value={...e.unref(c),...M}}function g(){return e.unref(E)}return{storeRef:A,getStore:p,getViewer:g,getState:P,setState:h}}function Ee(f,E,t,u){const c=e.ref(),i=e.ref(),A=e.ref(),p=e.computed(()=>({...e.unref(f).viewer,...e.unref(A)}));e.watch(()=>E.value.currentPoint,n=>{n&&(H(),u("point-updated",Z()))});function y(){P(),H(),u("ready",Z(),I())}function l(){h()}function P(){const n=e.unref(t);n&&(n.addEventListener("mousedown",g),n.addEventListener("touchstart",g),window.addEventListener("mousemove",M),window.addEventListener("touchmove",M),window.addEventListener("mouseup",U),window.addEventListener("touchend",U),n.addEventListener("mouseover",N),n.addEventListener("mouseout",Y),n.addEventListener("wheel",T))}function h(){const n=e.unref(t);n&&(n.removeEventListener("mousedown",g),n.removeEventListener("touchstart",g),window.removeEventListener("mousemove",M),window.removeEventListener("touchmove",M),window.removeEventListener("mouseup",U),window.removeEventListener("touchend",U),n.removeEventListener("mouseover",N),n.removeEventListener("mouseout",Y),n.removeEventListener("wheel",T))}function g(n){const a=n instanceof TouchEvent?n.touches[0]:n,{defaultYaw:m=0,defaultPitch:o=0}=p.value;c.value={pageX:a.pageX,pageY:a.pageY,defaultYaw:m,defaultPitch:o},B(!0),u("mousedown",n)}function M(n){var j;if(!c.value||!x())return;const a=n instanceof TouchEvent?n.touches[0]:n,{pageX:m,pageY:o}=a,{pageX:s,pageY:w}=c.value,C=((j=E.value.currentPoint)==null?void 0:j.yaw)??0,{defaultYaw:R=0,defaultPitch:v=0}=c.value,L=Math.PI*.15/180;let q=R-(m-s)*L,O=v+(o-w)*L;O=Math.max(-Math.PI/2,Math.min(Math.PI/2,O));const te=new z.Position({yaw:q-C,pitch:O});V(te)}function U(){B(!1),c.value=void 0}function N(){d(!0)}function Y(){d(!1)}function T(n){n.preventDefault(),n.stopPropagation();const a=Math.sign(n.deltaY)*5;if(a===0)return;const{minFov:m=0,maxFov:o=0}=p.value,{fov:s=0}=i.value||{},w=Math.min(Math.max(s+a,m),o);w!==s&&S(G(w))}function H(){const{currentPoint:n}=E.value,{defaultYaw:a=0,defaultPitch:m=0,defaultZoomLvl:o=0}=p.value;if(n){const s=new z.Vector3(n),w=a+((n==null?void 0:n.yaw)??0),C=new z.Position({yaw:w,pitch:m}),R=$(C,s),v=ee(o);D({position:s,target:R,fov:v}),J({defaultYaw:w})}}function I(){return e.unref(p)}function Q(){const{defaultYaw:n,defaultPitch:a}=p.value;return{yaw:n,pitch:a}}function r(){return p.value.defaultZoomLvl}function F(){var n;return((n=e.unref(A))==null?void 0:n.moveover)??!1}function x(){var n;return((n=e.unref(A))==null?void 0:n.mousedown)??!1}function J(n){A.value={...A.value,...n}}function d(n){J({moveover:n})}function B(n){J({mousedown:n})}function b(n){J({minFov:n})}function k(n){J({maxFov:n})}function V(n){var C,R,v;const a=((R=(C=E.value)==null?void 0:C.currentPoint)==null?void 0:R.yaw)??0,{yaw:m,pitch:o}=n,s=new z.Position({yaw:m+a,pitch:o}),w=$(s,(v=i.value)==null?void 0:v.position);J({defaultYaw:m,defaultPitch:o}),D({target:w}),u("position-updated",{position:s,target:w})}function S(n){const a=ee(n);J({defaultZoomLvl:n}),D({fov:a}),u("zoom-updated",{level:n,fov:a})}function D(n){i.value={...i.value,...n}}function K(){var n;return(n=i.value)==null?void 0:n.position}function W(){var n;return(n=i.value)==null?void 0:n.fov}function _(){var n;return(n=i.value)==null?void 0:n.target}function Z(){return i.value}function $(n,a){if(!n||!a)return;const{x:m=0,y:o=0,z:s=0}=a,{yaw:w,pitch:C}=n,R=-w,v=C,L=100,q=0,O=L*Math.cos(q+R)+m,te=L*Math.sin(q+R)+o,j=L*Math.tan(v)+s;return new z.Vector3({x:O,y:te,z:j})}function G(n){const{minFov:a=20,maxFov:m=120}=p.value,s=100-(Math.max(a,Math.min(m,n))-a)/(m-a)*100;return Math.max(0,Math.min(100,Math.round(s)))}function ee(n){const{minFov:a=20,maxFov:m=120}=p.value;let o=m+n/100*(a-m);return Math.max(a,Math.min(m,o))}return{viewerAction:{isMoveover:F,isMovedown:x,setMovedown:B,setMoveover:d,setMinFov:b,setMaxFov:k,zoom:S,rotate:V,getState:I,getPosition:Q,getZoomLevel:r,getCameraPosition:K,getCameraTarget:_,getCameraFov:W,getCameraStatus:Z,rotateToTarget:$,fovToZoomLevel:G,zoomLevelToFov:ee},handleReady:y,handleDestroy:l}}const ye=oe(e.defineComponent({name:"BimfaceViewer",__name:"BimfaceViewer",props:{bimfaceProps:{},bimfaceStore:{}},emits:["ready","click","mousedown","zoom-updated","position-updated","point-updated"],setup(f,{expose:E,emit:t}){const u=f,c=t,i=e.ref(),A=e.computed(()=>u.bimfaceProps),p=e.computed(()=>u.bimfaceStore),{viewerAction:y,handleReady:l,handleDestroy:P}=Ee(A,p,i,c);return e.onMounted(l),e.onBeforeUnmount(P),E({...y}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"viewerElRef",ref:i,class:"vsleem-bimface-viewer"},null,512))}}),[["__scopeId","data-v-be9fca05"]]);function he(f,E){function t(){E("viewer-ready")}function u(y){E("viewer-click",y)}function c(y){E("viewer-mousedown",y)}function i(y){E("viewer-zoom-updated",y)}function A(y){E("viewer-position-updated",y)}return{viewerEvents:{ready:t,click:u,mousedown:c,zoomUpdated:i,positionUpdated:A}}}const Se={class:"vsleem-bimface"},ke=oe(e.defineComponent({name:"Bimface",__name:"Bimface",props:{viewer:{default:()=>re},immediate:{type:Boolean,default:!0},delay:{},appSetting:{},bimfaceSetting:{},searchInfo:{},handleCheckedFn:{},handleResponseFn:{},fetchSuccess:{},fetchError:{}},emits:["ready","change-model","viewer-click","viewer-mousedown","viewer-zoom-updated","viewer-position-updated","viewer-point-updated"],setup(f,{expose:E,emit:t}){const u=f,c=t,i=e.ref(),{storeRef:A,...p}=Ce(u,i,c),{viewerEvents:y}=he(i,c);return E(p),(l,P)=>(e.openBlock(),e.createElementBlock("div",Se,[e.unref(A).isReady?(e.openBlock(),e.createBlock(ye,e.mergeProps({key:0,ref_key:"viewerRef",ref:i,bimfaceProps:u,bimfaceStore:e.unref(A)},e.toHandlers(e.unref(y))),null,16,["bimfaceStore"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-4d707552"]]);function Pe(f,E,t,u,c,i){const A=e.ref({lockVisible:!1,referRealseeVisible:!1,referBimfaceVisible:!1}),p=e.computed(()=>Object.assign(f,A.value));function y(){return e.unref(p)}function l(d){A.value={...e.unref(A),...d}}function P(){return e.unref(E)}function h(){return e.unref(t)}function g(){return e.unref(u)}function M(d,B){const b=P();b&&(b.setDistance(B),b.setLocked(d))}function U(d,B){var K;const b=(K=e.unref(u))==null?void 0:K.getStore();if(!b)return;const{maxMatchDistance:k=5e3}=f.dualseeSetting||{},{distance:V,point:S}=b.findClosestPoint(d,B);if(!S)return;b.selectPoint(S);const D=V<=k;M(D,V),i("refer-found-closest-point",S,V,k)}function N(d){var b,k;const{currentPoint:B}=((k=(b=h())==null?void 0:b.getStore)==null?void 0:k.call(b))||{};if(B){const{maxMatchDistance:V=5e3}=f.dualseeSetting||{},S=ne.TrackPoint.distXY(B,d),D=S<=V;D&&Y(d,B),M(D,S)}}function Y(d,B){var k,V;const b=T(d,B);if(b){const S=g();S&&((k=S.getViewer())==null||k.rotate(b),(V=S.getMap())==null||V.setYaw(b.yaw))}}function T(d,B){var k;const b=(k=h())==null?void 0:k.getViewer();if(b){const{yaw:V,pitch:S}=b.getPosition()||{},D=Number(d.yaw)||0,K=Number(B.yaw)||0;return{yaw:(D-K)/180*Math.PI+Number(V),pitch:S}}}function H(){var d;(d=e.unref(p))!=null&&d.referRealseeVisible?Q():I()}function I(){var B;const d=h();if(d){const b=d==null?void 0:d.getPlaybar();b==null||b.pause(),b==null||b.setState({showPlay:!1,showSpeed:!1}),(B=P())==null||B.setLocked(!0),l({referRealseeVisible:!0,referBimfaceVisible:!1,lockVisible:!0})}}function Q(){var B;const d=(B=h())==null?void 0:B.getPlaybar();d&&(d.pause(),d.setState({showPlay:!0,showSpeed:!0})),l({referRealseeVisible:!1,referBimfaceVisible:!1,lockVisible:!1})}function r(){var d;(d=e.unref(p))!=null&&d.referBimfaceVisible?x():F()}async function F(){var d,B,b;try{const k=h();if(k){const V=k==null?void 0:k.getStore(),{searchInfo:S,handleCheckedFn:D}=f.referBimface||{},{mappedCoordinateTree:K}=V,{projectId:W,modelCsId:_}=S||{},Z=K==null?void 0:K.findCsById(_);if(!Z)throw new z.AppError(0,`未找到ID为${_}的Bimface模型坐标系`);if(await(D==null?void 0:D(Z,W))??!0){const G=k.getPlaybar();G==null||G.pause(),G==null||G.setState({showPlay:!1,showSpeed:!1}),(d=P())==null||d.setLocked(!0),l({referBimfaceVisible:!0,referRealseeVisible:!1,lockVisible:!0})}}}catch(k){console.error(k),(b=(B=f.referBimface)==null?void 0:B.fetchError)==null||b.call(B,k)}}function x(){var B;const d=(B=h())==null?void 0:B.getPlaybar();d&&(d.pause(),d.setState({showPlay:!0,showSpeed:!0})),l({referRealseeVisible:!1,referBimfaceVisible:!1,lockVisible:!1})}return{getDualseeProps:p,dualseeAction:{getState:y,setState:l,getLock:P,getBasicRealsee:h,getReferRealsee:g,toggleReferRealsee:H,showReferRealsee:I,hideReferRealsee:Q,toggleReferBimface:r,showReferBimface:F,hideReferBimface:x,changeReferClosestPoint:U,changeReferRealseeStatus:N}}}function Qe(f,E,t){const u=e.computed(()=>{const{lock:p,dualseeSetting:y}=f.value,{maxMatchDistance:l}=y||{};return{...p,maxMatchDistance:l}});function c(p){t("lock-locked-updated",p)}function i(p){t("lock-distance-updated",p)}return{getLockProps:u,lockEvents:{lockedUpdated:c,distanceUpdated:i}}}function Re(f,E,t){const{getLock:u,getBasicRealsee:c,getReferRealsee:i,changeReferClosestPoint:A}=E||{},p=e.computed(()=>f.value.basicRealsee);function y(){t("basic-ready")}function l(a){t("basic-change-model",a)}function P(a){t("basic-change-record",a)}function h(a){$(a),t("basic-change-point",a)}function g(){t("basic-map-ready")}function M(){t("basic-map-resize")}function U(a){t("basic-map-collapse",a)}function N(){t("basic-map-dragger")}function Y(a){t("basic-map-select-point",a)}function T(a){t("basic-map-scale-updated",a)}function H(){t("basic-viewer-ready")}function I(a){t("basic-viewer-click",a)}function Q(a){G(),t("basic-viewer-mousedown",a)}function r(a){ee(a),t("basic-viewer-zoom-updated",a)}function F(a,m){ae(a,m),t("basic-viewer-position-updated",a)}function x(a){t("basic-viewer-panorama-loaded",a)}function J(a){t("basic-viewer-select-point",a)}function d(a){t("basic-viewer-select-marker",a)}function B(){t("basic-playbar-ready")}function b(a){t("basic-playbar-backward",a)}function k(a){t("basic-playbar-pause",a)}function V(a){t("basic-playbar-play",a)}function S(a){t("basic-playbar-forward",a)}function D(a){t("basic-playbar-slider",a)}function K(a){t("basic-playbar-select-point",a)}function W(a){t("basic-playbar-speed-updated",a)}function _(a){t("basic-playbar-delay-updated",a)}function Z(a){t("basic-playbar-step-updated",a)}function $(a){var m,o,s;if((m=f.value.dualseeSetting)!=null&&m.enableMatchPoint){const{currentModel:w}=((s=(o=c())==null?void 0:o.getStore)==null?void 0:s.call(o))||{};a&&w&&(A==null||A(a,w))}}function G(a){var m,o,s,w,C,R;(s=(o=(m=c==null?void 0:c())==null?void 0:m.getViewer)==null?void 0:o.call(m))==null||s.setMousedown(!0),(R=(C=(w=i==null?void 0:i())==null?void 0:w.getViewer)==null?void 0:C.call(w))==null||R.setMousedown(!1)}function ee(a){var o,s,w;const m=i==null?void 0:i();if(m){const C=(o=m==null?void 0:m.getViewer)==null?void 0:o.call(m),R=C==null?void 0:C.isMouseover(),v=(w=(s=u())==null?void 0:s.getState())==null?void 0:w.locked;!R&&v&&(C==null||C.zoom(a.zoomLevel))}}function ae(a,m){var w,C,R,v;if(!((C=(w=u())==null?void 0:w.getState())==null?void 0:C.locked))return;const s=i==null?void 0:i();if(s){const L=s==null?void 0:s.getViewer(),q=(v=(R=c())==null?void 0:R.getViewer())==null?void 0:v.isMousedown();if(L&&q){const O=L.getPosition(),te=O.yaw+m.yaw,j=O.pitch+m.pitch;L.rotate({yaw:te,pitch:j})}}}return{getBasicProps:p,basicEvents:{ready:y,changeModel:l,changeRecord:P,changePoint:h,mapReady:g,mapResize:M,mapCollapse:U,mapDragger:N,mapSelectPoint:Y,mapScaleUpdated:T,viewerReady:H,viewerClick:I,viewerMousedown:Q,viewerZoomUpdated:r,viewerPositionUpdated:F,viewerPanoramaLoaded:x,viewerSelectPoint:J,viewerSelectMarker:d,playbarReady:B,playbarBackward:b,playbarPause:k,playbarPlay:V,playbarForward:S,playbarSlider:D,playbarSelectPoint:K,playbarSpeedUpdated:W,playbarDelayUpdated:_,playbarStepUpdated:Z}}}function Me(f,E,t){const{getLock:u,getBasicRealsee:c,getReferRealsee:i,changeReferRealseeStatus:A,changeReferClosestPoint:p}=E||{},y=e.computed(()=>f.value.referRealsee);function l(){t("refer-ready")}function P(o){t("refer-change-model",o)}function h(o){G(),t("refer-change-record",o)}function g(o){t("refer-change-point",o)}function M(){t("refer-map-ready")}function U(){t("refer-map-resize")}function N(o){t("refer-map-collapse",o)}function Y(){t("refer-map-dragger")}function T(o){t("refer-map-select-point",o)}function H(o){t("refer-map-scale-updated",o)}function I(){t("refer-viewer-ready")}function Q(o){t("refer-viewer-click",o)}function r(o){ae(),t("refer-viewer-mousedown",o)}function F(o){n(o),t("refer-viewer-zoom-updated",o)}function x(o,s){a(o,s),t("refer-viewer-position-updated",o)}function J(o){ee(),t("basic-viewer-panorama-loaded",o)}function d(o){t("refer-viewer-select-point",o)}function B(o){t("refer-viewer-select-marker",o)}function b(){t("refer-playbar-ready")}function k(o){t("refer-playbar-backward",o)}function V(o){t("refer-playbar-pause",o)}function S(o){t("refer-playbar-play",o)}function D(o){t("refer-playbar-forward",o)}function K(o){t("refer-playbar-slider",o)}function W(o){t("refer-playbar-select-point",o)}function _(o){t("refer-playbar-speed-updated",o)}function Z(o){t("refer-playbar-delay-updated",o)}function $(o){t("refer-playbar-step-updated",o)}function G(){var o,s;if((o=f==null?void 0:f.value.dualseeSetting)!=null&&o.enableMatchPoint){const{currentPoint:w,currentModel:C}=((s=c())==null?void 0:s.getStore())||{};w&&C&&p(w,C)}}function ee(){var o,s;if((o=f==null?void 0:f.value.dualseeSetting)!=null&&o.enableMatchPoint){const{currentPoint:w}=((s=i())==null?void 0:s.getStore())||{};w&&(A==null||A(w))}}function ae(o){var s,w,C,R,v,L;(C=(w=(s=c==null?void 0:c())==null?void 0:s.getViewer)==null?void 0:w.call(s))==null||C.setMousedown(!1),(L=(v=(R=i==null?void 0:i())==null?void 0:R.getViewer)==null?void 0:v.call(R))==null||L.setMousedown(!0)}function n(o){var w,C,R;const s=c==null?void 0:c();if(s){const v=(w=s==null?void 0:s.getViewer)==null?void 0:w.call(s),L=v==null?void 0:v.isMouseover(),q=(R=(C=u())==null?void 0:C.getState())==null?void 0:R.locked;!L&&q&&(v==null||v.zoom(o.zoomLevel))}}function a(o,s){var R,v,L,q;if(!((v=(R=u())==null?void 0:R.getState())==null?void 0:v.locked))return;const C=c==null?void 0:c();if(C){const O=C==null?void 0:C.getViewer(),te=(q=(L=i())==null?void 0:L.getViewer())==null?void 0:q.isMousedown();if(O&&te){const j=O.getPosition(),De=j.yaw+s.yaw,Ve=j.pitch+s.pitch;O.rotate({yaw:De,pitch:Ve})}}}return{getReferProps:y,referEvents:{ready:l,changeModel:P,changeRecord:h,changePoint:g,mapReady:M,mapResize:U,mapCollapse:N,mapDragger:Y,mapSelectPoint:T,mapScaleUpdated:H,viewerReady:I,viewerClick:Q,viewerMousedown:r,viewerZoomUpdated:F,viewerPositionUpdated:x,viewerPanoramaLoaded:J,viewerSelectPoint:d,viewerSelectMarker:B,playbarReady:b,playbarBackward:k,playbarPause:V,playbarPlay:S,playbarForward:D,playbarSlider:K,playbarSelectPoint:W,playbarSpeedUpdated:_,playbarDelayUpdated:Z,playbarStepUpdated:$}}}function ve(f,E,t){const u=e.computed(()=>f.value.referBimface);function c(){t("bimface-ready")}function i(g){t("bimface-change-model",g)}function A(g){t("bimface-viewer-click",g)}function p(g){t("bimface-viewer-mousedown",g)}function y(g){t("bimface-viewer-zoom-updated",g)}function l(g){t("bimface-viewer-position-updated",g)}function P(g){t("bimface-viewer-point-updated",g)}return{getBimfaceProps:u,bimfaceEvents:{ready:c,changeModel:i,click:A,mousedown:p,zoomUpdated:y,positionUpdated:l,pointUpdated:P}}}const Ue={class:"vsleem-dualsee"},ie=oe(e.defineComponent({name:"Dualsee",__name:"Dualsee",props:e.mergeDefaults({lock:{},basicRealsee:{},referRealsee:{},referBimface:{},appSetting:{},dualseeSetting:{}},Be),emits:["basic-ready","basic-change-model","basic-change-record","basic-change-point","basic-map-ready","basic-map-resize","basic-map-collapse","basic-map-dragger","basic-map-select-point","basic-map-scale-updated","basic-viewer-ready","basic-viewer-click","basic-viewer-mousedown","basic-viewer-zoom-updated","basic-viewer-position-updated","basic-viewer-panorama-loaded","basic-viewer-select-point","basic-viewer-select-marker","basic-playbar-ready","basic-playbar-backward","basic-playbar-pause","basic-playbar-play","basic-playbar-forward","basic-playbar-slider","basic-playbar-select-point","basic-playbar-speed-updated","basic-playbar-delay-updated","basic-playbar-step-updated","refer-ready","refer-change-model","refer-change-record","refer-change-point","refer-map-ready","refer-map-resize","refer-map-collapse","refer-map-dragger","refer-map-select-point","refer-map-scale-updated","refer-viewer-ready","refer-viewer-click","refer-viewer-mousedown","refer-viewer-zoom-updated","refer-viewer-position-updated","refer-viewer-panorama-loaded","refer-viewer-select-point","refer-viewer-select-marker","refer-playbar-ready","refer-playbar-backward","refer-playbar-pause","refer-playbar-play","refer-playbar-forward","refer-playbar-slider","refer-playbar-select-point","refer-playbar-speed-updated","refer-playbar-delay-updated","refer-playbar-step-updated","refer-found-min-distance-point","lock-locked-updated","lock-distance-updated","bimface-ready","bimface-change-model","bimface-click","bimface-mousedown","bimface-zoom-updated","bimface-position-updated"],setup(f,{expose:E,emit:t}){const u=f,c=t,i=e.ref(),A=e.ref(),p=e.ref(),y=e.ref(),{getDualseeProps:l,dualseeAction:P}=Pe(u,i,A,p,y,c),{getLockProps:h,lockEvents:g}=Qe(l,P,c),{getBasicProps:M,basicEvents:U}=Re(l,P,c),{getReferProps:N,referEvents:Y}=Me(l,P,c),{getBimfaceProps:T,bimfaceEvents:H}=ve(l,P,c);return E({...P}),(I,Q)=>(e.openBlock(),e.createElementBlock("div",Ue,[e.unref(l).lockVisible?(e.openBlock(),e.createBlock(me,e.mergeProps({key:0,ref_key:"lockElRef",ref:i},e.unref(h),e.toHandlers(e.unref(g))),{button:e.withCtx(r=>[e.renderSlot(I.$slots,"lockButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),distance:e.withCtx(r=>[e.renderSlot(I.$slots,"lockDistance",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16)):e.createCommentVNode("",!0),e.createVNode(e.unref(ne.RealseePlugin),e.mergeProps({ref_key:"basicRealseeElRef",ref:A,appSetting:e.unref(l).appSetting},e.unref(M),e.toHandlers(e.unref(U))),{default:e.withCtx(r=>[e.renderSlot(I.$slots,"basicDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapDefault:e.withCtx(r=>[e.renderSlot(I.$slots,"basicMapDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapExtra:e.withCtx(r=>[e.renderSlot(I.$slots,"basicMapExtra",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapLeft:e.withCtx(r=>[e.renderSlot(I.$slots,"basicMapLeft",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapRight:e.withCtx(r=>[e.renderSlot(I.$slots,"basicMapRight",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarDefault:e.withCtx(r=>[e.renderSlot(I.$slots,"basicPlaybarDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarBox:e.withCtx(r=>[e.renderSlot(I.$slots,"basicPlaybarBox",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarButton:e.withCtx(r=>[e.renderSlot(I.$slots,"basicPlaybarButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarCaption:e.withCtx(r=>[e.renderSlot(I.$slots,"basicPlaybarCaption",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarSlider:e.withCtx(r=>[e.renderSlot(I.$slots,"basicPlaybarSlider",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16,["appSetting"]),e.unref(l).referRealseeVisible&&e.unref(N)?(e.openBlock(),e.createBlock(e.unref(ne.RealseePlugin),e.mergeProps({key:1,ref_key:"referRealseeElRef",ref:p,appSetting:e.unref(l).appSetting},e.unref(N),e.toHandlers(e.unref(Y))),{default:e.withCtx(r=>[e.renderSlot(I.$slots,"referDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapDefault:e.withCtx(r=>[e.renderSlot(I.$slots,"referMapDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapExtra:e.withCtx(r=>[e.renderSlot(I.$slots,"referMapExtra",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapLeft:e.withCtx(r=>[e.renderSlot(I.$slots,"referMapLeft",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),mapRight:e.withCtx(r=>[e.renderSlot(I.$slots,"referMapRight",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarDefault:e.withCtx(r=>[e.renderSlot(I.$slots,"referPlaybarDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarBox:e.withCtx(r=>[e.renderSlot(I.$slots,"referPlaybarBox",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarButton:e.withCtx(r=>[e.renderSlot(I.$slots,"referPlaybarButton",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarCaption:e.withCtx(r=>[e.renderSlot(I.$slots,"referPlaybarCaption",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),playbarSlider:e.withCtx(r=>[e.renderSlot(I.$slots,"referPlaybarSlider",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16,["appSetting"])):e.createCommentVNode("",!0),e.unref(T)?(e.openBlock(),e.createBlock(ke,e.mergeProps({key:2,ref_key:"referBimfaceElRef",ref:y,appSetting:e.unref(l).appSetting},e.unref(T),e.toHandlers(e.unref(H))),{default:e.withCtx(r=>[e.renderSlot(I.$slots,"bimfaceDefault",e.normalizeProps(e.guardReactiveProps(r)),void 0,!0)]),_:3},16,["appSetting"])):e.createCommentVNode("",!0),e.renderSlot(I.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-7714ee64"]]);X.DualseePlugin=ie,X.default=ie,Object.defineProperties(X,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(U,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vsleem-realsee-viewer/realsee-plugin"),require("@vsleem-realsee-viewer/bimsee-plugin"),require("@vsleem-realsee-viewer/shared")):typeof define=="function"&&define.amd?define(["exports","vue","@vsleem-realsee-viewer/realsee-plugin","@vsleem-realsee-viewer/bimsee-plugin","@vsleem-realsee-viewer/shared"],e):(U=typeof globalThis<"u"?globalThis:U||self,e(U.DualseePlugin={},U.Vue,U.VSLeemRealseePlugin,U.VSLeemBimseePlugin,U.VSLeemShared))})(this,function(U,e,oe,ue,G){"use strict";const $={locked:!0,distance:0,showDistance:!0},te={enableMatchPoint:!0,maxMatchDistance:5e3},Ie={appSetting:G.APP_SETTING,dualseeSetting:te,dualseeLock:$},{cloneDeep:be,deepMergeProps:me}=G.utils;function Be(I,E){const a=e.ref(be($)),b=e.computed(()=>a.value);e.watch(()=>I,n,{immediate:!0,deep:!0});function s(){return b.value}function n(i){i&&me(a.value,i)}function B(i){n({distance:i}),E("distance-updated",i)}function A(i){n({locked:i}),E("locked-updated",i)}return{getProps:b,lockAction:{getState:s,setState:n,setDistance:B,setLocked:A}}}const we="data:image/png;base64,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",Ce="data:image/png;base64,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",Ee={class:"vsleem-dualsee-lock"},Qe=["src"],ye=["src"],Se={key:0,class:"dualsee-lock-distance"},ke=e.defineComponent({__name:"Lock",props:{locked:{type:Boolean},distance:{},showDistance:{type:Boolean},maxMatchDistance:{}},emits:["locked-updated","distance-updated"],setup(I,{expose:E,emit:a}){const b=I,s=a,{getProps:n,lockAction:B}=Be(b,s),A=e.computed(()=>{var g;return Math.floor((((g=e.unref(n))==null?void 0:g.distance)||0)/1e3*10)/10}),P=e.computed(()=>{const{locked:g=!1,distance:d=0}=e.unref(n);return y(g,d)});function i(){const{locked:g=!1}=e.unref(n);B.setLocked(!g)}function y(g,d){if(g){const h=(b.maxMatchDistance??5e3)/5;let Q;return d<=h?Q="#54b168":d<=h*2?Q="#CBDE3C":d<=h*3?Q="#DEC53C":d<=h*4?Q="#DE5B3C":d<=h*5?Q="#FA1212":Q="#666",{backgroundColor:Q,color:"#fff"}}return{color:"#333"}}return E({...B}),(g,d)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.renderSlot(g.$slots,"button",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[e.createElementVNode("div",{class:"dualsee-lock-button",style:e.normalizeStyle(P.value),onClick:i},[e.unref(n).locked?(e.openBlock(),e.createElementBlock("img",{key:0,class:"dualsee-lock-icon",src:e.unref(we)},null,8,Qe)):(e.openBlock(),e.createElementBlock("img",{key:1,class:"dualsee-lock-icon",src:e.unref(Ce)},null,8,ye))],4),e.renderSlot(g.$slots,"distance",e.normalizeProps(e.guardReactiveProps(e.unref(n))),()=>[g.showDistance?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("span",null,"相距 "+e.toDisplayString(A.value)+" m",1)])):e.createCommentVNode("",!0)],!0)],!0)]))}}),ne=(I,E)=>{const a=I.__vccOpts||I;for(const[b,s]of E)a[b]=s;return a},Re=ne(ke,[["__scopeId","data-v-e2467a03"]]);var ie=(I=>(I[I.DualseeNoBIMModel=12e3]="DualseeNoBIMModel",I))(ie||{});const{cloneDeep:Pe,deepMergeProps:he,deepMerge:Me}=G.utils;function De(I,E,a,b,s,n){const B=e.ref(Pe(Ie)),A=e.computed(()=>B.value);e.watch(()=>I,i,{immediate:!0,deep:!0});function P(){return A.value}function i(o){o&&he(B.value,o)}function y(){return E.value}function g(){return a.value}function d(){return b.value}function h(o){var V,S,M,D;const{enableMatchPoint:w}=((V=A.value)==null?void 0:V.dualseeSetting)||{};if(w){const C=(S=d())==null?void 0:S.getStore(),x=((M=C==null?void 0:C.findClosestPoint)==null?void 0:M.call(C,o))||{};x&&((D=C==null?void 0:C.selectPoint)==null||D.call(C,x),n("find-refer-closest-point",x))}}function Q(){var w;const o=g();if(o){const{searchInfo:V,...S}=o.getOptions(),{searchInfo:M,...D}=((w=A.value)==null?void 0:w.referRealsee)||{},C=M??V,x={...Me(S,D),searchInfo:C},k=o==null?void 0:o.getPlaybar();k==null||k.pause(),k==null||k.setState({showPlay:!1,showSpeed:!1}),i({referRealsee:x,dualseeLockVisible:!0,referRealseeVisible:!0,referBimseeVisible:!1})}}function J(){var w;const o=(w=g())==null?void 0:w.getPlaybar();o&&(o.pause(),o.setState({showPlay:!0,showSpeed:!0})),i({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function H(){A.value.referRealseeVisible?J():Q()}async function F(){var o,w,V;try{const S=g();if(!S)return;const{mappedCoordinateTree:M,currentModel:D}=S.getStore(),{referBimsee:C}=A.value,{searchInfo:x,handleCheckedFn:k}=C||{},{modelCsId:Y}=x||{},K=Y?M==null?void 0:M.findCsById(Y):D==null?void 0:D.findClosestModel(G.CoordinateModelType.BIMModel);if(!K)throw new G.AppError(ie.DualseeNoBIMModel,`未找到ID为${Y}的BIM模型坐标系`);if(!(await(k==null?void 0:k(K))??!0))return;const z=S.getPlaybar();z==null||z.pause(),z==null||z.setState({showPlay:!1,showSpeed:!1});const Z={...C,searchInfo:{projectId:K.projectId||0,modelCsId:K.id}};i({referBimsee:Z,dualseeLockVisible:!0,referBimseeVisible:!0,referRealseeVisible:!1})}catch(S){console.error("显示BIMSEE参考模型失败:",S),(V=(w=(o=A.value)==null?void 0:o.referBimsee)==null?void 0:w.fetchError)==null||V.call(w,S)}}function L(){var w;const o=(w=g())==null?void 0:w.getPlaybar();o&&(o.pause(),o.setState({showPlay:!0,showSpeed:!0})),i({dualseeLockVisible:!1,referRealseeVisible:!1,referBimseeVisible:!1})}function c(){A.value.referBimseeVisible?L():F()}return{getProps:A,dualseeAction:{getState:P,setState:i,getDualseeLock:y,getBasicRealsee:g,getReferRealsee:d,toggleReferRealsee:H,showReferRealsee:Q,hideReferRealsee:J,toggleReferBimsee:c,showReferBimsee:F,hideReferBimsee:L,setReferClosestPoint:h}}}function Ue(I,E,a){const b=e.computed(()=>I.value.dualseeLock);function s(A){a("lock-locked-updated",A)}function n(A){a("lock-distance-updated",A)}return{getLockProps:b,lockEvents:{lockedUpdated:s,distanceUpdated:n}}}function Ve(I,E,a){const{getDualseeLock:b,getBasicRealsee:s,getReferRealsee:n,setReferClosestPoint:B}=E||{},A=e.computed(()=>I.value.basicRealsee);function P(){a("basic-ready")}function i(r){a("basic-change-model",r)}function y(r){a("basic-change-record",r)}function g(r){ee(),a("basic-change-point",r)}function d(){a("basic-map-ready")}function h(){a("basic-map-resize")}function Q(r){a("basic-map-collapse",r)}function J(){a("basic-map-dragger")}function H(r){a("basic-map-select-point",r)}function F(r){a("basic-map-angle-updated",r)}function L(){a("basic-viewer-ready")}function c(r){a("basic-viewer-click",r)}function j(r){ae(),a("basic-viewer-mousedown",r)}function o(r){re(r),a("basic-viewer-zoom-updated",r)}function w(r,p){ce(r,p),a("basic-viewer-position-updated",r)}function V(r){a("basic-viewer-panorama-loaded",r)}function S(r){a("basic-viewer-select-point",r)}function M(r){a("basic-viewer-select-marker",r)}function D(){a("basic-playbar-ready")}function C(r){a("basic-playbar-backward",r)}function x(r){a("basic-playbar-pause",r)}function k(r){a("basic-playbar-play",r)}function Y(r){a("basic-playbar-forward",r)}function K(r){a("basic-playbar-slider",r)}function W(r){a("basic-playbar-select-point",r)}function z(r){a("basic-playbar-speed-updated",r)}function Z(r){a("basic-playbar-delay-updated",r)}function _(r){a("basic-playbar-step-updated",r)}function ee(){var p;const{currentPoint:r}=((p=s())==null?void 0:p.getStore())||{};r&&(B==null||B(r))}function ae(r){var p,m,u,f,l,R;(u=(m=(p=s==null?void 0:s())==null?void 0:p.getViewer)==null?void 0:m.call(p))==null||u.setMousedown(!0),(R=(l=(f=n==null?void 0:n())==null?void 0:f.getViewer)==null?void 0:l.call(f))==null||R.setMousedown(!1)}function re(r){var m,u,f;const p=n==null?void 0:n();if(p){const l=(m=p==null?void 0:p.getViewer)==null?void 0:m.call(p),R=l==null?void 0:l.isMouseover(),N=(f=(u=b())==null?void 0:u.getState())==null?void 0:f.locked;!R&&N&&(l==null||l.zoom(r.zoomLevel))}}function ce(r,p){var f,l,R,N;if(!((l=(f=b())==null?void 0:f.getState())==null?void 0:l.locked))return;const u=n==null?void 0:n();if(u){const q=u==null?void 0:u.getViewer(),T=(N=(R=s())==null?void 0:R.getViewer())==null?void 0:N.isMousedown();if(q&&T){const O=q.getPosition(),X=O.yaw+p.yaw,v=O.pitch+p.pitch;q.rotate({yaw:X,pitch:v})}}}return{getBasicProps:A,basicEvents:{ready:P,changeModel:i,changeRecord:y,changePoint:g,mapReady:d,mapResize:h,mapCollapse:Q,mapDragger:J,mapSelectPoint:H,mapAngleUpdated:F,viewerReady:L,viewerClick:c,viewerMousedown:j,viewerZoomUpdated:o,viewerPositionUpdated:w,viewerPanoramaLoaded:V,viewerSelectPoint:S,viewerSelectMarker:M,playbarReady:D,playbarBackward:C,playbarPause:x,playbarPlay:k,playbarForward:Y,playbarSlider:K,playbarSelectPoint:W,playbarSpeedUpdated:z,playbarDelayUpdated:Z,playbarStepUpdated:_}}}function xe(I,E,a){const{getDualseeLock:b,getBasicRealsee:s,getReferRealsee:n}=E||{},B=e.computed(()=>I.value.referRealsee);function A(){a("refer-ready")}function P(t){a("refer-change-model",t)}function i(t){a("refer-change-record",t)}function y(t){a("refer-change-point",t)}function g(){a("refer-map-ready")}function d(){a("refer-map-resize")}function h(t){a("refer-map-collapse",t)}function Q(){a("refer-map-dragger")}function J(t){a("refer-map-select-point",t)}function H(t){a("refer-map-angle-updated",t)}function F(){a("refer-viewer-ready")}function L(t){a("refer-viewer-click",t)}function c(t){_(),a("refer-viewer-mousedown",t)}function j(t){ee(t),a("refer-viewer-zoom-updated",t)}function o(t,r){ae(t,r),a("refer-viewer-position-updated",t)}function w(t){re(),a("basic-viewer-panorama-loaded",t)}function V(t){a("refer-viewer-select-point",t)}function S(t){a("refer-viewer-select-marker",t)}function M(){a("refer-playbar-ready")}function D(t){a("refer-playbar-backward",t)}function C(t){a("refer-playbar-pause",t)}function x(t){a("refer-playbar-play",t)}function k(t){a("refer-playbar-forward",t)}function Y(t){a("refer-playbar-slider",t)}function K(t){a("refer-playbar-select-point",t)}function W(t){a("refer-playbar-speed-updated",t)}function z(t){a("refer-playbar-delay-updated",t)}function Z(t){a("refer-playbar-step-updated",t)}function _(t){var r,p,m,u,f,l;(m=(p=(r=s==null?void 0:s())==null?void 0:r.getViewer)==null?void 0:p.call(r))==null||m.setMousedown(!1),(l=(f=(u=n==null?void 0:n())==null?void 0:u.getViewer)==null?void 0:f.call(u))==null||l.setMousedown(!0)}function ee(t){var p,m,u;const r=s==null?void 0:s();if(r){const f=(p=r==null?void 0:r.getViewer)==null?void 0:p.call(r),l=f==null?void 0:f.isMouseover(),R=(u=(m=b())==null?void 0:m.getState())==null?void 0:u.locked;!l&&R&&(f==null||f.zoom(t.zoomLevel))}}function ae(t,r){var u,f,l,R;if(!((f=(u=b())==null?void 0:u.getState())==null?void 0:f.locked))return;const m=s==null?void 0:s();if(m){const N=m==null?void 0:m.getViewer(),q=(R=(l=n())==null?void 0:l.getViewer())==null?void 0:R.isMousedown();if(N&&q){const T=N.getPosition(),O=T.yaw+r.yaw,X=T.pitch+r.pitch;N.rotate({yaw:O,pitch:X})}}}function re(){var X,v,le,de,pe,fe,Ae,ge;const t=s(),r=n();if(!t||!r)return;const p=(X=r.getStore())==null?void 0:X.currentPoint;if(!p)return;const m=(le=(v=t.getStore())==null?void 0:v.currentPoint)==null?void 0:le.position,u=(pe=(de=t.getStore())==null?void 0:de.normalizeToModelSpace(p))==null?void 0:pe.position;if(!m||!u)return;const f=G.Point.distXY(m,u),l=b();l==null||l.setDistance(f);const{enableMatchPoint:R=!1,maxMatchDistance:N=5e3}=I.value.dualseeSetting||{};if(!R||f>N){l==null||l.setState({locked:!1,distance:f});return}const{yaw:q=0,pitch:T=0}=((fe=t.getViewer())==null?void 0:fe.getPosition())||{},O={yaw:(Number(m.yaw)||0)-(Number(u.yaw)||0)+q,pitch:T};(Ae=r.getViewer())==null||Ae.rotate(O),(ge=r.getMap())==null||ge.setYaw(O.yaw),l==null||l.setState({locked:!0,distance:f})}return{getReferProps:B,referEvents:{ready:A,changeModel:P,changeRecord:i,changePoint:y,mapReady:g,mapResize:d,mapCollapse:h,mapDragger:Q,mapSelectPoint:J,mapAngleUpdated:H,viewerReady:F,viewerClick:L,viewerMousedown:c,viewerZoomUpdated:j,viewerPositionUpdated:o,viewerPanoramaLoaded:w,viewerSelectPoint:V,viewerSelectMarker:S,playbarReady:M,playbarBackward:D,playbarPause:C,playbarPlay:x,playbarForward:k,playbarSlider:Y,playbarSelectPoint:K,playbarSpeedUpdated:W,playbarDelayUpdated:z,playbarStepUpdated:Z}}}function ze(I,E,a){const b=e.computed(()=>I.value.referBimsee);function s(){a("bimsee-ready")}function n(d){a("bimsee-change-model",d)}function B(d){a("bimsee-viewer-click",d)}function A(d){a("bimsee-viewer-mousedown",d)}function P(d){a("bimsee-viewer-zoom-updated",d)}function i(d){a("bimsee-viewer-position-updated",d)}function y(d){a("bimsee-viewer-point-updated",d)}return{getBimseeProps:b,bimseeEvents:{ready:s,changeModel:n,click:B,mousedown:A,zoomUpdated:P,positionUpdated:i,pointUpdated:y}}}const Ne={class:"vsleem-dualsee"},se=ne(e.defineComponent({name:"Dualsee",__name:"Dualsee",props:{appSetting:{default:()=>G.APP_SETTING},dualseeSetting:{default:()=>te},dualseeLock:{default:()=>$},basicRealsee:{},referRealsee:{},referBimsee:{}},emits:["find-refer-closest-point","basic-ready","basic-change-model","basic-change-record","basic-change-point","basic-map-ready","basic-map-resize","basic-map-collapse","basic-map-dragger","basic-map-select-point","basic-map-angle-updated","basic-viewer-ready","basic-viewer-click","basic-viewer-mousedown","basic-viewer-zoom-updated","basic-viewer-position-updated","basic-viewer-panorama-loaded","basic-viewer-select-point","basic-viewer-select-marker","basic-playbar-ready","basic-playbar-backward","basic-playbar-pause","basic-playbar-play","basic-playbar-forward","basic-playbar-slider","basic-playbar-select-point","basic-playbar-speed-updated","basic-playbar-delay-updated","basic-playbar-step-updated","refer-ready","refer-change-model","refer-change-record","refer-change-point","refer-map-ready","refer-map-resize","refer-map-collapse","refer-map-dragger","refer-map-select-point","refer-map-angle-updated","refer-viewer-ready","refer-viewer-click","refer-viewer-mousedown","refer-viewer-zoom-updated","refer-viewer-position-updated","refer-viewer-panorama-loaded","refer-viewer-select-point","refer-viewer-select-marker","refer-playbar-ready","refer-playbar-backward","refer-playbar-pause","refer-playbar-play","refer-playbar-forward","refer-playbar-slider","refer-playbar-select-point","refer-playbar-speed-updated","refer-playbar-delay-updated","refer-playbar-step-updated","lock-locked-updated","lock-distance-updated","bimsee-ready","bimsee-change-model","bimsee-click","bimsee-mousedown","bimsee-zoom-updated","bimsee-position-updated"],setup(I,{expose:E,emit:a}){const b=I,s=a,n=e.ref(),B=e.ref(),A=e.ref(),P=e.ref(),{getProps:i,dualseeAction:y}=De(b,n,B,A,P,s),{getLockProps:g,lockEvents:d}=Ue(i,y,s),{getBasicProps:h,basicEvents:Q}=Ve(i,y,s),{getReferProps:J,referEvents:H}=xe(i,y,s),{getBimseeProps:F,bimseeEvents:L}=ze(i,y,s);return E({...y}),(c,j)=>(e.openBlock(),e.createElementBlock("div",Ne,[e.unref(i).dualseeLockVisible?(e.openBlock(),e.createBlock(Re,e.mergeProps({key:0,ref_key:"lockElRef",ref:n,maxMatchDistance:e.unref(i).dualseeSetting.maxMatchDistance},e.unref(g),e.toHandlers(e.unref(d))),{button:e.withCtx(o=>[e.renderSlot(c.$slots,"lockButton",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),distance:e.withCtx(o=>[e.renderSlot(c.$slots,"lockDistance",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),_:3},16,["maxMatchDistance"])):e.createCommentVNode("",!0),e.createVNode(e.unref(oe.RealseePlugin),e.mergeProps({ref_key:"basicRealseeElRef",ref:B,appSetting:e.unref(i).appSetting},e.unref(h),e.toHandlers(e.unref(Q))),{default:e.withCtx(o=>[e.renderSlot(c.$slots,"basicDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapDefault:e.withCtx(o=>[e.renderSlot(c.$slots,"basicMapDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapExtra:e.withCtx(o=>[e.renderSlot(c.$slots,"basicMapExtra",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapLeft:e.withCtx(o=>[e.renderSlot(c.$slots,"basicMapLeft",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapRight:e.withCtx(o=>[e.renderSlot(c.$slots,"basicMapRight",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarDefault:e.withCtx(o=>[e.renderSlot(c.$slots,"basicPlaybarDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarBox:e.withCtx(o=>[e.renderSlot(c.$slots,"basicPlaybarBox",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarButton:e.withCtx(o=>[e.renderSlot(c.$slots,"basicPlaybarButton",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarCaption:e.withCtx(o=>[e.renderSlot(c.$slots,"basicPlaybarCaption",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarSlider:e.withCtx(o=>[e.renderSlot(c.$slots,"basicPlaybarSlider",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),_:3},16,["appSetting"]),e.unref(i).referRealseeVisible&&e.unref(J)?(e.openBlock(),e.createBlock(e.unref(oe.RealseePlugin),e.mergeProps({key:1,ref_key:"referRealseeElRef",ref:A,appSetting:e.unref(i).appSetting},e.unref(J),e.toHandlers(e.unref(H))),{default:e.withCtx(o=>[e.renderSlot(c.$slots,"referDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapDefault:e.withCtx(o=>[e.renderSlot(c.$slots,"referMapDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapExtra:e.withCtx(o=>[e.renderSlot(c.$slots,"referMapExtra",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapLeft:e.withCtx(o=>[e.renderSlot(c.$slots,"referMapLeft",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),mapRight:e.withCtx(o=>[e.renderSlot(c.$slots,"referMapRight",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarDefault:e.withCtx(o=>[e.renderSlot(c.$slots,"referPlaybarDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarBox:e.withCtx(o=>[e.renderSlot(c.$slots,"referPlaybarBox",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarButton:e.withCtx(o=>[e.renderSlot(c.$slots,"referPlaybarButton",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarCaption:e.withCtx(o=>[e.renderSlot(c.$slots,"referPlaybarCaption",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),playbarSlider:e.withCtx(o=>[e.renderSlot(c.$slots,"referPlaybarSlider",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),_:3},16,["appSetting"])):e.createCommentVNode("",!0),e.unref(i).referBimseeVisible&&e.unref(F)?(e.openBlock(),e.createBlock(e.unref(ue.BimseePlugin),e.mergeProps({key:2,ref_key:"referBimseeElRef",ref:P,appSetting:e.unref(i).appSetting},e.unref(F),e.toHandlers(e.unref(L))),{default:e.withCtx(o=>[e.renderSlot(c.$slots,"bimseeDefault",e.normalizeProps(e.guardReactiveProps(o)),void 0,!0)]),_:3},16,["appSetting"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-263f1308"]]);U.DualseePlugin=se,U.default=se,Object.defineProperties(U,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vsleem-realsee-viewer/dualsee-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Dualsee plugin for VSLeem RealSee Viewer",
|
|
5
5
|
"main": "./dist/index.umd.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
"dist"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@vsleem-realsee-viewer/realsee-plugin": "
|
|
17
|
-
"@vsleem-realsee-viewer/
|
|
16
|
+
"@vsleem-realsee-viewer/realsee-plugin": "2.0.0",
|
|
17
|
+
"@vsleem-realsee-viewer/bimsee-plugin": "2.0.0",
|
|
18
|
+
"@vsleem-realsee-viewer/shared": "2.0.0"
|
|
18
19
|
},
|
|
19
20
|
"peerDependencies": {
|
|
20
21
|
"vue": "^3.0.0",
|
|
21
|
-
"@vsleem-realsee-viewer/realsee-plugin": "
|
|
22
|
-
"@vsleem-realsee-viewer/
|
|
22
|
+
"@vsleem-realsee-viewer/realsee-plugin": "2.0.0",
|
|
23
|
+
"@vsleem-realsee-viewer/bimsee-plugin": "2.0.0",
|
|
24
|
+
"@vsleem-realsee-viewer/shared": "2.0.0"
|
|
23
25
|
},
|
|
24
26
|
"peerDependenciesMeta": {
|
|
25
27
|
"vue": {
|
|
@@ -28,6 +30,9 @@
|
|
|
28
30
|
"@vsleem-realsee-viewer/realsee-plugin": {
|
|
29
31
|
"optional": false
|
|
30
32
|
},
|
|
33
|
+
"@vsleem-realsee-viewer/bimsee-plugin": {
|
|
34
|
+
"optional": false
|
|
35
|
+
},
|
|
31
36
|
"@vsleem-realsee-viewer/shared": {
|
|
32
37
|
"optional": false
|
|
33
38
|
}
|