@kq_npm/client3d_webgl_vue
Version:
KQGIS Client3D for Vue.js
1 lines • 17.2 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/_utils/util"),require("@kq_npm/client_common_vue/init.js")):"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/_utils/util","@kq_npm/client_common_vue/init.js"],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/_utils/util"),require("@kq_npm/client_common_vue/init.js")):e["@kq_npm/client3d_webgl_vue"]=t(e.Vue,e["@kq_npm/client_common_vue/_utils/gis-utils"],e["@kq_npm/client_common_vue/_utils/util"],e["@kq_npm/client_common_vue/init.js"])}(this,(function(e,t,i,n){return function(){"use strict";var a={2573:function(e,t,i){i.d(t,{Z:function(){return n}});class n{_viewer=null;_light=null;_lightModel=null;_lightModelDs=null;_drawManager=null;_options=null;_lightList=[];constructor(e,t){this._options=t,this._viewer=e._viewer,this._drawManager=e._drawManager,this._drawHandler=this._drawManager._drawHandler.drawHandler,this._lightModelDs=new Cesium.CustomDataSource("LightModel"),this._viewer.dataSources.add(this._lightModelDs);var i=this;i._handler=new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas),i._handler.setInputAction((function(){if(i._drawHandler._shapeObject&&"polyline"===i._drawHandler._shapeObject.type){let e=i._drawHandler._shapeObject.controlPoints;3===e.length&&(i._drawManager.stopDraw(),"parallel"==i._options.mode&&i.addParallelLight(e[0],e[1]))}}),Cesium.ScreenSpaceEventType.LEFT_CLICK)}addLight(){var e=this;this._options&&("point"==this._options.mode||"spot"==this._options.mode?this._drawManager.startDraw("marker",{image:null},((t,{shape:i})=>{if(i.groupName&&"LightDraw"===i.groupName){if(i&&"marker"===i.type){let t=i.position;t&&("point"==e._options.mode?e.addPointLight(t):"spot"==e._options.mode&&e.addSpotLight(t))}e._drawManager&&e._drawManager.clearDrawGroup("LightDraw")}}),"LightDraw"):"parallel"==this._options.mode&&this._drawManager.startDraw("polyline",{clampToGround:!1},null,"LightDraw"))}addPointLight(e){let t=Cesium.Color.fromCssColorString(this._options.color);Cesium.SplitDirection?(this._light=new Cesium.Kq3dPointLight({position:e,showPoint:!1,color:t,cutoffDistance:this._options.distance,decay:this._options.decay,lightIntensity:this._options.intensity}),this._viewer.scene.kq3dLightManager.add(this._light)):Cesium.ImagerySplitDirection&&(this._light=new Cesium.Kq3dPointLight({viewer:this._drawManager._viewer,pointPosition:e,showPoint:!1,color:t,cutoffDistance:this._options.distance,decay:this._options.decay,lightIntensity:this._options.intensity})),this._lightModel=this._lightModelDs.entities.add({show:this._options.showModel,position:e,ellipsoid:{radii:new Cesium.Cartesian3(.3,.3,.3),fill:!0,material:t}}),this._lightList.push(this._light)}addSpotLight(e){let t=Cesium.Color.fromCssColorString(this._options.color),i=[{modelMatrix:Cesium.Transforms.eastNorthUpToFixedFrame(e),offset:new Cesium.Cartesian3,direction:new Cesium.Cartesian3(0,0,-1)}];Cesium.SplitDirection?this._light=new Cesium.Kq3dSpotLightStage({viewer:this._viewer,lights:i,color:t,angle:this._options.angle,cutoffDistance:this._options.distance,decay:this._options.decay,lightIntensity:this._options.intensity}):Cesium.ImagerySplitDirection&&(this._light=new Cesium.Kq3dSpotLight({viewer:this._viewer,lights:i,color:t,angle:this._options.angle,cutoffDistance:this._options.distance,decay:this._options.decay,lightIntensity:this._options.intensity})),this._viewer.effects.add(this._light),this._lightList.push(this._light),this._lightModel=this._lightModelDs.entities.add({show:this._options.showModel,position:e,ellipsoid:{radii:new Cesium.Cartesian3(.3,.3,.3),fill:!0,material:t}})}addParallelLight(e,t){let i=Cesium.Color.fromCssColorString(this._options.color),n=Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(t,e,new Cesium.Cartesian3),new Cesium.Cartesian3);this._light=new Cesium.DirectionalLight({direction:n,color:i,intensity:this._options.intensity}),this._viewer.scene.light=this._light}clear(){this._drawManager.stopDraw(),this._drawManager&&this._drawManager.clearDrawGroup("LightDraw"),this._lightModelDs.entities.removeAll(),this.clearLights(),this._light=null,this._lightModel=null}clearLights(){this._lightList.forEach((e=>{e._postProcessStage?this._viewer.scene.postProcessStages.remove(e._postProcessStage):e&&this._viewer.scene.kq3dLightManager.remove(e)}),this),this._lightList=[],this._viewer.scene.light instanceof Cesium.SunLight||(this._viewer.scene.light=new Cesium.SunLight)}destroy(){this.clear(),this._handler&&this._handler.destroy()}setColor(e){let t=Cesium.Color.fromCssColorString(e);this._light&&(this._light.color=t),this._lightModel&&(this._lightModel.ellipsoid.material=t)}setDistance(e){this._light&&(Cesium.SplitDirection?"spot"===this._options.mode?this._light.cutoffDistance=Number(e):this._light.distance=Number(e):Cesium.ImagerySplitDirection&&(this._light.cutoffDistance=Number(e)))}setDecay(e){this._light&&(this._light.decay=Number(e))}setIntensity(e){this._light&&("parallel"==this._options.mode||Cesium.SplitDirection?this._light.intensity=Number(e):Cesium.ImagerySplitDirection&&(this._light.lightIntensity=Number(e)))}showModel(e){this._lightModel&&(this._lightModel.show=e)}showAngle(e){this._light&&(this._light.angle=Number(e))}}},348:function(e){e.exports=require("@kq_npm/client_icons_vue")},7080:function(e){e.exports=require("vue-i18n/dist/vue-i18n.cjs.js")},7135:function(e){e.exports=t},3458:function(e){e.exports=i},7997:function(e){e.exports=n},1895:function(t){t.exports=e}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return a[e](i,i.exports,s),i.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};return function(){s.r(l),s.d(l,{LightViewModel:function(){return n.Z},default:function(){return u}});var e=s(1895),t=s(7135),i=s(348),n=s(2573),a=s(3458),o=s(7080);const r={class:"kq3d-light-box"},d={class:"kq3d-light-footer"},c={name:"Kq3dLight"};var u=Object.assign(c,{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.IconLighting},isRight:{type:Boolean,default:!0}},setup(s,{expose:l}){const c=s,{proxy:u}=(0,e.getCurrentInstance)();let h=(0,e.ref)(""),m=(0,e.ref)(u.$i18n.global.messages[u.$i18n.global.locale].webgl),p=(0,e.reactive)({collapseValue:c.settingParams&&c.settingParams.collapseValue||(""==(c.settingParams&&c.settingParams.collapseValue)?"":"setting"),mode:c.settingParams&&c.settingParams.mode||"point",color:c.settingParams&&c.settingParams.color||"#fff",distance:c.settingParams&&c.settingParams.distance||200,minDistance:c.settingParams&&c.settingParams.minDistance||1,maxDistance:c.settingParams&&c.settingParams.maxDistance||1e3,decay:c.settingParams&&c.settingParams.decay||.1,minDecay:c.settingParams&&c.settingParams.minDecay||0,maxDecay:c.settingParams&&c.settingParams.maxDecay||1,intensity:c.settingParams&&c.settingParams.intensity||5,minIntensity:c.settingParams&&c.settingParams.minIntensity||0,maxIntensity:c.settingParams&&c.settingParams.maxIntensity||20,angle:c.settingParams&&c.settingParams.angle||80,minAngle:c.settingParams&&c.settingParams.minAngle||0,maxAngle:c.settingParams&&c.settingParams.maxAngle||160,showModel:c.settingParams&&c.settingParams.showModel||!0}),g=null,_=(0,e.ref)(null),f=(0,e.ref)(),w=(0,e.ref)(),{locale:C,messages:y}=(0,o.useI18n)(),v=(0,e.ref)(null);v.value=m.value.light,(0,e.watch)((()=>C.value),((e,t)=>{m.value=y.value[e].webgl,v.value=m.value.light})),(0,e.onMounted)((()=>{(0,a.updatePosition)(_.value,c),(0,e.watch)((()=>c.position),((e,t)=>{(0,a.updatePosition)(_.value,c)})),x(),(0,e.watch)((()=>c.showHeaderTemp),((t,i)=>{(0,e.nextTick)((()=>{x()}))})),h.value=u.$i18n.locale,t.utils.getWebMap(null,(e=>{e&&(g=new n.Z(e,p))}))}));const x=()=>{c.showHeaderTemp&&(f.value=(0,a.createHeaderTemp)(_.value,(0,e.toRefs)(c),w,v))};function V(e){p.mode!==e&&(p.mode=e)}function b(e){switch(e){case"color":g&&g.setColor(p.color);break;case"distance":g&&g.setDistance(p.distance);break;case"decay":g&&g.setDecay(p.decay);break;case"intensity":g&&g.setIntensity(p.intensity);break;case"showModel":g&&g.showModel(p.showModel);break;case"angle":g&&g.showAngle(p.angle)}}function k(){g&&g.addLight()}function D(){g&&g.clear()}return(0,e.onBeforeUnmount)((()=>{g&&g.destroy()})),l({changeMode:V,paramsChanged:b,add:k,clear:D}),(t,n)=>{const a=(0,e.resolveComponent)("kq-button"),o=(0,e.resolveComponent)("kq-row"),l=(0,e.resolveComponent)("kq-color-picker"),c=(0,e.resolveComponent)("kq-form-item"),u=(0,e.resolveComponent)("kq-slider"),g=(0,e.resolveComponent)("kq-col"),C=(0,e.resolveComponent)("kq-input-number"),y=(0,e.resolveComponent)("kq-switch"),v=(0,e.resolveComponent)("kq-form"),x=(0,e.resolveComponent)("kq-collapse-item"),N=(0,e.resolveComponent)("kq-collapse");return(0,e.openBlock)(),(0,e.createElementBlock)("section",{class:(0,e.normalizeClass)(["kq3d-light",{"kq-box-shadow":s.showShadow}]),ref_key:"boxRef",ref:_},[s.showHeaderTemp?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(f)),{key:0,ref_key:"headerTempRef",ref:w},null,512)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",r,[(0,e.createVNode)(o,{gutter:20,class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(a,{icon:(0,e.unref)(i.IconPointLightSource),class:(0,e.normalizeClass)(["kq3d-light-btn","point"===(0,e.unref)(p).mode?"kq3d-light-btn_active":""]),onClick:n[0]||(n[0]=e=>V("point")),title:(0,e.unref)(m).pointLightSource},null,8,["icon","class","title"]),(0,e.createVNode)(a,{icon:(0,e.unref)(i.IconSpotlight),class:(0,e.normalizeClass)(["kq3d-light-btn","spot"===(0,e.unref)(p).mode?"kq3d-light-btn_active":""]),onClick:n[1]||(n[1]=e=>V("spot")),title:(0,e.unref)(m).spotlight},null,8,["icon","class","title"]),(0,e.createVNode)(a,{icon:(0,e.unref)(i.IconParallelLight),class:(0,e.normalizeClass)(["kq3d-light-btn","parallel"===(0,e.unref)(p).mode?"kq3d-light-btn_active":""]),onClick:n[2]||(n[2]=e=>V("parallel")),title:(0,e.unref)(m).parallelLight},null,8,["icon","class","title"])])),_:1}),(0,e.createVNode)(o,{class:"kq3d-light-tip"},{default:(0,e.withCtx)((()=>[(0,e.createElementVNode)("p",null,(0,e.toDisplayString)((0,e.unref)(m).lightTips),1)])),_:1}),(0,e.createVNode)(N,{"model-value":(0,e.unref)(p).collapseValue,class:"kq3d-light-collapse"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(x,{title:(0,e.unref)(m).analysisSettings,name:"setting"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(v,{"label-width":"zh"===(0,e.unref)(h)?"110px":"120px","label-position":"left"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).lightColor},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(l,{modelValue:(0,e.unref)(p).color,"onUpdate:modelValue":n[3]||(n[3]=t=>(0,e.unref)(p).color=t),onChange:n[4]||(n[4]=e=>b("color"))},null,8,["modelValue"])])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.withDirectives)((0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).spreadDistance},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(g,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(u,{modelValue:(0,e.unref)(p).distance,"onUpdate:modelValue":n[5]||(n[5]=t=>(0,e.unref)(p).distance=t),step:1,min:(0,e.unref)(p).minDistance,max:(0,e.unref)(p).maxDistance,onChange:n[6]||(n[6]=e=>b("distance"))},null,8,["modelValue","min","max"])])),_:1}),(0,e.createVNode)(g,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(C,{modelValue:(0,e.unref)(p).distance,"onUpdate:modelValue":n[7]||(n[7]=t=>(0,e.unref)(p).distance=t),step:1,min:(0,e.unref)(p).minDistance,max:(0,e.unref)(p).maxDistance,"controls-position":"right",onChange:n[8]||(n[8]=e=>b("distance"))},null,8,["modelValue","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1},512),[[e.vShow,"point"===(0,e.unref)(p).mode||"spot"===(0,e.unref)(p).mode]]),(0,e.withDirectives)((0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).angle+"(°)"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(g,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(u,{modelValue:(0,e.unref)(p).angle,"onUpdate:modelValue":n[9]||(n[9]=t=>(0,e.unref)(p).angle=t),step:1,min:(0,e.unref)(p).minAngle,max:(0,e.unref)(p).maxAngle,onChange:n[10]||(n[10]=e=>b("angle"))},null,8,["modelValue","min","max"])])),_:1}),(0,e.createVNode)(g,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(C,{modelValue:(0,e.unref)(p).angle,"onUpdate:modelValue":n[11]||(n[11]=t=>(0,e.unref)(p).angle=t),step:1,min:(0,e.unref)(p).minAngle,max:(0,e.unref)(p).maxAngle,"controls-position":"right",onChange:n[12]||(n[12]=e=>b("angle"))},null,8,["modelValue","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1},512),[[e.vShow,"spot"===(0,e.unref)(p).mode]]),(0,e.withDirectives)((0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).decayFactor},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(g,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(u,{modelValue:(0,e.unref)(p).decay,"onUpdate:modelValue":n[13]||(n[13]=t=>(0,e.unref)(p).decay=t),step:.01,min:(0,e.unref)(p).minDecay,max:(0,e.unref)(p).maxDecay,onChange:n[14]||(n[14]=e=>b("decay"))},null,8,["modelValue","step","min","max"])])),_:1}),(0,e.createVNode)(g,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(C,{modelValue:(0,e.unref)(p).decay,"onUpdate:modelValue":n[15]||(n[15]=t=>(0,e.unref)(p).decay=t),step:.01,min:(0,e.unref)(p).minDecay,max:(0,e.unref)(p).maxDecay,"controls-position":"right",onChange:n[16]||(n[16]=e=>b("decay"))},null,8,["modelValue","step","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1},512),[[e.vShow,"point"===(0,e.unref)(p).mode||"spot"===(0,e.unref)(p).mode]]),(0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).lightStrength},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(g,{span:16},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(u,{modelValue:(0,e.unref)(p).intensity,"onUpdate:modelValue":n[17]||(n[17]=t=>(0,e.unref)(p).intensity=t),step:.1,min:(0,e.unref)(p).minIntensity,max:(0,e.unref)(p).maxIntensity,onChange:n[18]||(n[18]=e=>b("intensity"))},null,8,["modelValue","step","min","max"])])),_:1}),(0,e.createVNode)(g,{span:8},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(C,{modelValue:(0,e.unref)(p).intensity,"onUpdate:modelValue":n[19]||(n[19]=t=>(0,e.unref)(p).intensity=t),step:.1,min:(0,e.unref)(p).minIntensity,max:(0,e.unref)(p).maxIntensity,"controls-position":"right",onChange:n[20]||(n[20]=e=>b("intensity"))},null,8,["modelValue","step","min","max"])])),_:1})])),_:1})])),_:1},8,["label"])])),_:1}),(0,e.withDirectives)((0,e.createVNode)(o,{class:"rowclass"},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(c,{label:(0,e.unref)(m).lightModel},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(o,{style:{display:"flex"}},{default:(0,e.withCtx)((()=>[(0,e.createVNode)(y,{modelValue:(0,e.unref)(p).showModel,"onUpdate:modelValue":n[21]||(n[21]=t=>(0,e.unref)(p).showModel=t),"controls-position":"left",onChange:n[22]||(n[22]=e=>b("showModel"))},null,8,["modelValue"])])),_:1})])),_:1},8,["label"])])),_:1},512),[[e.vShow,"point"===(0,e.unref)(p).mode||"spot"===(0,e.unref)(p).mode]])])),_:1},8,["label-width"])])),_:1},8,["title"])])),_:1},8,["model-value"]),(0,e.createElementVNode)("div",d,[(0,e.createVNode)(a,{onClick:n[23]||(n[23]=(0,e.withModifiers)((e=>k()),["stop"])),title:(0,e.unref)(m).add,type:"primary"},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(m).add),1)])),_:1},8,["title"]),(0,e.createVNode)(a,{onClick:n[24]||(n[24]=(0,e.withModifiers)((e=>D()),["stop"])),title:(0,e.unref)(m).clear},{default:(0,e.withCtx)((()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(m).clear),1)])),_:1},8,["title"])])])],2)}}}),h=s(7997),m=s.n(h);u.install=(e,t)=>{m()(e,t),e.component(u.name,u)}}(),l}()}));