UNPKG

@kq_npm/client3d_webgl_vue

Version:

KQGIS Client3D for Vue.js

1 lines 9.07 kB
!function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(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"],i):"object"==typeof exports?exports["@kq_npm/client3d_webgl_vue"]=i(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"]=i(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,i,t,n){return function(){"use strict";var a={1705:function(e,i,t){var n=t(9389),a=t(7997),r=t.n(a);n.ElMessage.install=(e,i)=>{r()(e,i),e.component("KqMessage",n.ElMessage)},i.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=i},3458:function(e){e.exports=n},7997:function(e){e.exports=t},1895:function(i){i.exports=e}},r={};function o(e){var i=r[e];if(void 0!==i)return i.exports;var t=r[e]={exports:{}};return a[e](t,t.exports,o),t.exports}o.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(i,{a:i}),i},o.d=function(e,i){for(var t in i)o.o(i,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:i[t]})},o.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},o.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(){o.r(s),o.d(s,{TerrainProfileAnalysisViewModel:function(){return n},default:function(){return d}});var e=o(1895),i=o(7135),t=o(1705);class n{_viewer=null;_terrainSlopeAnalyse=null;_analyseHeight=1e3;_drawManager=null;minHeight=null;maxHeight=null;distance=null;divPointArr=[];languageDta={};_language={};coordDivpoint=null;constructor(e,i){this._language=e._language,this._viewer=e._viewer,this._drawManager=e._drawManager,this._analyseHeight=i.analyseHeight,this._viewer.scene.logarithmicDepthBuffer=!1,this._viewer.scene.pickTranslucentDepth=!0,this._viewer.resolutionScale=1.2,this._viewer.postProcessStages.fxaa.enabled=!0,this._viewer.scene.globe.depthTestAgainstTerrain=!0,this._terrainSlopeAnalyse=new window.Cesium.Kq3dSlope2({viewer:this._viewer,height:this._analyseHeight});var t=this;this._terrainSlopeAnalyse.analyseEndEvent.addEventListener((function(e){t.minHeight=e.minHeight,t.maxHeight=e.maxHeight,t.distance=e.distance;var i=e.minHeightPoint,n=e.maxHeightPoint;i.height+=t._analyseHeight,n.height+=t._analyseHeight,t.createInfoDivPoint(t.languageDta.minHeight,t.minHeight.toFixed(3),window.Cesium.Cartographic.toCartesian(i)),t.createInfoDivPoint(t.languageDta.maxHeight,t.maxHeight.toFixed(3),window.Cesium.Cartographic.toCartesian(n))})),new window.Cesium.ScreenSpaceEventHandler(this._viewer.canvas).setInputAction((function(e){var i=t._viewer.scene.pickPosition(e.endPosition),n=t._viewer.scene.pick(e.endPosition);if(n&&n.id instanceof window.Cesium.Entity&&n.id.wall){var a=window.Cesium.Cartographic.fromCartesian(i),r=window.Cesium.sampleTerrainMostDetailed(t._viewer.terrainProvider,[a]);window.Cesium.when(r,(function(e){var i=window.Cesium.Math.toDegrees(e[0].longitude),n=window.Cesium.Math.toDegrees(e[0].latitude),a=e[0].height;t.createInfoDivPoint2(i.toFixed(5),n.toFixed(5),a.toFixed(3),t.maxHeight.toFixed(3),t.distance.toFixed(3),window.Cesium.Cartesian3.fromDegrees(i,n,a+t._analyseHeight))}))}else t.coordDivpoint&&(t.coordDivpoint.destroy(),t.coordDivpoint=null)}),window.Cesium.ScreenSpaceEventType.MOUSE_MOVE)}changeLanguage(e){this.languageDta=e,this.clear()}createInfoDivPoint2(e,i,t,n,a,r){let o=`<div class="coord">\n <div class="text">\n <div>${this.languageDta.longitude}${e} °</div>\n <div>${this.languageDta.latitude}${i} °</div>\n <div>${this.languageDta.terrainHeight}${t}m</div>\n <div>${this.languageDta.maxHeight}${n}m</div>\n <div>${this.languageDta.totalDistance}${a}m</div>\n </div>\n <div class="pole"></div>\n <div class="ball"></div>\n </div>`;this.coordDivpoint&&(this.coordDivpoint.destroy(),this.coordDivpoint=null),this.coordDivpoint=new window.Cesium.Kq3dHtmlTag(this._viewer,{html:o,position:r,anchor:[-90,-180],noEvent:!0}),this.divPointArr.push(this.coordDivpoint)}createInfoDivPoint(e,i,t){let n=`<div class="height">\n <div class="text">${e}${i}m</div>\n <div class="pole"> </div>\n <div class="ball"></div>\n </div>`,a=new window.Cesium.Kq3dHtmlTag(this._viewer,{html:n,position:t,anchor:[-97,-118],noEvent:!0});return this.divPointArr.push(a),a}start(){var e=this;this._viewer.terrainProvider.availability?this._viewer.terrainProvider&&!this._viewer.terrainProvider._heightmapStructure?(this.clear(),this._drawManager.startDraw("polyline",{clampToGround:!0},((i,{shape:t})=>{t.groupName&&"TerrainProfileAnalysisDraw"===t.groupName&&(t&&(e._terrainSlopeAnalyse.positions=t._controlPoints),e._drawManager&&e._drawManager.clearDrawGroup("TerrainProfileAnalysisDraw"))}),"TerrainProfileAnalysisDraw")):(0,t.Z)({message:this._language.stkTerrainAnalysisTips,type:"warning"}):(0,t.Z)({message:this._language.terrainAnalysisTips,type:"warning"})}clear(){this._drawManager&&this._drawManager.stopDraw(),this._terrainSlopeAnalyse&&this._terrainSlopeAnalyse.clear();for(let i=0;i<this.divPointArr.length;i++){var e=this.divPointArr[i];e&&e.destroy()}this.divPointArr=[]}destroy(){this.clear()}}var a=o(348),r=o(3458),l=o(7080);const u={class:"kq3d-terrain-profile-analysis-footer"},c={name:"Kq3dTerrainProfileAnalysis"};var d=Object.assign(c,{props:{mapTarget:String,settingParams:{control:"object",description:"设置参数"},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.IconProfileAnalysis},isRight:{type:Boolean,default:!0}},setup(t,{expose:a}){const o=t,{proxy:s}=(0,e.getCurrentInstance)();let c=(0,e.ref)(s.$i18n.global.messages[s.$i18n.global.locale].webgl),d=(0,e.ref)(""),p=null,v=(0,e.ref)(),g=(0,e.ref)(null),h=(0,e.ref)(),m=(0,e.ref)(),_=(0,e.reactive)({analyseHeight:o.settingParams&&o.settingParams.analyseHeight||1e3}),{locale:f,messages:w}=(0,l.useI18n)(),y=(0,e.ref)(null);y.value=c.value.terrainProfileName,(0,e.watch)((()=>f.value),((e,i)=>{c.value=w.value[e].webgl,y.value=c.value.terrainProfileName,p&&p.changeLanguage(c.value)})),(0,e.onMounted)((()=>{(0,r.updatePosition)(g.value,o),(0,e.watch)((()=>o.position),((e,i)=>{(0,r.updatePosition)(g.value,o)})),x(),(0,e.watch)((()=>o.showHeaderTemp),((i,t)=>{(0,e.nextTick)((()=>{x()}))})),d.value=s.$i18n.locale,i.utils.getWebMap(null,(e=>{e&&(p=new n(e,{analyseHeight:_.analyseHeight}),p.languageDta=c.value)}))}));const x=()=>{o.showHeaderTemp&&(h.value=(0,r.createHeaderTemp)(g.value,(0,e.toRefs)(o),m,y))};function D(){q(),p&&p.start()}function q(){p&&p.clear()}return(0,e.onBeforeUnmount)((()=>{p&&p.destroy()})),a({startAnalysis:D,clearResult:q,clear:function(){p&&p.clear()}}),(i,n)=>{const a=(0,e.resolveComponent)("kq-row"),r=(0,e.resolveComponent)("kq-button");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-terrain-profile-analysis",{"kq-box-shadow":t.showShadow}]),ref_key:"boxRef",ref:g},[t.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(h)),{key:0,ref_key:"headerTempRef",ref:m},null,512)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",{class:"kq3d-terrain-profile-analysis-box",ref_key:"ref_box",ref:v},[(0,e.createVNode)(a,{class:"kq3d-terrain-profile-analysis-tip"},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("p",null,(0,e.toDisplayString)((0,e.unref)(c).profileTips),1)])),_:1}),(0,e.createElementVNode)("div",u,[(0,e.createVNode)(r,{onClick:n[0]||(n[0]=(0,e.withModifiers)((e=>D()),["stop"])),title:(0,e.unref)(c).startAnalysis,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c).startAnalysis),1)])),_:1},8,["title"]),(0,e.createVNode)(r,{onClick:n[1]||(n[1]=(0,e.withModifiers)((e=>q()),["stop"])),title:(0,e.unref)(c).clearResult},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c).clearResult),1)])),_:1},8,["title"])])],512)],2)}}}),p=o(7997),v=o.n(p);d.install=(e,i)=>{v()(e,i),e.component(d.name,d)}}(),s}()}));