@kq_npm/client3d_webgl_vue
Version:
KQGIS Client3D for Vue.js
1 lines • 9.82 kB
JavaScript
!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,n,o){return function(){"use strict";var i={1705:function(e,t,n){var o=n(9389),i=n(7997),l=n.n(i);o.ElMessage.install=(e,t)=>{l()(e,t),e.component("KqMessage",o.ElMessage)},t.Z=o.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=o},7997:function(e){e.exports=n},1895:function(t){t.exports=e}},l={};function a(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return i[e](n,n.exports,a),n.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.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(){a.r(s),a.d(s,{ModelFlatViewModel:function(){return o},default:function(){return p}});var e=a(1895),t=a(7135),n=a(1705);class o{_viewer=null;_drawManager=null;_options={};_removeEventListener=null;_measureHandler=null;_measureResult=null;_flatteningPolygonTex=null;_assistPolygons=[];currentFlatPolygonIndex=-1;_language={};constructor(e,t){this._viewer=e._viewer,this._options=t,this._viewer.scene.globe.depthTestAgainstTerrain=!0,this._language=e._language,this._drawManager=e._drawManager;var n=this;if(e.g_flattenedPolygonTexture)this._flatteningPolygonTex=e.g_flattenedPolygonTexture;else{let e=new window.Cesium.Kq3dFlattenning(this._viewer,{});this._flatteningPolygonTex=e.createFlattenedPolygonTexture();var o=this._viewer.scene.primitives._primitives;for(let e=0;e<o.length;e++)o[e]instanceof Cesium.Cesium3DTileset&&o[e]._originUrl&&n._flatteningPolygonTex.attachTileset(o[e])}this._measureHandler=new Cesium.Kq3dMeasureHandler(this._viewer),this._measureHandler.measureEvent.addEventListener((function(e){n._measureResult=e,e.measureResult.label.show=!1})),this._measureHandler.activeEvent.addEventListener((function(e){0==e&&n._measureResult&&(n._options.positions=n._measureResult.positions,n.createFlat(),n._measureResult.measureResult.destroy())}))}createFlat(){let e=this._viewer.entities.add({polygon:{hierarchy:this._options.positions,material:window.Cesium.Color.fromAlpha(window.Cesium.Color.YELLOW,.3)},show:!!this._options.flatteningShow});this._assistPolygons.push(e);let t=window.Cesium.PolygonGeometry.fromPositions({positions:this._options.positions,height:this._options.flatHeight});this._flatteningPolygonTex&&this._flatteningPolygonTex.addFlattenedPolygon(t)}getFlatCount(){return this._flatteningPolygonTex.getFlattenedPolygons().length}start(){var e=!1,t=this._viewer.scene.primitives._primitives;for(let n=0;n<t.length;n++)t[n]instanceof Cesium.Cesium3DTileset&&t[n]._url&&(t[n].flattenDiscard=!1,e=!0);e?(this.remove(!this._options.showFlattenedPolygons),this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.HorizontalArea)):(0,n.Z)({message:this._language.addModelTips,type:"warning"})}setHeight(e){this._options.flatHeight=Number(e),-1==this.currentFlatPolygonIndex?this._flatteningPolygonTex.setFlattenedPolygonHeight(-1,Number(e)):this._flatteningPolygonTex.setFlattenedPolygonHeight(this.currentFlatPolygonIndex,Number(e))}setFlatteningShow(e){this._options.flatteningShow=e,e?this._assistPolygons.forEach((e=>{e.show=!0})):this._assistPolygons.forEach((e=>{e.show=!1}))}setCurrentFlatPolygonIndex(e){this.currentFlatPolygonIndex=e}remove(e){if(this._drawManager.stopDraw(),e){this._flatteningPolygonTex&&this._flatteningPolygonTex.removeAllFlattenedPolygon();for(var t=0;t<this._assistPolygons.length;t++)this._viewer.entities.remove(this._assistPolygons[t]);this._assistPolygons=[]}}clear(){this.remove(!0),this._measureResult=null,this._measureHandler.clear()}destroy(){this.clear(),this._measureHandler&&this._measureHandler.destroy(),this._measureHandler=null}}var i=a(348),l=a(3458),r=a(7080);const u={class:"kq3d-model-flat-box",ref:"ref_box"},m={class:"kq3d-model-flat-span"},d={class:"kq3d-model-flat-span"},c={class:"kq3d-model-flat-footer"},g={name:"Kq3dModelFlat"};var p=Object.assign(g,{props:{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:i.IconModelSmoothing},isRight:{type:Boolean,default:!0}},setup(n,{expose:i}){const a=n,{proxy:s}=(0,e.getCurrentInstance)();let g=(0,e.ref)(s.$i18n.global.messages[s.$i18n.global.locale].webgl),p=null,f=(0,e.reactive)({flatHeight:a.settingParams&&a.settingParams.excavationDepth||10,minFlatDepth:a.settingParams&&a.settingParams.minExcavationDepth||0,maxFlatDepth:a.settingParams&&a.settingParams.maxExcavationDepth||100,flatteningShow:a.settingParams&&a.settingParams.maxExcavationDepth||!0,showFlattenedPolygons:a.settingParams&&a.settingParams.showFlattenedPolygons||!1}),_=(0,e.ref)(null),h=(0,e.ref)(),v=(0,e.ref)(),{locale:y,messages:w}=(0,r.useI18n)(),x=(0,e.ref)(null);x.value=g.value.modelFlatTitle,(0,e.watch)((()=>y.value),((e,t)=>{g.value=w.value[e].webgl,x.value=g.value.modelFlatTitle})),(0,e.onMounted)((()=>{(0,l.updatePosition)(_.value,a),(0,e.watch)((()=>a.position),((e,t)=>{(0,l.updatePosition)(_.value,a)})),P(),(0,e.watch)((()=>a.showHeaderTemp),((t,n)=>{(0,e.nextTick)((()=>{P()}))})),t.utils.getWebMap(null,(e=>{e&&(p=new o(e,f))}))}));const P=()=>{a.showHeaderTemp&&(h.value=(0,l.createHeaderTemp)(_.value,(0,e.toRefs)(a),v,x))};function q(){p&&p.setHeight(f.flatHeight)}function C(){p&&p.setFlatteningShow(f.flatteningShow)}function k(){p&&p.clear()}return(0,e.onBeforeUnmount)((()=>{p&&p.destroy()})),i({getFlatCount:function(){return p&&p.getFlatCount()},setCurrentFlatPolygonIndex:function(e){p&&p.setCurrentFlatPolygonIndex(e)},clear:k}),(t,o)=>{const i=(0,e.resolveComponent)("kq-col"),l=(0,e.resolveComponent)("kq-slider"),a=(0,e.resolveComponent)("kq-input-number"),s=(0,e.resolveComponent)("kq-row"),r=(0,e.resolveComponent)("kq-switch"),y=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-model-flat",{"kq-box-shadow":n.showShadow}]),ref_key:"boxRef",ref:_},[n.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(h)),{key:0,ref_key:"headerTempRef",ref:v},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)(i,{span:7},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("span",m,(0,e.toDisplayString)((0,e.unref)(g).flatHeight),1)])),_:1}),(0,e.createVNode)(i,{span:11},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(l,{modelValue:(0,e.unref)(f).flatHeight,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,e.unref)(f).flatHeight=t),step:1,min:(0,e.unref)(f).minFlatDepth,max:(0,e.unref)(f).maxFlatDepth,onChange:o[1]||(o[1]=e=>q()),onClick:o[2]||(o[2]=e=>q())},null,8,["modelValue","min","max"])])),_:1}),(0,e.createVNode)(i,{span:6,style:{"text-align":"end"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{modelValue:(0,e.unref)(f).flatHeight,"onUpdate:modelValue":o[3]||(o[3]=t=>(0,e.unref)(f).flatHeight=t),min:(0,e.unref)(f).minFlatDepth,step:1,max:(0,e.unref)(f).maxFlatDepth,"controls-position":"right",onInput:o[4]||(o[4]=e=>q())},null,8,["modelValue","min","max"])])),_:1})])),_:1}),(0,e.createVNode)(s,{gutter:10},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(i,{span:7},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("span",d,(0,e.toDisplayString)((0,e.unref)(g).flatteningShow),1)])),_:1}),(0,e.createVNode)(i,{span:11},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{modelValue:(0,e.unref)(f).flatteningShow,"onUpdate:modelValue":o[5]||(o[5]=t=>(0,e.unref)(f).flatteningShow=t),onChange:C},null,8,["modelValue"])])),_:1})])),_:1}),(0,e.createVNode)(s,{class:"kq3d-model-flat-tip"},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("p",null,(0,e.toDisplayString)((0,e.unref)(g).skylineTips),1)])),_:1}),(0,e.createElementVNode)("div",c,[(0,e.createVNode)(y,{onClick:o[6]||(o[6]=(0,e.withModifiers)((e=>{p&&p.start()}),["stop"])),title:(0,e.unref)(g).startOperation,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(g).startOperation),1)])),_:1},8,["title"]),(0,e.createVNode)(y,{onClick:o[7]||(o[7]=(0,e.withModifiers)((e=>k()),["stop"])),title:(0,e.unref)(g).clear},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(g).clear),1)])),_:1},8,["title"])])],512)],2)}}}),f=a(7997),_=a.n(f);p.install=(e,t)=>{_()(e,t),e.component(p.name,p)}}(),s}()}));