deeptwins-engine-3d 0.1.76 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
  2. package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
  3. package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
  4. package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
  5. package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
  6. package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
  7. package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
  8. package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
  9. package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
  10. package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
  11. package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
  12. package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
  13. package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
  14. package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
  15. package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
  16. package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
  17. package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
  18. package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
  19. package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
  20. package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
  21. package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
  22. package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
  23. package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
  24. package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
  25. package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
  26. package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
  27. package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
  28. package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
  29. package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
  30. package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
  31. package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
  32. package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
  33. package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
  34. package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
  35. package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
  36. package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
  37. package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
  38. package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
  39. package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
  40. package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
  41. package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
  42. package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
  43. package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
  44. package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
  45. package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
  46. package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
  47. package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
  48. package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
  49. package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
  50. package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
  51. package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
  52. package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
  53. package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
  54. package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
  55. package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
  56. package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
  57. package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
  58. package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
  59. package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
  60. package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
  61. package/dist/esm/analyze/SunLightAnalysis.js +1 -91
  62. package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
  63. package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
  64. package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
  65. package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
  66. package/dist/esm/cameraControl/Roam.js +1 -418
  67. package/dist/esm/cameraControl/Rotate.js +1 -134
  68. package/dist/esm/cameraControl/RotateInPlace.js +1 -99
  69. package/dist/esm/constant.d.ts +90 -0
  70. package/dist/esm/constant.js +1 -1287
  71. package/dist/esm/deepTwins/index.js +1 -121
  72. package/dist/esm/drawCommand/index.js +1 -3
  73. package/dist/esm/drawCommand/viewShed/Event.js +1 -142
  74. package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
  75. package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
  76. package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
  77. package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
  78. package/dist/esm/drawCommand/viewShed/config.js +1 -21
  79. package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
  80. package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
  81. package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
  82. package/dist/esm/drawer/algorithm.js +1 -314
  83. package/dist/esm/drawer/common.js +1 -965
  84. package/dist/esm/drawer/coordinate.js +1 -184
  85. package/dist/esm/drawer/index.d.ts +1 -1
  86. package/dist/esm/drawer/index.js +1 -688
  87. package/dist/esm/drawer/plotUtil.js +1 -266
  88. package/dist/esm/drawer/shape/Assemble.js +1 -415
  89. package/dist/esm/drawer/shape/AttackArrow.js +1 -442
  90. package/dist/esm/drawer/shape/BaseShape.js +1 -383
  91. package/dist/esm/drawer/shape/Bow.js +1 -375
  92. package/dist/esm/drawer/shape/Circle.js +1 -461
  93. package/dist/esm/drawer/shape/Curve.js +1 -386
  94. package/dist/esm/drawer/shape/DragPoint.js +1 -211
  95. package/dist/esm/drawer/shape/Elliptic.js +1 -491
  96. package/dist/esm/drawer/shape/Formation.js +1 -395
  97. package/dist/esm/drawer/shape/PincerArrow.js +1 -445
  98. package/dist/esm/drawer/shape/Point.js +1 -131
  99. package/dist/esm/drawer/shape/Polygon.js +1 -368
  100. package/dist/esm/drawer/shape/Polyline.js +1 -325
  101. package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
  102. package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
  103. package/dist/esm/drawer/shape/Sector.js +1 -568
  104. package/dist/esm/drawer/shape/StraightArrow.js +1 -422
  105. package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
  106. package/dist/esm/drawer/types.js +1 -11
  107. package/dist/esm/drawer/utils.js +1 -381
  108. package/dist/esm/global.css +22 -1
  109. package/dist/esm/graphicLayer/BaseEntity.js +1 -51
  110. package/dist/esm/graphicLayer/BaseLayer.js +1 -730
  111. package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
  112. package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
  113. package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
  114. package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
  115. package/dist/esm/graphicLayer/BaseSource.js +1 -630
  116. package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
  117. package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
  118. package/dist/esm/graphicLayer/BoxEntity.js +1 -99
  119. package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
  120. package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
  121. package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
  122. package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
  123. package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
  124. package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
  125. package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
  126. package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
  127. package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
  128. package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
  129. package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
  130. package/dist/esm/graphicLayer/LabelEntity.js +1 -110
  131. package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
  132. package/dist/esm/graphicLayer/ModelEntity.js +1 -122
  133. package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
  134. package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
  135. package/dist/esm/graphicLayer/PointEntity.js +1 -94
  136. package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
  137. package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
  138. package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
  139. package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
  140. package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
  141. package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
  142. package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
  143. package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
  144. package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
  145. package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
  146. package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
  147. package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
  148. package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
  149. package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
  150. package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
  151. package/dist/esm/graphicLayer/WallEntity.js +1 -96
  152. package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
  153. package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
  154. package/dist/esm/index.d.ts +4 -0
  155. package/dist/esm/index.js +1 -175
  156. package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
  157. package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
  158. package/dist/esm/lowAltitude/FactorLayer.js +1 -199
  159. package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
  160. package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
  161. package/dist/esm/lowAltitude/GridDraw.js +1 -137
  162. package/dist/esm/lowAltitude/PoiLayer.js +1 -74
  163. package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
  164. package/dist/esm/lowAltitude/VisitLayer.js +1 -180
  165. package/dist/esm/map/Event.js +1 -377
  166. package/dist/esm/map/GroundSkyBox.js +1 -166
  167. package/dist/esm/map/Map.js +1 -881
  168. package/dist/esm/map/Property.js +1 -35
  169. package/dist/esm/material/AtmosphericDispersion.js +1 -569
  170. package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
  171. package/dist/esm/material/VolumeCloud.js +1 -115
  172. package/dist/esm/material/WeatherEffects.js +1 -351
  173. package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
  174. package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
  175. package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
  176. package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
  177. package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
  178. package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
  179. package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
  180. package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
  181. package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
  182. package/dist/esm/measure/Area.js +1 -220
  183. package/dist/esm/measure/BaseDraw.js +1 -105
  184. package/dist/esm/measure/Distance.js +1 -223
  185. package/dist/esm/measure/index.js +1 -266
  186. package/dist/esm/measure/types.js +1 -17
  187. package/dist/esm/measure/utils.js +1 -319
  188. package/dist/esm/particle/BaseParticle.js +1 -196
  189. package/dist/esm/particle/FireParticle.js +1 -65
  190. package/dist/esm/particle/FountainParticle.js +1 -80
  191. package/dist/esm/particle/SmokeParticle.js +1 -65
  192. package/dist/esm/particle/common.js +1 -23
  193. package/dist/esm/particle/index.js +1 -5
  194. package/dist/esm/property/PositionProperty.js +1 -56
  195. package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
  196. package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
  197. package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
  198. package/dist/esm/tileLayer/ImageryLayer.js +1 -44
  199. package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
  200. package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
  201. package/dist/esm/tileLayer/RasterLayer.js +1 -23
  202. package/dist/esm/tileLayer/WmsLayer.js +1 -26
  203. package/dist/esm/tileLayer/WmtsLayer.js +1 -23
  204. package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
  205. package/dist/esm/tool/Compass.js +1 -282
  206. package/dist/esm/tool/PrimitiveCluster.js +1 -706
  207. package/dist/esm/tool/TimerInterval.js +1 -58
  208. package/dist/esm/tool/common.js +1 -405
  209. package/dist/esm/tool/fetch.js +1 -222
  210. package/dist/esm/tool/heatmap.js +1 -631
  211. package/dist/esm/tool/utils.d.ts +1 -0
  212. package/dist/esm/tool/utils.js +1 -501
  213. package/dist/esm/toolTip/index.js +1 -79
  214. package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
  215. package/dist/esm/videoFusion/BaseVideo.js +1 -330
  216. package/dist/esm/videoFusion/VideoProject.js +1 -230
  217. package/dist/esm/videoFusion/VideoTexture.js +1 -163
  218. package/dist/esm/visualization/BaseHeatmap.js +1 -271
  219. package/dist/esm/visualization/BoundaryHighlight.d.ts +136 -0
  220. package/dist/esm/visualization/BoundaryHighlight.js +1 -0
  221. package/dist/esm/visualization/DynamicWater.js +1 -289
  222. package/dist/esm/visualization/Frustum.js +1 -248
  223. package/dist/esm/visualization/Heatmap2d.js +1 -97
  224. package/dist/esm/visualization/Heatmap3d.js +1 -281
  225. package/dist/esm/visualization/MigrationEffect.js +1 -397
  226. package/dist/esm/visualization/PointCluster.js +1 -220
  227. package/dist/esm/visualization/RadarScan.js +1 -333
  228. package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
  229. package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
  230. package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
  231. package/dist/esm/visualization/SampledTerrainWater.js +1 -0
  232. package/dist/esm/visualization/WindField.d.ts +72 -0
  233. package/dist/esm/visualization/WindField.js +1 -0
  234. package/dist/esm/visualization/windCore.d.ts +161 -0
  235. package/dist/esm/visualization/windCore.js +8 -0
  236. package/dist/umd/deeptwins-engine-3d.min.css +1 -1
  237. package/dist/umd/deeptwins-engine-3d.min.js +1 -1
  238. package/package.json +6 -4
@@ -1,569 +1 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
- import * as Cesium from 'deeptwins-cesium';
17
- /* babel-plugin-inline-import './shader/AtmosphericShader.glsl' */
18
- var AtmosphericShader = "precision highp float;\nuniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform float u_threshold;\nuniform float u_blendFactor;\nuniform float u_lightIntensity;\nuniform float u_scatterStrength;\nuniform float u_tonemapExposure;\nuniform float u_mieExtinctionStrength;\nuniform float u_fogOpacity;\nuniform float u_fogPower;\nuniform float u_clearMixBias;\nin vec2 v_textureCoordinates;\nconst float PI = 3.14159265359;\nconst float TWO_PI = PI * 2.0;\nconst float FOUR_PI = PI * 4.0;\nconst float SCATTER_VISIBILITY_SCALE = 30000.0;\nconst float MAX_EXPOSURE_RESPONSE = 1.8;\nconst float MAX_LIGHT_RESPONSE = 3.0;\n\nconst vec3 betaR = vec3(5.5e-6, 13.0e-6, 22.4e-6);\n\nconst vec3 betaM = vec3(21e-6);\n\nconst float hR = 10e3;\nconst float hM = 3.8e3;\nconst int num_samples = 16;\nconst int num_samples_light = 4;\n#ifdef GL_ES\n #define _in(T) const in T\n #define _inout(T) inout T\n #define _out(T) out T\n #define _begin(type) type (\n #define _end )\n #define mul(a, b) (a) * (b)\n #endif\n\nstruct ray_t {\n vec3 origin;\n vec3 direction;\n};\nstruct sphere_t {\n vec3 origin;\n float radius;\n int material;\n};\nstruct plane_t {\n vec3 direction;\n float distance;\n int material;\n};\nplane_t plane;\nmat3 rotate_around_x(_in(float) angle_degrees) {\n float angle = radians(angle_degrees);\n float _sin = sin(angle);\n float _cos = cos(angle);\n return mat3(1, 0, 0, 0, _cos, -_sin, 0, _sin, _cos);\n}\n\nbool isect_sphere(_in(ray_t) ray, _in(sphere_t) sphere, _inout(float) t0, _inout(float) t1) {\n vec3 rc = sphere.origin - ray.origin;\n float radius2 = sphere.radius * sphere.radius;\n float tca = dot(rc, ray.direction);\n float d2 = dot(rc, rc) - tca * tca;\n if (d2 > radius2) return false;\n float thc = sqrt(radius2 - d2);\n t0 = tca - thc;\n t1 = tca + thc;\n return true;\n}\nfloat rayleigh_phase_func(float mu) {\n return\n 3. * (1. + mu * mu)\n /\n (16. * PI);\n}\nconst float g = 0.76;\nfloat henyey_greenstein_phase_func(float mu) {\n return\n (1. - g * g)\n /\n ((4. * PI) * pow(1. + g * g - 2. * g * mu, 1.5));\n}\nconst float k = 1.55 * g - 0.55 * (g * g * g);\nfloat schlick_phase_func(float mu) {\n return\n (1. - k * k)\n /\n (4. * PI * (1. + k * mu) * (1. + k * mu));\n}\nconst sphere_t atmosphere = _begin(sphere_t)\nvec3(0, 0, 0), 6420e3, 0\n_end;\n\nbool get_sun_light(\n_in(ray_t) ray, _inout(float) optical_depthR, _inout(float) optical_depthM\n) {\n float t0, t1;\n isect_sphere(ray, atmosphere, t0, t1);\n float march_pos = 0.;\n float march_step = t1 / float(num_samples_light);\n for (int i = 0; i < num_samples_light; i++) {\n vec3 s = ray.origin +\n ray.direction * (march_pos + 0.5 * march_step);\n float height = length(s) - 6360e3;\n if (height < 0.)\n return false;\n optical_depthR += exp(-height / hR) * march_step;\n optical_depthM += exp(-height / hM) * march_step;\n march_pos += march_step;\n }\n return true;\n}\nvec4 get_incident_light(_in(ray_t) ray) {\n vec3 dir = ray.direction;\n vec3 start = ray.origin;\n float a = dot(dir, dir);\n float b = 2.0 * dot(dir, start);\n float radius2 = atmosphere.radius * atmosphere.radius;\n float c = dot(start, start) - radius2;\n float d = (b * b) - 4.0 * a * c;\n if (d < 0.0) return vec4(0.0);\n float squaredD = sqrt(d);\n vec2 ray_length = vec2(\n max((-b - squaredD) / (2.0 * a), 0.0), min((-b + squaredD) / (2.0 * a), plane.distance)\n );\n if (ray_length.x > ray_length.y) return vec4(0.0);\n float march_step = (ray_length.y - ray_length.x) / float(num_samples);\n float mu = dot(ray.direction, normalize(czm_sunPositionWC));\n float phaseR = rayleigh_phase_func(mu);\n float phaseM =\n #if 1\n henyey_greenstein_phase_func(mu);\n #else\n schlick_phase_func(mu);\n #endif\n\n float optical_depthR = 0.;\n float optical_depthM = 0.;\n vec3 sumR = vec3(0);\n vec3 sumM = vec3(0);\n float march_pos = 0.;\n for (int i = 0; i < num_samples; i++) {\n vec3 s = ray.origin +\n ray.direction * (march_pos + 0.5 * march_step);\n float height = length(s) - 6360e3;\n\n float hr = exp(-height / hR) * march_step;\n float hm = exp(-height / hM) * march_step;\n optical_depthR += hr;\n optical_depthM += hm;\n\n ray_t light_ray = _begin(ray_t)\n s, normalize(czm_sunPositionWC)\n _end;\n float optical_depth_lightR = 0.;\n float optical_depth_lightM = 0.;\n bool overground = get_sun_light(\n light_ray,\n optical_depth_lightR,\n optical_depth_lightM);\n\n if (overground) {\n\n vec3 tau =\n betaR * (optical_depthR + optical_depth_lightR) +\n betaM * u_mieExtinctionStrength * (optical_depthM + optical_depth_lightM);\n vec3 attenuation = exp(-tau);\n sumR += hr * attenuation;\n sumM += hm * attenuation;\n }\n\n march_pos += march_step;\n }\n vec3 transmittance = exp(-((betaM * optical_depthM * u_mieExtinctionStrength)\n + (betaR * optical_depthR)) * 4.);\n float attenuation = clamp(dot(transmittance, vec3(0.3333333)), 0.0, 1.0);\n\n return vec4(\n u_scatterStrength *\n (sumR * phaseR * betaR +\n sumM * phaseM * betaM), 1.0 - attenuation);\n}\n\nvoid main() {\n vec4 rawColor = texture(colorTexture, v_textureCoordinates);\n float depth = czm_unpackDepth(texture(depthTexture, v_textureCoordinates));\n\n vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord.xy, depth);\n vec4 positionWC = czm_inverseView * positionEC;\n positionWC.xyz = positionWC.xyz / positionWC.w;\n\n vec3 lVector = positionWC.xyz - czm_viewerPositionWC;\n ray_t ray;\n ray.origin = czm_viewerPositionWC;\n ray.direction = normalize(lVector);\n plane.distance = length(lVector);\n\n vec4 atmosphereColor = get_incident_light(ray);\n float lightControl = clamp(u_lightIntensity / 4.0, 0.0, 1.0);\n float lightStrength = MAX_LIGHT_RESPONSE * (\n 1.0 - exp(-2.6 * pow(lightControl, 1.6))\n );\n vec3 scatterColor = atmosphereColor.rgb * lightStrength;\n float exposureControl = clamp(u_tonemapExposure / 3.0, 0.0, 1.0);\n float exposureStrength = pow(exposureControl, 1.25) * MAX_EXPOSURE_RESPONSE;\n float mieVisualFactor = mix(\n 0.6,\n 1.8,\n clamp(u_mieExtinctionStrength / 2.0, 0.0, 1.0)\n );\n vec3 visibleScatter = 1.0 - exp(\n -max(scatterColor * SCATTER_VISIBILITY_SCALE, 0.0) * exposureStrength\n );\n visibleScatter *= mieVisualFactor;\n float brightness = dot(visibleScatter, vec3(0.299, 0.587, 0.114));\n float thresholdMask = u_threshold > 0.0\n ? smoothstep(0.0, u_threshold, brightness)\n : 1.0;\n visibleScatter *= thresholdMask;\n float fogSignal = clamp(atmosphereColor.a * 2.5, 0.0, 1.0);\n float fogAlpha = clamp(\n pow(fogSignal, u_fogPower) * u_fogOpacity * mieVisualFactor,\n 0.0,\n 1.0\n );\n float clearPreserve = clamp(1.0 - u_clearMixBias, 0.0, 1.0);\n float fogMix = fogAlpha * clearPreserve * 0.85;\n vec3 foggedBase = mix(\n rawColor.rgb,\n rawColor.rgb * (1.0 - fogAlpha * 0.35),\n fogMix\n );\n vec3 overlayColor = visibleScatter *\n (0.55 + fogAlpha * 1.25) *\n mix(1.0, 0.6, u_clearMixBias);\n vec3 finalColor = mix(\n rawColor.rgb,\n foggedBase + overlayColor,\n u_blendFactor\n );\n\n out_FragColor = vec4(clamp(finalColor, 0.0, 1.0), rawColor.a);\n}\n";
19
- var DEFAULT_PARAMS = {
20
- u_threshold: 0.5,
21
- u_blendFactor: 0.22,
22
- u_lightIntensity: 0.9,
23
- u_scatterStrength: 8,
24
- u_tonemapExposure: 1,
25
- u_mieExtinctionStrength: 0.65,
26
- u_fogOpacity: 0.22,
27
- u_fogPower: 1.9,
28
- u_clearMixBias: 0.78
29
- };
30
- var DEFAULT_ZOOM_DAMPING_OPTIONS = {
31
- enableZoomDamping: true,
32
- dampingStartPitchDeg: -60,
33
- dampingFullPitchDeg: -89.9,
34
- minZoomScale: 0.12
35
- };
36
- var DEFAULT_CLOCK_TEXT = '12:00:00';
37
- var MIN_ZOOM_FACTOR = 0.01;
38
- var ZOOM_DAMPING_STATE_KEY = '__atmosphericDispersionZoomDampingState';
39
- var CLOCK_CONTROL_STATE_KEY = '__atmosphericDispersionClockControlState';
40
- var atmosphericDispersionInstanceSeed = 0;
41
-
42
- // 大气散射
43
- export var AtmosphericDispersion = /*#__PURE__*/function () {
44
- function AtmosphericDispersion(map) {
45
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46
- _classCallCheck(this, AtmosphericDispersion);
47
- // 地图上下文
48
- _defineProperty(this, "_mapContext", void 0);
49
- // 当前生效的参数
50
- _defineProperty(this, "params", void 0);
51
- // 构造时的原始参数
52
- _defineProperty(this, "originalOptions", void 0);
53
- // 后处理阶段实例
54
- _defineProperty(this, "atmosphericDispersion", void 0);
55
- // 极俯角缩放降速配置
56
- _defineProperty(this, "zoomDampingOptions", void 0);
57
- // 场景时间配置
58
- _defineProperty(this, "clockOption", void 0);
59
- // 相机变化监听
60
- _defineProperty(this, "_cameraChangedHandler", void 0);
61
- // 当前实例的缩放保护标识
62
- _defineProperty(this, "_zoomDampingOwnerId", void 0);
63
- // 当前实例的时间控制标识
64
- _defineProperty(this, "_clockControlOwnerId", void 0);
65
- this._mapContext = map._mapContext;
66
- var viewer = this.getMap();
67
- if (!viewer || _typeof(viewer) !== 'object') {
68
- throw new Error('Invalid Cesium Viewer instance provided');
69
- }
70
- if (!viewer.scene || !viewer.scene.postProcessStages) {
71
- throw new Error('Viewer instance must have valid scene and postProcessStages');
72
- }
73
- this.params = this._buildParams(options);
74
- this.zoomDampingOptions = this._buildZoomDampingOptions(options);
75
- this.clockOption = this._buildClockOption(options);
76
- this.originalOptions = _objectSpread({}, options);
77
- this.atmosphericDispersion = null;
78
- this._cameraChangedHandler = null;
79
- atmosphericDispersionInstanceSeed += 1;
80
- var ownerId = "atmospheric-dispersion-".concat(atmosphericDispersionInstanceSeed);
81
- this._zoomDampingOwnerId = ownerId;
82
- this._clockControlOwnerId = ownerId;
83
- this._initialize();
84
- }
85
-
86
- // 获取地图实例
87
- _createClass(AtmosphericDispersion, [{
88
- key: "getMap",
89
- value: function getMap() {
90
- return this._mapContext && this._mapContext.getMap();
91
- }
92
-
93
- // 统一构建参数,避免重复逻辑
94
- }, {
95
- key: "_buildParams",
96
- value: function _buildParams(options) {
97
- return {
98
- u_threshold: typeof options.u_threshold === 'number' ? Math.max(options.u_threshold, 0) : DEFAULT_PARAMS.u_threshold,
99
- u_blendFactor: typeof options.u_blendFactor === 'number' ? Cesium.Math.clamp(options.u_blendFactor, 0, 1) : DEFAULT_PARAMS.u_blendFactor,
100
- u_lightIntensity: typeof options.u_lightIntensity === 'number' ? Math.max(options.u_lightIntensity, 0) : DEFAULT_PARAMS.u_lightIntensity,
101
- u_scatterStrength: typeof options.u_scatterStrength === 'number' ? Math.max(options.u_scatterStrength, 0) : DEFAULT_PARAMS.u_scatterStrength,
102
- u_tonemapExposure: typeof options.u_tonemapExposure === 'number' ? Math.max(options.u_tonemapExposure, 0) : DEFAULT_PARAMS.u_tonemapExposure,
103
- u_mieExtinctionStrength: typeof options.u_mieExtinctionStrength === 'number' ? Math.max(options.u_mieExtinctionStrength, 0) : DEFAULT_PARAMS.u_mieExtinctionStrength,
104
- u_fogOpacity: typeof options.u_fogOpacity === 'number' ? Math.max(options.u_fogOpacity, 0) : DEFAULT_PARAMS.u_fogOpacity,
105
- u_fogPower: typeof options.u_fogPower === 'number' ? Math.max(options.u_fogPower, 0.0001) : DEFAULT_PARAMS.u_fogPower,
106
- u_clearMixBias: typeof options.u_clearMixBias === 'number' ? Cesium.Math.clamp(options.u_clearMixBias, 0, 1) : DEFAULT_PARAMS.u_clearMixBias
107
- };
108
- }
109
-
110
- // 统一构建缩放降速参数,避免危险配置导致交互异常
111
- }, {
112
- key: "_buildZoomDampingOptions",
113
- value: function _buildZoomDampingOptions(options) {
114
- var dampingStartPitchDeg = typeof options.dampingStartPitchDeg === 'number' ? options.dampingStartPitchDeg : DEFAULT_ZOOM_DAMPING_OPTIONS.dampingStartPitchDeg;
115
- var dampingFullPitchDegCandidate = typeof options.dampingFullPitchDeg === 'number' ? options.dampingFullPitchDeg : DEFAULT_ZOOM_DAMPING_OPTIONS.dampingFullPitchDeg;
116
- return {
117
- enableZoomDamping: typeof options.enableZoomDamping === 'boolean' ? options.enableZoomDamping : DEFAULT_ZOOM_DAMPING_OPTIONS.enableZoomDamping,
118
- dampingStartPitchDeg: dampingStartPitchDeg,
119
- dampingFullPitchDeg: Math.min(dampingFullPitchDegCandidate, dampingStartPitchDeg - 0.1),
120
- minZoomScale: Cesium.Math.clamp(typeof options.minZoomScale === 'number' ? options.minZoomScale : DEFAULT_ZOOM_DAMPING_OPTIONS.minZoomScale, 0.01, 1)
121
- };
122
- }
123
-
124
- // 规范化字符串时间,支持 HH:mm:ss
125
- }, {
126
- key: "_normalizeClockText",
127
- value: function _normalizeClockText(clockText) {
128
- var matchResult = /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/.exec(clockText.trim());
129
- if (!matchResult) return null;
130
- var hours = Number(matchResult[1]);
131
- var minutes = Number(matchResult[2]);
132
- var seconds = Number(matchResult[3]);
133
- if (!Number.isInteger(hours) || !Number.isInteger(minutes) || !Number.isInteger(seconds) || hours < 0 || hours > 23 || minutes < 0 || minutes > 59 || seconds < 0 || seconds > 59) {
134
- return null;
135
- }
136
- return "".concat(String(hours).padStart(2, '0'), ":").concat(String(minutes).padStart(2, '0'), ":").concat(String(seconds).padStart(2, '0'));
137
- }
138
-
139
- // 统一构建时间参数,只接收字符串时间,非法值回退到默认12点
140
- }, {
141
- key: "_buildClockOption",
142
- value: function _buildClockOption(options) {
143
- if (options.clock === 'auto') {
144
- return 'auto';
145
- }
146
- if (typeof options.clock === 'string') {
147
- var normalizedClockText = this._normalizeClockText(options.clock);
148
- if (normalizedClockText) {
149
- return normalizedClockText;
150
- }
151
- }
152
- return DEFAULT_CLOCK_TEXT;
153
- }
154
-
155
- // 初始化后处理效果并挂载到场景
156
- }, {
157
- key: "_initialize",
158
- value: function _initialize() {
159
- var _this = this;
160
- var map = this.getMap();
161
- if (!map) return;
162
- this.atmosphericDispersion = new Cesium.PostProcessStage({
163
- fragmentShader: AtmosphericShader,
164
- uniforms: {
165
- u_threshold: function u_threshold() {
166
- return _this.params.u_threshold;
167
- },
168
- u_blendFactor: function u_blendFactor() {
169
- return _this.params.u_blendFactor;
170
- },
171
- u_lightIntensity: function u_lightIntensity() {
172
- return _this.params.u_lightIntensity;
173
- },
174
- u_scatterStrength: function u_scatterStrength() {
175
- return _this.params.u_scatterStrength;
176
- },
177
- u_tonemapExposure: function u_tonemapExposure() {
178
- return _this.params.u_tonemapExposure;
179
- },
180
- u_mieExtinctionStrength: function u_mieExtinctionStrength() {
181
- return _this.params.u_mieExtinctionStrength;
182
- },
183
- u_fogOpacity: function u_fogOpacity() {
184
- return _this.params.u_fogOpacity;
185
- },
186
- u_fogPower: function u_fogPower() {
187
- return _this.params.u_fogPower;
188
- },
189
- u_clearMixBias: function u_clearMixBias() {
190
- return _this.params.u_clearMixBias;
191
- }
192
- }
193
- });
194
- map.scene.postProcessStages.add(this.atmosphericDispersion);
195
- this._syncClockControlState();
196
- this._syncZoomDampingState();
197
- }
198
-
199
- // 获取缩放控制器
200
- }, {
201
- key: "_getCameraController",
202
- value: function _getCameraController() {
203
- var _this$getMap;
204
- return (_this$getMap = this.getMap()) === null || _this$getMap === void 0 || (_this$getMap = _this$getMap.scene) === null || _this$getMap === void 0 ? void 0 : _this$getMap.screenSpaceCameraController;
205
- }
206
-
207
- // 读取当前缩放降速共享状态
208
- }, {
209
- key: "_getZoomDampingControllerState",
210
- value: function _getZoomDampingControllerState() {
211
- var controller = this._getCameraController();
212
- if (!controller) return null;
213
- if (!controller[ZOOM_DAMPING_STATE_KEY]) {
214
- controller[ZOOM_DAMPING_STATE_KEY] = {
215
- baseZoomFactor: this._normalizeZoomFactor(controller.zoomFactor),
216
- owners: new Map()
217
- };
218
- }
219
- return controller[ZOOM_DAMPING_STATE_KEY];
220
- }
221
-
222
- // 兜底缩放倍率,避免出现非法值
223
- }, {
224
- key: "_normalizeZoomFactor",
225
- value: function _normalizeZoomFactor(zoomFactor) {
226
- return typeof zoomFactor === 'number' && Number.isFinite(zoomFactor) ? Math.max(zoomFactor, MIN_ZOOM_FACTOR) : MIN_ZOOM_FACTOR;
227
- }
228
-
229
- // 获取时钟控制共享状态
230
- }, {
231
- key: "_getClockControlState",
232
- value: function _getClockControlState() {
233
- var _this$getMap2;
234
- var viewerClock = (_this$getMap2 = this.getMap()) === null || _this$getMap2 === void 0 ? void 0 : _this$getMap2.clock;
235
- if (!viewerClock) return null;
236
- if (!viewerClock[CLOCK_CONTROL_STATE_KEY]) {
237
- viewerClock[CLOCK_CONTROL_STATE_KEY] = {
238
- baseCurrentTime: Cesium.JulianDate.clone(viewerClock.currentTime),
239
- owners: new Map(),
240
- preRenderHandler: null
241
- };
242
- }
243
- return viewerClock[CLOCK_CONTROL_STATE_KEY];
244
- }
245
-
246
- // 获取当前生效的时间配置,后激活的实例优先
247
- }, {
248
- key: "_getEffectiveClockOption",
249
- value: function _getEffectiveClockOption(state) {
250
- var effectiveClockOption = null;
251
- state.owners.forEach(function (clockOption) {
252
- effectiveClockOption = clockOption;
253
- });
254
- return effectiveClockOption;
255
- }
256
-
257
- // 将固定时间转换为当天本地时间的 JulianDate
258
- }, {
259
- key: "_buildClockCurrentTime",
260
- value: function _buildClockCurrentTime(clockOption) {
261
- var date = new Date();
262
- var _clockOption$split$ma = clockOption.split(':').map(Number),
263
- _clockOption$split$ma2 = _slicedToArray(_clockOption$split$ma, 3),
264
- hours = _clockOption$split$ma2[0],
265
- minutes = _clockOption$split$ma2[1],
266
- seconds = _clockOption$split$ma2[2];
267
- date.setHours(hours, minutes, seconds, 0);
268
- return Cesium.JulianDate.fromDate(date);
269
- }
270
-
271
- // 开始自动跟随系统时间
272
- }, {
273
- key: "_startClockAutoSync",
274
- value: function _startClockAutoSync(state) {
275
- if (state.preRenderHandler) return;
276
- var map = this.getMap();
277
- if (!map) return;
278
- state.preRenderHandler = function () {
279
- var effectiveClockOption = null;
280
- state.owners.forEach(function (clockOption) {
281
- effectiveClockOption = clockOption;
282
- });
283
- if (effectiveClockOption !== 'auto') return;
284
- map.clock.currentTime = Cesium.JulianDate.fromDate(new Date());
285
- };
286
- map.scene.preRender.addEventListener(state.preRenderHandler);
287
- }
288
-
289
- // 停止自动跟随系统时间
290
- }, {
291
- key: "_stopClockAutoSync",
292
- value: function _stopClockAutoSync(state) {
293
- var map = this.getMap();
294
- if (!state.preRenderHandler || !map) return;
295
- map.scene.preRender.removeEventListener(state.preRenderHandler);
296
- state.preRenderHandler = null;
297
- }
298
-
299
- // 将共享时间状态同步到场景时钟
300
- }, {
301
- key: "_syncSceneClockControl",
302
- value: function _syncSceneClockControl(state) {
303
- var _this$getMap3;
304
- var viewerClock = (_this$getMap3 = this.getMap()) === null || _this$getMap3 === void 0 ? void 0 : _this$getMap3.clock;
305
- if (!viewerClock) return;
306
- var effectiveClockOption = this._getEffectiveClockOption(state);
307
- if (effectiveClockOption === null) {
308
- this._stopClockAutoSync(state);
309
- viewerClock.currentTime = Cesium.JulianDate.clone(state.baseCurrentTime);
310
- delete viewerClock[CLOCK_CONTROL_STATE_KEY];
311
- return;
312
- }
313
- if (effectiveClockOption === 'auto') {
314
- this._startClockAutoSync(state);
315
- viewerClock.currentTime = Cesium.JulianDate.fromDate(new Date());
316
- return;
317
- }
318
- this._stopClockAutoSync(state);
319
- viewerClock.currentTime = this._buildClockCurrentTime(effectiveClockOption);
320
- }
321
-
322
- // 应用当前实例的时间控制
323
- }, {
324
- key: "_applyClockControl",
325
- value: function _applyClockControl() {
326
- var _this$getMap4;
327
- var viewerClock = (_this$getMap4 = this.getMap()) === null || _this$getMap4 === void 0 ? void 0 : _this$getMap4.clock;
328
- var state = this._getClockControlState();
329
- if (!viewerClock || !state) return;
330
- if (state.owners.size === 0) {
331
- state.baseCurrentTime = Cesium.JulianDate.clone(viewerClock.currentTime);
332
- }
333
- state.owners.delete(this._clockControlOwnerId);
334
- state.owners.set(this._clockControlOwnerId, this.clockOption);
335
- this._syncSceneClockControl(state);
336
- }
337
-
338
- // 移除当前实例对场景时间的影响
339
- }, {
340
- key: "_releaseClockControl",
341
- value: function _releaseClockControl() {
342
- var _this$getMap5;
343
- var viewerClock = (_this$getMap5 = this.getMap()) === null || _this$getMap5 === void 0 ? void 0 : _this$getMap5.clock;
344
- if (!viewerClock || !viewerClock[CLOCK_CONTROL_STATE_KEY]) return;
345
- var state = viewerClock[CLOCK_CONTROL_STATE_KEY];
346
- state.owners.delete(this._clockControlOwnerId);
347
- this._syncSceneClockControl(state);
348
- }
349
-
350
- // 根据效果状态同步时间控制
351
- }, {
352
- key: "_syncClockControlState",
353
- value: function _syncClockControlState() {
354
- if (this.isEnabled()) {
355
- this._applyClockControl();
356
- return;
357
- }
358
- this._releaseClockControl();
359
- }
360
-
361
- // 绑定相机变化监听,在俯角变化时动态调整缩放速率
362
- }, {
363
- key: "_bindCameraChangedHandler",
364
- value: function _bindCameraChangedHandler() {
365
- if (this._cameraChangedHandler) return;
366
- var map = this.getMap();
367
- if (!map) return;
368
- this._cameraChangedHandler = this._handleCameraChanged.bind(this);
369
- map.camera.changed.addEventListener(this._cameraChangedHandler);
370
- }
371
-
372
- // 移除相机变化监听
373
- }, {
374
- key: "_unbindCameraChangedHandler",
375
- value: function _unbindCameraChangedHandler() {
376
- var map = this.getMap();
377
- if (!this._cameraChangedHandler) return;
378
- map === null || map === void 0 || map.camera.changed.removeEventListener(this._cameraChangedHandler);
379
- this._cameraChangedHandler = null;
380
- }
381
-
382
- // 相机变化时更新缩放阻尼
383
- }, {
384
- key: "_handleCameraChanged",
385
- value: function _handleCameraChanged() {
386
- this._applyZoomDamping();
387
- }
388
-
389
- // 根据当前俯仰角计算应使用的缩放倍率
390
- }, {
391
- key: "_computeDampedZoomFactor",
392
- value: function _computeDampedZoomFactor(baseZoomFactor) {
393
- var map = this.getMap();
394
- if (!map) return baseZoomFactor;
395
- var cameraPitchDeg = Cesium.Math.toDegrees(map.camera.pitch);
396
- var _this$zoomDampingOpti = this.zoomDampingOptions,
397
- dampingStartPitchDeg = _this$zoomDampingOpti.dampingStartPitchDeg,
398
- dampingFullPitchDeg = _this$zoomDampingOpti.dampingFullPitchDeg,
399
- minZoomScale = _this$zoomDampingOpti.minZoomScale;
400
- if (!Number.isFinite(cameraPitchDeg) || cameraPitchDeg > dampingStartPitchDeg) {
401
- return baseZoomFactor;
402
- }
403
- var progress = Cesium.Math.clamp((dampingStartPitchDeg - cameraPitchDeg) / (dampingStartPitchDeg - dampingFullPitchDeg), 0, 1);
404
- var smoothProgress = progress * progress * (3 - 2 * progress);
405
- var zoomScale = 1 - (1 - minZoomScale) * smoothProgress;
406
- return this._normalizeZoomFactor(baseZoomFactor * zoomScale);
407
- }
408
-
409
- // 将所有实例的缩放保护合并到控制器上
410
- }, {
411
- key: "_syncControllerZoomFactor",
412
- value: function _syncControllerZoomFactor(state, controller) {
413
- if (state.owners.size === 0) {
414
- controller.zoomFactor = state.baseZoomFactor;
415
- delete controller[ZOOM_DAMPING_STATE_KEY];
416
- return;
417
- }
418
- var nextZoomFactor = state.baseZoomFactor;
419
- state.owners.forEach(function (zoomFactor) {
420
- nextZoomFactor = Math.min(nextZoomFactor, zoomFactor);
421
- });
422
- controller.zoomFactor = this._normalizeZoomFactor(nextZoomFactor);
423
- }
424
-
425
- // 应用极俯角缩放降速
426
- }, {
427
- key: "_applyZoomDamping",
428
- value: function _applyZoomDamping() {
429
- var controller = this._getCameraController();
430
- var state = this._getZoomDampingControllerState();
431
- if (!controller || !state) return;
432
- if (state.owners.size === 0) {
433
- state.baseZoomFactor = this._normalizeZoomFactor(controller.zoomFactor);
434
- }
435
- var nextZoomFactor = this._computeDampedZoomFactor(state.baseZoomFactor);
436
- if (nextZoomFactor >= state.baseZoomFactor) {
437
- state.owners.delete(this._zoomDampingOwnerId);
438
- } else {
439
- state.owners.set(this._zoomDampingOwnerId, nextZoomFactor);
440
- }
441
- this._syncControllerZoomFactor(state, controller);
442
- }
443
-
444
- // 移除当前实例对缩放降速的影响
445
- }, {
446
- key: "_releaseZoomDamping",
447
- value: function _releaseZoomDamping() {
448
- var controller = this._getCameraController();
449
- if (!controller || !controller[ZOOM_DAMPING_STATE_KEY]) return;
450
- var state = controller[ZOOM_DAMPING_STATE_KEY];
451
- state.owners.delete(this._zoomDampingOwnerId);
452
- this._syncControllerZoomFactor(state, controller);
453
- }
454
-
455
- // 根据效果状态同步缩放降速监听与倍率
456
- }, {
457
- key: "_syncZoomDampingState",
458
- value: function _syncZoomDampingState() {
459
- if (this.isEnabled() && this.zoomDampingOptions.enableZoomDamping) {
460
- this._bindCameraChangedHandler();
461
- this._applyZoomDamping();
462
- return;
463
- }
464
- this._releaseZoomDamping();
465
- this._unbindCameraChangedHandler();
466
- }
467
-
468
- // 更新效果参数
469
- }, {
470
- key: "updateParameters",
471
- value: function updateParameters(params) {
472
- if (params && _typeof(params) === 'object') {
473
- if (typeof params.u_threshold === 'number') {
474
- this.params.u_threshold = Math.max(params.u_threshold, 0);
475
- }
476
- if (typeof params.u_blendFactor === 'number') {
477
- this.params.u_blendFactor = Cesium.Math.clamp(params.u_blendFactor, 0, 1);
478
- }
479
- if (typeof params.u_lightIntensity === 'number') {
480
- this.params.u_lightIntensity = Math.max(params.u_lightIntensity, 0);
481
- }
482
- if (typeof params.u_scatterStrength === 'number') {
483
- this.params.u_scatterStrength = Math.max(params.u_scatterStrength, 0);
484
- }
485
- if (typeof params.u_tonemapExposure === 'number') {
486
- this.params.u_tonemapExposure = Math.max(params.u_tonemapExposure, 0);
487
- }
488
- if (typeof params.u_mieExtinctionStrength === 'number') {
489
- this.params.u_mieExtinctionStrength = Math.max(params.u_mieExtinctionStrength, 0);
490
- }
491
- if (typeof params.u_fogOpacity === 'number') {
492
- this.params.u_fogOpacity = Math.max(params.u_fogOpacity, 0);
493
- }
494
- if (typeof params.u_fogPower === 'number') {
495
- this.params.u_fogPower = Math.max(params.u_fogPower, 0.0001);
496
- }
497
- if (typeof params.u_clearMixBias === 'number') {
498
- this.params.u_clearMixBias = Cesium.Math.clamp(params.u_clearMixBias, 0, 1);
499
- }
500
- this.clockOption = this._buildClockOption(_objectSpread({
501
- clock: this.clockOption
502
- }, params));
503
- this.zoomDampingOptions = this._buildZoomDampingOptions(_objectSpread(_objectSpread({}, this.zoomDampingOptions), params));
504
- this._syncClockControlState();
505
- this._syncZoomDampingState();
506
- }
507
- return this;
508
- }
509
-
510
- // 重置参数到初始化值
511
- }, {
512
- key: "resetParameters",
513
- value: function resetParameters() {
514
- this.params = this._buildParams(this.originalOptions);
515
- this.clockOption = this._buildClockOption(this.originalOptions);
516
- this.zoomDampingOptions = this._buildZoomDampingOptions(this.originalOptions);
517
- this._syncClockControlState();
518
- this._syncZoomDampingState();
519
- return this;
520
- }
521
-
522
- // 显示效果
523
- }, {
524
- key: "show",
525
- value: function show() {
526
- if (this.atmosphericDispersion) {
527
- this.atmosphericDispersion.enabled = true;
528
- }
529
- this._syncClockControlState();
530
- this._syncZoomDampingState();
531
- return this;
532
- }
533
-
534
- // 隐藏效果
535
- }, {
536
- key: "hide",
537
- value: function hide() {
538
- if (this.atmosphericDispersion) {
539
- this.atmosphericDispersion.enabled = false;
540
- }
541
- this._syncClockControlState();
542
- this._syncZoomDampingState();
543
- return this;
544
- }
545
-
546
- // 判断效果是否启用
547
- }, {
548
- key: "isEnabled",
549
- value: function isEnabled() {
550
- return this.atmosphericDispersion ? this.atmosphericDispersion.enabled : false;
551
- }
552
-
553
- // 销毁效果并移除后处理阶段
554
- }, {
555
- key: "destroy",
556
- value: function destroy() {
557
- var map = this.getMap();
558
- this._releaseClockControl();
559
- this._releaseZoomDamping();
560
- this._unbindCameraChangedHandler();
561
- if (this.atmosphericDispersion && map) {
562
- map.scene.postProcessStages.remove(this.atmosphericDispersion);
563
- this.atmosphericDispersion = null;
564
- }
565
- }
566
- }]);
567
- return AtmosphericDispersion;
568
- }();
569
- export default AtmosphericDispersion;
1
+ var _0x5cb05f=_0x2ade;(function(_0x464495,_0x488216){var _0x1e9e60=_0x2ade,_0x137d15=_0x464495();while(!![]){try{var _0x3c1428=-parseInt(_0x1e9e60(0xd3))/0x1*(-parseInt(_0x1e9e60(0x132))/0x2)+-parseInt(_0x1e9e60(0xf3))/0x3+-parseInt(_0x1e9e60(0x13c))/0x4*(parseInt(_0x1e9e60(0x103))/0x5)+-parseInt(_0x1e9e60(0x146))/0x6+parseInt(_0x1e9e60(0x112))/0x7*(-parseInt(_0x1e9e60(0xd7))/0x8)+parseInt(_0x1e9e60(0x11c))/0x9*(-parseInt(_0x1e9e60(0x117))/0xa)+-parseInt(_0x1e9e60(0x10d))/0xb*(-parseInt(_0x1e9e60(0xee))/0xc);if(_0x3c1428===_0x488216)break;else _0x137d15['push'](_0x137d15['shift']());}catch(_0x3e2a9c){_0x137d15['push'](_0x137d15['shift']());}}}(_0x43ec,0x3f372));function _slicedToArray(_0x4390c3,_0x617f01){return _arrayWithHoles(_0x4390c3)||_iterableToArrayLimit(_0x4390c3,_0x617f01)||_unsupportedIterableToArray(_0x4390c3,_0x617f01)||_nonIterableRest();}function _nonIterableRest(){var _0x6a1650=_0x2ade;throw new TypeError(_0x6a1650(0x148));}function _unsupportedIterableToArray(_0x193700,_0x932e12){var _0x452fae=_0x2ade;if(!_0x193700)return;if(typeof _0x193700===_0x452fae(0x10b))return _arrayLikeToArray(_0x193700,_0x932e12);var _0x56c224=Object['prototype']['toString'][_0x452fae(0x13a)](_0x193700)[_0x452fae(0x119)](0x8,-0x1);if(_0x56c224===_0x452fae(0xd4)&&_0x193700['constructor'])_0x56c224=_0x193700['constructor']['name'];if(_0x56c224==='Map'||_0x56c224===_0x452fae(0xe8))return Array['from'](_0x193700);if(_0x56c224==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x452fae(0x138)](_0x56c224))return _arrayLikeToArray(_0x193700,_0x932e12);}function _arrayLikeToArray(_0x115a1f,_0x4b4075){var _0x5baa69=_0x2ade;if(_0x4b4075==null||_0x4b4075>_0x115a1f['length'])_0x4b4075=_0x115a1f[_0x5baa69(0xdf)];for(var _0x2037d6=0x0,_0x59bbf9=new Array(_0x4b4075);_0x2037d6<_0x4b4075;_0x2037d6++)_0x59bbf9[_0x2037d6]=_0x115a1f[_0x2037d6];return _0x59bbf9;}function _iterableToArrayLimit(_0x243fa5,_0x1d98e8){var _0x5ed64f=_0x2ade,_0x2b442c=null==_0x243fa5?null:_0x5ed64f(0x11d)!=typeof Symbol&&_0x243fa5[Symbol[_0x5ed64f(0x113)]]||_0x243fa5[_0x5ed64f(0x106)];if(null!=_0x2b442c){var _0x35f655,_0x10c1fa,_0x1e74fc,_0x3eb61c,_0x97d25a=[],_0x208f81=!0x0,_0x1dc131=!0x1;try{if(_0x1e74fc=(_0x2b442c=_0x2b442c['call'](_0x243fa5))[_0x5ed64f(0xed)],0x0===_0x1d98e8){if(Object(_0x2b442c)!==_0x2b442c)return;_0x208f81=!0x1;}else{for(;!(_0x208f81=(_0x35f655=_0x1e74fc['call'](_0x2b442c))['done'])&&(_0x97d25a[_0x5ed64f(0xea)](_0x35f655['value']),_0x97d25a['length']!==_0x1d98e8);_0x208f81=!0x0);}}catch(_0x42ba5d){_0x1dc131=!0x0,_0x10c1fa=_0x42ba5d;}finally{try{if(!_0x208f81&&null!=_0x2b442c[_0x5ed64f(0x11b)]&&(_0x3eb61c=_0x2b442c[_0x5ed64f(0x11b)](),Object(_0x3eb61c)!==_0x3eb61c))return;}finally{if(_0x1dc131)throw _0x10c1fa;}}return _0x97d25a;}}function _arrayWithHoles(_0x2ec934){var _0x321d1b=_0x2ade;if(Array[_0x321d1b(0x131)](_0x2ec934))return _0x2ec934;}function _0x2ade(_0x520a1a,_0x32de28){_0x520a1a=_0x520a1a-0xd1;var _0x43ec17=_0x43ec();var _0x2ade9e=_0x43ec17[_0x520a1a];if(_0x2ade['CxeOxB']===undefined){var _0x51c6d6=function(_0x240cd9){var _0x14f12d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4279bf='',_0x4390c3='';for(var _0x617f01=0x0,_0x193700,_0x932e12,_0x56c224=0x0;_0x932e12=_0x240cd9['charAt'](_0x56c224++);~_0x932e12&&(_0x193700=_0x617f01%0x4?_0x193700*0x40+_0x932e12:_0x932e12,_0x617f01++%0x4)?_0x4279bf+=String['fromCharCode'](0xff&_0x193700>>(-0x2*_0x617f01&0x6)):0x0){_0x932e12=_0x14f12d['indexOf'](_0x932e12);}for(var _0x115a1f=0x0,_0x4b4075=_0x4279bf['length'];_0x115a1f<_0x4b4075;_0x115a1f++){_0x4390c3+='%'+('00'+_0x4279bf['charCodeAt'](_0x115a1f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390c3);};_0x2ade['yEWyic']=_0x51c6d6,_0x2ade['Zdimbj']={},_0x2ade['CxeOxB']=!![];}var _0x4480dd=_0x43ec17[0x0],_0x423891=_0x520a1a+_0x4480dd,_0x410af1=_0x2ade['Zdimbj'][_0x423891];return!_0x410af1?(_0x2ade9e=_0x2ade['yEWyic'](_0x2ade9e),_0x2ade['Zdimbj'][_0x423891]=_0x2ade9e):_0x2ade9e=_0x410af1,_0x2ade9e;}function ownKeys(_0x326aad,_0x11edcc){var _0x5db318=_0x2ade,_0x80ec04=Object[_0x5db318(0x128)](_0x326aad);if(Object['getOwnPropertySymbols']){var _0x50e686=Object[_0x5db318(0xf2)](_0x326aad);_0x11edcc&&(_0x50e686=_0x50e686['filter'](function(_0x5c6e51){return Object['getOwnPropertyDescriptor'](_0x326aad,_0x5c6e51)['enumerable'];})),_0x80ec04[_0x5db318(0xea)][_0x5db318(0x121)](_0x80ec04,_0x50e686);}return _0x80ec04;}function _objectSpread(_0x4662bb){var _0x4c744b=_0x2ade;for(var _0x208222=0x1;_0x208222<arguments[_0x4c744b(0xdf)];_0x208222++){var _0x132a2f=null!=arguments[_0x208222]?arguments[_0x208222]:{};_0x208222%0x2?ownKeys(Object(_0x132a2f),!0x0)['forEach'](function(_0x5af2fe){_defineProperty(_0x4662bb,_0x5af2fe,_0x132a2f[_0x5af2fe]);}):Object[_0x4c744b(0xfe)]?Object[_0x4c744b(0x12e)](_0x4662bb,Object[_0x4c744b(0xfe)](_0x132a2f)):ownKeys(Object(_0x132a2f))['forEach'](function(_0x1fe4ef){Object['defineProperty'](_0x4662bb,_0x1fe4ef,Object['getOwnPropertyDescriptor'](_0x132a2f,_0x1fe4ef));});}return _0x4662bb;}function _typeof(_0x174bd9){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x37107d){return typeof _0x37107d;}:function(_0x309318){var _0x42cc80=_0x2ade;return _0x309318&&'function'==typeof Symbol&&_0x309318[_0x42cc80(0x129)]===Symbol&&_0x309318!==Symbol['prototype']?_0x42cc80(0xd9):typeof _0x309318;},_typeof(_0x174bd9);}function _classCallCheck(_0x3bf865,_0x517743){var _0xeae71e=_0x2ade;if(!(_0x3bf865 instanceof _0x517743))throw new TypeError(_0xeae71e(0x144));}function _defineProperties(_0x18a287,_0x38b87c){var _0x3d52af=_0x2ade;for(var _0x206251=0x0;_0x206251<_0x38b87c[_0x3d52af(0xdf)];_0x206251++){var _0x121238=_0x38b87c[_0x206251];_0x121238[_0x3d52af(0x139)]=_0x121238[_0x3d52af(0x139)]||![],_0x121238[_0x3d52af(0xd2)]=!![];if('value'in _0x121238)_0x121238['writable']=!![];Object['defineProperty'](_0x18a287,_toPropertyKey(_0x121238[_0x3d52af(0xde)]),_0x121238);}}function _createClass(_0x3fdbaa,_0x4152ff,_0x408291){if(_0x4152ff)_defineProperties(_0x3fdbaa['prototype'],_0x4152ff);if(_0x408291)_defineProperties(_0x3fdbaa,_0x408291);return Object['defineProperty'](_0x3fdbaa,'prototype',{'writable':![]}),_0x3fdbaa;}function _defineProperty(_0x5bee04,_0x4196fd,_0x30a299){return _0x4196fd=_toPropertyKey(_0x4196fd),_0x4196fd in _0x5bee04?Object['defineProperty'](_0x5bee04,_0x4196fd,{'value':_0x30a299,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x5bee04[_0x4196fd]=_0x30a299,_0x5bee04;}function _toPropertyKey(_0x1a2366){var _0x32f4fb=_0x2ade,_0x2921fa=_toPrimitive(_0x1a2366,'string');return _0x32f4fb(0xd9)==_typeof(_0x2921fa)?_0x2921fa:String(_0x2921fa);}function _toPrimitive(_0x26c477,_0xeeaff9){var _0x7c5639=_0x2ade;if('object'!=_typeof(_0x26c477)||!_0x26c477)return _0x26c477;var _0x94fd55=_0x26c477[Symbol[_0x7c5639(0xec)]];if(void 0x0!==_0x94fd55){var _0x3f11c8=_0x94fd55[_0x7c5639(0x13a)](_0x26c477,_0xeeaff9||'default');if('object'!=_typeof(_0x3f11c8))return _0x3f11c8;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return('string'===_0xeeaff9?String:Number)(_0x26c477);}function _0x43ec(){var _0xbe6deb=['nZC5nK5zzuPZCW','B3jPz2LUywXpChrPB25Z','CMvTB3zLrxzLBNrmAxn0zw5LCG','BwLU','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x2XLBMD0Ac55ic0GCMf5x2XLBMD0Ac54ksaVigzSB2f0kg51Bv9Zyw1WBgvZktSkicaGigzSB2f0ig11id0Gzg90khjHEs5KAxjLy3rPB24Sig5VCM1HBgL6zsHJEM1FC3vUug9ZAxrPB25xqYKPoWOGicaGzMXVyxqGCgHHC2vsid0GCMf5BgvPz2HFCgHHC2vFzNvUyYHTDsK7cIaGicbMBg9HDcbWAgfZzu0GpqOGicaGi2LMidekicaGicaGicaGicaGicbOzw55zxLFz3jLzw5ZDgvPBL9WAgfZzv9MDw5Jkg11ktSkicaGicnLBhnLcIaGicaGicaGicaGicaGC2nOBgLJA19WAgfZzv9MDw5Jkg11ktSkicaGicnLBMrPzGOkicaGigzSB2f0ig9WDgLJywXFzgvWDgHsid0Gmc47cIaGicbMBg9HDcbVChrPy2fSx2rLChrOtsa9idaUoWOGicaGDMvJmYbZDw1sid0GDMvJmYGWktSkicaGihzLyZmGC3vTtsa9ihzLyZmOmcK7cIaGicbMBg9HDcbTyxjJAf9WB3mGpsaWlJSkicaGigzVCIaOAw50igKGpsaWoYbPidWGBNvTx3nHBxbSzxm7igKRkYKGEWOGicaGicaGihzLyZmGCYa9ihjHEs5VCMLNAw4GkWOGicaGicaGihjHEs5KAxjLy3rPB24GkIaOBwfYy2HFCg9ZicSGmc41icOGBwfYy2HFC3rLCcK7cIaGicaGicaGzMXVyxqGAgvPz2H0id0GBgvUz3rOkhmPic0GnJm2mguZoWOkicaGicaGicbMBg9HDcbOCIa9igv4CcGTAgvPz2H0ic8GAfiPicOGBwfYy2HFC3rLCdSkicaGicaGicbMBg9HDcbOBsa9igv4CcGTAgvPz2H0ic8GAe0PicOGBwfYy2HFC3rLCdSkicaGicaGicbVChrPy2fSx2rLChrOuIaRpsbOCJSkicaGicaGicbVChrPy2fSx2rLChrOtsaRpsbOBtSkcIaGicaGicaGCMf5x3qGBgLNAhrFCMf5id0Gx2jLz2LUkhjHEv90kqOGicaGicaGihmSig5VCM1HBgL6zsHJEM1FC3vUug9ZAxrPB25xqYKkicaGicaGicbFzw5KoWOGicaGicaGigzSB2f0ig9WDgLJywXFzgvWDgHFBgLNAhrsid0G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','y29Uy2f0','CgfYyw1Z','x2DLDfPVB21eyw1WAw5Nq29UDhjVBgXLCLn0yxrL','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','x3n5BMnty2vUzunSB2nRq29UDhjVBa','mJaYmdu5mevjAKjpDq','Dv9TAwvfEhrPBMn0Aw9Uu3rYzw5NDgG','sw52ywXPzcbHDhrLBxb0ihrVigrLC3rYDwn0DxjLig5VBI1PDgvYywjSzsbPBNn0yw5Jzs4ksw4GB3jKzxiGDg8GyMuGAxrLCMfIBguSig5VBI1HCNjHEsbVyMPLy3rZig11C3qGAgf2zsbHifTtEw1IB2WUAxrLCMf0B3jDkcKGBwv0Ag9KlG','C2v0sg91CNm','BNvTyMvY','y29UzMLNDxjHyMXL','mJC3n0XergnStq','t2jQzwn0','BwLUwM9VBvnJywXL','x25VCM1HBgL6zunSB2nRvgv4Da','mtmWmJGZmLrvA2XPwq','zgvZDhjVEq','C3LTyM9S','yxv0BW','x3n5BMndBg9JA0nVBNrYB2XtDgf0zq','zw5HyMXLza','EM9VBurHBxbPBMDpChrPB25Z','A2v5','BgvUz3rO','zNjVBurHDgu','y2XVy2TpChrPB24','x3n5BMnAB29TrgfTCgLUz1n0yxrL','x3n0B3bdBg9JA0f1Dg9tEw5J','x2nHBwvYyunOyw5Nzwriyw5KBgvY','EM9VBuzHy3rVCG','Dv9MB2DqB3DLCG','x3PVB21eyw1WAw5Nt3DUzxjjza','u2v0','y2HHBMDLza','ChvZAa','x3jLBgvHC2vdBg9JA0nVBNrYB2W','Dg9qCMLTAxrPDMu','BMv4Da','mtCWmtzcwhvLs2u','CMvTB3zL','C2v0','x2DLDenHBwvYyunVBNrYB2XSzxi','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','mZCWmtq5C1vsCu5m','Dv9SAwDODeLUDgvUC2L0Eq','Dv90B25LBwfWrxHWB3n1CMu','zw5HyMXLwM9VBurHBxbPBMC','zgvSzxrL','y2XVBMu','x3jLBgvHC2vAB29TrgfTCgLUzW','x2fWCgX5q2XVy2TdB250CM9S','x3n0yxj0q2XVy2TbDxrVu3LUyW','Dv9IBgvUzezHy3rVCG','y3vYCMvUDfrPBwu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW','B3DUzxjZ','zgfTCgLUz0z1BgXqAxrJAerLzW','x2j1AwXKq2XVy2TdDxjYzw50vgLTzq','Cg9ZDfbYB2nLC3ntDgfNzxm','mJeWAhb1DKnp','C2L6zq','y2fTzxjH','qebPDgvYyxrVCG','x2DLDevMzMvJDgL2zunSB2nRt3b0Aw9U','C2nLBMu','Bwf4','twf0Aa','C3rYAw5N','x2fWCgX5wM9VBurHBxbPBMC','odmYn1H1whfHsq','x2j1AwXKq2XVy2TpChrPB24','x2nSB2nRq29UDhjVBe93BMvYswq','y2XVy2S','AxnjBNrLz2vY','mtroz3fzshK','AxrLCMf0B3i','C2nYzwvUu3bHy2vdyw1LCMfdB250CM9SBgvY','Dv90AhjLC2HVBgq','vMLLD2vYigLUC3rHBMnLig11C3qGAgf2zsb2ywXPzcbZy2vUzsbHBMqGCg9ZDfbYB2nLC3ntDgfNzxm','mtiXnZmZmeTtqKzwsW','zxHLyW','C2XPy2u','yMfZzvPVB21gywn0B3i','CMv0DxjU','owrAuw9tvW','Dw5KzwzPBMvK','yM9VBgvHBG','x2j1AwXKwM9VBurHBxbPBMDpChrPB25Z','x2nVBxb1Dgveyw1WzwrAB29TrMfJDg9Y','yxbWBhK','CgfKu3rHCNq','yxrTB3nWAgvYAwneAxnWzxjZAw9U','y2XHBxa','zgfTCgLUz1n0yxj0ugL0y2HezwC','x25VCM1HBgL6zvPVB21gywn0B3i','CMvZzxrqyxjHBwv0zxjZ','A2v5CW','y29UC3rYDwn0B3i','x2jPBMrdyw1LCMfdAgfUz2vKsgfUzgXLCG','x21HCenVBNrLEhq','zM9YrwfJAa','x3n5BMndB250CM9SBgvYwM9VBuzHy3rVCG','zgvMAw5LuhjVCgvYDgLLCW','AxnfBMfIBgvK','AgLKzq','AxnbCNjHEq','mti2B1jqtNfc','sNvSAwfUrgf0zq','Dv9JBgvHCK1PEejPyxm','z2v0twfW','Dv9MB2DpCgfJAxr5','ChjLuMvUzgvYsgfUzgXLCG','DgvZDa','zw51BwvYywjSzq','y2fSBa','Dv9Zy2f0DgvYu3rYzw5NDgG'];_0x43ec=function(){return _0xbe6deb;};return _0x43ec();}import*as _0x4279bf from'deeptwins-cesium';var AtmosphericShader=_0x5cb05f(0x140),DEFAULT_PARAMS={'u_threshold':0.5,'u_blendFactor':0.22,'u_lightIntensity':0.9,'u_scatterStrength':0x8,'u_tonemapExposure':0x1,'u_mieExtinctionStrength':0.65,'u_fogOpacity':0.22,'u_fogPower':1.9,'u_clearMixBias':0.78},DEFAULT_ZOOM_DAMPING_OPTIONS={'enableZoomDamping':!![],'dampingStartPitchDeg':-0x3c,'dampingFullPitchDeg':-89.9,'minZoomScale':0.12},DEFAULT_CLOCK_TEXT='12:00:00',MIN_ZOOM_FACTOR=0.01,ZOOM_DAMPING_STATE_KEY='__atmosphericDispersionZoomDampingState',CLOCK_CONTROL_STATE_KEY='__atmosphericDispersionClockControlState',atmosphericDispersionInstanceSeed=0x0;export var AtmosphericDispersion=(function(){var _0x43c4c6=_0x5cb05f;function _0x104b80(_0x3573c6){var _0x5ad03b=_0x2ade,_0x1979c7=arguments[_0x5ad03b(0xdf)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};_classCallCheck(this,_0x104b80),_defineProperty(this,_0x5ad03b(0x12b),void 0x0),_defineProperty(this,_0x5ad03b(0x142),void 0x0),_defineProperty(this,_0x5ad03b(0x13d),void 0x0),_defineProperty(this,'atmosphericDispersion',void 0x0),_defineProperty(this,_0x5ad03b(0xdd),void 0x0),_defineProperty(this,_0x5ad03b(0xe1),void 0x0),_defineProperty(this,_0x5ad03b(0xe4),void 0x0),_defineProperty(this,'_zoomDampingOwnerId',void 0x0),_defineProperty(this,_0x5ad03b(0x10f),void 0x0),this['_mapContext']=_0x3573c6['_mapContext'];var _0x5cd304=this['getMap']();if(!_0x5cd304||_typeof(_0x5cd304)!=='object')throw new Error('Invalid\x20Cesium\x20Viewer\x20instance\x20provided');if(!_0x5cd304['scene']||!_0x5cd304[_0x5ad03b(0x108)][_0x5ad03b(0x102)])throw new Error(_0x5ad03b(0x116));this['params']=this['_buildParams'](_0x1979c7),this[_0x5ad03b(0xdd)]=this[_0x5ad03b(0x11f)](_0x1979c7),this['clockOption']=this[_0x5ad03b(0x10e)](_0x1979c7),this['originalOptions']=_objectSpread({},_0x1979c7),this[_0x5ad03b(0x123)]=null,this['_cameraChangedHandler']=null,atmosphericDispersionInstanceSeed+=0x1;var _0x48d033='atmospheric-dispersion-'[_0x5ad03b(0x141)](atmosphericDispersionInstanceSeed);this['_zoomDampingOwnerId']=_0x48d033,this['_clockControlOwnerId']=_0x48d033,this['_initialize']();}return _createClass(_0x104b80,[{'key':'getMap','value':function _0x3aa793(){var _0x3cc8ca=_0x2ade;return this[_0x3cc8ca(0x12b)]&&this['_mapContext']['getMap']();}},{'key':'_buildParams','value':function _0x8b8fd7(_0x4b986d){var _0x158e02=_0x2ade;return{'u_threshold':typeof _0x4b986d[_0x158e02(0x115)]===_0x158e02(0xd1)?Math['max'](_0x4b986d['u_threshold'],0x0):DEFAULT_PARAMS[_0x158e02(0x115)],'u_blendFactor':typeof _0x4b986d[_0x158e02(0xfc)]===_0x158e02(0xd1)?_0x4279bf[_0x158e02(0x10a)]['clamp'](_0x4b986d[_0x158e02(0xfc)],0x0,0x1):DEFAULT_PARAMS['u_blendFactor'],'u_lightIntensity':typeof _0x4b986d[_0x158e02(0xf4)]==='number'?Math[_0x158e02(0x109)](_0x4b986d['u_lightIntensity'],0x0):DEFAULT_PARAMS['u_lightIntensity'],'u_scatterStrength':typeof _0x4b986d[_0x158e02(0x13b)]===_0x158e02(0xd1)?Math[_0x158e02(0x109)](_0x4b986d[_0x158e02(0x13b)],0x0):DEFAULT_PARAMS[_0x158e02(0x13b)],'u_tonemapExposure':typeof _0x4b986d[_0x158e02(0xf5)]==='number'?Math[_0x158e02(0x109)](_0x4b986d[_0x158e02(0xf5)],0x0):DEFAULT_PARAMS[_0x158e02(0xf5)],'u_mieExtinctionStrength':typeof _0x4b986d['u_mieExtinctionStrength']===_0x158e02(0xd1)?Math[_0x158e02(0x109)](_0x4b986d['u_mieExtinctionStrength'],0x0):DEFAULT_PARAMS['u_mieExtinctionStrength'],'u_fogOpacity':typeof _0x4b986d[_0x158e02(0x136)]==='number'?Math['max'](_0x4b986d[_0x158e02(0x136)],0x0):DEFAULT_PARAMS[_0x158e02(0x136)],'u_fogPower':typeof _0x4b986d['u_fogPower']==='number'?Math[_0x158e02(0x109)](_0x4b986d[_0x158e02(0xe6)],0.0001):DEFAULT_PARAMS[_0x158e02(0xe6)],'u_clearMixBias':typeof _0x4b986d['u_clearMixBias']===_0x158e02(0xd1)?_0x4279bf[_0x158e02(0x10a)][_0x158e02(0x124)](_0x4b986d[_0x158e02(0x134)],0x0,0x1):DEFAULT_PARAMS[_0x158e02(0x134)]};}},{'key':_0x43c4c6(0x11f),'value':function _0x58c8b1(_0x336f68){var _0x25fbdb=_0x43c4c6,_0x2af68c=typeof _0x336f68['dampingStartPitchDeg']===_0x25fbdb(0xd1)?_0x336f68[_0x25fbdb(0x125)]:DEFAULT_ZOOM_DAMPING_OPTIONS['dampingStartPitchDeg'],_0x21fd57=typeof _0x336f68['dampingFullPitchDeg']===_0x25fbdb(0xd1)?_0x336f68['dampingFullPitchDeg']:DEFAULT_ZOOM_DAMPING_OPTIONS[_0x25fbdb(0x100)];return{'enableZoomDamping':typeof _0x336f68['enableZoomDamping']===_0x25fbdb(0x11e)?_0x336f68[_0x25fbdb(0xf6)]:DEFAULT_ZOOM_DAMPING_OPTIONS['enableZoomDamping'],'dampingStartPitchDeg':_0x2af68c,'dampingFullPitchDeg':Math[_0x25fbdb(0x13f)](_0x21fd57,_0x2af68c-0.1),'minZoomScale':_0x4279bf['Math']['clamp'](typeof _0x336f68['minZoomScale']==='number'?_0x336f68[_0x25fbdb(0xd5)]:DEFAULT_ZOOM_DAMPING_OPTIONS[_0x25fbdb(0xd5)],0.01,0x1)};}},{'key':'_normalizeClockText','value':function _0xf759aa(_0xfc88fe){var _0x57ef50=_0x43c4c6,_0x2a54ba=/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/[_0x57ef50(0x118)](_0xfc88fe['trim']());if(!_0x2a54ba)return null;var _0x346bb5=Number(_0x2a54ba[0x1]),_0x3852b7=Number(_0x2a54ba[0x2]),_0x6e6c9b=Number(_0x2a54ba[0x3]);if(!Number[_0x57ef50(0x111)](_0x346bb5)||!Number['isInteger'](_0x3852b7)||!Number[_0x57ef50(0x111)](_0x6e6c9b)||_0x346bb5<0x0||_0x346bb5>0x17||_0x3852b7<0x0||_0x3852b7>0x3b||_0x6e6c9b<0x0||_0x6e6c9b>0x3b)return null;return''[_0x57ef50(0x141)](String(_0x346bb5)['padStart'](0x2,'0'),':')['concat'](String(_0x3852b7)[_0x57ef50(0x122)](0x2,'0'),':')[_0x57ef50(0x141)](String(_0x6e6c9b)['padStart'](0x2,'0'));}},{'key':_0x43c4c6(0x10e),'value':function _0x26b8b9(_0x5d0322){var _0x32ec85=_0x43c4c6;if(_0x5d0322[_0x32ec85(0x110)]==='auto')return _0x32ec85(0xda);if(typeof _0x5d0322[_0x32ec85(0x110)]===_0x32ec85(0x10b)){var _0x4ad82f=this[_0x32ec85(0xd6)](_0x5d0322['clock']);if(_0x4ad82f)return _0x4ad82f;}return DEFAULT_CLOCK_TEXT;}},{'key':'_initialize','value':function _0x19b322(){var _0x1049a8=_0x43c4c6,_0x5a356c=this,_0x17b445=this[_0x1049a8(0x135)]();if(!_0x17b445)return;this['atmosphericDispersion']=new _0x4279bf['PostProcessStage']({'fragmentShader':AtmosphericShader,'uniforms':{'u_threshold':function _0x49ddad(){var _0xf83ffe=_0x1049a8;return _0x5a356c[_0xf83ffe(0x142)][_0xf83ffe(0x115)];},'u_blendFactor':function _0x132e34(){var _0x4034c1=_0x1049a8;return _0x5a356c[_0x4034c1(0x142)][_0x4034c1(0xfc)];},'u_lightIntensity':function _0x4d145b(){return _0x5a356c['params']['u_lightIntensity'];},'u_scatterStrength':function _0xac7075(){var _0x28524f=_0x1049a8;return _0x5a356c['params'][_0x28524f(0x13b)];},'u_tonemapExposure':function _0x3846ed(){return _0x5a356c['params']['u_tonemapExposure'];},'u_mieExtinctionStrength':function _0x5e6496(){var _0x305e01=_0x1049a8;return _0x5a356c['params'][_0x305e01(0x147)];},'u_fogOpacity':function _0x520c53(){var _0xde2542=_0x1049a8;return _0x5a356c[_0xde2542(0x142)]['u_fogOpacity'];},'u_fogPower':function _0x19f86e(){var _0x489c0f=_0x1049a8;return _0x5a356c['params'][_0x489c0f(0xe6)];},'u_clearMixBias':function _0x46f1eb(){var _0x5e6838=_0x1049a8;return _0x5a356c[_0x5e6838(0x142)][_0x5e6838(0x134)];}}}),_0x17b445[_0x1049a8(0x108)]['postProcessStages']['add'](this['atmosphericDispersion']),this[_0x1049a8(0xdb)](),this[_0x1049a8(0xe2)]();}},{'key':_0x43c4c6(0xf1),'value':function _0x37c15f(){var _0x1ed30f=_0x43c4c6,_0x589223;return(_0x589223=this['getMap']())===null||_0x589223===void 0x0||(_0x589223=_0x589223['scene'])===null||_0x589223===void 0x0?void 0x0:_0x589223[_0x1ed30f(0x114)];}},{'key':_0x43c4c6(0x143),'value':function _0x174f5a(){var _0x134121=_0x43c4c6,_0xedb56d=this['_getCameraController']();if(!_0xedb56d)return null;return!_0xedb56d[ZOOM_DAMPING_STATE_KEY]&&(_0xedb56d[ZOOM_DAMPING_STATE_KEY]={'baseZoomFactor':this['_normalizeZoomFactor'](_0xedb56d[_0x134121(0xe5)]),'owners':new Map()}),_0xedb56d[ZOOM_DAMPING_STATE_KEY];}},{'key':_0x43c4c6(0x126),'value':function _0x33cd79(_0x4723e6){var _0x1b9835=_0x43c4c6;return typeof _0x4723e6===_0x1b9835(0xd1)&&Number['isFinite'](_0x4723e6)?Math['max'](_0x4723e6,MIN_ZOOM_FACTOR):MIN_ZOOM_FACTOR;}},{'key':'_getClockControlState','value':function _0x4e1662(){var _0x3692ab=_0x43c4c6,_0x3dd0a7,_0x5b8259=(_0x3dd0a7=this['getMap']())===null||_0x3dd0a7===void 0x0?void 0x0:_0x3dd0a7['clock'];if(!_0x5b8259)return null;return!_0x5b8259[CLOCK_CONTROL_STATE_KEY]&&(_0x5b8259[CLOCK_CONTROL_STATE_KEY]={'baseCurrentTime':_0x4279bf[_0x3692ab(0x133)]['clone'](_0x5b8259[_0x3692ab(0xfd)]),'owners':new Map(),'preRenderHandler':null}),_0x5b8259[CLOCK_CONTROL_STATE_KEY];}},{'key':'_getEffectiveClockOption','value':function _0x491ff5(_0x1f5dd5){var _0x58675e=_0x43c4c6,_0x44954e=null;return _0x1f5dd5[_0x58675e(0xff)][_0x58675e(0x12c)](function(_0x3e53c9){_0x44954e=_0x3e53c9;}),_0x44954e;}},{'key':'_buildClockCurrentTime','value':function _0x4be3cb(_0x2b8983){var _0x10e77a=_0x43c4c6,_0x1b2061=new Date(),_0x553a5b=_0x2b8983['split'](':')['map'](Number),_0x2edb66=_slicedToArray(_0x553a5b,0x3),_0x3a5e2f=_0x2edb66[0x0],_0x580249=_0x2edb66[0x1],_0x4e8f56=_0x2edb66[0x2];return _0x1b2061[_0x10e77a(0x149)](_0x3a5e2f,_0x580249,_0x4e8f56,0x0),_0x4279bf['JulianDate']['fromDate'](_0x1b2061);}},{'key':_0x43c4c6(0xfb),'value':function _0x26d277(_0x59df92){var _0x2f22df=_0x43c4c6;if(_0x59df92['preRenderHandler'])return;var _0x19e244=this['getMap']();if(!_0x19e244)return;_0x59df92['preRenderHandler']=function(){var _0x2d493f=_0x2ade,_0xd3936c=null;_0x59df92[_0x2d493f(0xff)][_0x2d493f(0x12c)](function(_0x3cd2bc){_0xd3936c=_0x3cd2bc;});if(_0xd3936c!==_0x2d493f(0xda))return;_0x19e244[_0x2d493f(0x110)][_0x2d493f(0xfd)]=_0x4279bf['JulianDate'][_0x2d493f(0xe0)](new Date());},_0x19e244['scene']['preRender']['addEventListener'](_0x59df92[_0x2f22df(0x137)]);}},{'key':_0x43c4c6(0xe3),'value':function _0x53c47a(_0x293b9d){var _0x32f122=_0x43c4c6,_0x3b6e2d=this['getMap']();if(!_0x293b9d['preRenderHandler']||!_0x3b6e2d)return;_0x3b6e2d['scene']['preRender'][_0x32f122(0x13e)](_0x293b9d['preRenderHandler']),_0x293b9d[_0x32f122(0x137)]=null;}},{'key':_0x43c4c6(0x145),'value':function _0x526cec(_0x2ce1b0){var _0x3d3c02=_0x43c4c6,_0xaf017c,_0x168eda=(_0xaf017c=this['getMap']())===null||_0xaf017c===void 0x0?void 0x0:_0xaf017c[_0x3d3c02(0x110)];if(!_0x168eda)return;var _0x4a3f4a=this[_0x3d3c02(0x107)](_0x2ce1b0);if(_0x4a3f4a===null){this['_stopClockAutoSync'](_0x2ce1b0),_0x168eda[_0x3d3c02(0xfd)]=_0x4279bf[_0x3d3c02(0x133)]['clone'](_0x2ce1b0['baseCurrentTime']),delete _0x168eda[CLOCK_CONTROL_STATE_KEY];return;}if(_0x4a3f4a===_0x3d3c02(0xda)){this['_startClockAutoSync'](_0x2ce1b0),_0x168eda[_0x3d3c02(0xfd)]=_0x4279bf['JulianDate']['fromDate'](new Date());return;}this[_0x3d3c02(0xe3)](_0x2ce1b0),_0x168eda[_0x3d3c02(0xfd)]=this[_0x3d3c02(0x101)](_0x4a3f4a);}},{'key':'_applyClockControl','value':function _0x30f6db(){var _0x12dedd=_0x43c4c6,_0x1adf22,_0x3ee831=(_0x1adf22=this['getMap']())===null||_0x1adf22===void 0x0?void 0x0:_0x1adf22['clock'],_0x56666a=this['_getClockControlState']();if(!_0x3ee831||!_0x56666a)return;_0x56666a[_0x12dedd(0xff)][_0x12dedd(0x104)]===0x0&&(_0x56666a['baseCurrentTime']=_0x4279bf['JulianDate'][_0x12dedd(0xf8)](_0x3ee831[_0x12dedd(0xfd)])),_0x56666a['owners'][_0x12dedd(0xf7)](this[_0x12dedd(0x10f)]),_0x56666a[_0x12dedd(0xff)]['set'](this[_0x12dedd(0x10f)],this['clockOption']),this['_syncSceneClockControl'](_0x56666a);}},{'key':'_releaseClockControl','value':function _0xbe14a8(){var _0x69c8b9=_0x43c4c6,_0x548826,_0x3014c8=(_0x548826=this['getMap']())===null||_0x548826===void 0x0?void 0x0:_0x548826['clock'];if(!_0x3014c8||!_0x3014c8[CLOCK_CONTROL_STATE_KEY])return;var _0x52b8c7=_0x3014c8[CLOCK_CONTROL_STATE_KEY];_0x52b8c7['owners'][_0x69c8b9(0xf7)](this[_0x69c8b9(0x10f)]),this['_syncSceneClockControl'](_0x52b8c7);}},{'key':_0x43c4c6(0xdb),'value':function _0xeb7a9a(){var _0x1f80d8=_0x43c4c6;if(this[_0x1f80d8(0x12f)]()){this[_0x1f80d8(0xfa)]();return;}this[_0x1f80d8(0xeb)]();}},{'key':'_bindCameraChangedHandler','value':function _0x526e11(){var _0x4e5677=_0x43c4c6;if(this[_0x4e5677(0xe4)])return;var _0x2932e9=this[_0x4e5677(0x135)]();if(!_0x2932e9)return;this['_cameraChangedHandler']=this['_handleCameraChanged']['bind'](this),_0x2932e9[_0x4e5677(0x105)]['changed']['addEventListener'](this['_cameraChangedHandler']);}},{'key':'_unbindCameraChangedHandler','value':function _0x1eb2df(){var _0x547249=_0x43c4c6,_0x4b41df=this['getMap']();if(!this[_0x547249(0xe4)])return;_0x4b41df===null||_0x4b41df===void 0x0||_0x4b41df[_0x547249(0x105)][_0x547249(0xe9)][_0x547249(0x13e)](this[_0x547249(0xe4)]),this['_cameraChangedHandler']=null;}},{'key':'_handleCameraChanged','value':function _0x268564(){this['_applyZoomDamping']();}},{'key':_0x43c4c6(0x120),'value':function _0x58f2d7(_0x5da462){var _0x216929=_0x43c4c6,_0x26b9b2=this[_0x216929(0x135)]();if(!_0x26b9b2)return _0x5da462;var _0x3ed3a6=_0x4279bf[_0x216929(0x10a)]['toDegrees'](_0x26b9b2['camera']['pitch']),_0x4605f9=this['zoomDampingOptions'],_0x2d7bea=_0x4605f9[_0x216929(0x125)],_0x33ccf4=_0x4605f9['dampingFullPitchDeg'],_0x4f73aa=_0x4605f9['minZoomScale'];if(!Number['isFinite'](_0x3ed3a6)||_0x3ed3a6>_0x2d7bea)return _0x5da462;var _0x18c3c4=_0x4279bf[_0x216929(0x10a)]['clamp']((_0x2d7bea-_0x3ed3a6)/(_0x2d7bea-_0x33ccf4),0x0,0x1),_0x47392b=_0x18c3c4*_0x18c3c4*(0x3-0x2*_0x18c3c4),_0x12a54f=0x1-(0x1-_0x4f73aa)*_0x47392b;return this['_normalizeZoomFactor'](_0x5da462*_0x12a54f);}},{'key':_0x43c4c6(0x12d),'value':function _0x875c3e(_0x56026f,_0x2f820f){var _0x51590c=_0x43c4c6;if(_0x56026f[_0x51590c(0xff)][_0x51590c(0x104)]===0x0){_0x2f820f['zoomFactor']=_0x56026f[_0x51590c(0x11a)],delete _0x2f820f[ZOOM_DAMPING_STATE_KEY];return;}var _0x516f17=_0x56026f[_0x51590c(0x11a)];_0x56026f[_0x51590c(0xff)]['forEach'](function(_0x32f90a){var _0x4d1626=_0x51590c;_0x516f17=Math[_0x4d1626(0x13f)](_0x516f17,_0x32f90a);}),_0x2f820f[_0x51590c(0xe5)]=this['_normalizeZoomFactor'](_0x516f17);}},{'key':_0x43c4c6(0x10c),'value':function _0x52aa62(){var _0x42c99e=_0x43c4c6,_0x5947fe=this[_0x42c99e(0xf1)](),_0x4520c5=this[_0x42c99e(0x143)]();if(!_0x5947fe||!_0x4520c5)return;_0x4520c5[_0x42c99e(0xff)]['size']===0x0&&(_0x4520c5['baseZoomFactor']=this[_0x42c99e(0x126)](_0x5947fe['zoomFactor']));var _0x317a49=this['_computeDampedZoomFactor'](_0x4520c5['baseZoomFactor']);_0x317a49>=_0x4520c5[_0x42c99e(0x11a)]?_0x4520c5[_0x42c99e(0xff)]['delete'](this[_0x42c99e(0xe7)]):_0x4520c5['owners'][_0x42c99e(0xf0)](this['_zoomDampingOwnerId'],_0x317a49),this[_0x42c99e(0x12d)](_0x4520c5,_0x5947fe);}},{'key':'_releaseZoomDamping','value':function _0x2acce8(){var _0x2c6cdc=_0x43c4c6,_0x32c074=this[_0x2c6cdc(0xf1)]();if(!_0x32c074||!_0x32c074[ZOOM_DAMPING_STATE_KEY])return;var _0x3d56a6=_0x32c074[ZOOM_DAMPING_STATE_KEY];_0x3d56a6['owners'][_0x2c6cdc(0xf7)](this[_0x2c6cdc(0xe7)]),this['_syncControllerZoomFactor'](_0x3d56a6,_0x32c074);}},{'key':_0x43c4c6(0xe2),'value':function _0x33d009(){var _0x4b3957=_0x43c4c6;if(this[_0x4b3957(0x12f)]()&&this['zoomDampingOptions'][_0x4b3957(0xf6)]){this[_0x4b3957(0x12a)](),this[_0x4b3957(0x10c)]();return;}this[_0x4b3957(0xf9)](),this['_unbindCameraChangedHandler']();}},{'key':'updateParameters','value':function _0x32f4fd(_0x4bab65){var _0x5c1b45=_0x43c4c6;return _0x4bab65&&_typeof(_0x4bab65)==='object'&&(typeof _0x4bab65['u_threshold']===_0x5c1b45(0xd1)&&(this[_0x5c1b45(0x142)][_0x5c1b45(0x115)]=Math['max'](_0x4bab65[_0x5c1b45(0x115)],0x0)),typeof _0x4bab65[_0x5c1b45(0xfc)]==='number'&&(this['params']['u_blendFactor']=_0x4279bf[_0x5c1b45(0x10a)]['clamp'](_0x4bab65[_0x5c1b45(0xfc)],0x0,0x1)),typeof _0x4bab65[_0x5c1b45(0xf4)]==='number'&&(this['params'][_0x5c1b45(0xf4)]=Math['max'](_0x4bab65[_0x5c1b45(0xf4)],0x0)),typeof _0x4bab65['u_scatterStrength']===_0x5c1b45(0xd1)&&(this['params'][_0x5c1b45(0x13b)]=Math[_0x5c1b45(0x109)](_0x4bab65[_0x5c1b45(0x13b)],0x0)),typeof _0x4bab65['u_tonemapExposure']===_0x5c1b45(0xd1)&&(this['params'][_0x5c1b45(0xf5)]=Math[_0x5c1b45(0x109)](_0x4bab65[_0x5c1b45(0xf5)],0x0)),typeof _0x4bab65['u_mieExtinctionStrength']==='number'&&(this[_0x5c1b45(0x142)][_0x5c1b45(0x147)]=Math[_0x5c1b45(0x109)](_0x4bab65[_0x5c1b45(0x147)],0x0)),typeof _0x4bab65['u_fogOpacity']===_0x5c1b45(0xd1)&&(this[_0x5c1b45(0x142)]['u_fogOpacity']=Math[_0x5c1b45(0x109)](_0x4bab65[_0x5c1b45(0x136)],0x0)),typeof _0x4bab65[_0x5c1b45(0xe6)]==='number'&&(this['params'][_0x5c1b45(0xe6)]=Math['max'](_0x4bab65['u_fogPower'],0.0001)),typeof _0x4bab65['u_clearMixBias']==='number'&&(this[_0x5c1b45(0x142)]['u_clearMixBias']=_0x4279bf['Math']['clamp'](_0x4bab65[_0x5c1b45(0x134)],0x0,0x1)),this['clockOption']=this['_buildClockOption'](_objectSpread({'clock':this[_0x5c1b45(0xe1)]},_0x4bab65)),this['zoomDampingOptions']=this['_buildZoomDampingOptions'](_objectSpread(_objectSpread({},this[_0x5c1b45(0xdd)]),_0x4bab65)),this[_0x5c1b45(0xdb)](),this[_0x5c1b45(0xe2)]()),this;}},{'key':_0x43c4c6(0x127),'value':function _0xd0298b(){var _0xd05898=_0x43c4c6;return this[_0xd05898(0x142)]=this['_buildParams'](this[_0xd05898(0x13d)]),this[_0xd05898(0xe1)]=this['_buildClockOption'](this[_0xd05898(0x13d)]),this[_0xd05898(0xdd)]=this['_buildZoomDampingOptions'](this['originalOptions']),this[_0xd05898(0xdb)](),this['_syncZoomDampingState'](),this;}},{'key':'show','value':function _0x12e65b(){var _0x36fc91=_0x43c4c6;return this[_0x36fc91(0x123)]&&(this['atmosphericDispersion'][_0x36fc91(0xdc)]=!![]),this['_syncClockControlState'](),this['_syncZoomDampingState'](),this;}},{'key':_0x43c4c6(0x130),'value':function _0x80c07f(){var _0x1f0991=_0x43c4c6;return this[_0x1f0991(0x123)]&&(this['atmosphericDispersion'][_0x1f0991(0xdc)]=![]),this['_syncClockControlState'](),this[_0x1f0991(0xe2)](),this;}},{'key':_0x43c4c6(0x12f),'value':function _0x34b2ae(){var _0x42996a=_0x43c4c6;return this['atmosphericDispersion']?this['atmosphericDispersion'][_0x42996a(0xdc)]:![];}},{'key':_0x43c4c6(0xd8),'value':function _0x1ceb8d(){var _0xca0287=_0x43c4c6,_0x1aa4f8=this['getMap']();this['_releaseClockControl'](),this[_0xca0287(0xf9)](),this['_unbindCameraChangedHandler'](),this['atmosphericDispersion']&&_0x1aa4f8&&(_0x1aa4f8[_0xca0287(0x108)]['postProcessStages'][_0xca0287(0xef)](this['atmosphericDispersion']),this['atmosphericDispersion']=null);}}]),_0x104b80;}());export default AtmosphericDispersion;