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,66 +1 @@
1
- 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); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- 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); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
- 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; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- 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); }
8
- import * as Cesium from 'deeptwins-cesium';
9
- var ViewShadowPrimitive = /*#__PURE__*/function () {
10
- function ViewShadowPrimitive(shadowMap) {
11
- _classCallCheck(this, ViewShadowPrimitive);
12
- /**
13
- * 视域分析图元
14
- * @private
15
- * @extends CustomPrimitive
16
- * @param {Cesium.ShadowMap} shadowMap 视域阴影
17
- */
18
- _defineProperty(this, "_shadowMap", void 0);
19
- _defineProperty(this, "_show", void 0);
20
- if (!Cesium.defined(shadowMap)) {
21
- throw new Error('parameter shadowMap is required.');
22
- }
23
- this._shadowMap = shadowMap;
24
- this._show = true;
25
- }
26
- /**
27
- * 是否渲染该图元
28
- * @type {boolean}
29
- */
30
- _createClass(ViewShadowPrimitive, [{
31
- key: "show",
32
- get: function get() {
33
- return this._show;
34
- },
35
- set: function set(val) {
36
- this._show = val;
37
- }
38
- /**
39
- * 场景渲染时scene会自动调用该方法,请勿主动调用。
40
- * @override
41
- * @param {FrameState} frameState
42
- */
43
- }, {
44
- key: "update",
45
- value: function update(frameState) {
46
- frameState.shadowMaps.push(this._shadowMap);
47
- }
48
- /**
49
- * 销毁对象并释放WebGL资源
50
- */
51
- }, {
52
- key: "destroy",
53
- value: function destroy() {
54
- if (this._shadowMap && !this._shadowMap.isDestroyed()) {
55
- this._shadowMap.destroy();
56
- }
57
- }
58
- }, {
59
- key: "isDestroyed",
60
- value: function isDestroyed() {
61
- return false;
62
- }
63
- }]);
64
- return ViewShadowPrimitive;
65
- }();
66
- export default ViewShadowPrimitive;
1
+ (function(_0x2f9be7,_0x3a12a2){var _0x1921e9=_0x3805,_0x65483c=_0x2f9be7();while(!![]){try{var _0x9dd059=-parseInt(_0x1921e9(0x1bc))/0x1*(parseInt(_0x1921e9(0x1b8))/0x2)+parseInt(_0x1921e9(0x1c0))/0x3+-parseInt(_0x1921e9(0x1ba))/0x4*(parseInt(_0x1921e9(0x1b0))/0x5)+-parseInt(_0x1921e9(0x1b9))/0x6*(parseInt(_0x1921e9(0x1aa))/0x7)+parseInt(_0x1921e9(0x1b7))/0x8+parseInt(_0x1921e9(0x1af))/0x9*(-parseInt(_0x1921e9(0x1a8))/0xa)+parseInt(_0x1921e9(0x1ab))/0xb;if(_0x9dd059===_0x3a12a2)break;else _0x65483c['push'](_0x65483c['shift']());}catch(_0x5d28a5){_0x65483c['push'](_0x65483c['shift']());}}}(_0x5b48,0xa85f5));function _typeof(_0x1020a4){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x1783ef){return typeof _0x1783ef;}:function(_0x35d3c5){var _0x2f4c57=_0x3805;return _0x35d3c5&&'function'==typeof Symbol&&_0x35d3c5[_0x2f4c57(0x1b6)]===Symbol&&_0x35d3c5!==Symbol['prototype']?_0x2f4c57(0x1bb):typeof _0x35d3c5;},_typeof(_0x1020a4);}function _classCallCheck(_0x40c33c,_0x30df30){if(!(_0x40c33c instanceof _0x30df30))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x3ddc0f,_0x46118d){var _0x21cdb4=_0x3805;for(var _0x3550b7=0x0;_0x3550b7<_0x46118d['length'];_0x3550b7++){var _0x4eaba9=_0x46118d[_0x3550b7];_0x4eaba9['enumerable']=_0x4eaba9[_0x21cdb4(0x1b2)]||![],_0x4eaba9[_0x21cdb4(0x1bf)]=!![];if('value'in _0x4eaba9)_0x4eaba9['writable']=!![];Object['defineProperty'](_0x3ddc0f,_toPropertyKey(_0x4eaba9['key']),_0x4eaba9);}}function _0x3805(_0x58c7f5,_0x4c0e60){_0x58c7f5=_0x58c7f5-0x1a7;var _0x5b48b0=_0x5b48();var _0x380533=_0x5b48b0[_0x58c7f5];if(_0x3805['uPXoRY']===undefined){var _0x59f484=function(_0x2eaf30){var _0x415dd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x39b5ec='',_0x1020a4='';for(var _0x1783ef=0x0,_0x35d3c5,_0x40c33c,_0x30df30=0x0;_0x40c33c=_0x2eaf30['charAt'](_0x30df30++);~_0x40c33c&&(_0x35d3c5=_0x1783ef%0x4?_0x35d3c5*0x40+_0x40c33c:_0x40c33c,_0x1783ef++%0x4)?_0x39b5ec+=String['fromCharCode'](0xff&_0x35d3c5>>(-0x2*_0x1783ef&0x6)):0x0){_0x40c33c=_0x415dd5['indexOf'](_0x40c33c);}for(var _0x3ddc0f=0x0,_0x46118d=_0x39b5ec['length'];_0x3ddc0f<_0x46118d;_0x3ddc0f++){_0x1020a4+='%'+('00'+_0x39b5ec['charCodeAt'](_0x3ddc0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1020a4);};_0x3805['bfSAEa']=_0x59f484,_0x3805['EeVUaU']={},_0x3805['uPXoRY']=!![];}var _0x3793b0=_0x5b48b0[0x0],_0x46a046=_0x58c7f5+_0x3793b0,_0xc4fb40=_0x3805['EeVUaU'][_0x46a046];return!_0xc4fb40?(_0x380533=_0x3805['bfSAEa'](_0x380533),_0x3805['EeVUaU'][_0x46a046]=_0x380533):_0x380533=_0xc4fb40,_0x380533;}function _0x5b48(){var _0x26c30a=['Axnezxn0CM95zwq','y29UC3rYDwn0B3i','mJeYmJyWmeP0yNj5Ea','nJiWnZrYtgTTAKm','ntK0ote4rhbzwe9Q','mJrVu0nwyNa','C3LTyM9S','mZLeu1bszK8','x3nOywrVD01HCa','CgfYyw1LDgvYihnOywrVD01HCcbPCYbYzxf1AxjLzc4','y29UzMLNDxjHyMXL','mJiZnZm0m0ftDhDbqG','ChjVDg90ExbL','ChvZAa','B2jQzwn0','zgvMyxvSDa','mZy3mJu0mhL3EMrOzW','zgvZDhjVEq','ndjpvurUCvu','mZu2mda3mZbXtejPr1a','zgvMAw5LuhjVCgvYDhK','C3rYAw5N','y2fSBa','mtHvDMLOD2i','odq4mZq1zhvTCNHn','Dg9qCMLTAxrPDMu','zw51BwvYywjSzq','x3nOB3C','C2HVDW'];_0x5b48=function(){return _0x26c30a;};return _0x5b48();}function _createClass(_0x456959,_0x155620,_0xa5dd87){var _0x9736c0=_0x3805;if(_0x155620)_defineProperties(_0x456959[_0x9736c0(0x1c1)],_0x155620);if(_0xa5dd87)_defineProperties(_0x456959,_0xa5dd87);return Object[_0x9736c0(0x1ac)](_0x456959,_0x9736c0(0x1c1),{'writable':![]}),_0x456959;}function _defineProperty(_0x5d18b2,_0x346885,_0x2958f5){var _0x1438c1=_0x3805;return _0x346885=_toPropertyKey(_0x346885),_0x346885 in _0x5d18b2?Object[_0x1438c1(0x1ac)](_0x5d18b2,_0x346885,{'value':_0x2958f5,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x5d18b2[_0x346885]=_0x2958f5,_0x5d18b2;}function _toPropertyKey(_0x13e8d4){var _0xb71e37=_toPrimitive(_0x13e8d4,'string');return'symbol'==_typeof(_0xb71e37)?_0xb71e37:String(_0xb71e37);}function _toPrimitive(_0x3482f3,_0x29205d){var _0x6d071b=_0x3805;if('object'!=_typeof(_0x3482f3)||!_0x3482f3)return _0x3482f3;var _0x7f90a6=_0x3482f3[Symbol[_0x6d071b(0x1b1)]];if(void 0x0!==_0x7f90a6){var _0x5b702a=_0x7f90a6[_0x6d071b(0x1ae)](_0x3482f3,_0x29205d||_0x6d071b(0x1a7));if(_0x6d071b(0x1c3)!=_typeof(_0x5b702a))return _0x5b702a;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return(_0x6d071b(0x1ad)===_0x29205d?String:Number)(_0x3482f3);}import*as _0x39b5ec from'deeptwins-cesium';var ViewShadowPrimitive=(function(){var _0x52146d=_0x3805;function _0x59d38c(_0x49c496){var _0x4872ce=_0x3805;_classCallCheck(this,_0x59d38c),_defineProperty(this,_0x4872ce(0x1bd),void 0x0),_defineProperty(this,'_show',void 0x0);if(!_0x39b5ec['defined'](_0x49c496))throw new Error(_0x4872ce(0x1be));this['_shadowMap']=_0x49c496,this[_0x4872ce(0x1b3)]=!![];}return _createClass(_0x59d38c,[{'key':_0x52146d(0x1b4),'get':function _0x161c35(){var _0x26f0ce=_0x52146d;return this[_0x26f0ce(0x1b3)];},'set':function _0x2fd0cb(_0x34bb29){this['_show']=_0x34bb29;}},{'key':'update','value':function _0x1e00a8(_0x314d4e){var _0x26a74f=_0x52146d;_0x314d4e['shadowMaps'][_0x26a74f(0x1c2)](this[_0x26a74f(0x1bd)]);}},{'key':_0x52146d(0x1a9),'value':function _0x2223a0(){var _0x43fd85=_0x52146d;this['_shadowMap']&&!this[_0x43fd85(0x1bd)][_0x43fd85(0x1b5)]()&&this['_shadowMap']['destroy']();}},{'key':'isDestroyed','value':function _0x15bb88(){return![];}}]),_0x59d38c;}());export default ViewShadowPrimitive;
@@ -1,466 +1 @@
1
- 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); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- 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); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
- 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; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- 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); }
8
- import * as Cesium from 'deeptwins-cesium';
9
- import RectangularSensorPrimitive from "./RectangularSensorPrimitive";
10
- import ViewShadowPrimitive from "./ViewShadowPrimitive";
11
- import ViewshedMap from "./ViewShedMap";
12
- var ViewShedAnalyserLayer = /*#__PURE__*/function () {
13
- function ViewShedAnalyserLayer(viewer, options) {
14
- _classCallCheck(this, ViewShedAnalyserLayer);
15
- /**
16
- * <p>视域分析</p>
17
- * @extends BaseAnalyser
18
- * @param {Cesium.Viewer} viewer viewer对象
19
- * @param {Object} options 具有以下属性
20
- * @param {Cesium.Cartesian3} options.observe 观察位置,即视点所在的位置
21
- * @param {Cesium.Cartesian3} options.viewPosition 相机方法向视锥机远裁剪面的交点
22
- * @param {Number} [options.far] 远裁剪面的距离
23
- * @param {Number} [options.near=0.001*options.far] 近裁剪面的距离
24
- * @param {Number} [options.aspectRatio=1.5] 视锥宽高比
25
- * @param {Number} [options.fov=120] 视锥体的水面夹角,单位度
26
- *
27
- */
28
- _defineProperty(this, "viewer", void 0);
29
- _defineProperty(this, "options", void 0);
30
- _defineProperty(this, "_observe", void 0);
31
- _defineProperty(this, "_viewPosition", void 0);
32
- _defineProperty(this, "_debug", void 0);
33
- _defineProperty(this, "_far", void 0);
34
- _defineProperty(this, "_near", void 0);
35
- _defineProperty(this, "_aspectRatio", void 0);
36
- _defineProperty(this, "_fov", void 0);
37
- _defineProperty(this, "_direction", void 0);
38
- _defineProperty(this, "_up", void 0);
39
- _defineProperty(this, "_heading", void 0);
40
- _defineProperty(this, "_pitch", void 0);
41
- _defineProperty(this, "_roll", void 0);
42
- _defineProperty(this, "_frustum", void 0);
43
- _defineProperty(this, "_viewCamera", void 0);
44
- _defineProperty(this, "_shadowMap", void 0);
45
- _defineProperty(this, "preAnalysis", void 0);
46
- _defineProperty(this, "preDo", void 0);
47
- _defineProperty(this, "postAnalysis", void 0);
48
- _defineProperty(this, "postDo", void 0);
49
- if (!(viewer && viewer instanceof Cesium.Viewer)) {
50
- throw new Error('viewer is required.');
51
- }
52
- this.viewer = viewer;
53
- options = Cesium.defaultValue(options, {});
54
- this.options = options;
55
- if (!Cesium.defined(options.observe)) {
56
- throw new Error('parameter options.observe is required.');
57
- }
58
- if (!Cesium.defined(options.viewPosition)) {
59
- throw new Error('parameter options.viewPosition is required.');
60
- }
61
- this._observe = options.observe;
62
- this._viewPosition = options.viewPosition;
63
- this._debug = Cesium.defaultValue(options.debug, false);
64
- this._far = Cesium.defaultValue(options.far, Cesium.Cartesian3.distance(this._observe, this._viewPosition));
65
- this._near = Cesium.defaultValue(options.near, 0.001 * this._far);
66
- this._aspectRatio = Cesium.defaultValue(options.aspectRatio, 1.5);
67
- this._fov = Cesium.defaultValue(options.fov, 120);
68
- var direction = Cesium.Cartesian3.subtract(this._viewPosition, this._observe, new Cesium.Cartesian3());
69
- this._direction = Cesium.Cartesian3.normalize(direction, direction);
70
- this._up = viewer.scene.mapProjection.ellipsoid.geodeticSurfaceNormal(this._observe, new Cesium.Cartesian3());
71
- this._heading = undefined;
72
- this._pitch = undefined;
73
- this._roll = undefined;
74
- }
75
- /**
76
- * 视锥体
77
- * @type {any}
78
- */
79
- _createClass(ViewShedAnalyserLayer, [{
80
- key: "frustum",
81
- get: function get() {
82
- return this._frustum;
83
- }
84
- /**
85
- * 是否显示辅助调试的元素
86
- * @type {Boolean}
87
- */
88
- }, {
89
- key: "debug",
90
- get: function get() {
91
- return this._debug;
92
- },
93
- set: function set(val) {
94
- if (this._debug !== val) {
95
- this._debug = val;
96
- this._frustum.show = val;
97
- // this.createOrUpdateFrustum();
98
- }
99
- }
100
- /**
101
- * 观察位置,即相机所在的位置
102
- * @type {Cesium.Cartesian3}
103
- */
104
- }, {
105
- key: "observe",
106
- get: function get() {
107
- return this._observe;
108
- },
109
- set: function set(val) {
110
- if (this._observe !== val) {
111
- this._observe = val;
112
- this.update();
113
- }
114
- }
115
- /**
116
- * 相机方法向视锥机远裁剪面的交点
117
- * @type {Cesium.Cartesian3}
118
- */
119
- }, {
120
- key: "viewPosition",
121
- get: function get() {
122
- return this._viewPosition;
123
- },
124
- set: function set(val) {
125
- if (this._viewPosition !== val) {
126
- this._viewPosition = val;
127
- this.update();
128
- }
129
- }
130
-
131
- /**
132
- * 相机方向,由viewPosition和observe决定
133
- * @readonly
134
- * @type {Cesium.Cartesian3}
135
- */
136
- }, {
137
- key: "direction",
138
- get: function get() {
139
- return this._direction;
140
- }
141
- /**
142
- * 相机远裁剪面到视点的距离
143
- * @type {Number}
144
- */
145
- }, {
146
- key: "far",
147
- get: function get() {
148
- return this._far;
149
- },
150
- set: function set(val) {
151
- if (this._far !== val) {
152
- this._far = val;
153
- this.update();
154
- }
155
- }
156
- /**
157
- * 相机近裁剪面到视点的距离
158
- * @type {Number}
159
- */
160
- }, {
161
- key: "near",
162
- get: function get() {
163
- return this._near;
164
- },
165
- set: function set(val) {
166
- if (this._near !== val) {
167
- this._near = val;
168
- this.update();
169
- }
170
- }
171
- /**
172
- * 视锥体水平夹角,单位:度
173
- * @type {Number}
174
- */
175
- }, {
176
- key: "fov",
177
- get: function get() {
178
- return this._fov;
179
- },
180
- set: function set(val) {
181
- if (this._fov !== val) {
182
- this._fov = val;
183
- this.update();
184
- }
185
- }
186
- /**
187
- * 视锥宽高比
188
- * @type {Number}
189
- */
190
- }, {
191
- key: "aspectRatio",
192
- get: function get() {
193
- return this._aspectRatio;
194
- },
195
- set: function set(val) {
196
- if (this._aspectRatio !== val) {
197
- this._aspectRatio = val;
198
- this.update();
199
- }
200
- }
201
- /**
202
- * 旋转角,单位:度
203
- * @type {Number}
204
- * @readonly
205
- */
206
- }, {
207
- key: "heading",
208
- get: function get() {
209
- this.updateHeadingPitchRoll();
210
- return Cesium.Math.toDegrees(this._heading);
211
- }
212
- /**
213
- * 俯仰角,单位:度
214
- * @type {Number}
215
- * @readonly
216
- */
217
- }, {
218
- key: "pitch",
219
- get: function get() {
220
- this.updateHeadingPitchRoll();
221
- return Cesium.Math.toDegrees(this._pitch);
222
- }
223
- /**
224
- * 翻滚角,单位:度
225
- * @type {Number}
226
- * @readonly
227
- */
228
- }, {
229
- key: "roll",
230
- get: function get() {
231
- this.updateHeadingPitchRoll();
232
- return Cesium.Math.toDegrees(this._roll);
233
- }
234
- }, {
235
- key: "update",
236
- value: function update() {
237
- this.createOrupdateCamera();
238
- this.createOrUpdateFrustum();
239
- this.createOrUpdateShadowMap();
240
- }
241
- /**
242
- * 更新视角
243
- */
244
- }, {
245
- key: "updateHeadingPitchRoll",
246
- value: function updateHeadingPitchRoll() {
247
- var oldTransform = Cesium.Matrix4.clone(this._viewCamera._transform, new Cesium.Matrix4());
248
- var transform = Cesium.Transforms.eastNorthUpToFixedFrame(this._viewCamera.positionWC, this._viewCamera._projection.ellipsoid);
249
- this._viewCamera._setTransform(transform);
250
- this._pitch = this.getPitch(this._viewCamera.direction);
251
- this._heading = this.getHeading(this._viewCamera.direction, this._viewCamera.up);
252
- this._roll = this.getRoll(this._viewCamera.direction, this._viewCamera.up, this._viewCamera.right);
253
- this._viewCamera._setTransform(oldTransform);
254
- }
255
-
256
- /**
257
- * 获取俯仰角
258
- * @param direction: Cesium.Cartesian3
259
- * @returns {number}
260
- */
261
- }, {
262
- key: "getPitch",
263
- value: function getPitch(direction) {
264
- return Cesium.Math.PI_OVER_TWO - Cesium.Math.acosClamped(direction.z);
265
- }
266
-
267
- /**
268
- * 获取偏航角
269
- * @param direction: Cesium.Cartesian3
270
- * @param up: Cesium.Cartesian3
271
- * @returns {number}
272
- */
273
- }, {
274
- key: "getHeading",
275
- value: function getHeading(direction, up) {
276
- var heading;
277
- if (!Cesium.Math.equalsEpsilon(Math.abs(direction.z), 1.0, Cesium.Math.EPSILON3)) {
278
- heading = Math.atan2(direction.y, direction.x) - Cesium.Math.PI_OVER_TWO;
279
- } else {
280
- heading = Math.atan2(up.y, up.x) - Cesium.Math.PI_OVER_TWO;
281
- }
282
- return Cesium.Math.TWO_PI - Cesium.Math.zeroToTwoPi(heading);
283
- }
284
-
285
- /**
286
- * 获取横滚角
287
- * @param direction: Cesium.Cartesian3
288
- * @param up: Cesium.Cartesian3
289
- * @param right: Cesium.Cartesian3
290
- * @returns {number}
291
- */
292
- }, {
293
- key: "getRoll",
294
- value: function getRoll(direction, up, right) {
295
- var roll = 0.0;
296
- if (!Cesium.Math.equalsEpsilon(Math.abs(direction.z), 1.0, Cesium.Math.EPSILON3)) {
297
- roll = Math.atan2(-right.z, up.z);
298
- roll = Cesium.Math.zeroToTwoPi(roll + Cesium.Math.TWO_PI);
299
- }
300
- return roll;
301
- }
302
- /**
303
- * 创建或更新相机
304
- */
305
- }, {
306
- key: "createOrupdateCamera",
307
- value: function createOrupdateCamera() {
308
- if (!Cesium.defined(this._viewCamera)) {
309
- this._viewCamera = new Cesium.Camera(this.viewer.scene);
310
- }
311
- this._viewCamera.frustum.near = this._near;
312
- this._viewCamera.frustum.far = this._far;
313
- this._viewCamera.frustum.aspectRatio = this._aspectRatio;
314
- this._viewCamera.frustum.fov = Cesium.Math.toRadians(this.fov);
315
- this._viewCamera.direction = Cesium.Cartesian3.normalize(this._direction, this._viewCamera.direction);
316
- this._viewCamera.position = Cesium.Cartesian3.clone(this._observe, this._viewCamera.position);
317
- this._viewCamera.up = this._up;
318
- this._viewCamera.right = Cesium.Cartesian3.cross(this._viewCamera.up, this._viewCamera.direction, new Cesium.Cartesian3());
319
- if (!Cesium.defined(this._heading) && !Cesium.defined(this._pitch) && !Cesium.defined(this._roll)) {
320
- this.updateHeadingPitchRoll();
321
- }
322
- }
323
- /**
324
- * 创建或更新视锥体
325
- * @returns {void}
326
- */
327
- }, {
328
- key: "createOrUpdateFrustum",
329
- value: function createOrUpdateFrustum() {
330
- var position = this._viewCamera.positionWC;
331
- var rotation = new Cesium.Matrix3();
332
- var up = this._up;
333
- var direction = this.direction;
334
- var right = Cesium.Cartesian3.cross(up, direction, new Cesium.Cartesian3());
335
- Cesium.Matrix3.setColumn(rotation, 0, right, rotation);
336
- Cesium.Matrix3.setColumn(rotation, 1, up, rotation);
337
- Cesium.Matrix3.setColumn(rotation, 2, direction, rotation);
338
- var orientation = Cesium.Quaternion.fromRotationMatrix(rotation, new Cesium.Quaternion());
339
- var modelMatrix = Cesium.Matrix4.fromTranslationQuaternionRotationScale(position, orientation, new Cesium.Cartesian3(1, 1, 1), new Cesium.Matrix4());
340
- if (this._frustum) {
341
- this._frustum.modelMatrix = modelMatrix;
342
- this._frustum.xHalfAngle = this._fov / 2;
343
- this._frustum.yHalfAngle = this._fov / 2 / this._aspectRatio;
344
- this._frustum.radius = this._far;
345
- return;
346
- }
347
- this._frustum = new RectangularSensorPrimitive({
348
- radius: this._far,
349
- modelMatrix: modelMatrix,
350
- xHalfAngle: this._fov / 2,
351
- yHalfAngle: this._fov / 2 / this._aspectRatio,
352
- showScanPlane: false,
353
- showLateralSurfaces: false,
354
- material: Cesium.Material.fromType(Cesium.Material.ColorType, {
355
- color: Cesium.Color.AQUA.withAlpha(0.3)
356
- }),
357
- show: this.debug
358
- });
359
- this.viewer.scene.primitives.add(this._frustum);
360
- }
361
- /**
362
- * 创建或更新Shadow
363
- * @returns
364
- */
365
- }, {
366
- key: "createOrUpdateShadowMap",
367
- value: function createOrUpdateShadowMap() {
368
- if (Cesium.defined(this._shadowMap)) {
369
- this.viewer.scene.primitives.remove(this._shadowMap);
370
- }
371
- if (!(this._viewCamera && this._frustum._boundingSphereWC)) {
372
- return;
373
- }
374
- this._frustum._boundingSphereWC;
375
- var options = this.options;
376
- options.lightCamera = this._viewCamera;
377
- options.context = this.viewer.scene.context;
378
- var shadowMap = new ViewshedMap(options);
379
- var primitive = new ViewShadowPrimitive(shadowMap);
380
- this._shadowMap = this.viewer.scene.primitives.add(primitive);
381
- return this._shadowMap;
382
- }
383
-
384
- /**
385
- * 相机向左旋转
386
- * @param {Number} angle 旋转角度,单位:度
387
- */
388
- }, {
389
- key: "rotateLeft",
390
- value: function rotateLeft(angle) {
391
- var oldTransform = Cesium.Matrix4.clone(this._viewCamera._transform, new Cesium.Matrix4());
392
- var transform = Cesium.Transforms.eastNorthUpToFixedFrame(this._viewCamera.position, this._viewCamera._projection.ellipsoid);
393
- this._viewCamera._setTransform(transform);
394
- this._viewCamera.rotateLeft(Cesium.Math.toRadians(angle));
395
- this._viewCamera._setTransform(oldTransform);
396
- Cesium.Cartesian3.clone(this._viewCamera.directionWC, this._direction);
397
- this.update();
398
- }
399
- /**
400
- * 相机向右旋转
401
- * @param {Number} angle 旋转角度,单位:度
402
- */
403
- }, {
404
- key: "rotateRight",
405
- value: function rotateRight(angle) {
406
- this.rotateLeft(-angle);
407
- }
408
- /**
409
- * 相机向下旋转
410
- * @param {Number} angle 旋转角度,单位:度
411
- */
412
- }, {
413
- key: "rotateDown",
414
- value: function rotateDown(angle) {
415
- var oldTransform = Cesium.Matrix4.clone(this._viewCamera._transform, new Cesium.Matrix4());
416
- var transform = Cesium.Transforms.eastNorthUpToFixedFrame(this._viewCamera.position, this._viewCamera._projection.ellipsoid);
417
- this._viewCamera._setTransform(transform);
418
- this._viewCamera.rotateDown(Cesium.Math.toRadians(angle));
419
- this._viewCamera._setTransform(oldTransform);
420
- Cesium.Cartesian3.clone(this._viewCamera.directionWC, this._direction);
421
- this.update();
422
- }
423
- /**
424
- * 相机向上旋转
425
- * @param {Number} angle 旋转角度,单位:度
426
- */
427
- }, {
428
- key: "rotateUp",
429
- value: function rotateUp(angle) {
430
- this.rotateDown(-angle);
431
- }
432
- /**
433
- * 执行视域分析
434
- */
435
- }, {
436
- key: "do",
437
- value: function _do() {
438
- this.update();
439
- }
440
- /**
441
- * 清除视域分析
442
- */
443
- }, {
444
- key: "clear",
445
- value: function clear() {
446
- this.viewer.scene.primitives.remove(this._frustum);
447
- this.viewer.scene.primitives.remove(this._shadowMap);
448
- }
449
- /**
450
- * 销毁视域分析
451
- */
452
- }, {
453
- key: "destroy",
454
- value: function destroy() {
455
- this.clear();
456
- if (this._frustum && !this._frustum.isDestroyed()) {
457
- this._frustum.destroy();
458
- }
459
- if (this._shadowMap && !this._shadowMap.isDestroyed()) {
460
- this._shadowMap.destroy();
461
- }
462
- }
463
- }]);
464
- return ViewShedAnalyserLayer;
465
- }();
466
- export default ViewShedAnalyserLayer;
1
+ (function(_0x4c627d,_0x4fd991){var _0x46ffe3=_0x1da4,_0x565907=_0x4c627d();while(!![]){try{var _0x34bd83=parseInt(_0x46ffe3(0x14e))/0x1+-parseInt(_0x46ffe3(0x116))/0x2+parseInt(_0x46ffe3(0x13c))/0x3+parseInt(_0x46ffe3(0x155))/0x4+parseInt(_0x46ffe3(0x114))/0x5*(-parseInt(_0x46ffe3(0x11d))/0x6)+-parseInt(_0x46ffe3(0x16b))/0x7*(parseInt(_0x46ffe3(0x135))/0x8)+parseInt(_0x46ffe3(0x110))/0x9*(parseInt(_0x46ffe3(0x11f))/0xa);if(_0x34bd83===_0x4fd991)break;else _0x565907['push'](_0x565907['shift']());}catch(_0xecabf8){_0x565907['push'](_0x565907['shift']());}}}(_0x3114,0x97077));function _0x3114(){var _0x4633c7=['CMLNAhq','vfDpx1bj','x3zPzxDdyw1LCMe','x2zVDG','zMfY','zwXSAxbZB2LK','ChjVDg90ExbL','AgvHzgLUzW','twf0Aa','x2zYDxn0Dw0','C2v0q29SDw1U','x2HLywrPBMC','CMfKAxvZ','x3nLDfrYyw5ZzM9YBq','ChjLqw5HBhLZAxm','rvbtsuXptJm','x3zPzxDqB3nPDgLVBG','x3vW','mJC2odqZsxHVsLr2','AxrLCMf0B3i','zgvMyxvSDfzHBhvL','CgfYyw1LDgvYig9WDgLVBNmUDMLLD1bVC2L0Aw9UigLZihjLCxvPCMvKlG','zw51BwvYywjSzq','zgLYzwn0Aw9U','C2nLBMu','x3rYyw5ZzM9YBq','Dg9qCMLTAxrPDMu','yxnWzwn0uMf0Aw8','x3nOywrVD01HCa','y2XLyxi','nJiXwwLVwvrS','zgvMAw5Lza','x2jVDw5KAw5Nu3bOzxjLv0m','zNj1C3r1Bq','nJa0ndGXnurjzMTeEq','Bw9KzwXnyxrYAxG','oti0ndaWzuTbBNL3','zgvMAw5LuhjVCgvYDhK','q2fYDgvZAwfUmW','CMvTB3zL','EMvYB1rVvhDVugK','uxvHDgvYBMLVBG','ChjPBwL0AxzLCW','nK90tvLQzW','twf0CML4na','mZq2nZGWrfL2CKHI','CM90yxrLtgvMDa','y3jVC3m','zgLZDgfUy2u','zM92','x2rLyNvN','x2zHCG','zgvMyxvSDa','DMLLD2vY','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','BMvHCG','C3vIDhjHy3q','z2v0uM9SBa','y29UzMLNDxjHyMXL','C3rYAw5N','x2rPCMvJDgLVBG','EeHHBgzbBMDSzq','y3jLyxrLt3jvCgrHDgvgCNvZDhvT','CM90yxrLvxa','Cg9ZDefUywX5C2LZ','DMLLD1bVC2L0Aw9U','y3jLyxrLt3j1CgrHDgvdyw1LCMe','mJq4zfLlue5y','y2XVBMu','yxrHBJi','Cg9ZDerV','x3bYB2PLy3rPB24','x29IC2vYDMu','B2jZzxj2zq','mJaZmdi4nKvqsuv0ta','y2fSBa','Cg9ZAxrPB24','Axnezxn0CM95zwq','zgvIDwC','x3bPDgnO','zxf1ywXZrxbZAwXVBG','C3LTyM9S','z2vVzgv0AwntDxjMywnLtM9YBwfS','CM90yxrLrg93BG','CgfYyw1LDgvYig9WDgLVBNmUB2jZzxj2zsbPCYbYzxf1AxjLzc4','B3b0Aw9UCW','DMfSDwu','Dg9ezwDYzwvZ','DxbKyxrLsgvHzgLUz1bPDgnOuM9SBa','x2fZCgvJDfjHDgLV','CgL0y2G','zNjVBvr5Cgu','mZi4mdC4BLLhyNLK','y3jLyxrLt3jvCgrHDgvtAgfKB3Dnyxa','x3jVBgW','x25Lyxi','Dg9sywrPyw5Z','q29SB3i','B2jQzwn0','ndCYnZaWvNvyzgDL','D3jPDgfIBgu','zNjVBvjVDgf0Aw9Utwf0CML4','DxbKyxrL'];_0x3114=function(){return _0x4633c7;};return _0x3114();}function _typeof(_0x5e21dc){'@babel/helpers - typeof';var _0x6d3124=_0x1da4;return _typeof='function'==typeof Symbol&&_0x6d3124(0x143)==typeof Symbol[_0x6d3124(0x16c)]?function(_0x19608f){return typeof _0x19608f;}:function(_0x3cb468){var _0x4790ea=_0x6d3124;return _0x3cb468&&'function'==typeof Symbol&&_0x3cb468['constructor']===Symbol&&_0x3cb468!==Symbol['prototype']?_0x4790ea(0x143):typeof _0x3cb468;},_typeof(_0x5e21dc);}function _classCallCheck(_0x57629c,_0xebc4be){if(!(_0x57629c instanceof _0xebc4be))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x1c1165,_0x15b333){var _0x3251c0=_0x1da4;for(var _0x1907a1=0x0;_0x1907a1<_0x15b333['length'];_0x1907a1++){var _0x3d5ab6=_0x15b333[_0x1907a1];_0x3d5ab6[_0x3251c0(0x16f)]=_0x3d5ab6[_0x3251c0(0x16f)]||![],_0x3d5ab6[_0x3251c0(0x12c)]=!![];if(_0x3251c0(0x148)in _0x3d5ab6)_0x3d5ab6[_0x3251c0(0x156)]=!![];Object[_0x3251c0(0x117)](_0x1c1165,_toPropertyKey(_0x3d5ab6['key']),_0x3d5ab6);}}function _0x1da4(_0x3bea74,_0x54dbfc){_0x3bea74=_0x3bea74-0x10d;var _0x311468=_0x3114();var _0x1da4de=_0x311468[_0x3bea74];if(_0x1da4['FDGGKO']===undefined){var _0x552fdc=function(_0x4f2d79){var _0x4d2e9e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5b97c4='',_0x31d235='';for(var _0x47d83d=0x0,_0x2f3d12,_0x5e21dc,_0x19608f=0x0;_0x5e21dc=_0x4f2d79['charAt'](_0x19608f++);~_0x5e21dc&&(_0x2f3d12=_0x47d83d%0x4?_0x2f3d12*0x40+_0x5e21dc:_0x5e21dc,_0x47d83d++%0x4)?_0x5b97c4+=String['fromCharCode'](0xff&_0x2f3d12>>(-0x2*_0x47d83d&0x6)):0x0){_0x5e21dc=_0x4d2e9e['indexOf'](_0x5e21dc);}for(var _0x3cb468=0x0,_0x57629c=_0x5b97c4['length'];_0x3cb468<_0x57629c;_0x3cb468++){_0x31d235+='%'+('00'+_0x5b97c4['charCodeAt'](_0x3cb468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31d235);};_0x1da4['ggyMro']=_0x552fdc,_0x1da4['zJyXkI']={},_0x1da4['FDGGKO']=!![];}var _0x54d232=_0x311468[0x0],_0x591f8d=_0x3bea74+_0x54d232,_0x5173a4=_0x1da4['zJyXkI'][_0x591f8d];return!_0x5173a4?(_0x1da4de=_0x1da4['ggyMro'](_0x1da4de),_0x1da4['zJyXkI'][_0x591f8d]=_0x1da4de):_0x1da4de=_0x5173a4,_0x1da4de;}function _createClass(_0x373d23,_0x35b872,_0x334f0c){var _0x34f451=_0x1da4;if(_0x35b872)_defineProperties(_0x373d23[_0x34f451(0x15f)],_0x35b872);if(_0x334f0c)_defineProperties(_0x373d23,_0x334f0c);return Object[_0x34f451(0x117)](_0x373d23,_0x34f451(0x15f),{'writable':![]}),_0x373d23;}function _defineProperty(_0x9ba6a6,_0x54dbe0,_0x17aa7e){var _0x36e300=_0x1da4;return _0x54dbe0=_toPropertyKey(_0x54dbe0),_0x54dbe0 in _0x9ba6a6?Object[_0x36e300(0x117)](_0x9ba6a6,_0x54dbe0,{'value':_0x17aa7e,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x9ba6a6[_0x54dbe0]=_0x17aa7e,_0x9ba6a6;}function _toPropertyKey(_0x52da0e){var _0x236084=_0x1da4,_0x1966a0=_toPrimitive(_0x52da0e,_0x236084(0x12d));return _0x236084(0x143)==_typeof(_0x1966a0)?_0x1966a0:String(_0x1966a0);}function _toPrimitive(_0x23361d,_0x57ac43){var _0x520c28=_0x1da4;if('object'!=_typeof(_0x23361d)||!_0x23361d)return _0x23361d;var _0x182fb5=_0x23361d[Symbol[_0x520c28(0x173)]];if(void 0x0!==_0x182fb5){var _0x50bc0a=_0x182fb5[_0x520c28(0x13d)](_0x23361d,_0x57ac43||_0x520c28(0x126));if(_0x520c28(0x154)!=_typeof(_0x50bc0a))return _0x50bc0a;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return('string'===_0x57ac43?String:Number)(_0x23361d);}import*as _0x5b97c4 from'deeptwins-cesium';import _0x31d235 from'./RectangularSensorPrimitive';import _0x47d83d from'./ViewShadowPrimitive';import _0x2f3d12 from'./ViewShedMap';var ViewShedAnalyserLayer=(function(){var _0x33b083=_0x1da4;function _0x49e59e(_0x436bf4,_0x4e6895){var _0x1ae56a=_0x1da4;_classCallCheck(this,_0x49e59e),_defineProperty(this,'viewer',void 0x0),_defineProperty(this,_0x1ae56a(0x147),void 0x0),_defineProperty(this,_0x1ae56a(0x13a),void 0x0),_defineProperty(this,_0x1ae56a(0x169),void 0x0),_defineProperty(this,'_debug',void 0x0),_defineProperty(this,'_far',void 0x0),_defineProperty(this,'_near',void 0x0),_defineProperty(this,_0x1ae56a(0x14b),void 0x0),_defineProperty(this,_0x1ae56a(0x15c),void 0x0),_defineProperty(this,'_direction',void 0x0),_defineProperty(this,_0x1ae56a(0x16a),void 0x0),_defineProperty(this,_0x1ae56a(0x164),void 0x0),_defineProperty(this,_0x1ae56a(0x141),void 0x0),_defineProperty(this,'_roll',void 0x0),_defineProperty(this,'_frustum',void 0x0),_defineProperty(this,_0x1ae56a(0x15b),void 0x0),_defineProperty(this,_0x1ae56a(0x10e),void 0x0),_defineProperty(this,_0x1ae56a(0x167),void 0x0),_defineProperty(this,'preDo',void 0x0),_defineProperty(this,_0x1ae56a(0x132),void 0x0),_defineProperty(this,_0x1ae56a(0x138),void 0x0);if(!(_0x436bf4&&_0x436bf4 instanceof _0x5b97c4['Viewer']))throw new Error('viewer\x20is\x20required.');this[_0x1ae56a(0x127)]=_0x436bf4,_0x4e6895=_0x5b97c4[_0x1ae56a(0x16d)](_0x4e6895,{}),this[_0x1ae56a(0x147)]=_0x4e6895;if(!_0x5b97c4['defined'](_0x4e6895['observe']))throw new Error(_0x1ae56a(0x146));if(!_0x5b97c4['defined'](_0x4e6895['viewPosition']))throw new Error(_0x1ae56a(0x16e));this['_observe']=_0x4e6895[_0x1ae56a(0x13b)],this[_0x1ae56a(0x169)]=_0x4e6895['viewPosition'],this['_debug']=_0x5b97c4[_0x1ae56a(0x16d)](_0x4e6895[_0x1ae56a(0x140)],![]),this['_far']=_0x5b97c4['defaultValue'](_0x4e6895[_0x1ae56a(0x15d)],_0x5b97c4[_0x1ae56a(0x118)][_0x1ae56a(0x122)](this['_observe'],this[_0x1ae56a(0x169)])),this['_near']=_0x5b97c4['defaultValue'](_0x4e6895['near'],0.001*this['_far']),this[_0x1ae56a(0x14b)]=_0x5b97c4['defaultValue'](_0x4e6895['aspectRatio'],1.5),this['_fov']=_0x5b97c4[_0x1ae56a(0x16d)](_0x4e6895[_0x1ae56a(0x123)],0x78);var _0x52935b=_0x5b97c4[_0x1ae56a(0x118)][_0x1ae56a(0x12a)](this['_viewPosition'],this[_0x1ae56a(0x13a)],new _0x5b97c4[(_0x1ae56a(0x118))]());this['_direction']=_0x5b97c4['Cartesian3']['normalize'](_0x52935b,_0x52935b),this['_up']=_0x436bf4[_0x1ae56a(0x171)]['mapProjection']['ellipsoid'][_0x1ae56a(0x144)](this[_0x1ae56a(0x13a)],new _0x5b97c4['Cartesian3']()),this[_0x1ae56a(0x164)]=undefined,this[_0x1ae56a(0x141)]=undefined,this['_roll']=undefined;}return _createClass(_0x49e59e,[{'key':_0x33b083(0x113),'get':function _0x553de5(){var _0x74863=_0x33b083;return this[_0x74863(0x162)];}},{'key':'debug','get':function _0x4bdd6d(){var _0xa7ea54=_0x33b083;return this[_0xa7ea54(0x124)];},'set':function _0x21d8fd(_0x19e5ac){var _0x2af8c3=_0x33b083;this['_debug']!==_0x19e5ac&&(this[_0x2af8c3(0x124)]=_0x19e5ac,this[_0x2af8c3(0x162)]['show']=_0x19e5ac);}},{'key':_0x33b083(0x13b),'get':function _0xfb57e1(){return this['_observe'];},'set':function _0x1d97f4(_0x4222f8){var _0x24b7e4=_0x33b083;this[_0x24b7e4(0x13a)]!==_0x4222f8&&(this['_observe']=_0x4222f8,this[_0x24b7e4(0x158)]());}},{'key':_0x33b083(0x133),'get':function _0x4045d0(){return this['_viewPosition'];},'set':function _0x31d990(_0x544be7){var _0xbc5575=_0x33b083;this['_viewPosition']!==_0x544be7&&(this[_0xbc5575(0x169)]=_0x544be7,this['update']());}},{'key':_0x33b083(0x170),'get':function _0x31d219(){var _0x40b2f2=_0x33b083;return this[_0x40b2f2(0x12e)];}},{'key':'far','get':function _0x28a270(){return this['_far'];},'set':function _0x28fe4b(_0x180834){var _0x7f5d20=_0x33b083;this[_0x7f5d20(0x125)]!==_0x180834&&(this[_0x7f5d20(0x125)]=_0x180834,this[_0x7f5d20(0x158)]());}},{'key':_0x33b083(0x129),'get':function _0x5d8dbf(){return this['_near'];},'set':function _0x4d838b(_0x2eef06){var _0x213e0b=_0x33b083;this['_near']!==_0x2eef06&&(this[_0x213e0b(0x151)]=_0x2eef06,this['update']());}},{'key':'fov','get':function _0x5efccd(){return this['_fov'];},'set':function _0x9407a8(_0x54b7a1){var _0x5cf8b8=_0x33b083;this[_0x5cf8b8(0x15c)]!==_0x54b7a1&&(this['_fov']=_0x54b7a1,this[_0x5cf8b8(0x158)]());}},{'key':'aspectRatio','get':function _0x155ac4(){return this['_aspectRatio'];},'set':function _0x5438f5(_0x197e1e){var _0x224c97=_0x33b083;this['_aspectRatio']!==_0x197e1e&&(this['_aspectRatio']=_0x197e1e,this[_0x224c97(0x158)]());}},{'key':_0x33b083(0x160),'get':function _0x52a761(){var _0x4ddbd3=_0x33b083;return this[_0x4ddbd3(0x14a)](),_0x5b97c4[_0x4ddbd3(0x161)][_0x4ddbd3(0x149)](this['_heading']);}},{'key':_0x33b083(0x14c),'get':function _0x8a9c59(){var _0x90273d=_0x33b083;return this[_0x90273d(0x14a)](),_0x5b97c4['Math'][_0x90273d(0x149)](this[_0x90273d(0x141)]);}},{'key':'roll','get':function _0x13341d(){var _0x589396=_0x33b083;return this[_0x589396(0x14a)](),_0x5b97c4['Math']['toDegrees'](this[_0x589396(0x150)]);}},{'key':'update','value':function _0x29eb63(){var _0x5a2a86=_0x33b083;this['createOrupdateCamera'](),this[_0x5a2a86(0x130)](),this['createOrUpdateShadowMap']();}},{'key':_0x33b083(0x14a),'value':function _0x138d90(){var _0x4cf023=_0x33b083,_0x56f3bf=_0x5b97c4[_0x4cf023(0x11e)][_0x4cf023(0x136)](this[_0x4cf023(0x15b)][_0x4cf023(0x172)],new _0x5b97c4['Matrix4']()),_0x5145f2=_0x5b97c4['Transforms']['eastNorthUpToFixedFrame'](this['_viewCamera']['positionWC'],this['_viewCamera'][_0x4cf023(0x139)]['ellipsoid']);this[_0x4cf023(0x15b)]['_setTransform'](_0x5145f2),this[_0x4cf023(0x141)]=this['getPitch'](this[_0x4cf023(0x15b)]['direction']),this['_heading']=this['getHeading'](this[_0x4cf023(0x15b)]['direction'],this['_viewCamera']['up']),this['_roll']=this['getRoll'](this['_viewCamera']['direction'],this['_viewCamera']['up'],this[_0x4cf023(0x15b)][_0x4cf023(0x159)]),this[_0x4cf023(0x15b)]['_setTransform'](_0x56f3bf);}},{'key':'getPitch','value':function _0x3325df(_0x3bbf4a){var _0x51f24b=_0x33b083;return _0x5b97c4[_0x51f24b(0x161)]['PI_OVER_TWO']-_0x5b97c4[_0x51f24b(0x161)]['acosClamped'](_0x3bbf4a['z']);}},{'key':'getHeading','value':function _0x570d43(_0x314065,_0x661b3){var _0x30c3dd=_0x33b083,_0xb7d7e3;return!_0x5b97c4[_0x30c3dd(0x161)][_0x30c3dd(0x142)](Math['abs'](_0x314065['z']),0x1,_0x5b97c4[_0x30c3dd(0x161)][_0x30c3dd(0x168)])?_0xb7d7e3=Math['atan2'](_0x314065['y'],_0x314065['x'])-_0x5b97c4['Math']['PI_OVER_TWO']:_0xb7d7e3=Math['atan2'](_0x661b3['y'],_0x661b3['x'])-_0x5b97c4['Math']['PI_OVER_TWO'],_0x5b97c4['Math'][_0x30c3dd(0x15a)]-_0x5b97c4[_0x30c3dd(0x161)][_0x30c3dd(0x11a)](_0xb7d7e3);}},{'key':_0x33b083(0x12b),'value':function _0x4a3413(_0x4aefc7,_0x44cc86,_0x4746c5){var _0x239d97=_0x33b083,_0x43edef=0x0;return!_0x5b97c4['Math'][_0x239d97(0x142)](Math['abs'](_0x4aefc7['z']),0x1,_0x5b97c4[_0x239d97(0x161)]['EPSILON3'])&&(_0x43edef=Math[_0x239d97(0x137)](-_0x4746c5['z'],_0x44cc86['z']),_0x43edef=_0x5b97c4['Math'][_0x239d97(0x11a)](_0x43edef+_0x5b97c4[_0x239d97(0x161)]['TWO_PI'])),_0x43edef;}},{'key':_0x33b083(0x134),'value':function _0x39d804(){var _0x529f21=_0x33b083;!_0x5b97c4['defined'](this['_viewCamera'])&&(this[_0x529f21(0x15b)]=new _0x5b97c4['Camera'](this[_0x529f21(0x127)][_0x529f21(0x171)])),this[_0x529f21(0x15b)]['frustum'][_0x529f21(0x129)]=this[_0x529f21(0x151)],this['_viewCamera'][_0x529f21(0x113)][_0x529f21(0x15d)]=this[_0x529f21(0x125)],this['_viewCamera'][_0x529f21(0x113)][_0x529f21(0x10d)]=this[_0x529f21(0x14b)],this[_0x529f21(0x15b)][_0x529f21(0x113)][_0x529f21(0x123)]=_0x5b97c4['Math'][_0x529f21(0x152)](this[_0x529f21(0x123)]),this['_viewCamera'][_0x529f21(0x170)]=_0x5b97c4[_0x529f21(0x118)]['normalize'](this[_0x529f21(0x12e)],this['_viewCamera'][_0x529f21(0x170)]),this[_0x529f21(0x15b)][_0x529f21(0x13e)]=_0x5b97c4[_0x529f21(0x118)]['clone'](this['_observe'],this['_viewCamera']['position']),this[_0x529f21(0x15b)]['up']=this['_up'],this['_viewCamera']['right']=_0x5b97c4['Cartesian3'][_0x529f21(0x121)](this[_0x529f21(0x15b)]['up'],this['_viewCamera']['direction'],new _0x5b97c4['Cartesian3']()),!_0x5b97c4['defined'](this[_0x529f21(0x164)])&&!_0x5b97c4[_0x529f21(0x111)](this['_pitch'])&&!_0x5b97c4[_0x529f21(0x111)](this[_0x529f21(0x150)])&&this[_0x529f21(0x14a)]();}},{'key':_0x33b083(0x130),'value':function _0x476b06(){var _0x286199=_0x33b083,_0x3559fb=this[_0x286199(0x15b)]['positionWC'],_0x5c6117=new _0x5b97c4['Matrix3'](),_0x35efaa=this['_up'],_0x5906a7=this[_0x286199(0x170)],_0x557393=_0x5b97c4[_0x286199(0x118)][_0x286199(0x121)](_0x35efaa,_0x5906a7,new _0x5b97c4['Cartesian3']());_0x5b97c4['Matrix3']['setColumn'](_0x5c6117,0x0,_0x557393,_0x5c6117),_0x5b97c4['Matrix3']['setColumn'](_0x5c6117,0x1,_0x35efaa,_0x5c6117),_0x5b97c4['Matrix3'][_0x286199(0x163)](_0x5c6117,0x2,_0x5906a7,_0x5c6117);var _0x15d2cd=_0x5b97c4[_0x286199(0x11b)][_0x286199(0x157)](_0x5c6117,new _0x5b97c4[(_0x286199(0x11b))]()),_0x4486a3=_0x5b97c4['Matrix4']['fromTranslationQuaternionRotationScale'](_0x3559fb,_0x15d2cd,new _0x5b97c4['Cartesian3'](0x1,0x1,0x1),new _0x5b97c4['Matrix4']());if(this[_0x286199(0x162)]){this[_0x286199(0x162)][_0x286199(0x115)]=_0x4486a3,this['_frustum'][_0x286199(0x12f)]=this[_0x286199(0x15c)]/0x2,this[_0x286199(0x162)]['yHalfAngle']=this[_0x286199(0x15c)]/0x2/this[_0x286199(0x14b)],this['_frustum'][_0x286199(0x165)]=this[_0x286199(0x125)];return;}this['_frustum']=new _0x31d235({'radius':this['_far'],'modelMatrix':_0x4486a3,'xHalfAngle':this[_0x286199(0x15c)]/0x2,'yHalfAngle':this['_fov']/0x2/this[_0x286199(0x14b)],'showScanPlane':![],'showLateralSurfaces':![],'material':_0x5b97c4['Material'][_0x286199(0x14d)](_0x5b97c4['Material']['ColorType'],{'color':_0x5b97c4[_0x286199(0x153)]['AQUA']['withAlpha'](0.3)}),'show':this[_0x286199(0x140)]}),this['viewer']['scene']['primitives']['add'](this['_frustum']);}},{'key':_0x33b083(0x14f),'value':function _0x433857(){var _0x5e2a9a=_0x33b083;_0x5b97c4[_0x5e2a9a(0x111)](this[_0x5e2a9a(0x10e)])&&this[_0x5e2a9a(0x127)][_0x5e2a9a(0x171)]['primitives'][_0x5e2a9a(0x119)](this['_shadowMap']);if(!(this[_0x5e2a9a(0x15b)]&&this[_0x5e2a9a(0x162)][_0x5e2a9a(0x112)]))return;this[_0x5e2a9a(0x162)]['_boundingSphereWC'];var _0x45bd9c=this['options'];_0x45bd9c['lightCamera']=this[_0x5e2a9a(0x15b)],_0x45bd9c['context']=this[_0x5e2a9a(0x127)]['scene']['context'];var _0x1f21bf=new _0x2f3d12(_0x45bd9c),_0x491eec=new _0x47d83d(_0x1f21bf);return this[_0x5e2a9a(0x10e)]=this['viewer']['scene']['primitives']['add'](_0x491eec),this['_shadowMap'];}},{'key':_0x33b083(0x120),'value':function _0x2d2baf(_0x415a1a){var _0x329c97=_0x33b083,_0x36a636=_0x5b97c4['Matrix4']['clone'](this['_viewCamera']['_transform'],new _0x5b97c4['Matrix4']()),_0x379439=_0x5b97c4['Transforms'][_0x329c97(0x128)](this[_0x329c97(0x15b)][_0x329c97(0x13e)],this['_viewCamera'][_0x329c97(0x139)][_0x329c97(0x15e)]);this['_viewCamera'][_0x329c97(0x166)](_0x379439),this['_viewCamera']['rotateLeft'](_0x5b97c4[_0x329c97(0x161)]['toRadians'](_0x415a1a)),this['_viewCamera']['_setTransform'](_0x36a636),_0x5b97c4[_0x329c97(0x118)][_0x329c97(0x136)](this['_viewCamera']['directionWC'],this[_0x329c97(0x12e)]),this['update']();}},{'key':'rotateRight','value':function _0x30fe0b(_0x115534){this['rotateLeft'](-_0x115534);}},{'key':'rotateDown','value':function _0x18266d(_0x44a975){var _0xa7a0e2=_0x33b083,_0x39e4bd=_0x5b97c4[_0xa7a0e2(0x11e)]['clone'](this['_viewCamera']['_transform'],new _0x5b97c4[(_0xa7a0e2(0x11e))]()),_0x139d28=_0x5b97c4['Transforms'][_0xa7a0e2(0x128)](this['_viewCamera']['position'],this[_0xa7a0e2(0x15b)]['_projection']['ellipsoid']);this[_0xa7a0e2(0x15b)][_0xa7a0e2(0x166)](_0x139d28),this[_0xa7a0e2(0x15b)]['rotateDown'](_0x5b97c4[_0xa7a0e2(0x161)][_0xa7a0e2(0x152)](_0x44a975)),this[_0xa7a0e2(0x15b)][_0xa7a0e2(0x166)](_0x39e4bd),_0x5b97c4['Cartesian3'][_0xa7a0e2(0x136)](this['_viewCamera']['directionWC'],this['_direction']),this[_0xa7a0e2(0x158)]();}},{'key':_0x33b083(0x131),'value':function _0x33d059(_0x390722){var _0x432ab9=_0x33b083;this[_0x432ab9(0x145)](-_0x390722);}},{'key':'do','value':function _0x1a0e9f(){this['update']();}},{'key':_0x33b083(0x10f),'value':function _0x409209(){var _0x548ad6=_0x33b083;this['viewer'][_0x548ad6(0x171)][_0x548ad6(0x11c)]['remove'](this[_0x548ad6(0x162)]),this[_0x548ad6(0x127)][_0x548ad6(0x171)][_0x548ad6(0x11c)][_0x548ad6(0x119)](this[_0x548ad6(0x10e)]);}},{'key':'destroy','value':function _0x2bf361(){var _0x2867a0=_0x33b083;this['clear'](),this[_0x2867a0(0x162)]&&!this['_frustum'][_0x2867a0(0x13f)]()&&this['_frustum']['destroy'](),this['_shadowMap']&&!this[_0x2867a0(0x10e)][_0x2867a0(0x13f)]()&&this['_shadowMap']['destroy']();}}]),_0x49e59e;}());export default ViewShedAnalyserLayer;