您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

dc.plugins.min.js 68KB

1
  1. !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=10)}([function(e,t,n){"use strict";n(1);var r=n(3);n.d(t,"PolylineTrailMaterialProperty",(function(){return r.a}));var o=n(4);n.d(t,"PolylineFlowMaterialProperty",(function(){return o.a}));var i=n(5);n.d(t,"PolylineEmissionMaterialProperty",(function(){return i.a}));var a=n(6);n.d(t,"WaterMaterialProperty",(function(){return a.a}));var l=n(7);n.d(t,"RimLightingMaterialProperty",(function(){return l.a}));var c=n(8);n.d(t,"CircleFadeMaterialProperty",(function(){return c.a}));var s=n(9);n.d(t,"CircleWaveMaterialProperty",(function(){return s.a}))},function(e,t,n){var r=DC.Namespace.Cesium,o=n(12),i=n(13),a=n(14),l=n(15),c=n(16),s=n(17),u=n(2),f=n(2),p=n(18),m=n(19),d=n(20),y=n(21),v=n(22),h=n(23),_=n(24),g=n(25),x=n(26),C=n(27),b=n(28);r.ShaderSource._czmBuiltinsAndUniforms.czm_cellular=l,r.ShaderSource._czmBuiltinsAndUniforms.czm_snoise=c,r.Material.PolylineEmissionType="PolylineEmission",r.Material._materialCache.addMaterial(r.Material.PolylineEmissionType,{fabric:{type:r.Material.PolylineEmissionType,uniforms:{color:new r.Color(1,0,0,.7)},source:o},translucent:function(e){return!0}}),r.Material.PolylineFlowType="PolylineFlow",r.Material._materialCache.addMaterial(r.Material.PolylineFlowType,{fabric:{type:r.Material.PolylineFlowType,uniforms:{color:new r.Color(1,0,0,.7),duration:45},source:i},translucent:function(e){return!0}}),r.Material.PolylineTrailType="PolylineTrail",r.Material._materialCache.addMaterial(r.Material.PolylineTrailType,{fabric:{type:r.Material.PolylineTrailType,uniforms:{color:new r.Color(1,0,0,.7),image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAAgCAYAAABkS8DlAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADSSURBVHja7NYxEoUgDEDBYM39z2qHtZViwMFxt1FJnF/98ZXWWkRE7LWWOOt5Lsm9q/vsbu9Zdtazs/J19O5bs1XPZrwze/6V31zxbOZs1n905Wt2p3f25GzE7ohv6q3nLQCA3xEAACAAAAABAAAIAABAAAAAAgAAEAAAgAAAAAQAACAAAAABAAAIAABAAAAAAgAAEAAAgAAAAAQAACAAAEAAAAACAAAQAACAAAAABAAAIAAAAAEAAAgAAEAAAAACAAAQAACAAAAA8g4AAAD//wMA4WEFTJOT5UIAAAAASUVORK5CYII=",duration:45},source:a},translucent:function(e){return!0}}),r.Material.AsphaltType="Asphalt",r.Material._materialCache.addMaterial(r.Material.AsphaltType,{fabric:{type:r.Material.AsphaltType,uniforms:{asphaltColor:new r.Color(.15,.15,.15,1),bumpSize:.02,roughness:.2},source:s},translucent:function(e){return e.uniforms.asphaltColor.alpha<1}}),r.Material.BlobType="Blob",r.Material._materialCache.addMaterial(r.Material.BlobType,{fabric:{type:r.Material.BlobType,uniforms:{lightColor:new r.Color(1,1,1,.5),darkColor:new r.Color(0,0,1,.5),frequency:10},source:u},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),r.Material.BrickType="Brick",r.Material._materialCache.addMaterial(r.Material.BrickType,{fabric:{type:r.Material.BrickType,uniforms:{brickColor:new r.Color(.6,.3,.1,1),mortarColor:new r.Color(.8,.8,.7,1),brickSize:new r.Cartesian2(.3,.15),brickPct:new r.Cartesian2(.9,.85),brickRoughness:.2,mortarRoughness:.1},source:f},translucent:function(e){var t=e.uniforms;return t.brickColor.alpha<1||t.mortarColor.alpha<1}}),r.Material.CementType="Cement",r.Material._materialCache.addMaterial(r.Material.CementType,{fabric:{type:r.Material.CementType,uniforms:{cementColor:new r.Color(.95,.95,.85,1),grainScale:.01,roughness:.3},source:p},translucent:function(e){return e.uniforms.cementColor.alpha<1}}),r.Material.ErosionType="Erosion",r.Material._materialCache.addMaterial(r.Material.ErosionType,{fabric:{type:r.Material.ErosionType,uniforms:{color:new r.Color(1,0,0,.5),time:1},source:m},translucent:function(e){return e.uniforms.color.alpha<1}}),r.Material.FacetType="Facet",r.Material._materialCache.addMaterial(r.Material.FacetType,{fabric:{type:r.Material.FacetType,uniforms:{lightColor:new r.Color(.25,.25,.25,.75),darkColor:new r.Color(.75,.75,.75,.75),frequency:10},source:d},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),r.Material.FresnelType="Fresnel",r.Material._materialCache.addMaterial(r.Material.FresnelType,{fabric:{type:r.Material.FresnelType,materials:{reflection:{type:r.Material.ReflectionType},refraction:{type:r.Material.RefractionType}},source:y},translucent:!1}),r.Material.GrassType="Grass",r.Material._materialCache.addMaterial(r.Material.GrassType,{fabric:{type:r.Material.GrassType,uniforms:{grassColor:new r.Color(.25,.4,.1,1),dirtColor:new r.Color(.1,.1,.1,1),patchiness:1.5},source:v},translucent:function(e){var t=e.uniforms;return t.grassColor.alpha<1||t.dirtColor.alpha<1}}),r.Material.ReflectionType="Reflection",r.Material._materialCache.addMaterial(r.Material.ReflectionType,{fabric:{type:r.Material.ReflectionType,uniforms:{cubeMap:r.Material.DefaultCubeMapId,channels:"rgb"},source:h},translucent:!1}),r.Material.RefractionType="Refraction",r.Material._materialCache.addMaterial(r.Material.RefractionType,{fabric:{type:r.Material.RefractionType,uniforms:{cubeMap:r.Material.DefaultCubeMapId,channels:"rgb",indexOfRefractionRatio:.9},source:_},translucent:!1}),r.Material.TyeDyeType="TieDye",r.Material._materialCache.addMaterial(r.Material.TyeDyeType,{fabric:{type:r.Material.TyeDyeType,uniforms:{lightColor:new r.Color(1,1,0,.75),darkColor:new r.Color(1,0,0,.75),frequency:5},source:g},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),r.Material.WoodType="Wood",r.Material._materialCache.addMaterial(r.Material.WoodType,{fabric:{type:r.Material.WoodType,uniforms:{lightWoodColor:new r.Color(.6,.3,.1,1),darkWoodColor:new r.Color(.4,.2,.07,1),ringFrequency:3,noiseScale:new r.Cartesian2(.7,.5),grainFrequency:27},source:x},translucent:function(e){var t=e.uniforms;return t.lightWoodColor.alpha<1||t.darkWoodColor.alpha<1}}),r.Material.CircleFadeType="CircleFade",r.Material._materialCache.addMaterial(r.Material.CircleFadeType,{fabric:{type:r.Material.CircleFadeType,uniforms:{color:new r.Color(1,0,0,.7),duration:45},source:C},translucent:function(e){return!0}}),r.Material.CircleWaveType="CircleWave",r.Material._materialCache.addMaterial(r.Material.CircleWaveType,{fabric:{type:r.Material.CircleWaveType,uniforms:{color:new r.Color(1,0,0,.7),duration:45,count:1,gradient:.1},source:b},translucent:function(e){return!0}})},function(e,t){e.exports="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights\n vec2 F = czm_cellular(materialInput.st * frequency);\n float t = 1.0 - F.x * F.x;\n\n vec4 color = mix(lightColor, darkColor, t);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this._duration=void 0,this._durationSubscription=void 0,this.color=o.defaultValue(t.color,o.Color.fromBytes(0,255,255,255)),this.duration=o.defaultValue(t.duration,45)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.PolylineTrailType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrClonedDefault(this._color,e,o.Color.WHITE,t.color),t.duration=this._duration,t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color"),duration:o.createPropertyDescriptor("duration")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this.color=o.defaultValue(t.color,o.Color.fromBytes(0,255,255,255)),this._duration=void 0,this._durationSubscription=void 0,this.duration=o.defaultValue(t.duration,45)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.PolylineFlowType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrClonedDefault(this._color,e,o.Color.WHITE,t.color),t.duration=this._duration,t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color"),duration:o.createPropertyDescriptor("duration")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this.color=o.defaultValue(t.color,new o.Color(1,0,0,.7))}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.PolylineEmissionType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrUndefined(this._color,e),t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._baseWaterColor=void 0,this._baseWaterColorSubscription=void 0,this.baseWaterColor=o.defaultValue(t.baseWaterColor,new o.Color(.2,.3,.6,1)),this._blendColor=void 0,this._blendColorSubscription=void 0,this.blendColor=o.defaultValue(t.blendColor,new o.Color(0,1,.699,1)),this._specularMap=void 0,this._specularMapSubscription=void 0,this.specularMap=o.defaultValue(t.specularMap,o.Material.DefaultImageId),this._normalMap=void 0,this._normalMapSubscription=void 0,this.normalMap=o.defaultValue(t.normalMap,o.Material.DefaultImageId),this.frequency=o.defaultValue(t.frequency,10),this.animationSpeed=o.defaultValue(t.animationSpeed,.01),this.amplitude=o.defaultValue(t.amplitude,1),this.specularIntensity=o.defaultValue(t.specularIntensity,.5),this.fadeFactor=o.defaultValue(t.fadeFactor,1)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.WaterType}},{key:"getValue",value:function(e,t){return t||(t={}),t.baseWaterColor=o.Property.getValueOrUndefined(this._baseWaterColor,e),t.blendColor=o.Property.getValueOrUndefined(this._blendColor,e),t.specularMap=o.Property.getValueOrUndefined(this._specularMap,e),t.normalMap=o.Property.getValueOrUndefined(this._normalMap,e),t.frequency=this.frequency,t.animationSpeed=this.animationSpeed,t.amplitude=this.amplitude,t.specularIntensity=this.specularIntensity,t.fadeFactor=this.fadeFactor,t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._baseWaterColor,t._baseWaterColor)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{baseWaterColor:o.createPropertyDescriptor("baseWaterColor"),blendColor:o.createPropertyDescriptor("blendColor"),specularMap:o.createPropertyDescriptor("specularMap"),normalMap:o.createPropertyDescriptor("normalMap")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this.color=o.defaultValue(t.color,new o.Color(1,0,0,.7)),this._rimColor=void 0,this._rimColorSubscription=void 0,this.rimColor=o.defaultValue(t.rimColor,new o.Color(1,1,1,.4)),this._width=void 0,this._widthSubscription=void 0,this.width=o.defaultValue(t.width,.3)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.RimLightingType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrUndefined(this._color,e),t.rimColor=o.Property.getValueOrUndefined(this._rimColor,e),t.width=o.Property.getValueOrUndefined(this._width,e),t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color"),rimColor:o.createPropertyDescriptor("rimColor"),width:o.createPropertyDescriptor("width")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this._duration=void 0,this._durationSubscription=void 0,this.color=o.defaultValue(t.color,o.Color.fromBytes(0,255,255,255)),this.duration=o.defaultValue(t.duration,45)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.CircleFadeType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrUndefined(this._color,e),t.duration=this._duration,t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color"),duration:o.createPropertyDescriptor("duration")}),t.a=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=DC.Namespace.Cesium,i=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||{},this._definitionChanged=new o.Event,this._color=void 0,this._colorSubscription=void 0,this._duration=void 0,this._durationSubscription=void 0,this.color=o.defaultValue(t.color,o.Color.fromBytes(0,255,255,255)),this.duration=o.defaultValue(t.duration,45),this.count=Math.max(o.defaultValue(t.count,2),1),this.gradient=o.defaultValue(t.gradient,.1),this.gradient<0?this.gradient=0:this.gradient>1&&(this.gradient=1)}var t,n,i;return t=e,(n=[{key:"getType",value:function(e){return o.Material.CircleWaveType}},{key:"getValue",value:function(e,t){return t||(t={}),t.color=o.Property.getValueOrUndefined(this._color,e),t.duration=this._duration,t.count=this.count,t.gradient=this.gradient,t}},{key:"equals",value:function(t){return this===t||t instanceof e&&o.Property.equals(this._color,t._color)}},{key:"isConstant",get:function(){return!1}},{key:"definitionChanged",get:function(){return this._definitionChanged}}])&&r(t.prototype,n),i&&r(t,i),e}();Object.defineProperties(i.prototype,{color:o.createPropertyDescriptor("color"),duration:o.createPropertyDescriptor("duration")}),t.a=i},function(e,t,n){e.exports=n(11)},function(e,t,n){var r=function(e){if(!e||!e.init)throw new Error("Plot: Missing DC Base");if(!e.ready)throw new Error("Plot: Missing DC Core");window.mapv&&(e.Namespace.mapv=window.mapv,delete window.mapv),e.init((function(){n(34)}))};"undefined"!=typeof window&&window.DC&&r(DC),e.exports={install:r}},function(e,t){e.exports="uniform vec4 color;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec4 fragColor = color;\n fragColor = czm_gammaCorrect(fragColor);\n material.emission = fragColor.rgb;\n material.diffuse = fragColor.rgb;\n material.alpha = color.a;\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 color;\nuniform float duration;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec2 st = materialInput.st;\n float t =fract(czm_frameNumber / duration);\n t *= 1.03;\n float alpha = smoothstep(t- 0.03, t, st.s) * step(-t, -st.s);\n alpha += 0.1;\n material.diffuse = color.rgb;\n material.alpha = alpha;\n return material;\n}\n"},function(e,t){e.exports=" uniform sampler2D image;\n uniform float duration;\n uniform vec4 color;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec2 st = materialInput.st;\n float time = fract(czm_frameNumber / duration);\n vec4 colorImage = texture2D(image, vec2(fract(st.s - time), st.t));\n material.alpha = colorImage.a * color.a;\n material.diffuse = (colorImage.rgb + color.rgb)/2.0;\n return material;\n}\n"},function(e,t){e.exports='/**\n * @license\n * Cellular noise ("Worley noise") in 2D in GLSL.\n * Copyright (c) Stefan Gustavson 2011-04-19. All rights reserved.\n * This code is released under the conditions of the MIT license.\n * See LICENSE file for details.\n */\n\n//#ifdef GL_OES_standard_derivatives\n// #extension GL_OES_standard_derivatives : enable\n//#endif\n//\n//float aastep (float threshold , float value)\n//{\n// float afwidth = 0.7 * length ( vec2 ( dFdx ( value ), dFdy ( value )));\n// return smoothstep ( threshold - afwidth , threshold + afwidth , value );\n//}\n\n// Permutation polynomial: (34x^2 + x) mod 289\nvec3 _czm_permute289(vec3 x)\n{\n return mod((34.0 * x + 1.0) * x, 289.0);\n}\n\n/**\n * DOC_TBA\n *\n * Implemented by Stefan Gustavson, and distributed under the MIT License. {@link http://openglinsights.git.sourceforge.net/git/gitweb.cgi?p=openglinsights/openglinsights;a=tree;f=proceduraltextures}\n *\n * @name czm_cellular\n * @glslFunction\n *\n * @see Stefan Gustavson\'s chapter, <i>Procedural Textures in GLSL</i>, in <a href="http://www.openglinsights.com/">OpenGL Insights</a>.\n */\nvec2 czm_cellular(vec2 P)\n// Cellular noise, returning F1 and F2 in a vec2.\n// Standard 3x3 search window for good F1 and F2 values\n{\n#define K 0.142857142857 // 1/7\n#define Ko 0.428571428571 // 3/7\n#define jitter 1.0 // Less gives more regular pattern\n vec2 Pi = mod(floor(P), 289.0);\n vec2 Pf = fract(P);\n vec3 oi = vec3(-1.0, 0.0, 1.0);\n vec3 of = vec3(-0.5, 0.5, 1.5);\n vec3 px = _czm_permute289(Pi.x + oi);\n vec3 p = _czm_permute289(px.x + Pi.y + oi); // p11, p12, p13\n vec3 ox = fract(p*K) - Ko;\n vec3 oy = mod(floor(p*K),7.0)*K - Ko;\n vec3 dx = Pf.x + 0.5 + jitter*ox;\n vec3 dy = Pf.y - of + jitter*oy;\n vec3 d1 = dx * dx + dy * dy; // d11, d12 and d13, squared\n p = _czm_permute289(px.y + Pi.y + oi); // p21, p22, p23\n ox = fract(p*K) - Ko;\n oy = mod(floor(p*K),7.0)*K - Ko;\n dx = Pf.x - 0.5 + jitter*ox;\n dy = Pf.y - of + jitter*oy;\n vec3 d2 = dx * dx + dy * dy; // d21, d22 and d23, squared\n p = _czm_permute289(px.z + Pi.y + oi); // p31, p32, p33\n ox = fract(p*K) - Ko;\n oy = mod(floor(p*K),7.0)*K - Ko;\n dx = Pf.x - 1.5 + jitter*ox;\n dy = Pf.y - of + jitter*oy;\n vec3 d3 = dx * dx + dy * dy; // d31, d32 and d33, squared\n // Sort out the two smallest distances (F1, F2)\n vec3 d1a = min(d1, d2);\n d2 = max(d1, d2); // Swap to keep candidates for F2\n d2 = min(d2, d3); // neither F1 nor F2 are now in d3\n d1 = min(d1a, d2); // F1 is now in d1\n d2 = max(d1a, d2); // Swap to keep candidates for F2\n d1.xy = (d1.x < d1.y) ? d1.xy : d1.yx; // Swap if smaller\n d1.xz = (d1.x < d1.z) ? d1.xz : d1.zx; // F1 is in d1.x\n d1.yz = min(d1.yz, d2.yz); // F2 is now not in d2.yz\n d1.y = min(d1.y, d1.z); // nor in d1.z\n d1.y = min(d1.y, d2.x); // F2 is in d1.y, we\'re done.\n return sqrt(d1.xy);\n}\n'},function(e,t){e.exports='/**\n * @license\n * Description : Array and textureless GLSL 2D/3D/4D simplex\n * noise functions.\n * Author : Ian McEwan, Ashima Arts.\n * Maintainer : ijm\n * Lastmod : 20110822 (ijm)\n * License : Copyright (C) 2011 Ashima Arts. All rights reserved.\n * Distributed under the MIT License. See LICENSE file.\n * https://github.com/ashima/webgl-noise\n */\n\nvec4 _czm_mod289(vec4 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec3 _czm_mod289(vec3 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec2 _czm_mod289(vec2 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nfloat _czm_mod289(float x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 _czm_permute(vec4 x)\n{\n return _czm_mod289(((x*34.0)+1.0)*x);\n}\n\nvec3 _czm_permute(vec3 x)\n{\n return _czm_mod289(((x*34.0)+1.0)*x);\n}\n\nfloat _czm_permute(float x)\n{\n return _czm_mod289(((x*34.0)+1.0)*x);\n}\n\nvec4 _czm_taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n\nfloat _czm_taylorInvSqrt(float r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n\nvec4 _czm_grad4(float j, vec4 ip)\n{\n const vec4 ones = vec4(1.0, 1.0, 1.0, -1.0);\n vec4 p,s;\n\n p.xyz = floor( fract (vec3(j) * ip.xyz) * 7.0) * ip.z - 1.0;\n p.w = 1.5 - dot(abs(p.xyz), ones.xyz);\n s = vec4(lessThan(p, vec4(0.0)));\n p.xyz = p.xyz + (s.xyz*2.0 - 1.0) * s.www;\n\n return p;\n}\n\n/**\n * DOC_TBA\n *\n * Implemented by Ian McEwan, Ashima Arts, and distributed under the MIT License. {@link https://github.com/ashima/webgl-noise}\n *\n * @name czm_snoise\n * @glslFunction\n *\n * @see <a href="https://github.com/ashima/webgl-noise">https://github.com/ashima/webgl-noise</a>\n * @see Stefan Gustavson\'s paper <a href="http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf">Simplex noise demystified</a>\n */\nfloat czm_snoise(vec2 v)\n{\n const vec4 C = vec4(0.211324865405187, // (3.0-sqrt(3.0))/6.0\n 0.366025403784439, // 0.5*(sqrt(3.0)-1.0)\n -0.577350269189626, // -1.0 + 2.0 * C.x\n 0.024390243902439); // 1.0 / 41.0\n // First corner\n vec2 i = floor(v + dot(v, C.yy) );\n vec2 x0 = v - i + dot(i, C.xx);\n\n // Other corners\n vec2 i1;\n //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0\n //i1.y = 1.0 - i1.x;\n i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n // x0 = x0 - 0.0 + 0.0 * C.xx ;\n // x1 = x0 - i1 + 1.0 * C.xx ;\n // x2 = x0 - 1.0 + 2.0 * C.xx ;\n vec4 x12 = x0.xyxy + C.xxzz;\n x12.xy -= i1;\n\n // Permutations\n i = _czm_mod289(i); // Avoid truncation effects in permutation\n vec3 p = _czm_permute( _czm_permute( i.y + vec3(0.0, i1.y, 1.0 )) + i.x + vec3(0.0, i1.x, 1.0 ));\n\n vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);\n m = m*m ;\n m = m*m ;\n\n // Gradients: 41 points uniformly over a line, mapped onto a diamond.\n // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287)\n vec3 x = 2.0 * fract(p * C.www) - 1.0;\n vec3 h = abs(x) - 0.5;\n vec3 ox = floor(x + 0.5);\n vec3 a0 = x - ox;\n\n // Normalise gradients implicitly by scaling m\n // Approximation of: m *= inversesqrt( a0*a0 + h*h );\n m *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );\n\n // Compute final noise value at P\n vec3 g;\n g.x = a0.x * x0.x + h.x * x0.y;\n g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n return 130.0 * dot(m, g);\n}\n\nfloat czm_snoise(vec3 v)\n{\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n\n // First corner\n vec3 i = floor(v + dot(v, C.yyy) );\n vec3 x0 = v - i + dot(i, C.xxx) ;\n\n // Other corners\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min( g.xyz, l.zxy );\n vec3 i2 = max( g.xyz, l.zxy );\n\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n\n // Permutations\n i = _czm_mod289(i);\n vec4 p = _czm_permute( _czm_permute( _czm_permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\n // Gradients: 7x7 points over a square, mapped onto an octahedron.\n // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)\n\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)\n\n vec4 x = x_ *ns.x + ns.yyyy;\n vec4 y = y_ *ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n\n vec4 b0 = vec4( x.xy, y.xy );\n vec4 b1 = vec4( x.zw, y.zw );\n\n //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\n vec4 s0 = floor(b0)*2.0 + 1.0;\n vec4 s1 = floor(b1)*2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n\n vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\n vec3 p0 = vec3(a0.xy,h.x);\n vec3 p1 = vec3(a0.zw,h.y);\n vec3 p2 = vec3(a1.xy,h.z);\n vec3 p3 = vec3(a1.zw,h.w);\n\n //Normalise gradients\n vec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n\n // Mix final noise value\n vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n m = m * m;\n return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\n dot(p2,x2), dot(p3,x3) ) );\n}\n\nfloat czm_snoise(vec4 v)\n{\n const vec4 C = vec4( 0.138196601125011, // (5 - sqrt(5))/20 G4\n 0.276393202250021, // 2 * G4\n 0.414589803375032, // 3 * G4\n -0.447213595499958); // -1 + 4 * G4\n\n // (sqrt(5) - 1)/4 = F4, used once below\n #define F4 0.309016994374947451\n\n // First corner\n vec4 i = floor(v + dot(v, vec4(F4)) );\n vec4 x0 = v - i + dot(i, C.xxxx);\n\n // Other corners\n\n // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI)\n vec4 i0;\n vec3 isX = step( x0.yzw, x0.xxx );\n vec3 isYZ = step( x0.zww, x0.yyz );\n // i0.x = dot( isX, vec3( 1.0 ) );\n i0.x = isX.x + isX.y + isX.z;\n i0.yzw = 1.0 - isX;\n // i0.y += dot( isYZ.xy, vec2( 1.0 ) );\n i0.y += isYZ.x + isYZ.y;\n i0.zw += 1.0 - isYZ.xy;\n i0.z += isYZ.z;\n i0.w += 1.0 - isYZ.z;\n\n // i0 now contains the unique values 0,1,2,3 in each channel\n vec4 i3 = clamp( i0, 0.0, 1.0 );\n vec4 i2 = clamp( i0-1.0, 0.0, 1.0 );\n vec4 i1 = clamp( i0-2.0, 0.0, 1.0 );\n\n // x0 = x0 - 0.0 + 0.0 * C.xxxx\n // x1 = x0 - i1 + 1.0 * C.xxxx\n // x2 = x0 - i2 + 2.0 * C.xxxx\n // x3 = x0 - i3 + 3.0 * C.xxxx\n // x4 = x0 - 1.0 + 4.0 * C.xxxx\n vec4 x1 = x0 - i1 + C.xxxx;\n vec4 x2 = x0 - i2 + C.yyyy;\n vec4 x3 = x0 - i3 + C.zzzz;\n vec4 x4 = x0 + C.wwww;\n\n // Permutations\n i = _czm_mod289(i);\n float j0 = _czm_permute( _czm_permute( _czm_permute( _czm_permute(i.w) + i.z) + i.y) + i.x);\n vec4 j1 = _czm_permute( _czm_permute( _czm_permute( _czm_permute (\n i.w + vec4(i1.w, i2.w, i3.w, 1.0 ))\n + i.z + vec4(i1.z, i2.z, i3.z, 1.0 ))\n + i.y + vec4(i1.y, i2.y, i3.y, 1.0 ))\n + i.x + vec4(i1.x, i2.x, i3.x, 1.0 ));\n\n // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope\n // 7*7*6 = 294, which is close to the ring size 17*17 = 289.\n vec4 ip = vec4(1.0/294.0, 1.0/49.0, 1.0/7.0, 0.0) ;\n\n vec4 p0 = _czm_grad4(j0, ip);\n vec4 p1 = _czm_grad4(j1.x, ip);\n vec4 p2 = _czm_grad4(j1.y, ip);\n vec4 p3 = _czm_grad4(j1.z, ip);\n vec4 p4 = _czm_grad4(j1.w, ip);\n\n // Normalise gradients\n vec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n p4 *= _czm_taylorInvSqrt(dot(p4,p4));\n\n // Mix contributions from the five corners\n vec3 m0 = max(0.6 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.0);\n vec2 m1 = max(0.6 - vec2(dot(x3,x3), dot(x4,x4) ), 0.0);\n m0 = m0 * m0;\n m1 = m1 * m1;\n return 49.0 * ( dot(m0*m0, vec3( dot( p0, x0 ), dot( p1, x1 ), dot( p2, x2 )))\n + dot(m1*m1, vec2( dot( p3, x3 ), dot( p4, x4 ) ) ) ) ;\n}\n'},function(e,t){e.exports="uniform vec4 asphaltColor;\nuniform float bumpSize;\nuniform float roughness;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights\n //Main cellular pattern\n vec4 color = asphaltColor;\n vec2 st = materialInput.st;\n vec2 F = czm_cellular(st / bumpSize);\n color.rgb -= (F.x / F.y) * 0.1;\n\n //Extra bumps for roughness\n float noise = czm_snoise(st / bumpSize);\n noise = pow(noise, 5.0) * roughness;\n color.rgb += noise;\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 cementColor;\nuniform float grainScale;\nuniform float roughness;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n float noise = czm_snoise(materialInput.st / grainScale);\n noise = pow(noise, 5.0) * roughness;\n\n vec4 color = cementColor;\n color.rgb += noise;\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 color;\nuniform float time;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n float alpha = 1.0;\n if (time != 1.0)\n {\n float t = 0.5 + (0.5 * czm_snoise(materialInput.str / (1.0 / 10.0))); // Scale [-1, 1] to [0, 1]\n\n if (t > time)\n {\n alpha = 0.0;\n }\n }\n\n material.diffuse = color.rgb;\n material.alpha = color.a * alpha;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights\n vec2 F = czm_cellular(materialInput.st * frequency);\n float t = 0.1 + (F.y - F.x);\n\n vec4 color = mix(lightColor, darkColor, t);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="czm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\n vec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\n float cosAngIncidence = max(dot(normalWC, positionWC), 0.0);\n\n material.diffuse = mix(reflection.diffuse, refraction.diffuse, cosAngIncidence);\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 grassColor;\nuniform vec4 dirtColor;\nuniform float patchiness;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec2 st = materialInput.st;\n float noise1 = (czm_snoise(st * patchiness * 1.0)) * 1.0;\n float noise2 = (czm_snoise(st * patchiness * 2.0)) * 0.5;\n float noise3 = (czm_snoise(st * patchiness * 4.0)) * 0.25;\n float noise = sin(noise1 + noise2 + noise3) * 0.1;\n\n vec4 color = mix(grassColor, dirtColor, noise);\n\n //Make thatch patterns\n float verticalNoise = czm_snoise(vec2(st.x * 100.0, st.y * 20.0)) * 0.02;\n float horizontalNoise = czm_snoise(vec2(st.x * 20.0, st.y * 100.0)) * 0.02;\n float stripeNoise = min(verticalNoise, horizontalNoise);\n\n color.rgb += stripeNoise;\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="uniform samplerCube cubeMap;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\n vec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\n vec3 reflectedWC = reflect(positionWC, normalWC);\n material.diffuse = textureCube(cubeMap, reflectedWC).channels;\n\n return material;\n}\n"},function(e,t){e.exports="uniform samplerCube cubeMap;\nuniform float indexOfRefractionRatio;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\n vec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\n vec3 refractedWC = refract(positionWC, -normalWC, indexOfRefractionRatio);\n material.diffuse = textureCube(cubeMap, refractedWC).channels;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n vec3 scaled = materialInput.str * frequency;\n float t = abs(czm_snoise(scaled));\n\n vec4 color = mix(lightColor, darkColor, t);\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 lightWoodColor;\nuniform vec4 darkWoodColor;\nuniform float ringFrequency;\nuniform vec2 noiseScale;\nuniform float grainFrequency;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n\n //Based on wood shader from OpenGL Shading Language (3rd edition) pg. 455\n vec2 st = materialInput.st;\n\n vec2 noisevec;\n noisevec.x = czm_snoise(st * noiseScale.x);\n noisevec.y = czm_snoise(st * noiseScale.y);\n\n vec2 location = st + noisevec;\n float dist = sqrt(location.x * location.x + location.y * location.y);\n dist *= ringFrequency;\n\n float r = fract(dist + noisevec[0] + noisevec[1]) * 2.0;\n if(r > 1.0)\n r = 2.0 - r;\n\n vec4 color = mix(lightWoodColor, darkWoodColor, r);\n\n //streaks\n r = abs(czm_snoise(vec2(st.x * grainFrequency, st.y * grainFrequency * 0.02))) * 0.2;\n color.rgb += lightWoodColor.rgb * r;\n\n material.diffuse = color.rgb;\n material.alpha = color.a;\n\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 color;\nuniform float duration;\n\nczm_material czm_getMaterial(czm_materialInput materialInput){\n czm_material material = czm_getDefaultMaterial(materialInput);\n material.diffuse = 1.5 * color.rgb;\n vec2 st = materialInput.st;\n float dis = distance(st, vec2(0.5, 0.5));\n float per = fract(czm_frameNumber / duration);\n if(dis > per * 0.5){\n discard;\n }else {\n material.alpha = color.a * dis / per / 2.0;\n }\n return material;\n}\n"},function(e,t){e.exports="uniform vec4 color;\nuniform float duration;\nuniform float count;\nuniform float gradient;\n\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\n czm_material material = czm_getDefaultMaterial(materialInput);\n material.diffuse = 1.5 * color.rgb;\n vec2 st = materialInput.st;\n vec3 str = materialInput.str;\n float dis = distance(st, vec2(0.5, 0.5));\n float per = fract(czm_frameNumber / duration );\n if(abs(str.z)>0.001){\n discard;\n }\n if(dis >0.5){\n discard;\n }else {\n float perDis = 0.5 / count;\n float disNum;\n float bl = .0;\n for(int i=0;i<=10;i++){\n if(float(i)<=count){\n disNum = perDis*float(i) - dis + per/count;\n if(disNum>0.0){\n if(disNum<perDis){\n bl = 1.0-disNum/perDis;\n }else if(disNum-perDis<perDis){\n bl = 1.0 - abs(1.0-disNum/perDis);\n }\n material.alpha = pow(bl,gradient);\n }\n }\n }\n }\n return material;\n}\n\n"},function(e,t){e.exports="uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nvarying vec2 v_textureCoordinates;\nuniform vec4 u_scanCenterEC;\nuniform vec3 u_scanPlaneNormalEC;\nuniform float u_radius;\nuniform vec4 u_scanColor;\n\nvec4 toEye(in vec2 uv, in float depth){\n vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n posInCamera =posInCamera / posInCamera.w;\n return posInCamera;\n}\n\nvec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point){\n vec3 v01 = point - planeOrigin;\n float d = dot(planeNormal, v01) ;\n return (point - planeNormal * d);\n}\n\nfloat getDepth(in vec4 depth){\n float z_window = czm_unpackDepth(depth);\n z_window = czm_reverseLogDepth(z_window);\n float n_range = czm_depthRange.near;\n float f_range = czm_depthRange.far;\n return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n\nvoid main(){\n gl_FragColor = texture2D(colorTexture, v_textureCoordinates);\n float depth = getDepth(texture2D(depthTexture, v_textureCoordinates));\n vec4 viewPos = toEye(v_textureCoordinates, depth);\n vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz);\n float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz);\n if(dis < u_radius){\n float f = 1.0 - abs(u_radius - dis) / u_radius;\n f = pow(f, 4.0);\n gl_FragColor = mix(gl_FragColor, u_scanColor, f);\n }\n }\n"},function(e,t){e.exports="uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform float trength;\nuniform vec4 fogcolor;\nvarying vec2 v_textureCoordinates;\n\nvoid main(void){\n vec4 origcolor = texture2D(colorTexture, v_textureCoordinates);\n vec4 depthcolor = texture2D(depthTexture, v_textureCoordinates);\n float f= clamp( trength * (depthcolor.r - 0.3 ) / 0.2, 0.0, 1.0);\n gl_FragColor = mix(origcolor,fogcolor,f);\n}\n"},function(e,t){e.exports="uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nvarying vec2 v_textureCoordinates;\nuniform vec4 u_scanCenterEC;\nuniform vec3 u_scanPlaneNormalEC;\nuniform vec3 u_scanLineNormalEC;\nuniform float u_radius;\nuniform vec4 u_scanColor;\n\nvec4 toEye(in vec2 uv, in float depth){\n vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n posInCamera =posInCamera / posInCamera.w;\n return posInCamera;\n}\n\nbool isPointOnLineRight(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt){\n vec3 v01 = testPt - ptOnLine;\n normalize(v01);\n vec3 temp = cross(v01, lineNormal);\n float d = dot(temp, u_scanPlaneNormalEC);\n return d > 0.5;\n}\n\nvec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point){\n vec3 v01 = point -planeOrigin;\n float d = dot(planeNormal, v01) ;\n return (point - planeNormal * d);\n}\n\nfloat distancePointToLine(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt){\n vec3 tempPt = pointProjectOnPlane(lineNormal, ptOnLine, testPt);\n return length(tempPt - ptOnLine);\n}\n\nfloat getDepth(in vec4 depth){\n float z_window = czm_unpackDepth(depth);\n z_window = czm_reverseLogDepth(z_window);\n float n_range = czm_depthRange.near;\n float f_range = czm_depthRange.far;\n return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n\nvoid main(){\n gl_FragColor = texture2D(colorTexture, v_textureCoordinates);\n float depth = getDepth( texture2D(depthTexture, v_textureCoordinates));\n vec4 viewPos = toEye(v_textureCoordinates, depth);\n vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz);\n float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz);\n float twou_radius = u_radius * 2.0;\n if(dis < u_radius){\n float f0 = 1.0 -abs(u_radius - dis) / u_radius;\n f0 = pow(f0, 64.0);\n vec3 lineEndPt = vec3(u_scanCenterEC.xyz) + u_scanLineNormalEC * u_radius;\n float f = 0.0;\n if(isPointOnLineRight(u_scanCenterEC.xyz, u_scanLineNormalEC.xyz, prjOnPlane.xyz)){\n float dis1= length(prjOnPlane.xyz - lineEndPt);\n f = abs(twou_radius -dis1) / twou_radius;\n f = pow(f, 3.0);\n }\n gl_FragColor = mix(gl_FragColor, u_scanColor, f + f0);\n }\n}\n"},function(e,t){e.exports="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\n\nfloat hash(float x){\n return fract(sin(x*23.3)*13.13);\n}\n\nvoid main(){\n float time = czm_frameNumber / 60.0;\n vec2 resolution = czm_viewport.zw;\n vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y);\n vec3 c=vec3(.6,.7,.8);\n float a=-.4;\n float si=sin(a),co=cos(a);\n uv*=mat2(co,-si,si,co);\n uv*=length(uv+vec2(0,4.9))*.3+1.;\n float v=1.-sin(hash(floor(uv.x*100.))*2.);\n float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.;\n c*=v*b;\n gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), vec4(c,1), 0.5);\n}\n"},function(e,t){e.exports="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\n\nfloat snow(vec2 uv,float scale){\n float time = czm_frameNumber / 60.0;\n float w=smoothstep(1.,0.,-uv.y*(scale/10.));\n if(w<.1)return 0.;\n uv+=time/scale;\n uv.y+=time*2./scale;\n uv.x+=sin(uv.y+time*.5)/scale;\n uv*=scale;\n vec2 s=floor(uv),f=fract(uv),p;\n float k=3.,d;\n p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;\n d=length(p);\n k=min(d,k);\n k=smoothstep(0.,k,sin(f.x+f.y)*0.01);\n return k*w;\n}\n\nvoid main(){\n vec2 resolution = czm_viewport.zw;\n vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y);\n vec3 finalColor=vec3(0);\n float c = 0.0;\n c+=snow(uv,30.)*.0;\n c+=snow(uv,20.)*.0;\n c+=snow(uv,15.)*.0;\n c+=snow(uv,10.);\n c+=snow(uv,8.);\n c+=snow(uv,6.);\n c+=snow(uv,5.);\n finalColor=(vec3(c));\n gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), vec4(finalColor,1), 0.3);\n\n}\n\n"},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t);var i=DC,a=i.SceneEventType,l=i.Util,c=DC.Namespace.Cesium,s=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r(this,e),!l.checkViewer(t))throw new Error("AroundView: the viewer invalid");this._viewer=t,this._options=n,this._heading=t.camera.heading,this._startTime=c.JulianDate.fromDate(new Date),this._stopTime=c.JulianDate.addSeconds(this._startTime,this._options.duration||10,new c.JulianDate)}var t,n,i;return t=e,(n=[{key:"_start",value:function(){this._viewer.clock.currentTime=this._startTime.clone(),this._viewer.on(a.CLOCK_TICK,this._onTickHandler,this)}},{key:"_onTickHandler",value:function(){var e=c.JulianDate.secondsDifference(this._viewer.clock.currentTime,this._startTime),t=this._options.duration||10,n=c.Math.toRadians(e*(360/t))+this._heading;this._viewer.scene.camera.setView({orientation:{heading:n}}),c.JulianDate.compare(this._viewer.clock.currentTime,this._stopTime)>=0&&(this._viewer.off(a.CLOCK_TICK,this._onTickHandler,this),this._options.callback&&this._options.callback.call(this._options.context||this))}}])&&o(t.prototype,n),i&&o(t,i),e}();function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var p=DC,m=p.Util,d=p.SceneEventType,y=p.Transfrom,v=DC.Namespace.Cesium,h=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(u(this,e),!m.checkViewer(t))throw new Error("AroundPoint:the viewer invalid");if(!m.checkPosition(n))throw new Error("AroundPoint:the position invalid");this._viewer=t,this._position=n,this._options=r,this._heading=t.camera.heading,this._startTime=v.JulianDate.fromDate(new Date),this._stopTime=v.JulianDate.addSeconds(this._startTime,this._options.duration||10,new v.JulianDate)}var t,n,r;return t=e,(n=[{key:"_start",value:function(){this._viewer.clock.currentTime=this._startTime.clone(),this._viewer.on(d.CLOCK_TICK,this._onTickHandler,this)}},{key:"_onTickHandler",value:function(){var e=v.JulianDate.secondsDifference(this._viewer.clock.currentTime,this._startTime),t=this._options.duration||10,n=v.Math.toRadians(e*(360/t))+this._heading;this._viewer.scene.camera.setView({destination:y.transformWGS84ToCartesian(this._position),orientation:{heading:n,pitch:v.Math.toRadians(this._options.pitch||0)}}),this._options.distance&&this._viewer.scene.camera.moveBackward(this._options.distance),v.JulianDate.compare(this._viewer.clock.currentTime,this._stopTime)>=0&&(this._viewer.off(d.CLOCK_TICK,this._onTickHandler,this),this._options.callback&&this._options.callback.call(this._options.context||this))}}])&&f(t.prototype,n),r&&f(t,r),e}();function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var x=DC.Namespace.Cesium,C=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,o=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;_(this,e),this._viewer=t,this._time=r,this._callback=o,this._startRotate();var a=setTimeout((function(){n._endRotate(),n._callback&&n._callback.call(i||n),clearTimeout(a)}),1e3*Number(this._time))}var t,n,r;return t=e,(n=[{key:"_icrf",value:function(e,t){if(e.mode!==x.SceneMode.SCENE3D)return!1;var n=x.Transforms.computeIcrfToFixedMatrix(t);if(x.defined(n)){var r=this._viewer.camera,o=x.Cartesian3.clone(r.position),i=x.Matrix4.fromRotationTranslation(n);r.lookAtTransform(i,o)}}},{key:"_startRotate",value:function(){this._viewer.camera.lookAtTransform(x.Matrix4.IDENTITY),this._viewer.clock.multiplier=12e3,this._viewer.scene.postUpdate.addEventListener(this._icrf,this)}},{key:"_endRotate",value:function(){this._viewer.camera.lookAtTransform(x.Matrix4.IDENTITY),this._viewer.clock.multiplier=1,this._viewer.clock.currentTime=x.JulianDate.now().clone(),this._viewer.scene.postUpdate.removeEventListener(this._icrf,this)}}])&&g(t.prototype,n),r&&g(t,r),e}(),b=n(0),w={ADD:"add",REMOVE:"remove"};function z(e){return(z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function M(e,t){return(M=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function T(e,t){return!t||"object"!==z(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function A(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=DC.Event,S=DC.Namespace.Cesium,E=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&M(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=D(t);if(A()){var r=D(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return T(this,e)});function a(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),i.call(this)}return n=a,(r=[{key:"_registerEvent",value:function(){var e=this;Object.keys(w).forEach((function(t){var n=w[t];e._cache[n]=new S.Event}))}}])&&P(n.prototype,r),o&&P(n,o),a}(k),O={};function I(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var j=DC,R=j.Util,F=j.State,N=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._id=t||R.uuid(),this._viewer=void 0,this._delegate=void 0,this._state=void 0,this._addable=!1,this._effectEvent=new E,this.type=void 0,this.on(w.ADD,this._addHandler,this),this.on(w.REMOVE,this._removeHandler,this)}var t,n,r;return t=e,r=[{key:"registerType",value:function(e){e&&(O[e.toLocaleUpperCase()]=e.toLocaleLowerCase())}},{key:"getEffectType",value:function(e){return O[e.toLocaleUpperCase()]||void 0}}],(n=[{key:"_mountedHook",value:function(){}},{key:"_addedHook",value:function(){}},{key:"_removedHook",value:function(){}},{key:"_addHandler",value:function(e){this._viewer=e,this._mountedHook&&this._mountedHook(),this._delegate&&this._addable&&this._viewer.delegate.scene.postProcessStages.add(this._delegate),this._addedHook&&this._addedHook(),this._state=F.ADDED}},{key:"_removeHandler",value:function(){this._viewer&&this._delegate&&this._addable&&(this._viewer.delegate.scene.postProcessStages.remove(this._delegate),this._delegate=void 0),this._removedHook&&this._removedHook(),this._state=F.REMOVED}},{key:"addTo",value:function(e){return e&&e.addEffect&&e.addEffect(this),this}},{key:"on",value:function(e,t,n){return this._effectEvent.on(e,t,n||this),this}},{key:"off",value:function(e,t,n){return this._effectEvent.off(e,t,n||this),this}},{key:"fire",value:function(e,t){return this._effectEvent.fire(e,t),this}},{key:"id",get:function(){return this._id}},{key:"effectEvent",get:function(){return this._effectEvent}}])&&I(t.prototype,n),r&&I(t,r),e}();function V(e){return(V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function L(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function W(e,t){return(W=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q(e,t){return!t||"object"!==V(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function B(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var H=DC.State,U=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&W(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=G(t);if(B()){var r=G(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return q(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=i.call(this,e))._contrast=128,t._brightness=-.3,t._glowOnly=!1,t._delta=1,t._sigma=2,t._stepSize=1,t.type=N.getEffectType("bloom"),t._state=H.INITIALIZED,t}return n=a,(r=[{key:"_mountedHook",value:function(){this._delegate=this._viewer.delegate.scene.postProcessStages.bloom,this._delegate.enabled=!0,this.contrast=this._contrast,this.brightness=this._brightness,this.glowOnly=this._glowOnly,this.delta=this._delta,this.sigma=this._sigma,this.stepSize=this._stepSize}},{key:"_removedHook",value:function(){this._delegate&&(this._delegate.enabled=!1,this.delegate=void 0)}},{key:"contrast",set:function(e){this._contrast=e,this._delegate&&(this._delegate.uniforms.contrast=this._contrast)}},{key:"brightness",set:function(e){this._brightness=e,this._delegate&&(this._delegate.uniforms.brightness=this._brightness)}},{key:"glowOnly",set:function(e){this._glowOnly=e,this._delegate&&(this._delegate.uniforms.glowOnly=this._glowOnly)}},{key:"delta",set:function(e){this._delta=e,this._delegate&&(this._delegate.uniforms.delta=this._delta)}},{key:"sigma",set:function(e){this._sigma=e,this._delegate&&(this._delegate.uniforms.sigma=this._sigma)}},{key:"stepSize",set:function(e){this._stepSize=e,this._delegate&&(this._delegate.uniforms.stepSize=this._stepSize)}}])&&L(n.prototype,r),o&&L(n,o),a}(N);N.registerType("bloom");var K=U;function Z(e){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Y(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function X(e,t){return!t||"object"!==Z(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Q(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function $(e){return($=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ee=DC,te=ee.State,ne=ee.Util,re=ee.Transform,oe=ee.Position,ie=DC.Namespace.Cesium,ae=n(29),le=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&J(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=$(t);if(Q()){var r=$(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return X(this,e)});function a(e,t,n,r,o){var l;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),!ne.checkPosition(t))throw new Error("CircleScanEffect: the position invalid");return(l=i.call(this,e))._position=t,l._radius=n||0,l._color=ie.defaultValue(r,ie.Color.RED),l._duration=1e3*ie.defaultValue(o,1),l._addable=!0,l.type=N.getEffectType("circle_scan"),l._state=te.INITIALIZED,l}return n=a,(r=[{key:"_mountedHook",value:function(){var e=this,t=re.transformWGS84ToCartesian(this._position),n=new ie.Cartesian4(t.x,t.y,t.z,1),r=re.transformWGS84ToCartesian(new oe(this._position.lng,this._position.lat,this._position.alt+500)),o=new ie.Cartesian4(r.x,r.y,r.z,1),i=(new Date).getTime();this._delegate=new ie.PostProcessStage({name:this._id,fragmentShader:ae,uniforms:{u_scanCenterEC:function(){return ie.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,n,new ie.Cartesian4)},u_scanPlaneNormalEC:function(){var t=ie.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,n,new ie.Cartesian4),r=ie.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,o,new ie.Cartesian4),i=new ie.Cartesian3;return i.x=r.x-t.x,i.y=r.y-t.y,i.z=r.z-t.z,ie.Cartesian3.normalize(i,i),i},u_radius:function(){return e._radius*(((new Date).getTime()-i)%e._duration)/e._duration},u_scanColor:this._color}})}}])&&Y(n.prototype,r),o&&Y(n,o),a}(N);N.registerType("circle_scan");var ce=le;function se(e){return(se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ue(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function pe(e,t){return(pe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function me(e,t){return!t||"object"!==se(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function de(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function ye(e){return(ye=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ve=DC.State,he=DC.Namespace.Cesium,_e=n(30),ge=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&pe(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=ye(t);if(de()){var r=ye(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return me(this,e)});function a(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return ue(this,a),(n=i.call(this,e))._trength=r||1,n._color=t||new he.Color(.8,.8,.8,.5),n._addable=!0,n.type=N.getEffectType("fog"),n._state=ve.INITIALIZED,n}return n=a,(r=[{key:"_mountedHook",value:function(){var e=this;this._delegate=new he.PostProcessStage({name:this._id,fragmentShader:_e,uniforms:{trength:function(){return e._trength},fogcolor:function(){return e._color}}})}}])&&fe(n.prototype,r),o&&fe(n,o),a}(N);N.registerType("fog");var xe=ge;function Ce(e){return(Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ze(e,t){return!t||"object"!==Ce(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Pe(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Me(e){return(Me=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Te=DC,Ae=Te.Util,De=Te.State,ke=Te.Transform,Se=Te.Position,Ee=DC.Namespace.Cesium,Oe=n(31),Ie=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=Me(t);if(Pe()){var r=Me(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return ze(this,e)});function a(e,t,n,r,o){var l;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),!Ae.checkPosition(t))throw new Error("the position invalid");return(l=i.call(this,e))._position=t,l._radius=n||0,l._color=Ee.defaultValue(r,Ee.Color.RED),l._duration=1e3*Ee.defaultValue(o,1),l._addable=!0,l.type=N.getEffectType("radar_scan"),l._state=De.INITIALIZED,l}return n=a,(r=[{key:"_mountedHook",value:function(){var e=this,t=ke.transformWGS84ToCartesian(this._position),n=new Ee.Cartesian4(t.x,t.y,t.z,1),r=ke.transformWGS84ToCartesian(new Se(this._position.lng,this._position.lat,this._position.alt+500)),o=new Ee.Cartesian4(r.x,r.y,r.z,1),i=ke.transformWGS84ToCartesian(new Se(this._position.lng+.001,this._position.lat,this._position.alt)),a=new Ee.Cartesian4(i.x,i.y,i.z,1),l=(new Date).getTime(),c=new Ee.Quaternion,s=new Ee.Matrix3,u=new Ee.Cartesian4,f=new Ee.Cartesian4,p=new Ee.Cartesian4,m=new Ee.Cartesian3,d=new Ee.Cartesian3;this._delegate=new Ee.PostProcessStage({name:this._id,fragmentShader:Oe,uniforms:{u_scanCenterEC:function(){return Ee.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,n,u)},u_scanPlaneNormalEC:function(){var t=Ee.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,n,u),r=Ee.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,o,f);return m.x=r.x-t.x,m.y=r.y-t.y,m.z=r.z-t.z,Ee.Cartesian3.normalize(m,m),m},u_scanLineNormalEC:function(){var t=Ee.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,n,u),r=Ee.Matrix4.multiplyByVector(e._viewer.delegate.camera._viewMatrix,o,f),i=Ee.Matrix4.multiplyByVector(viewer.camera._viewMatrix,a,p);m.x=r.x-t.x,m.y=r.y-t.y,m.z=r.z-t.z,Ee.Cartesian3.normalize(m,m),d.x=i.x-t.x,d.y=i.y-t.y,d.z=i.z-t.z;var y=((new Date).getTime()-l)%e._duration/e._duration;return Ee.Quaternion.fromAxisAngle(m,y*Ee.Math.PI*2,c),Ee.Matrix3.fromQuaternion(c,s),Ee.Matrix3.multiplyByVector(s,d,d),Ee.Cartesian3.normalize(d,d),d},u_radius:this._radius,u_scanColor:this._color}})}}])&&be(n.prototype,r),o&&be(n,o),a}(N);N.registerType("radar_scan");var je=Ie;function Re(e){return(Re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ne(e,t){return(Ne=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ve(e,t){return!t||"object"!==Re(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Le(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function We(e){return(We=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var qe=DC.State,Be=DC.Namespace.Cesium,Ge=n(32),He=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ne(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=We(t);if(Le()){var r=We(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Ve(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=i.call(this,e))._addable=!0,t.type=N.getEffectType("rain"),t._state=qe.INITIALIZED,t}return n=a,(r=[{key:"_mountedHook",value:function(){this._delegate=new Be.PostProcessStage({name:this._id,fragmentShader:Ge})}}])&&Fe(n.prototype,r),o&&Fe(n,o),a}(N);N.registerType("rain");var Ue=He;function Ke(e){return(Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ze(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ye(e,t){return(Ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Je(e,t){return!t||"object"!==Ke(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xe(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Qe(e){return(Qe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $e=DC.State,et=DC.Namespace.Cesium,tt=n(33),nt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ye(e,t)}(a,e);var t,n,r,o,i=(t=a,function(){var e,n=Qe(t);if(Xe()){var r=Qe(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Je(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=i.call(this,e))._addable=!0,t.type=N.getEffectType("snow"),t._state=$e.INITIALIZED,t}return n=a,(r=[{key:"_mountedHook",value:function(){this._delegate=new et.PostProcessStage({name:this._id,fragmentShader:tt})}}])&&Ze(n.prototype,r),o&&Ze(n,o),a}(N);N.registerType("snow");var rt=nt;DC.mixin({AroudView:s,AroundPoint:h,GlobeRotate:C,Effect:N,BloomEffect:K,CircleScanEffect:ce,FogEffect:xe,RadarScanEffect:je,RainEffect:Ue,SnowEffect:rt,PolylineTrailMaterialProperty:b.PolylineTrailMaterialProperty,PolylineFlowMaterialProperty:b.PolylineFlowMaterialProperty,PolylineEmissionMaterialProperty:b.PolylineEmissionMaterialProperty,WaterMaterialProperty:b.WaterMaterialProperty,RimLightingMaterialProperty:b.RimLightingMaterialProperty,CircleFadeMaterialProperty:b.CircleFadeMaterialProperty,CircleWaveMaterialProperty:b.CircleWaveMaterialProperty})}]);