UNPKG

@kq_npm/client3d_webgl_vue

Version:

KQGIS Client3D for Vue.js

1 lines 11 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/init.js"),require("@kq_npm/client_common_vue/_utils/util")):"function"==typeof define&&define.amd?define("@kq_npm/client3d_webgl_vue",["vue","@kq_npm/client_common_vue/_utils/gis-utils","@kq_npm/client_common_vue/init.js","@kq_npm/client_common_vue/_utils/util"],t):"object"==typeof exports?exports["@kq_npm/client3d_webgl_vue"]=t(require("vue"),require("@kq_npm/client_common_vue/_utils/gis-utils"),require("@kq_npm/client_common_vue/init.js"),require("@kq_npm/client_common_vue/_utils/util")):e["@kq_npm/client3d_webgl_vue"]=t(e.Vue,e["@kq_npm/client_common_vue/_utils/gis-utils"],e["@kq_npm/client_common_vue/init.js"],e["@kq_npm/client_common_vue/_utils/util"])}(this,(function(e,t,i,n){return function(){"use strict";var a={1705:function(e,t,i){var n=i(9389),a=i(7997),o=i.n(a);n.ElMessage.install=(e,t)=>{o()(e,t),e.component("KqMessage",n.ElMessage)},t.Z=n.ElMessage},348:function(e){e.exports=require("@kq_npm/client_icons_vue")},9389:function(e){e.exports=require("element-plus/dist/index.full.js")},7080:function(e){e.exports=require("vue-i18n/dist/vue-i18n.cjs.js")},7135:function(e){e.exports=t},3458:function(e){e.exports=n},7997:function(e){e.exports=i},1895:function(t){t.exports=e}},o={};function r(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return a[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return function(){r.r(s),r.d(s,{ModelExcavateViewModel:function(){return n},default:function(){return p}});var e=r(1895),t=r(7135),i=r(1705);class n{_viewer=null;_options={};_Kq3dTerrainExcavation=null;_removeEventListener=null;_measureHandler=null;_measureResult=null;_wallPrimitive;entity0=null;_language={};wall=null;ratio=.01;ii=1;scratchCartesian2=new window.Cesium.Cartesian3;scratchCartesian3=new window.Cesium.Cartesian3;scratchCartesian4=new window.Cesium.Cartesian3;scratchCartesian5=new window.Cesium.Cartesian3;scratchCartesian6=new window.Cesium.Cartesian3;scratchCartesian7=new window.Cesium.Cartesian3;intervalId=null;g_flattenedPolygonTexture=null;constructor(e,t){this._language=e._language,this._viewer=e._viewer,this._options=t,this._viewer.scene.globe.depthTestAgainstTerrain=!0;var i=this;if(e.g_flattenedPolygonTexture)this.g_flattenedPolygonTexture=e.g_flattenedPolygonTexture;else{let e=new window.Cesium.Kq3dFlattenning(this._viewer,{});this.g_flattenedPolygonTexture=e.createFlattenedPolygonTexture();var n=this._viewer.scene.primitives._primitives;for(let e=0;e<n.length;e++)n[e]instanceof Cesium.Cesium3DTileset&&n[e]._url&&(n[e].enableFlattenning=!0,n[e].flattenDiscard=!0,n[e].readyPromise.then((function(e){i.g_flattenedPolygonTexture.attachTileset(e)})))}this._measureHandler=new Cesium.Kq3dMeasureHandler(this._viewer),this._measureHandler.measureEvent.addEventListener((function(e){i._measureResult=e,e.measureResult.label.show=!1})),this._measureHandler.activeEvent.addEventListener((function(e){0==e&&i._measureResult&&(i._options.positions=i._measureResult.positions,i.createDynamicExcavationEffect(),i._measureResult.measureResult.destroy())}))}createDynamicExcavationEffect(){this._Kq3dTerrainExcavation&&this._Kq3dTerrainExcavation.destroy(),this._Kq3dTerrainExcavation=new window.Cesium.Kq3dTerrainExcavation({viewer:this._viewer,height:this._options.height,positions:this._options.positions,hasWall:!1}),this._wallPrimitive&&(this._viewer.scene.primitives.remove(this._wallPrimitive),this._wallPrimitive=void 0),this._wallPrimitive=new window.Cesium.Kq3dWallPrimitive({viewer:this._viewer,height:this._options.height,positions:this._options.positions,elevationOnTerrain:!1}),this._viewer.scene.primitives.add(this._wallPrimitive);let e=this;this._wallPrimitive._readyEvent.addEventListener((function(t){if("Ready"==t){e.g_flattenedPolygonTexture&&e.g_flattenedPolygonTexture.removeAllFlattenedPolygon();var i=window.Cesium.PolygonGeometry.fromPositions({positions:e._options.positions,height:window.Cesium.Cartographic.fromCartesian(e._options.positions[0]).height});e.g_flattenedPolygonTexture&&e.g_flattenedPolygonTexture.addFlattenedPolygon(i)}}))}createPolyline(e){var t=window.Cesium.Material.fromType("Kq3dLightningMaterial",{});this.wall&&(this._viewer.scene.primitives.remove(this.wall),this.wall=void 0);var i=[];i.push(new window.Cesium.GeometryInstance({geometry:new window.Cesium.WallGeometry({positions:e,maximumHeights:[10,10],minimumHeights:[-10,-10],vertexFormat:window.Cesium.VertexFormat.POSITION_NORMAL_AND_ST})})),this.wall=new window.Cesium.Primitive({geometryInstances:i,appearance:new window.Cesium.MaterialAppearance({material:t})}),this._viewer.scene.primitives.add(this.wall);var n=new window.Cesium.GroundPolylineGeometry({positions:e,width:40,vertexFormat:window.Cesium.PolylineMaterialAppearance.VERTEX_FORMAT}),a=new window.Cesium.GroundPolylinePrimitive({asynchronous:!1,classificationType:window.Cesium.ClassificationType.BOTH,geometryInstances:new window.Cesium.GeometryInstance({geometry:n}),appearance:new window.Cesium.PolylineMaterialAppearance({material:t})});return this._viewer.scene.primitives.add(a)}start(){var e=!1,t=this._viewer.scene.primitives._primitives;for(let i=0;i<t.length;i++)t[i]instanceof Cesium.Cesium3DTileset&&t[i]._url&&(t[i].enableFlattenning=!0,t[i].flattenDiscard=!0,e=!0);e?(this.remove(),this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.HorizontalArea)):(0,i.Z)({message:this._language.addModelTips,type:"warning"})}setHeight(e){this._options.height=Number(e)}remove(){this.intervalId&&(clearInterval(this.intervalId),this.ii=0,this.entity0&&(this._viewer.scene.primitives.remove(this.entity0),this.entity0=void 0),this.wall&&(this._viewer.scene.primitives.remove(this.wall),this.wall=void 0)),this._wallPrimitive&&(this._viewer.scene.primitives.remove(this._wallPrimitive),this._wallPrimitive=void 0),this._Kq3dTerrainExcavation&&this._Kq3dTerrainExcavation.destroy(),this.g_flattenedPolygonTexture&&this.g_flattenedPolygonTexture.removeAllFlattenedPolygon()}clear(){this._measureResult=null,this._measureHandler.clear(),this.remove()}destroy(){this.clear(),this._measureHandler&&this._measureHandler.destroy(),this._measureHandler=null}}var a=r(348),o=r(3458),l=r(7080);const u={class:"kq3d-model-excavate-box",ref:"ref_box"},m={class:"kq3d-model-excavate-span"},c={class:"kq3d-model-excavate-footer"},d={name:"Kq3dModelExcavate"};var p=Object.assign(d,{props:{mapTarget:String,settingParams:{type:Object},showShadow:{type:Boolean,default:!0},position:[String,Object],showHeaderTemp:{type:Boolean,default:!1},isCollapseHeaderTemp:{type:Boolean,default:!1},headerTempTitle:{type:String},headerTempIcon:{type:[Object,String],default:a.IconModelExcavation},isRight:{type:Boolean,default:!0}},setup(i,{expose:a}){const r=i,{proxy:s}=(0,e.getCurrentInstance)();let d=(0,e.ref)(s.$i18n.global.messages[s.$i18n.global.locale].webgl),p=null,v=(0,e.ref)(s.$i18n.global.locale),h=(0,e.reactive)({excavationDepth:r.settingParams&&r.settingParams.excavationDepth||20,minExcavationDepth:r.settingParams&&r.settingParams.minExcavationDepth||0,maxExcavationDepth:r.settingParams&&r.settingParams.maxExcavationDepth||100}),_=(0,e.ref)(null),w=(0,e.ref)(),f=(0,e.ref)(),{locale:g,messages:x}=(0,l.useI18n)(),y=(0,e.ref)(null);y.value=d.value.modelExcavateTitle,(0,e.watch)((()=>g.value),((e,t)=>{d.value=x.value[e].webgl,y.value=d.value.modelExcavateTitle})),(0,e.onMounted)((()=>{(0,o.updatePosition)(_.value,r),(0,e.watch)((()=>r.position),((e,t)=>{(0,o.updatePosition)(_.value,r)})),C(),(0,e.watch)((()=>r.showHeaderTemp),((t,i)=>{(0,e.nextTick)((()=>{C()}))})),t.utils.getWebMap(null,(e=>{e&&(p=new n(e,{height:h.excavationDepth}),window.scenceView=e)}))}));const C=()=>{r.showHeaderTemp&&(w.value=(0,o.createHeaderTemp)(_.value,(0,e.toRefs)(r),f,y))};function T(){p&&p.setHeight(h.excavationDepth)}function q(){p&&p.clear()}return(0,e.onBeforeUnmount)((()=>{p&&p.destroy()})),a({clear:q}),(t,n)=>{const a=(0,e.resolveComponent)("kq-col"),o=(0,e.resolveComponent)("kq-slider"),r=(0,e.resolveComponent)("kq-input-number"),s=(0,e.resolveComponent)("kq-row"),l=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-model-excavate",{"kq-box-shadow":i.showShadow}]),ref_key:"boxRef",ref:_},[i.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(w)),{key:0,ref_key:"headerTempRef",ref:f},null,512)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",u,[(0,e.createVNode)(s,{gutter:10},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{span:"zh"===(0,e.unref)(v)?7:10},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("span",m,(0,e.toDisplayString)((0,e.unref)(d).excavationDepth),1)])),_:1},8,["span"]),(0,e.createVNode)(a,{span:"zh"===(0,e.unref)(v)?11:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{modelValue:(0,e.unref)(h).excavationDepth,"onUpdate:modelValue":n[0]||(n[0]=t=>(0,e.unref)(h).excavationDepth=t),step:1,min:(0,e.unref)(h).minExcavationDepth,max:(0,e.unref)(h).maxExcavationDepth,onChange:n[1]||(n[1]=e=>T()),onClick:n[2]||(n[2]=e=>T())},null,8,["modelValue","min","max"])])),_:1},8,["span"]),(0,e.createVNode)(a,{span:6,style:{"text-align":"end"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{modelValue:(0,e.unref)(h).excavationDepth,"onUpdate:modelValue":n[3]||(n[3]=t=>(0,e.unref)(h).excavationDepth=t),min:(0,e.unref)(h).minExcavationDepth,step:1,max:(0,e.unref)(h).maxExcavationDepth,"controls-position":"right",onInput:n[4]||(n[4]=e=>T())},null,8,["modelValue","min","max"])])),_:1})])),_:1}),(0,e.createVNode)(s,{class:"kq3d-model-excavate-tip"},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("p",null,(0,e.toDisplayString)((0,e.unref)(d).skylineTips),1)])),_:1}),(0,e.createElementVNode)("div",c,[(0,e.createVNode)(l,{onClick:n[5]||(n[5]=(0,e.withModifiers)((e=>{p&&p.start()}),["stop"])),title:(0,e.unref)(d).startOperation,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(d).startOperation),1)])),_:1},8,["title"]),(0,e.createVNode)(l,{onClick:n[6]||(n[6]=(0,e.withModifiers)((e=>q()),["stop"])),title:(0,e.unref)(d).clear},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(d).clear),1)])),_:1},8,["title"])])],512)],2)}}}),v=r(7997),h=r.n(v);p.install=(e,t)=>{h()(e,t),e.component(p.name,p)}}(),s}()}));