UNPKG

@kq_npm/client3d_webgl_vue

Version:

KQGIS Client3D for Vue.js

1 lines 11.7 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,o){return function(){"use strict";var l={1705:function(e,t,i){var o=i(9389),l=i(7997),a=i.n(l);o.ElMessage.install=(e,t)=>{a()(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=i},1895:function(t){t.exports=e}},a={};function n(e){var t=a[e];if(void 0!==t)return t.exports;var i=a[e]={exports:{}};return l[e](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){n.r(r),n.d(r,{LimitHeightAnalysisViewModel:function(){return l},default:function(){return g}});var e=n(1895),t=n(7135),i=n(348),o=n(1705);class l{_viewer=null;_options={};_drawManager=null;_limitHeightAnalysis=null;_language={};constructor(e,t){this._viewer=e._viewer,this._options=t,this._drawManager=e._drawManager,this._language=e._language,this._viewer.scene.globe.depthTestAgainstTerrain=!0,this._viewer.scene.postProcessStages._fxaa.enabled=!0}drawPolygon(){if(this._options.positions){var e=[];this._options.positions.forEach((t=>{var i=window.Cesium.Cartographic.fromCartesian(t);e.push(i.longitude),e.push(i.latitude),e.push(i.height)}));var t={viewer:this._viewer,baseHeight:Number(this._options.baseHeight),limitHeight:Number(this._options.limitHeight),limitColor:window.Cesium.Color.fromCssColorString(this._options.limitHeightColor).withAlpha(this._options.limitColorAlpha),overColor:window.Cesium.Color.fromCssColorString(this._options.overHeightColor).withAlpha(this._options.overHeightColorAlpha),positions:e,perPositionHeight:!1,classificationType:window.Cesium.ClassificationType.CESIUM_3D_TILE};this._limitHeightAnalysis=new window.Cesium.Kq3dLimitHeightAnalysis(t),this._limitHeightAnalysis.add()}}start(){var e=this,t=!1,i=this._viewer.scene.primitives._primitives;for(let e=0;e<i.length;e++)i[e]instanceof Cesium.Cesium3DTileset&&i[e]._url&&(t=!0);t?(this.clear(),this._drawManager&&this._drawManager.startDraw("polygon",{clampToGround:!0},((t,{shape:i})=>{i.groupName&&"LimitHeightAnalysisDraw"===i.groupName&&(i&&(e._options.positions=i._controlPoints,e.drawPolygon()),e._drawManager&&e._drawManager.clearDrawGroup("LimitHeightAnalysisDraw"))}),"LimitHeightAnalysisDraw")):(0,o.Z)({message:this._language.addModelTips,type:"warning"})}changeBaseHeight(e){this._options.baseHeight=e,this.clear(),this.drawPolygon()}changeLimitHeight(e){this._options.limitHeight=e,this.clear(),this.drawPolygon()}changeLimitHeightColor(e){this._options.limitHeightColor=e,this.clear(),this.drawPolygon()}changeOverHeightColor(e){this._options.overHeightColor=e,this.clear(),this.drawPolygon()}clear(){this._limitHeightAnalysis&&this._limitHeightAnalysis.remove(),this._drawManager&&this._drawManager.stopDraw()}destroy(){this.clear()}}var a=n(3458),s=n(7080);const u={class:"kq3d-limitheight-analysis-box"},m={class:"kq3d-limitheight-analysis-footer"},h={name:"Kq3dLimitHeightAnalysis"};var g=Object.assign(h,{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.IconHeightLimitAnalysis},isRight:{type:Boolean,default:!0}},setup(i,{expose:o}){const n=i,{proxy:r}=(0,e.getCurrentInstance)();let h=(0,e.ref)(""),g=(0,e.ref)(r.$i18n.global.messages[r.$i18n.global.locale].webgl),c=(0,e.reactive)({collapseValue:n.settingParams&&n.settingParams.collapseValue||(""==(n.settingParams&&n.settingParams.collapseValue)?"":"setting"),baseHeight:n.settingParams&&n.settingParams.baseHeight||100,minBaseHeight:n.settingParams&&n.settingParams.minBaseHeight||0,maxBaseHeight:n.settingParams&&n.settingParams.maxBaseHeight||300,limitHeight:n.settingParams&&n.settingParams.limitHeight||100,minLimitHeight:n.settingParams&&n.settingParams.minLimitHeight||0,maxLimitHeight:n.settingParams&&n.settingParams.maxLimitHeight||300,limitHeightColor:n.settingParams&&n.settingParams.limitHeightColor||"#99F599",limitColorAlpha:n.settingParams&&n.settingParams.limitColorAlpha||.3,overHeightColor:n.settingParams&&n.settingParams.overHeightColor||"#FF0000",overHeightColorAlpha:n.settingParams&&n.settingParams.overHeightColorAlpha||.6}),p=null,d=(0,e.ref)(null),f=(0,e.ref)(),_=(0,e.ref)(),{locale:H,messages:C}=(0,s.useI18n)(),v=(0,e.ref)(null);v.value=g.value.limitHeightAnalysis,(0,e.watch)((()=>H.value),((e,t)=>{g.value=C.value[e].webgl,v.value=g.value.limitHeightAnalysis})),(0,e.onMounted)((()=>{(0,a.updatePosition)(d.value,n),(0,e.watch)((()=>n.position),((e,t)=>{(0,a.updatePosition)(d.value,n)})),w(),(0,e.watch)((()=>n.showHeaderTemp),((t,i)=>{(0,e.nextTick)((()=>{w()}))})),h.value=r.$i18n.locale,t.utils.getWebMap(null,(e=>{e&&(p=new l(e,{baseHeight:c.baseHeight,limitHeight:c.limitHeight,limitHeightColor:c.limitHeightColor,limitColorAlpha:c.limitColorAlpha,overHeightColor:c.overHeightColor,overHeightColorAlpha:c.overHeightColorAlpha}))}))}));const w=()=>{n.showHeaderTemp&&(f.value=(0,a.createHeaderTemp)(d.value,(0,e.toRefs)(n),_,v))};function y(e){switch(e){case"baseHeight":p&&p.changeBaseHeight(c.baseHeight);break;case"limitHeight":p&&p.changeLimitHeight(c.limitHeight);break;case"limitHeightColor":p&&p.changeLimitHeightColor(c.limitHeightColor);break;case"overHeightColor":p&&p.changeOverHeightColor(c.overHeightColor)}}function x(){p&&p.start()}function b(){p&&(p._options.positions=null),p&&p.clear()}return(0,e.onBeforeUnmount)((()=>{p&&p.destroy()})),o({paramsChanged:y,startAnalysis:x,clearResult:b}),(t,o)=>{const l=(0,e.resolveComponent)("kq-row"),a=(0,e.resolveComponent)("kq-slider"),n=(0,e.resolveComponent)("kq-col"),r=(0,e.resolveComponent)("kq-input-number"),s=(0,e.resolveComponent)("kq-form-item"),p=(0,e.resolveComponent)("kq-color-picker"),H=(0,e.resolveComponent)("kq-form"),C=(0,e.resolveComponent)("kq-collapse-item"),v=(0,e.resolveComponent)("kq-collapse"),w=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-limitheight-analysis",{"kq-box-shadow":i.showShadow}]),ref_key:"boxRef",ref:d},[i.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(f)),{key:0,ref_key:"headerTempRef",ref:_},null,512)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",u,[(0,e.createVNode)(l,{class:"kq3d-limitheight-analysis-tip"},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("p",null,(0,e.toDisplayString)((0,e.unref)(g).skylineTips),1)])),_:1}),(0,e.createVNode)(v,{"model-value":(0,e.unref)(c).collapseValue},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(C,{title:(0,e.unref)(g).analysisSettings,name:"setting"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(H,{"label-width":"zh"===(0,e.unref)(h)?"110px":"140px","label-position":"left"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(l,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{label:(0,e.unref)(g).baseHeight},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(l,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(n,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{modelValue:(0,e.unref)(c).baseHeight,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,e.unref)(c).baseHeight=t),step:1,min:(0,e.unref)(c).minBaseHeight,max:(0,e.unref)(c).maxBaseHeight,onChange:o[1]||(o[1]=e=>y("baseHeight"))},null,8,["modelValue","min","max"])])),_:1}),(0,e.createVNode)(n,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{modelValue:(0,e.unref)(c).baseHeight,"onUpdate:modelValue":o[2]||(o[2]=t=>(0,e.unref)(c).baseHeight=t),min:(0,e.unref)(c).minBaseHeight,max:(0,e.unref)(c).maxBaseHeight,step:1,"controls-position":"right",onChange:o[3]||(o[3]=e=>y("baseHeight"))},null,8,["modelValue","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.createVNode)(l,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{label:(0,e.unref)(g).limitHeight},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(l,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(n,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{modelValue:(0,e.unref)(c).limitHeight,"onUpdate:modelValue":o[4]||(o[4]=t=>(0,e.unref)(c).limitHeight=t),step:1,min:(0,e.unref)(c).minLimitHeight,max:(0,e.unref)(c).maxLimitHeight,onChange:o[5]||(o[5]=e=>y("limitHeight"))},null,8,["modelValue","min","max"])])),_:1}),(0,e.createVNode)(n,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(r,{modelValue:(0,e.unref)(c).limitHeight,"onUpdate:modelValue":o[6]||(o[6]=t=>(0,e.unref)(c).limitHeight=t),min:(0,e.unref)(c).minLimitHeight,max:(0,e.unref)(c).maxLimitHeight,step:1,"controls-position":"right",onChange:o[7]||(o[7]=e=>y("limitHeight"))},null,8,["modelValue","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.createVNode)(l,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{label:(0,e.unref)(g).limitHeightColor},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(p,{modelValue:(0,e.unref)(c).limitHeightColor,"onUpdate:modelValue":o[8]||(o[8]=t=>(0,e.unref)(c).limitHeightColor=t),onChange:o[9]||(o[9]=e=>y("limitHeightColor"))},null,8,["modelValue"])])),_:1},8,["label"])])),_:1}),(0,e.createVNode)(l,null,{default:(0,e.withCtx)((()=>[(0,e.createVNode)(s,{label:(0,e.unref)(g).overHeightColor},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(p,{modelValue:(0,e.unref)(c).overHeightColor,"onUpdate:modelValue":o[10]||(o[10]=t=>(0,e.unref)(c).overHeightColor=t),onChange:o[11]||(o[11]=e=>y("overHeightColor"))},null,8,["modelValue"])])),_:1},8,["label"])])),_:1})])),_:1},8,["label-width"])])),_:1},8,["title"])])),_:1},8,["model-value"]),(0,e.createElementVNode)("div",m,[(0,e.createVNode)(w,{onClick:o[12]||(o[12]=(0,e.withModifiers)((e=>x()),["stop"])),title:(0,e.unref)(g).startAnalysis,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(g).startAnalysis),1)])),_:1},8,["title"]),(0,e.createVNode)(w,{onClick:o[13]||(o[13]=(0,e.withModifiers)((e=>b()),["stop"])),title:(0,e.unref)(g).clearResult},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(g).clearResult),1)])),_:1},8,["title"])])])],2)}}}),c=n(7997),p=n.n(c);g.install=(e,t)=>{p()(e,t),e.component(g.name,g)}}(),r}()}));