deeptwins-engine-3d 0.1.76 → 0.2.1

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 (237) 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.js +1 -688
  86. package/dist/esm/drawer/plotUtil.js +1 -266
  87. package/dist/esm/drawer/shape/Assemble.js +1 -415
  88. package/dist/esm/drawer/shape/AttackArrow.js +1 -442
  89. package/dist/esm/drawer/shape/BaseShape.js +1 -383
  90. package/dist/esm/drawer/shape/Bow.js +1 -375
  91. package/dist/esm/drawer/shape/Circle.js +1 -461
  92. package/dist/esm/drawer/shape/Curve.js +1 -386
  93. package/dist/esm/drawer/shape/DragPoint.js +1 -211
  94. package/dist/esm/drawer/shape/Elliptic.js +1 -491
  95. package/dist/esm/drawer/shape/Formation.js +1 -395
  96. package/dist/esm/drawer/shape/PincerArrow.js +1 -445
  97. package/dist/esm/drawer/shape/Point.js +1 -131
  98. package/dist/esm/drawer/shape/Polygon.js +1 -368
  99. package/dist/esm/drawer/shape/Polyline.js +1 -325
  100. package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
  101. package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
  102. package/dist/esm/drawer/shape/Sector.js +1 -568
  103. package/dist/esm/drawer/shape/StraightArrow.js +1 -422
  104. package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
  105. package/dist/esm/drawer/types.js +1 -11
  106. package/dist/esm/drawer/utils.js +1 -381
  107. package/dist/esm/global.css +22 -1
  108. package/dist/esm/graphicLayer/BaseEntity.js +1 -51
  109. package/dist/esm/graphicLayer/BaseLayer.js +1 -730
  110. package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
  111. package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
  112. package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
  113. package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
  114. package/dist/esm/graphicLayer/BaseSource.js +1 -630
  115. package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
  116. package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
  117. package/dist/esm/graphicLayer/BoxEntity.js +1 -99
  118. package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
  119. package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
  120. package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
  121. package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
  122. package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
  123. package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
  124. package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
  125. package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
  126. package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
  127. package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
  128. package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
  129. package/dist/esm/graphicLayer/LabelEntity.js +1 -110
  130. package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
  131. package/dist/esm/graphicLayer/ModelEntity.js +1 -122
  132. package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
  133. package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
  134. package/dist/esm/graphicLayer/PointEntity.js +1 -94
  135. package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
  136. package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
  137. package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
  138. package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
  139. package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
  140. package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
  141. package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
  142. package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
  143. package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
  144. package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
  145. package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
  146. package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
  147. package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
  148. package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
  149. package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
  150. package/dist/esm/graphicLayer/WallEntity.js +1 -96
  151. package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
  152. package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
  153. package/dist/esm/index.d.ts +4 -0
  154. package/dist/esm/index.js +1 -175
  155. package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
  156. package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
  157. package/dist/esm/lowAltitude/FactorLayer.js +1 -199
  158. package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
  159. package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
  160. package/dist/esm/lowAltitude/GridDraw.js +1 -137
  161. package/dist/esm/lowAltitude/PoiLayer.js +1 -74
  162. package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
  163. package/dist/esm/lowAltitude/VisitLayer.js +1 -180
  164. package/dist/esm/map/Event.js +1 -377
  165. package/dist/esm/map/GroundSkyBox.js +1 -166
  166. package/dist/esm/map/Map.js +1 -881
  167. package/dist/esm/map/Property.js +1 -35
  168. package/dist/esm/material/AtmosphericDispersion.js +1 -569
  169. package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
  170. package/dist/esm/material/VolumeCloud.js +1 -115
  171. package/dist/esm/material/WeatherEffects.js +1 -351
  172. package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
  173. package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
  174. package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
  175. package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
  176. package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
  177. package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
  178. package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
  179. package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
  180. package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
  181. package/dist/esm/measure/Area.js +1 -220
  182. package/dist/esm/measure/BaseDraw.js +1 -105
  183. package/dist/esm/measure/Distance.js +1 -223
  184. package/dist/esm/measure/index.js +1 -266
  185. package/dist/esm/measure/types.js +1 -17
  186. package/dist/esm/measure/utils.js +1 -319
  187. package/dist/esm/particle/BaseParticle.js +1 -196
  188. package/dist/esm/particle/FireParticle.js +1 -65
  189. package/dist/esm/particle/FountainParticle.js +1 -80
  190. package/dist/esm/particle/SmokeParticle.js +1 -65
  191. package/dist/esm/particle/common.js +1 -23
  192. package/dist/esm/particle/index.js +1 -5
  193. package/dist/esm/property/PositionProperty.js +1 -56
  194. package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
  195. package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
  196. package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
  197. package/dist/esm/tileLayer/ImageryLayer.js +1 -44
  198. package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
  199. package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
  200. package/dist/esm/tileLayer/RasterLayer.js +1 -23
  201. package/dist/esm/tileLayer/WmsLayer.js +1 -26
  202. package/dist/esm/tileLayer/WmtsLayer.js +1 -23
  203. package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
  204. package/dist/esm/tool/Compass.js +1 -282
  205. package/dist/esm/tool/PrimitiveCluster.js +1 -706
  206. package/dist/esm/tool/TimerInterval.js +1 -58
  207. package/dist/esm/tool/common.js +1 -405
  208. package/dist/esm/tool/fetch.js +1 -222
  209. package/dist/esm/tool/heatmap.js +1 -631
  210. package/dist/esm/tool/utils.d.ts +1 -0
  211. package/dist/esm/tool/utils.js +1 -501
  212. package/dist/esm/toolTip/index.js +1 -79
  213. package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
  214. package/dist/esm/videoFusion/BaseVideo.js +1 -330
  215. package/dist/esm/videoFusion/VideoProject.js +1 -230
  216. package/dist/esm/videoFusion/VideoTexture.js +1 -163
  217. package/dist/esm/visualization/BaseHeatmap.js +1 -271
  218. package/dist/esm/visualization/BoundaryHighlight.d.ts +135 -0
  219. package/dist/esm/visualization/BoundaryHighlight.js +1 -0
  220. package/dist/esm/visualization/DynamicWater.js +1 -289
  221. package/dist/esm/visualization/Frustum.js +1 -248
  222. package/dist/esm/visualization/Heatmap2d.js +1 -97
  223. package/dist/esm/visualization/Heatmap3d.js +1 -281
  224. package/dist/esm/visualization/MigrationEffect.js +1 -397
  225. package/dist/esm/visualization/PointCluster.js +1 -220
  226. package/dist/esm/visualization/RadarScan.js +1 -333
  227. package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
  228. package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
  229. package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
  230. package/dist/esm/visualization/SampledTerrainWater.js +1 -0
  231. package/dist/esm/visualization/WindField.d.ts +72 -0
  232. package/dist/esm/visualization/WindField.js +1 -0
  233. package/dist/esm/visualization/windCore.d.ts +161 -0
  234. package/dist/esm/visualization/windCore.js +8 -0
  235. package/dist/umd/deeptwins-engine-3d.min.css +1 -1
  236. package/dist/umd/deeptwins-engine-3d.min.js +1 -1
  237. package/package.json +6 -4
@@ -0,0 +1,180 @@
1
+ /// <reference path="../typings.d.ts" />
2
+ import * as Cesium from 'deeptwins-cesium';
3
+ import { MapContext } from '../map/Map';
4
+ export type WaterTextureSource = string | HTMLCanvasElement | HTMLImageElement | HTMLVideoElement | ImageBitmap | ImageData | {
5
+ width: number;
6
+ height: number;
7
+ arrayBufferView: ArrayBufferView;
8
+ };
9
+ export type SampledTerrainRiverBounds = [number, number, number, number];
10
+ export type SampledTerrainRiverCoordinate = [number, number];
11
+ export interface SampledTerrainRiverPolygon {
12
+ rings: SampledTerrainRiverCoordinate[][];
13
+ }
14
+ export type ResolvedTextureSource = Exclude<WaterTextureSource, string>;
15
+ interface TerrainHeightMapCache {
16
+ heights: Float32Array;
17
+ minHeight: number;
18
+ maxHeight: number;
19
+ textureSize: number;
20
+ }
21
+ export interface ResolvedHeightMapData {
22
+ heightMap: WaterTextureSource;
23
+ minElevation: number;
24
+ maxElevation: number;
25
+ }
26
+ interface SampledTerrainRiverOptions {
27
+ directionGeoJson?: any;
28
+ surfaceGeoJson?: any;
29
+ heightMap?: WaterTextureSource;
30
+ canvas?: WaterTextureSource;
31
+ noise?: WaterTextureSource;
32
+ minElevation?: number;
33
+ maxElevation?: number;
34
+ granularity?: number;
35
+ terrainSample?: boolean;
36
+ textureSize?: number;
37
+ heightOffset?: number;
38
+ waterBodyMode?: boolean;
39
+ minWaterHeight?: number;
40
+ maxWaterHeight?: number;
41
+ waterHeight?: number;
42
+ style?: any;
43
+ }
44
+ interface SampledTerrainRiverData {
45
+ directionGeoJson?: any;
46
+ surfaceGeoJson?: any;
47
+ heightMap?: WaterTextureSource;
48
+ canvas?: WaterTextureSource;
49
+ noise?: WaterTextureSource;
50
+ minElevation?: number;
51
+ maxElevation?: number;
52
+ granularity?: number;
53
+ terrainSample?: boolean;
54
+ textureSize?: number;
55
+ heightOffset?: number;
56
+ waterBodyMode?: boolean;
57
+ minWaterHeight?: number;
58
+ maxWaterHeight?: number;
59
+ waterHeight?: number;
60
+ }
61
+ interface SampledTerrainRiverPrimitiveOptions {
62
+ polygons: SampledTerrainRiverPolygon[];
63
+ bounds: SampledTerrainRiverBounds;
64
+ heightMap: WaterTextureSource;
65
+ noise: WaterTextureSource;
66
+ minElevation: number;
67
+ maxElevation: number;
68
+ granularity: number;
69
+ waterBodyMode: boolean;
70
+ waterHeight: number;
71
+ flowDirection: Cesium.Cartesian2;
72
+ style: any;
73
+ }
74
+ export declare const DEFAULT_NOISE_SIZE = 512;
75
+ export declare const DEFAULT_NOISE_TEXTURE_FILE = "Image/noise.png";
76
+ export declare const DEFAULT_TERRAIN_TEXTURE_SIZE = 128;
77
+ export declare const MIN_TERRAIN_TEXTURE_SIZE = 64;
78
+ export declare const MAX_TERRAIN_TEXTURE_SIZE = 512;
79
+ export declare const CesiumRuntime: any;
80
+ export default class SampledTerrainRiver {
81
+ _mapContext: MapContext | undefined;
82
+ id: string;
83
+ directionGeoJson: any;
84
+ surfaceGeoJson: any;
85
+ heightMap: WaterTextureSource | undefined;
86
+ noise: WaterTextureSource;
87
+ minElevation: number;
88
+ maxElevation: number;
89
+ granularity: number;
90
+ terrainSample: boolean;
91
+ textureSize: number;
92
+ heightOffset: number;
93
+ waterBodyMode: boolean;
94
+ minWaterHeight: number;
95
+ maxWaterHeight: number;
96
+ waterHeight: number;
97
+ style: any;
98
+ primitive: SampledTerrainRiverPrimitive | null;
99
+ isDestroyed: boolean;
100
+ private _polygons;
101
+ private _bounds;
102
+ private _flowPath;
103
+ private _flowDirection;
104
+ private _isAdded;
105
+ private _buildVersion;
106
+ private _hasExplicitMinElevation;
107
+ private _hasExplicitMaxElevation;
108
+ constructor(options?: SampledTerrainRiverOptions);
109
+ getMap(): any;
110
+ addToMap(map: any): this | undefined;
111
+ remove(): this;
112
+ show(isShow: boolean): this | undefined;
113
+ setData(data?: SampledTerrainRiverData): this | undefined;
114
+ setStyle(style?: any): this | undefined;
115
+ flyTo(options?: any): this | undefined;
116
+ destroy(): void;
117
+ private _canOperate;
118
+ private _rebuildPrimitive;
119
+ private _resolveHeightMap;
120
+ private _hasValidData;
121
+ private _hasValidElevationRange;
122
+ }
123
+ declare class SampledTerrainRiverPrimitive {
124
+ show: boolean;
125
+ style: any;
126
+ private _polygons;
127
+ private _bounds;
128
+ private _heightMapSource;
129
+ private _noiseSource;
130
+ private _heightMap;
131
+ private _noise;
132
+ private _minElevation;
133
+ private _maxElevation;
134
+ private _granularity;
135
+ private _waterBodyMode;
136
+ waterHeight: number;
137
+ flowDirection: Cesium.Cartesian2;
138
+ private _showLines;
139
+ private _drawCommands;
140
+ private _vertexArrays;
141
+ private _shaderProgram;
142
+ private _renderState;
143
+ private _heightMapTexture;
144
+ private _noiseTexture;
145
+ private _textureLoadPromise;
146
+ private _time;
147
+ constructor(options: SampledTerrainRiverPrimitiveOptions);
148
+ set showLines(value: boolean);
149
+ get showLines(): boolean;
150
+ update(frameState: any): void;
151
+ isDestroyed(): boolean;
152
+ destroy(): void;
153
+ syncRenderState(): void;
154
+ private _createCommand;
155
+ private _createRenderState;
156
+ private _createUniformMap;
157
+ private _loadTextureSources;
158
+ private _destroyCommand;
159
+ }
160
+ export declare function createTexture(context: any, source: ResolvedTextureSource, textureWrap?: any): any;
161
+ export declare function getTextureSize(source: ResolvedTextureSource): {
162
+ width: any;
163
+ height: any;
164
+ };
165
+ export declare function resolveTextureSource(source: WaterTextureSource): Promise<ResolvedTextureSource>;
166
+ export declare function loadImage(url: string): Promise<HTMLImageElement>;
167
+ export declare function getTerrainHeightMap(map: any, bounds: SampledTerrainRiverBounds, textureSize: number): Promise<TerrainHeightMapCache>;
168
+ export declare function encodeTerrainHeightMap(terrainHeightMap: TerrainHeightMapCache, minElevation: number, maxElevation: number, heightOffset: number): ImageData;
169
+ export declare function getTerrainHeightMapCacheKey(bounds: SampledTerrainRiverBounds, textureSize: number): string;
170
+ export declare function normalizeTerrainTextureSize(textureSize: number): number;
171
+ export declare function toFiniteNumber(value: any, defaultValue: number): number;
172
+ export declare function expandBounds(bounds: SampledTerrainRiverBounds, scale: number): SampledTerrainRiverBounds;
173
+ export declare function getPolygonsBounds(polygons: SampledTerrainRiverPolygon[]): SampledTerrainRiverBounds | undefined;
174
+ export declare function collectGeoJsonLineCoordinates(geoJson: any): SampledTerrainRiverCoordinate[];
175
+ export declare function collectGeoJsonPolygons(geoJson: any): SampledTerrainRiverPolygon[];
176
+ export declare function createPolygonGeometry(polygon: SampledTerrainRiverPolygon, bounds: SampledTerrainRiverBounds, minElevation: number, granularity: number): Cesium.Geometry | null | undefined;
177
+ export declare function normalizeShaderColor(color: any): Cesium.Cartesian3;
178
+ export declare function formatError(error: unknown): string;
179
+ export declare const SAMPLED_TERRAIN_RIVER_COMMON_SHADER = "\n uniform sampler2D heightMap;\n uniform float heightScale;\n uniform float maxElevation;\n uniform float minElevation;\n uniform sampler2D iChannel0;\n uniform float iTime;\n uniform bool water_body_mode;\n uniform bool has_water_height;\n uniform float water_height;\n\n uniform float large_waveheight;\n uniform float large_wavesize;\n uniform float small_waveheight;\n uniform float small_wavesize;\n uniform float water_softlight_fact;\n uniform float water_glossylight_fact;\n uniform float particle_amount;\n uniform float WATER_LEVEL;\n uniform vec2 flow_direction;\n uniform float flow_speed;\n uniform float flow_strength;\n uniform float flow_wave_scale;\n uniform float flow_wave_strength;\n uniform float foam_amount;\n uniform float foam_contrast;\n uniform float foam_coverage;\n uniform float alpha;\n uniform vec3 water_color;\n uniform vec3 deep_water_color;\n uniform vec3 water_specular_color;\n vec3 light;\n\n float hash(float n) {\n return fract(sin(n) * 43758.5453123);\n }\n\n float noise1(in vec2 x) {\n vec2 p = floor(x);\n vec2 f = smoothstep(0.0, 1.0, fract(x));\n float n = p.x + p.y * 57.0;\n return mix(mix(hash(n + 0.0), hash(n + 1.0), f.x), mix(hash(n + 57.0), hash(n + 58.0), f.x), f.y);\n }\n\n float noise(vec2 p) {\n return textureLod(iChannel0, p * vec2(1.0 / 256.0), 0.0).x;\n }\n\n float height_map(vec2 p) {\n float f = texture(heightMap, p).r;\n return clamp(f, 0.0, 10.0);\n }\n\n float normalized_water_height() {\n if (has_water_height) {\n return clamp((water_height - minElevation) / max(maxElevation - minElevation, 0.001), 0.0, 10.0);\n }\n return WATER_LEVEL;\n }\n\n const mat2 m = mat2(0.72, -1.60, 1.60, 0.72);\n const float FLOW_ANIMATION_SPEED_SCALE = 1.2;\n\n vec2 flow_dir() {\n float len = length(flow_direction);\n if (len < 0.0001) {\n return vec2(1.0, 0.0);\n }\n return flow_direction / len;\n }\n\n vec2 flow_space(vec2 p) {\n vec2 dir = flow_dir();\n vec2 side = vec2(-dir.y, dir.x);\n return vec2(dot(p, dir), dot(p, side));\n }\n\n float flow_offset(float speed_multiplier) {\n return iTime * max(flow_speed, 0.0) * max(flow_strength, 0.0) * FLOW_ANIMATION_SPEED_SCALE * speed_multiplier;\n }\n\n vec2 flow_uv(vec2 p, float scale, float speed_multiplier) {\n vec2 uv = flow_space(p);\n float safeScale = max(scale, 0.001);\n return vec2(uv.x * safeScale - flow_offset(speed_multiplier), uv.y * safeScale);\n }\n\n float water_map(vec2 p, float height) {\n vec2 p2 = flow_uv(p, large_wavesize * flow_wave_scale, 0.22);\n\n float f = 0.6000 * noise(p2);\n f += 0.2500 * noise(p2 * m);\n f += 0.1666 * noise(p2 * m * m);\n float wave = sin(p2.x * 1.244) * large_waveheight * flow_wave_strength * f * height * height;\n\n p = flow_uv(p, small_wavesize * flow_wave_scale, 0.24);\n f = 0.0;\n float amp = 1.0;\n for (int i = 0; i < 9; i++) {\n p = m * p * 0.947;\n f -= amp * abs(sin((noise(p) - 0.5) * 2.0));\n amp = amp * 0.59;\n }\n\n return wave + f * small_waveheight;\n }\n\n float nautic(vec2 p) {\n p = flow_uv(p, 18.0, 0.26);\n float f = 0.0;\n float amp = 1.0;\n for (int i = 0; i < 3; i++) {\n p = m * p * 1.2;\n f += amp * abs(smoothstep(0.0, 1.0, noise(p)) - 0.5);\n amp = amp * 0.5;\n }\n return pow(1.0 - f, 5.0);\n }\n\n float particles(vec2 p) {\n p = flow_uv(p, 200.0, 0.28);\n float f = 0.0;\n float amp = 1.0;\n for (int i = 0; i < 3; i++) {\n p = m * p * 1.2;\n f += amp * noise(p);\n amp = amp * 0.5;\n }\n float foam = max(0.0, (f - foam_coverage) / max(foam_coverage, 0.001));\n return pow(foam * 0.35, max(foam_contrast, 0.001) * 5.0) * particle_amount * foam_amount;\n }\n\n float test_shadow(vec2 xy, float height) {\n vec3 r0 = vec3(xy, height);\n vec3 rd = normalize(light - r0);\n\n float hit = 1.0;\n float t = 0.001;\n for (int j = 1; j < 25; j++) {\n vec3 p = r0 + t * rd;\n float h = height_map(p.xy);\n float height_diff = p.z - h;\n if (height_diff < 0.0) {\n return 0.0;\n }\n t += 0.01 + height_diff * 0.02;\n hit = min(hit, 2.0 * height_diff / t);\n }\n return hit;\n }\n";
180
+ export {};
@@ -0,0 +1 @@
1
+ var _0x2a3d95=_0x2286;(function(_0x3fba13,_0xb7c9ae){var _0x1af6db=_0x2286,_0x313a74=_0x3fba13();while(!![]){try{var _0x12e032=-parseInt(_0x1af6db(0x1dd))/0x1+-parseInt(_0x1af6db(0x13f))/0x2+parseInt(_0x1af6db(0x1e5))/0x3+-parseInt(_0x1af6db(0x100))/0x4+parseInt(_0x1af6db(0x120))/0x5+parseInt(_0x1af6db(0x12e))/0x6+parseInt(_0x1af6db(0x19b))/0x7;if(_0x12e032===_0xb7c9ae)break;else _0x313a74['push'](_0x313a74['shift']());}catch(_0x948b36){_0x313a74['push'](_0x313a74['shift']());}}}(_0x13d9,0x8cf67));var _excluded=['scale'];function _typeof(_0x4ff268){'@babel/helpers - typeof';var _0x5a1b1e=_0x2286;return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol[_0x5a1b1e(0x1bd)]?function(_0x2cac91){return typeof _0x2cac91;}:function(_0x50676e){var _0x124e11=_0x5a1b1e;return _0x50676e&&'function'==typeof Symbol&&_0x50676e['constructor']===Symbol&&_0x50676e!==Symbol['prototype']?_0x124e11(0x121):typeof _0x50676e;},_typeof(_0x4ff268);}function _regeneratorRuntime(){'use strict';var _0x26a476=_0x2286;_regeneratorRuntime=function _0x1d5d95(){return _0x3adcbf;};var _0x323dcb,_0x3adcbf={},_0x20f0b7=Object['prototype'],_0x32782c=_0x20f0b7[_0x26a476(0x168)],_0xf253a0=Object[_0x26a476(0x104)]||function(_0x2c58ae,_0x2ac509,_0x35e61c){_0x2c58ae[_0x2ac509]=_0x35e61c['value'];},_0x594b74='function'==typeof Symbol?Symbol:{},_0x6a58f8=_0x594b74[_0x26a476(0x1bd)]||_0x26a476(0x1b8),_0x83eef8=_0x594b74['asyncIterator']||_0x26a476(0xf9),_0x4b86aa=_0x594b74['toStringTag']||'@@toStringTag';function _0x23b2dc(_0x1b58ac,_0x4a207e,_0x21d985){var _0x307732=_0x26a476;return Object[_0x307732(0x104)](_0x1b58ac,_0x4a207e,{'value':_0x21d985,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x1b58ac[_0x4a207e];}try{_0x23b2dc({},'');}catch(_0x1444a7){_0x23b2dc=function _0x2bb524(_0x222a38,_0x9df4ac,_0x54d325){return _0x222a38[_0x9df4ac]=_0x54d325;};}function _0x408dc9(_0x298f45,_0x479dff,_0x315784,_0x5ea032){var _0x549f61=_0x26a476,_0x294e71=_0x479dff&&_0x479dff[_0x549f61(0x1b3)]instanceof _0x373301?_0x479dff:_0x373301,_0x6f0a8c=Object[_0x549f61(0x1a6)](_0x294e71['prototype']),_0x23ca75=new _0xcd217f(_0x5ea032||[]);return _0xf253a0(_0x6f0a8c,_0x549f61(0x1ad),{'value':_0x3420dd(_0x298f45,_0x315784,_0x23ca75)}),_0x6f0a8c;}function _0x1466bd(_0x543bc3,_0x3dfa8f,_0x66709a){try{return{'type':'normal','arg':_0x543bc3['call'](_0x3dfa8f,_0x66709a)};}catch(_0x1c907e){return{'type':'throw','arg':_0x1c907e};}}_0x3adcbf[_0x26a476(0x153)]=_0x408dc9;var _0x1f9a36='suspendedStart',_0x5684ee='suspendedYield',_0x138d48='executing',_0xaa8e2b=_0x26a476(0x199),_0x56ee5c={};function _0x373301(){}function _0x10f31c(){}function _0x404821(){}var _0x240cf7={};_0x23b2dc(_0x240cf7,_0x6a58f8,function(){return this;});var _0x5dd753=Object['getPrototypeOf'],_0xe2e20d=_0x5dd753&&_0x5dd753(_0x5dd753(_0x384fb0([])));_0xe2e20d&&_0xe2e20d!==_0x20f0b7&&_0x32782c[_0x26a476(0x1a0)](_0xe2e20d,_0x6a58f8)&&(_0x240cf7=_0xe2e20d);var _0x4a6b64=_0x404821[_0x26a476(0x1b3)]=_0x373301[_0x26a476(0x1b3)]=Object[_0x26a476(0x1a6)](_0x240cf7);function _0x5212ea(_0x10edfc){var _0x55a860=_0x26a476;['next','throw',_0x55a860(0x14d)][_0x55a860(0x198)](function(_0x4c0ad1){_0x23b2dc(_0x10edfc,_0x4c0ad1,function(_0x245465){var _0x5a00e3=_0x2286;return this[_0x5a00e3(0x1ad)](_0x4c0ad1,_0x245465);});});}function _0x32a797(_0x54238b,_0x2a7359){var _0x50f334=_0x26a476;function _0x408cc6(_0x1131f4,_0x11b37f,_0x31ae42,_0xbc82c7){var _0x127ba1=_0x2286,_0xb2de7e=_0x1466bd(_0x54238b[_0x1131f4],_0x54238b,_0x11b37f);if(_0x127ba1(0x11e)!==_0xb2de7e['type']){var _0x2b6440=_0xb2de7e[_0x127ba1(0x131)],_0x5e2013=_0x2b6440['value'];return _0x5e2013&&_0x127ba1(0x18a)==_typeof(_0x5e2013)&&_0x32782c[_0x127ba1(0x1a0)](_0x5e2013,_0x127ba1(0x138))?_0x2a7359['resolve'](_0x5e2013['__await'])['then'](function(_0x4703c8){var _0x523e13=_0x127ba1;_0x408cc6(_0x523e13(0x1a7),_0x4703c8,_0x31ae42,_0xbc82c7);},function(_0x745095){_0x408cc6('throw',_0x745095,_0x31ae42,_0xbc82c7);}):_0x2a7359['resolve'](_0x5e2013)['then'](function(_0xa09eec){_0x2b6440['value']=_0xa09eec,_0x31ae42(_0x2b6440);},function(_0x572472){var _0x129988=_0x127ba1;return _0x408cc6(_0x129988(0x11e),_0x572472,_0x31ae42,_0xbc82c7);});}_0xbc82c7(_0xb2de7e[_0x127ba1(0x131)]);}var _0x435deb;_0xf253a0(this,_0x50f334(0x1ad),{'value':function _0x9128f2(_0x4e50f0,_0x624100){var _0x3a2387=_0x50f334;function _0x36dd03(){return new _0x2a7359(function(_0x3bda98,_0x382071){_0x408cc6(_0x4e50f0,_0x624100,_0x3bda98,_0x382071);});}return _0x435deb=_0x435deb?_0x435deb[_0x3a2387(0x189)](_0x36dd03,_0x36dd03):_0x36dd03();}});}function _0x3420dd(_0x44af83,_0x16af12,_0x27097d){var _0x1c20a7=_0x1f9a36;return function(_0x6dc68e,_0x3c768e){var _0x69f60=_0x2286;if(_0x1c20a7===_0x138d48)throw new Error('Generator\x20is\x20already\x20running');if(_0x1c20a7===_0xaa8e2b){if(_0x69f60(0x11e)===_0x6dc68e)throw _0x3c768e;return{'value':_0x323dcb,'done':!0x0};}for(_0x27097d[_0x69f60(0x154)]=_0x6dc68e,_0x27097d['arg']=_0x3c768e;;){var _0x486987=_0x27097d['delegate'];if(_0x486987){var _0x39d9ce=_0x192055(_0x486987,_0x27097d);if(_0x39d9ce){if(_0x39d9ce===_0x56ee5c)continue;return _0x39d9ce;}}if(_0x69f60(0x1a7)===_0x27097d['method'])_0x27097d['sent']=_0x27097d['_sent']=_0x27097d['arg'];else{if(_0x69f60(0x11e)===_0x27097d['method']){if(_0x1c20a7===_0x1f9a36)throw _0x1c20a7=_0xaa8e2b,_0x27097d['arg'];_0x27097d['dispatchException'](_0x27097d[_0x69f60(0x131)]);}else _0x69f60(0x14d)===_0x27097d['method']&&_0x27097d[_0x69f60(0x195)](_0x69f60(0x14d),_0x27097d[_0x69f60(0x131)]);}_0x1c20a7=_0x138d48;var _0x5156da=_0x1466bd(_0x44af83,_0x16af12,_0x27097d);if('normal'===_0x5156da[_0x69f60(0x1ca)]){if(_0x1c20a7=_0x27097d['done']?_0xaa8e2b:_0x5684ee,_0x5156da['arg']===_0x56ee5c)continue;return{'value':_0x5156da['arg'],'done':_0x27097d[_0x69f60(0x1cb)]};}_0x69f60(0x11e)===_0x5156da[_0x69f60(0x1ca)]&&(_0x1c20a7=_0xaa8e2b,_0x27097d[_0x69f60(0x154)]='throw',_0x27097d['arg']=_0x5156da[_0x69f60(0x131)]);}};}function _0x192055(_0x2160c5,_0x3c6dae){var _0xdee815=_0x26a476,_0x35c302=_0x3c6dae['method'],_0x57f3fc=_0x2160c5['iterator'][_0x35c302];if(_0x57f3fc===_0x323dcb)return _0x3c6dae['delegate']=null,_0xdee815(0x11e)===_0x35c302&&_0x2160c5['iterator'][_0xdee815(0x14d)]&&(_0x3c6dae['method']='return',_0x3c6dae[_0xdee815(0x131)]=_0x323dcb,_0x192055(_0x2160c5,_0x3c6dae),'throw'===_0x3c6dae['method'])||'return'!==_0x35c302&&(_0x3c6dae['method']=_0xdee815(0x11e),_0x3c6dae[_0xdee815(0x131)]=new TypeError('The\x20iterator\x20does\x20not\x20provide\x20a\x20\x27'+_0x35c302+_0xdee815(0x17f))),_0x56ee5c;var _0x47c7d1=_0x1466bd(_0x57f3fc,_0x2160c5[_0xdee815(0x1bd)],_0x3c6dae[_0xdee815(0x131)]);if('throw'===_0x47c7d1['type'])return _0x3c6dae[_0xdee815(0x154)]='throw',_0x3c6dae['arg']=_0x47c7d1['arg'],_0x3c6dae['delegate']=null,_0x56ee5c;var _0x492edd=_0x47c7d1['arg'];return _0x492edd?_0x492edd['done']?(_0x3c6dae[_0x2160c5[_0xdee815(0x14b)]]=_0x492edd['value'],_0x3c6dae['next']=_0x2160c5[_0xdee815(0x159)],'return'!==_0x3c6dae['method']&&(_0x3c6dae[_0xdee815(0x154)]=_0xdee815(0x1a7),_0x3c6dae[_0xdee815(0x131)]=_0x323dcb),_0x3c6dae[_0xdee815(0x15a)]=null,_0x56ee5c):_0x492edd:(_0x3c6dae['method']='throw',_0x3c6dae['arg']=new TypeError('iterator\x20result\x20is\x20not\x20an\x20object'),_0x3c6dae['delegate']=null,_0x56ee5c);}function _0x44b206(_0x34db8f){var _0x8e33ab=_0x26a476,_0xa1ca99={'tryLoc':_0x34db8f[0x0]};0x1 in _0x34db8f&&(_0xa1ca99[_0x8e33ab(0x18e)]=_0x34db8f[0x1]),0x2 in _0x34db8f&&(_0xa1ca99['finallyLoc']=_0x34db8f[0x2],_0xa1ca99['afterLoc']=_0x34db8f[0x3]),this[_0x8e33ab(0x14e)]['push'](_0xa1ca99);}function _0x5c6f29(_0x29ec72){var _0x33f53d=_0x26a476,_0x305c2a=_0x29ec72['completion']||{};_0x305c2a[_0x33f53d(0x1ca)]='normal',delete _0x305c2a[_0x33f53d(0x131)],_0x29ec72['completion']=_0x305c2a;}function _0xcd217f(_0x330960){var _0x172267=_0x26a476;this[_0x172267(0x14e)]=[{'tryLoc':_0x172267(0xf1)}],_0x330960[_0x172267(0x198)](_0x44b206,this),this['reset'](!0x0);}function _0x384fb0(_0x133037){var _0x21f47e=_0x26a476;if(_0x133037||''===_0x133037){var _0x76e437=_0x133037[_0x6a58f8];if(_0x76e437)return _0x76e437['call'](_0x133037);if('function'==typeof _0x133037['next'])return _0x133037;if(!isNaN(_0x133037[_0x21f47e(0x182)])){var _0x372e57=-0x1,_0x5e2104=function _0x8bca58(){for(;++_0x372e57<_0x133037['length'];)if(_0x32782c['call'](_0x133037,_0x372e57))return _0x8bca58['value']=_0x133037[_0x372e57],_0x8bca58['done']=!0x1,_0x8bca58;return _0x8bca58['value']=_0x323dcb,_0x8bca58['done']=!0x0,_0x8bca58;};return _0x5e2104['next']=_0x5e2104;}}throw new TypeError(_typeof(_0x133037)+'\x20is\x20not\x20iterable');}return _0x10f31c['prototype']=_0x404821,_0xf253a0(_0x4a6b64,'constructor',{'value':_0x404821,'configurable':!0x0}),_0xf253a0(_0x404821,'constructor',{'value':_0x10f31c,'configurable':!0x0}),_0x10f31c['displayName']=_0x23b2dc(_0x404821,_0x4b86aa,'GeneratorFunction'),_0x3adcbf['isGeneratorFunction']=function(_0x1929eb){var _0x15a370=_0x26a476,_0x4e6a51='function'==typeof _0x1929eb&&_0x1929eb['constructor'];return!!_0x4e6a51&&(_0x4e6a51===_0x10f31c||_0x15a370(0x1d5)===(_0x4e6a51[_0x15a370(0x14c)]||_0x4e6a51[_0x15a370(0x133)]));},_0x3adcbf['mark']=function(_0x64f472){var _0x13ea01=_0x26a476;return Object[_0x13ea01(0x1c4)]?Object[_0x13ea01(0x1c4)](_0x64f472,_0x404821):(_0x64f472[_0x13ea01(0x1a3)]=_0x404821,_0x23b2dc(_0x64f472,_0x4b86aa,'GeneratorFunction')),_0x64f472[_0x13ea01(0x1b3)]=Object[_0x13ea01(0x1a6)](_0x4a6b64),_0x64f472;},_0x3adcbf['awrap']=function(_0x357bbe){return{'__await':_0x357bbe};},_0x5212ea(_0x32a797[_0x26a476(0x1b3)]),_0x23b2dc(_0x32a797['prototype'],_0x83eef8,function(){return this;}),_0x3adcbf['AsyncIterator']=_0x32a797,_0x3adcbf[_0x26a476(0x143)]=function(_0x2bb023,_0x4421c6,_0x41a6a8,_0x53421c,_0x3a1c18){var _0x4e4615=_0x26a476;void 0x0===_0x3a1c18&&(_0x3a1c18=Promise);var _0x1b2b6e=new _0x32a797(_0x408dc9(_0x2bb023,_0x4421c6,_0x41a6a8,_0x53421c),_0x3a1c18);return _0x3adcbf['isGeneratorFunction'](_0x4421c6)?_0x1b2b6e:_0x1b2b6e[_0x4e4615(0x1a7)]()['then'](function(_0x3d938f){var _0x4431a6=_0x4e4615;return _0x3d938f[_0x4431a6(0x1cb)]?_0x3d938f['value']:_0x1b2b6e[_0x4431a6(0x1a7)]();});},_0x5212ea(_0x4a6b64),_0x23b2dc(_0x4a6b64,_0x4b86aa,_0x26a476(0x119)),_0x23b2dc(_0x4a6b64,_0x6a58f8,function(){return this;}),_0x23b2dc(_0x4a6b64,_0x26a476(0x1d4),function(){var _0x4890a2=_0x26a476;return _0x4890a2(0x181);}),_0x3adcbf['keys']=function(_0x32c081){var _0x5c540d=_0x26a476,_0x13f126=Object(_0x32c081),_0x1407df=[];for(var _0x2def27 in _0x13f126)_0x1407df['push'](_0x2def27);return _0x1407df[_0x5c540d(0x180)](),function _0x1b607(){var _0x2e362b=_0x5c540d;for(;_0x1407df['length'];){var _0x1402b6=_0x1407df[_0x2e362b(0x170)]();if(_0x1402b6 in _0x13f126)return _0x1b607['value']=_0x1402b6,_0x1b607[_0x2e362b(0x1cb)]=!0x1,_0x1b607;}return _0x1b607['done']=!0x0,_0x1b607;};},_0x3adcbf[_0x26a476(0x160)]=_0x384fb0,_0xcd217f[_0x26a476(0x1b3)]={'constructor':_0xcd217f,'reset':function _0x5aa7be(_0x1f1f1f){var _0x14f5c8=_0x26a476;if(this[_0x14f5c8(0x1d8)]=0x0,this['next']=0x0,this[_0x14f5c8(0x173)]=this['_sent']=_0x323dcb,this[_0x14f5c8(0x1cb)]=!0x1,this['delegate']=null,this['method']=_0x14f5c8(0x1a7),this['arg']=_0x323dcb,this['tryEntries']['forEach'](_0x5c6f29),!_0x1f1f1f){for(var _0x363a16 in this)'t'===_0x363a16['charAt'](0x0)&&_0x32782c['call'](this,_0x363a16)&&!isNaN(+_0x363a16['slice'](0x1))&&(this[_0x363a16]=_0x323dcb);}},'stop':function _0xac92ee(){var _0x15b833=_0x26a476;this[_0x15b833(0x1cb)]=!0x0;var _0x5c10ac=this['tryEntries'][0x0][_0x15b833(0x12a)];if('throw'===_0x5c10ac[_0x15b833(0x1ca)])throw _0x5c10ac['arg'];return this[_0x15b833(0x10b)];},'dispatchException':function _0x201a5d(_0x179760){var _0x77292a=_0x26a476;if(this[_0x77292a(0x1cb)])throw _0x179760;var _0x64331e=this;function _0x3dab6b(_0xbfa722,_0x10a8fb){var _0x38d80d=_0x77292a;return _0x1dc8d4[_0x38d80d(0x1ca)]=_0x38d80d(0x11e),_0x1dc8d4['arg']=_0x179760,_0x64331e['next']=_0xbfa722,_0x10a8fb&&(_0x64331e[_0x38d80d(0x154)]=_0x38d80d(0x1a7),_0x64331e[_0x38d80d(0x131)]=_0x323dcb),!!_0x10a8fb;}for(var _0x3cb175=this['tryEntries']['length']-0x1;_0x3cb175>=0x0;--_0x3cb175){var _0x4947da=this[_0x77292a(0x14e)][_0x3cb175],_0x1dc8d4=_0x4947da['completion'];if(_0x77292a(0xf1)===_0x4947da['tryLoc'])return _0x3dab6b(_0x77292a(0x14f));if(_0x4947da['tryLoc']<=this['prev']){var _0x299dc6=_0x32782c['call'](_0x4947da,_0x77292a(0x18e)),_0x22f0fb=_0x32782c[_0x77292a(0x1a0)](_0x4947da,'finallyLoc');if(_0x299dc6&&_0x22f0fb){if(this[_0x77292a(0x1d8)]<_0x4947da['catchLoc'])return _0x3dab6b(_0x4947da[_0x77292a(0x18e)],!0x0);if(this[_0x77292a(0x1d8)]<_0x4947da['finallyLoc'])return _0x3dab6b(_0x4947da[_0x77292a(0x148)]);}else{if(_0x299dc6){if(this[_0x77292a(0x1d8)]<_0x4947da['catchLoc'])return _0x3dab6b(_0x4947da['catchLoc'],!0x0);}else{if(!_0x22f0fb)throw new Error('try\x20statement\x20without\x20catch\x20or\x20finally');if(this[_0x77292a(0x1d8)]<_0x4947da['finallyLoc'])return _0x3dab6b(_0x4947da[_0x77292a(0x148)]);}}}}},'abrupt':function _0x8961a8(_0x58b93f,_0x1741e7){var _0x3fc62f=_0x26a476;for(var _0x3c3230=this['tryEntries'][_0x3fc62f(0x182)]-0x1;_0x3c3230>=0x0;--_0x3c3230){var _0xbaf1bf=this[_0x3fc62f(0x14e)][_0x3c3230];if(_0xbaf1bf['tryLoc']<=this['prev']&&_0x32782c[_0x3fc62f(0x1a0)](_0xbaf1bf,'finallyLoc')&&this['prev']<_0xbaf1bf['finallyLoc']){var _0x4ba041=_0xbaf1bf;break;}}_0x4ba041&&('break'===_0x58b93f||_0x3fc62f(0x13c)===_0x58b93f)&&_0x4ba041['tryLoc']<=_0x1741e7&&_0x1741e7<=_0x4ba041['finallyLoc']&&(_0x4ba041=null);var _0x5c3e22=_0x4ba041?_0x4ba041['completion']:{};return _0x5c3e22[_0x3fc62f(0x1ca)]=_0x58b93f,_0x5c3e22[_0x3fc62f(0x131)]=_0x1741e7,_0x4ba041?(this['method']='next',this['next']=_0x4ba041['finallyLoc'],_0x56ee5c):this['complete'](_0x5c3e22);},'complete':function _0x15540c(_0x3546ea,_0x47bc88){var _0x5ab3d3=_0x26a476;if(_0x5ab3d3(0x11e)===_0x3546ea[_0x5ab3d3(0x1ca)])throw _0x3546ea[_0x5ab3d3(0x131)];return _0x5ab3d3(0x178)===_0x3546ea['type']||_0x5ab3d3(0x13c)===_0x3546ea[_0x5ab3d3(0x1ca)]?this[_0x5ab3d3(0x1a7)]=_0x3546ea[_0x5ab3d3(0x131)]:'return'===_0x3546ea[_0x5ab3d3(0x1ca)]?(this['rval']=this[_0x5ab3d3(0x131)]=_0x3546ea[_0x5ab3d3(0x131)],this['method']='return',this[_0x5ab3d3(0x1a7)]='end'):_0x5ab3d3(0xfa)===_0x3546ea['type']&&_0x47bc88&&(this['next']=_0x47bc88),_0x56ee5c;},'finish':function _0x20a942(_0x39f667){var _0x238053=_0x26a476;for(var _0x159eeb=this['tryEntries'][_0x238053(0x182)]-0x1;_0x159eeb>=0x0;--_0x159eeb){var _0x22fed2=this['tryEntries'][_0x159eeb];if(_0x22fed2[_0x238053(0x148)]===_0x39f667)return this['complete'](_0x22fed2[_0x238053(0x12a)],_0x22fed2['afterLoc']),_0x5c6f29(_0x22fed2),_0x56ee5c;}},'catch':function _0x2b9089(_0x2f2d5c){var _0x36b69a=_0x26a476;for(var _0x3f1e36=this['tryEntries']['length']-0x1;_0x3f1e36>=0x0;--_0x3f1e36){var _0x1c4746=this['tryEntries'][_0x3f1e36];if(_0x1c4746['tryLoc']===_0x2f2d5c){var _0x123227=_0x1c4746['completion'];if(_0x36b69a(0x11e)===_0x123227[_0x36b69a(0x1ca)]){var _0x3e29c6=_0x123227[_0x36b69a(0x131)];_0x5c6f29(_0x1c4746);}return _0x3e29c6;}}throw new Error('illegal\x20catch\x20attempt');},'delegateYield':function _0x3fa00f(_0x151281,_0x49329e,_0x213ab1){var _0x7d0153=_0x26a476;return this[_0x7d0153(0x15a)]={'iterator':_0x384fb0(_0x151281),'resultName':_0x49329e,'nextLoc':_0x213ab1},'next'===this['method']&&(this['arg']=_0x323dcb),_0x56ee5c;}},_0x3adcbf;}function asyncGeneratorStep(_0xba79af,_0x571844,_0x5859c1,_0x1c3f01,_0x11ce3f,_0x45435a,_0x221ce8){var _0x18b223=_0x2286;try{var _0x5a65e9=_0xba79af[_0x45435a](_0x221ce8),_0x39aa9d=_0x5a65e9['value'];}catch(_0x4fb069){_0x5859c1(_0x4fb069);return;}_0x5a65e9[_0x18b223(0x1cb)]?_0x571844(_0x39aa9d):Promise['resolve'](_0x39aa9d)['then'](_0x1c3f01,_0x11ce3f);}function _asyncToGenerator(_0x182d2e){return function(){var _0x4528d9=this,_0xa3671=arguments;return new Promise(function(_0x607227,_0x17095b){var _0x1cb2f3=_0x2286,_0x51f2da=_0x182d2e[_0x1cb2f3(0x1d6)](_0x4528d9,_0xa3671);function _0x55788e(_0x4cad48){var _0x322569=_0x1cb2f3;asyncGeneratorStep(_0x51f2da,_0x607227,_0x17095b,_0x55788e,_0x5a8fde,_0x322569(0x1a7),_0x4cad48);}function _0x5a8fde(_0x1af295){asyncGeneratorStep(_0x51f2da,_0x607227,_0x17095b,_0x55788e,_0x5a8fde,'throw',_0x1af295);}_0x55788e(undefined);});};}function _toConsumableArray(_0x345d60){return _arrayWithoutHoles(_0x345d60)||_iterableToArray(_0x345d60)||_unsupportedIterableToArray(_0x345d60)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _iterableToArray(_0x3906e9){var _0x8385c0=_0x2286;if(typeof Symbol!==_0x8385c0(0x18b)&&_0x3906e9[Symbol['iterator']]!=null||_0x3906e9['@@iterator']!=null)return Array[_0x8385c0(0x111)](_0x3906e9);}function _arrayWithoutHoles(_0x1111a2){if(Array['isArray'](_0x1111a2))return _arrayLikeToArray(_0x1111a2);}function ownKeys(_0x263656,_0x1a752c){var _0x5de737=_0x2286,_0x4d0d68=Object[_0x5de737(0x163)](_0x263656);if(Object[_0x5de737(0xfd)]){var _0x3d8c52=Object['getOwnPropertySymbols'](_0x263656);_0x1a752c&&(_0x3d8c52=_0x3d8c52[_0x5de737(0x1b7)](function(_0x94bc3c){var _0x410cbf=_0x5de737;return Object[_0x410cbf(0x1c9)](_0x263656,_0x94bc3c)[_0x410cbf(0x130)];})),_0x4d0d68[_0x5de737(0x1e4)]['apply'](_0x4d0d68,_0x3d8c52);}return _0x4d0d68;}function _objectSpread(_0x1d1102){var _0x3d3956=_0x2286;for(var _0x35b7a6=0x1;_0x35b7a6<arguments[_0x3d3956(0x182)];_0x35b7a6++){var _0x3151d8=null!=arguments[_0x35b7a6]?arguments[_0x35b7a6]:{};_0x35b7a6%0x2?ownKeys(Object(_0x3151d8),!0x0)[_0x3d3956(0x198)](function(_0xe40925){_defineProperty(_0x1d1102,_0xe40925,_0x3151d8[_0xe40925]);}):Object[_0x3d3956(0x17d)]?Object['defineProperties'](_0x1d1102,Object[_0x3d3956(0x17d)](_0x3151d8)):ownKeys(Object(_0x3151d8))[_0x3d3956(0x198)](function(_0x3e8f52){Object['defineProperty'](_0x1d1102,_0x3e8f52,Object['getOwnPropertyDescriptor'](_0x3151d8,_0x3e8f52));});}return _0x1d1102;}function _objectWithoutProperties(_0x4e820b,_0x3d16b5){var _0x2aa7af=_0x2286;if(_0x4e820b==null)return{};var _0x7a1b9e=_objectWithoutPropertiesLoose(_0x4e820b,_0x3d16b5),_0x3a1e5d,_0x53b74b;if(Object[_0x2aa7af(0xfd)]){var _0x115700=Object[_0x2aa7af(0xfd)](_0x4e820b);for(_0x53b74b=0x0;_0x53b74b<_0x115700['length'];_0x53b74b++){_0x3a1e5d=_0x115700[_0x53b74b];if(_0x3d16b5['indexOf'](_0x3a1e5d)>=0x0)continue;if(!Object['prototype'][_0x2aa7af(0x183)][_0x2aa7af(0x1a0)](_0x4e820b,_0x3a1e5d))continue;_0x7a1b9e[_0x3a1e5d]=_0x4e820b[_0x3a1e5d];}}return _0x7a1b9e;}function _objectWithoutPropertiesLoose(_0x4674b1,_0x525267){var _0xf8f612=_0x2286;if(_0x4674b1==null)return{};var _0x344d2d={},_0x59a836=Object['keys'](_0x4674b1),_0x360c45,_0x482d10;for(_0x482d10=0x0;_0x482d10<_0x59a836['length'];_0x482d10++){_0x360c45=_0x59a836[_0x482d10];if(_0x525267[_0xf8f612(0x116)](_0x360c45)>=0x0)continue;_0x344d2d[_0x360c45]=_0x4674b1[_0x360c45];}return _0x344d2d;}function _classCallCheck(_0xd8d9b,_0x5351ca){var _0x4cd17a=_0x2286;if(!(_0xd8d9b instanceof _0x5351ca))throw new TypeError(_0x4cd17a(0xf6));}function _defineProperties(_0x1d37b8,_0x34084d){var _0x3c698d=_0x2286;for(var _0x4d2079=0x0;_0x4d2079<_0x34084d['length'];_0x4d2079++){var _0x534b09=_0x34084d[_0x4d2079];_0x534b09['enumerable']=_0x534b09['enumerable']||![],_0x534b09['configurable']=!![];if(_0x3c698d(0x1a5)in _0x534b09)_0x534b09['writable']=!![];Object[_0x3c698d(0x104)](_0x1d37b8,_toPropertyKey(_0x534b09['key']),_0x534b09);}}function _createClass(_0x5de5f2,_0x314133,_0xbb786d){var _0x2e6b74=_0x2286;if(_0x314133)_defineProperties(_0x5de5f2['prototype'],_0x314133);if(_0xbb786d)_defineProperties(_0x5de5f2,_0xbb786d);return Object['defineProperty'](_0x5de5f2,_0x2e6b74(0x1b3),{'writable':![]}),_0x5de5f2;}function _defineProperty(_0x47c97c,_0x32013c,_0x69f6b2){var _0x4eede8=_0x2286;return _0x32013c=_toPropertyKey(_0x32013c),_0x32013c in _0x47c97c?Object[_0x4eede8(0x104)](_0x47c97c,_0x32013c,{'value':_0x69f6b2,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x47c97c[_0x32013c]=_0x69f6b2,_0x47c97c;}function _toPropertyKey(_0x49fb53){var _0x109b1c=_0x2286,_0x425949=_toPrimitive(_0x49fb53,_0x109b1c(0x12c));return _0x109b1c(0x121)==_typeof(_0x425949)?_0x425949:String(_0x425949);}function _toPrimitive(_0xb5e763,_0xa63ed7){var _0x30deda=_0x2286;if('object'!=_typeof(_0xb5e763)||!_0xb5e763)return _0xb5e763;var _0x59b9c1=_0xb5e763[Symbol[_0x30deda(0x1d7)]];if(void 0x0!==_0x59b9c1){var _0x33672a=_0x59b9c1[_0x30deda(0x1a0)](_0xb5e763,_0xa63ed7||_0x30deda(0x1b0));if('object'!=_typeof(_0x33672a))return _0x33672a;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return('string'===_0xa63ed7?String:Number)(_0xb5e763);}function _slicedToArray(_0x1c92cc,_0x1b79bc){return _arrayWithHoles(_0x1c92cc)||_iterableToArrayLimit(_0x1c92cc,_0x1b79bc)||_unsupportedIterableToArray(_0x1c92cc,_0x1b79bc)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError('Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _unsupportedIterableToArray(_0x3f8af2,_0x74022c){var _0x2306a4=_0x2286;if(!_0x3f8af2)return;if(typeof _0x3f8af2===_0x2306a4(0x12c))return _arrayLikeToArray(_0x3f8af2,_0x74022c);var _0x34d7b4=Object['prototype']['toString'][_0x2306a4(0x1a0)](_0x3f8af2)['slice'](0x8,-0x1);if(_0x34d7b4===_0x2306a4(0x1c3)&&_0x3f8af2[_0x2306a4(0x136)])_0x34d7b4=_0x3f8af2[_0x2306a4(0x136)][_0x2306a4(0x133)];if(_0x34d7b4===_0x2306a4(0x1b5)||_0x34d7b4==='Set')return Array[_0x2306a4(0x111)](_0x3f8af2);if(_0x34d7b4===_0x2306a4(0x115)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2306a4(0x1db)](_0x34d7b4))return _arrayLikeToArray(_0x3f8af2,_0x74022c);}function _arrayLikeToArray(_0x1a9ad0,_0x4457a4){var _0x3739d8=_0x2286;if(_0x4457a4==null||_0x4457a4>_0x1a9ad0[_0x3739d8(0x182)])_0x4457a4=_0x1a9ad0['length'];for(var _0x5a0b51=0x0,_0x1982f6=new Array(_0x4457a4);_0x5a0b51<_0x4457a4;_0x5a0b51++)_0x1982f6[_0x5a0b51]=_0x1a9ad0[_0x5a0b51];return _0x1982f6;}function _iterableToArrayLimit(_0x2f93bf,_0x14fe7c){var _0x53da6c=_0x2286,_0x56a2cf=null==_0x2f93bf?null:'undefined'!=typeof Symbol&&_0x2f93bf[Symbol[_0x53da6c(0x1bd)]]||_0x2f93bf['@@iterator'];if(null!=_0x56a2cf){var _0x36ad12,_0x455b47,_0x7c0b8b,_0x3580a5,_0x2209ed=[],_0xcc911f=!0x0,_0x4c7227=!0x1;try{if(_0x7c0b8b=(_0x56a2cf=_0x56a2cf['call'](_0x2f93bf))['next'],0x0===_0x14fe7c){if(Object(_0x56a2cf)!==_0x56a2cf)return;_0xcc911f=!0x1;}else{for(;!(_0xcc911f=(_0x36ad12=_0x7c0b8b[_0x53da6c(0x1a0)](_0x56a2cf))['done'])&&(_0x2209ed[_0x53da6c(0x1e4)](_0x36ad12['value']),_0x2209ed['length']!==_0x14fe7c);_0xcc911f=!0x0);}}catch(_0x22dde7){_0x4c7227=!0x0,_0x455b47=_0x22dde7;}finally{try{if(!_0xcc911f&&null!=_0x56a2cf['return']&&(_0x3580a5=_0x56a2cf['return'](),Object(_0x3580a5)!==_0x3580a5))return;}finally{if(_0x4c7227)throw _0x455b47;}}return _0x2209ed;}}function _arrayWithHoles(_0x23edaf){if(Array['isArray'](_0x23edaf))return _0x23edaf;}import*as _0x25a4b1 from'deeptwins-cesium';import{cloneDeep,merge}from'lodash';import{v4 as _0x161688}from'uuid';import{DEFAULT_SAMPLED_TERRAIN_RIVER_STYLE}from'../constant';import*as _0x24a874 from'../tool/utils';export var DEFAULT_NOISE_SIZE=0x200;export var DEFAULT_NOISE_TEXTURE_FILE='Image/noise.png';export var DEFAULT_TERRAIN_TEXTURE_SIZE=0x80;export var MIN_TERRAIN_TEXTURE_SIZE=0x40;export var MAX_TERRAIN_TEXTURE_SIZE=0x200;var TERRAIN_SAMPLE_BATCH_SIZE=0x800,TERRAIN_HEIGHT_MAP_CACHE_LIMIT=0x10,MAX_POLYGON_GRANULARITY_SEGMENTS=0x80;export var CesiumRuntime=_0x25a4b1;var terrainHeightMapCache=new WeakMap();function normalizeMaxHeight(_0xcb4361,_0x2687fc,_0x40f46c){var _0xbf1efc=toFiniteNumber(_0x2687fc,_0x40f46c);return _0xbf1efc>_0xcb4361?_0xbf1efc:_0xcb4361+0x1;}function normalizeWaterLevel(_0x103d49,_0x486bcc,_0x48b4b8){var _0x401a71=_0x2286,_0x320094=Math['max'](_0x48b4b8-_0x486bcc,0.001);return _0x25a4b1[_0x401a71(0x1a9)]['clamp']((_0x103d49-_0x486bcc)/_0x320094,0x0,0xa);}function hasTranslucentAlpha(_0x30d48d){var _0x5b01cb=_0x2286,_0x3f02e3=_0x25a4b1['Math'][_0x5b01cb(0x101)](toFiniteNumber(_0x30d48d===null||_0x30d48d===void 0x0?void 0x0:_0x30d48d[_0x5b01cb(0x1de)],0.9),0x0,0x1);return _0x3f02e3<0x1;}function resolveFlowDirection(_0x3aea33,_0x3c8390){var _0x141bae=_0x2286;if(!_0x3c8390||_0x3aea33[_0x141bae(0x182)]<0x2)return new _0x25a4b1['Cartesian2'](0x1,0x0);var _0x374efa=_slicedToArray(_0x3c8390,0x4),_0x193b1a=_0x374efa[0x0],_0x293f28=_0x374efa[0x1],_0x309c9d=_0x374efa[0x2],_0x429456=_0x374efa[0x3],_0x473346=_slicedToArray(_0x3aea33[0x0],0x2),_0x4ee3ce=_0x473346[0x0],_0xad3d6a=_0x473346[0x1],_0x1b280d=_slicedToArray(_0x3aea33[_0x3aea33['length']-0x1],0x2),_0x241d56=_0x1b280d[0x0],_0x2272c8=_0x1b280d[0x1],_0x39b44b=Math[_0x141bae(0x11a)](_0x309c9d-_0x193b1a,0.000001),_0x3a165c=Math[_0x141bae(0x11a)](_0x429456-_0x293f28,0.000001),_0x232ab1=new _0x25a4b1['Cartesian2']((_0x241d56-_0x4ee3ce)/_0x39b44b,(_0x2272c8-_0xad3d6a)/_0x3a165c);if(_0x25a4b1[_0x141bae(0x105)]['magnitude'](_0x232ab1)<=0.000001)return new _0x25a4b1[(_0x141bae(0x105))](0x1,0x0);return _0x25a4b1['Cartesian2']['normalize'](_0x232ab1,_0x232ab1);}var SampledTerrainRiver=(function(){var _0xa6e831=_0x2286;function _0x438d53(){var _0x5688b2=_0x2286,_0x1ae4dc=arguments[_0x5688b2(0x182)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};_classCallCheck(this,_0x438d53),_defineProperty(this,'_mapContext',void 0x0),_defineProperty(this,'id',void 0x0),_defineProperty(this,'directionGeoJson',void 0x0),_defineProperty(this,_0x5688b2(0x155),void 0x0),_defineProperty(this,'heightMap',void 0x0),_defineProperty(this,_0x5688b2(0x1e9),void 0x0),_defineProperty(this,'minElevation',void 0x0),_defineProperty(this,'maxElevation',void 0x0),_defineProperty(this,'granularity',void 0x0),_defineProperty(this,_0x5688b2(0x146),void 0x0),_defineProperty(this,_0x5688b2(0x110),void 0x0),_defineProperty(this,_0x5688b2(0x1ea),void 0x0),_defineProperty(this,_0x5688b2(0x172),void 0x0),_defineProperty(this,_0x5688b2(0x161),void 0x0),_defineProperty(this,'maxWaterHeight',void 0x0),_defineProperty(this,'waterHeight',void 0x0),_defineProperty(this,'style',void 0x0),_defineProperty(this,_0x5688b2(0x16b),null),_defineProperty(this,'isDestroyed',![]),_defineProperty(this,_0x5688b2(0x1bc),[]),_defineProperty(this,_0x5688b2(0x19f),void 0x0),_defineProperty(this,_0x5688b2(0x1b9),[]),_defineProperty(this,'_flowDirection',new _0x25a4b1[(_0x5688b2(0x105))](0x1,0x0)),_defineProperty(this,_0x5688b2(0x12f),![]),_defineProperty(this,_0x5688b2(0x109),0x0),_defineProperty(this,'_hasExplicitMinElevation',![]),_defineProperty(this,'_hasExplicitMaxElevation',![]);var _0x358fad=_0x1ae4dc['directionGeoJson'],_0x244c5d=_0x1ae4dc[_0x5688b2(0x155)],_0x2ad45d=_0x1ae4dc[_0x5688b2(0x197)],_0x201b7a=_0x1ae4dc[_0x5688b2(0x186)],_0x4eee51=_0x1ae4dc[_0x5688b2(0x1e9)],_0x71b4a6=_0x1ae4dc[_0x5688b2(0x18f)],_0x1865f6=_0x71b4a6===void 0x0?0x0:_0x71b4a6,_0x1c3ed5=_0x1ae4dc['maxElevation'],_0x55a493=_0x1c3ed5===void 0x0?0x78:_0x1c3ed5,_0x2eebf0=_0x1ae4dc[_0x5688b2(0x11c)],_0x39622b=_0x2eebf0===void 0x0?0.0001:_0x2eebf0,_0x9b76bc=_0x1ae4dc['terrainSample'],_0x3d906a=_0x9b76bc===void 0x0?!![]:_0x9b76bc,_0x37bbed=_0x1ae4dc[_0x5688b2(0x110)],_0x50e288=_0x37bbed===void 0x0?DEFAULT_TERRAIN_TEXTURE_SIZE:_0x37bbed,_0x35333a=_0x1ae4dc['heightOffset'],_0x4d62b4=_0x35333a===void 0x0?0.2:_0x35333a,_0x3614d8=_0x1ae4dc[_0x5688b2(0x172)],_0x60296d=_0x3614d8===void 0x0?![]:_0x3614d8,_0x3b2194=_0x1ae4dc[_0x5688b2(0x161)],_0x2d1a8e=_0x3b2194===void 0x0?0x0:_0x3b2194,_0x450dd2=_0x1ae4dc[_0x5688b2(0x1cf)],_0x3cce38=_0x1ae4dc[_0x5688b2(0x1b4)],_0x4d26c7=_0x1ae4dc[_0x5688b2(0x113)],_0x4c2572=_0x4d26c7===void 0x0?{}:_0x4d26c7,_0x2a89cc=merge(DEFAULT_SAMPLED_TERRAIN_RIVER_STYLE(),cloneDeep(_0x4c2572||{}));delete _0x2a89cc[_0x5688b2(0x193)],delete _0x2a89cc['waterHeight'],this['id']=_0x161688(),this['directionGeoJson']=_0x358fad,this['surfaceGeoJson']=_0x244c5d,this['_flowPath']=collectGeoJsonLineCoordinates(_0x358fad),this[_0x5688b2(0x1bc)]=collectGeoJsonPolygons(_0x244c5d),this[_0x5688b2(0x19f)]=getPolygonsBounds(this['_polygons']),this[_0x5688b2(0x1c8)]=resolveFlowDirection(this[_0x5688b2(0x1b9)],this[_0x5688b2(0x19f)]),this[_0x5688b2(0x197)]=_0x2ad45d||_0x201b7a,this['noise']=_0x4eee51||_0x24a874[_0x5688b2(0x1cc)](DEFAULT_NOISE_TEXTURE_FILE),this['minElevation']=_0x1865f6,this[_0x5688b2(0x1d2)]=_0x55a493,this['granularity']=_0x39622b,this['terrainSample']=_0x3d906a!==![],this[_0x5688b2(0x110)]=normalizeTerrainTextureSize(_0x50e288),this['heightOffset']=Number['isFinite'](_0x4d62b4)?_0x4d62b4:0.2,this[_0x5688b2(0x172)]=_0x60296d===!![],this['minWaterHeight']=toFiniteNumber(_0x2d1a8e,0x0),this[_0x5688b2(0x1cf)]=normalizeMaxHeight(this[_0x5688b2(0x161)],_0x450dd2,this['minWaterHeight']+0x2),this['waterHeight']=_0x25a4b1['Math']['clamp'](toFiniteNumber(_0x3cce38,this[_0x5688b2(0x161)]),this[_0x5688b2(0x161)],this[_0x5688b2(0x1cf)]),this[_0x5688b2(0x135)]=Object[_0x5688b2(0x1b3)]['hasOwnProperty']['call'](_0x1ae4dc,_0x5688b2(0x18f)),this['_hasExplicitMaxElevation']=Object[_0x5688b2(0x1b3)][_0x5688b2(0x168)]['call'](_0x1ae4dc,'maxElevation'),this['style']=_0x2a89cc;}return _createClass(_0x438d53,[{'key':'getMap','value':function _0x1c0998(){var _0x3742b1;return(_0x3742b1=this['_mapContext'])===null||_0x3742b1===void 0x0?void 0x0:_0x3742b1['getMap']();}},{'key':_0xa6e831(0x144),'value':function _0x2628cb(_0x54b79){var _0x1557aa=_0xa6e831;if(!this['_canOperate']())return;if(this['_isAdded']&&this[_0x1557aa(0x165)]()===_0x54b79)return this;return this['_isAdded']&&this[_0x1557aa(0x167)](),this[_0x1557aa(0x16d)]=_0x54b79['_mapContext'],this[_0x1557aa(0x13a)](),this;}},{'key':'remove','value':function _0x16a954(){var _0x529dd4=_0xa6e831;if(this[_0x529dd4(0x1b2)])return this;this['_buildVersion']++;if(!this[_0x529dd4(0x12f)])return this;var _0xf4e758=this['getMap']();return _0xf4e758&&this[_0x529dd4(0x16b)]&&_0xf4e758['scene']['primitives'][_0x529dd4(0x167)](this['primitive']),this[_0x529dd4(0x16b)]=null,this['_isAdded']=![],this;}},{'key':_0xa6e831(0x150),'value':function _0x3ed50e(_0x2176e8){var _0x83f0c9=_0xa6e831;if(!this['_canOperate']())return;return this[_0x83f0c9(0x113)]['show']=_0x2176e8,this[_0x83f0c9(0x16b)]&&(this[_0x83f0c9(0x16b)][_0x83f0c9(0x150)]=_0x2176e8),this;}},{'key':_0xa6e831(0x196),'value':function _0x195782(){var _0x3ed0ee=_0xa6e831,_0x35fd0d=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this['_canOperate']())return;return Object['prototype'][_0x3ed0ee(0x168)][_0x3ed0ee(0x1a0)](_0x35fd0d,_0x3ed0ee(0x124))&&(this[_0x3ed0ee(0x124)]=_0x35fd0d['directionGeoJson'],this['_flowPath']=collectGeoJsonLineCoordinates(this[_0x3ed0ee(0x124)]),this[_0x3ed0ee(0x1c8)]=resolveFlowDirection(this['_flowPath'],this['_bounds'])),Object[_0x3ed0ee(0x1b3)][_0x3ed0ee(0x168)][_0x3ed0ee(0x1a0)](_0x35fd0d,'surfaceGeoJson')&&(this[_0x3ed0ee(0x155)]=_0x35fd0d['surfaceGeoJson'],this[_0x3ed0ee(0x1bc)]=collectGeoJsonPolygons(this[_0x3ed0ee(0x155)]),this[_0x3ed0ee(0x19f)]=getPolygonsBounds(this['_polygons']),this[_0x3ed0ee(0x1c8)]=resolveFlowDirection(this[_0x3ed0ee(0x1b9)],this['_bounds'])),_0x35fd0d['heightMap']&&(this['heightMap']=_0x35fd0d['heightMap']),_0x35fd0d['canvas']&&(this[_0x3ed0ee(0x197)]=_0x35fd0d['canvas']),_0x35fd0d[_0x3ed0ee(0x1e9)]&&(this[_0x3ed0ee(0x1e9)]=_0x35fd0d['noise']),Object['prototype']['hasOwnProperty'][_0x3ed0ee(0x1a0)](_0x35fd0d,'minElevation')&&(this[_0x3ed0ee(0x135)]=typeof _0x35fd0d[_0x3ed0ee(0x18f)]==='number'),typeof _0x35fd0d['minElevation']===_0x3ed0ee(0x108)&&(this[_0x3ed0ee(0x18f)]=_0x35fd0d['minElevation']),Object['prototype'][_0x3ed0ee(0x168)][_0x3ed0ee(0x1a0)](_0x35fd0d,'maxElevation')&&(this[_0x3ed0ee(0x141)]=typeof _0x35fd0d[_0x3ed0ee(0x1d2)]==='number'),typeof _0x35fd0d['maxElevation']===_0x3ed0ee(0x108)&&(this['maxElevation']=_0x35fd0d[_0x3ed0ee(0x1d2)]),typeof _0x35fd0d['granularity']===_0x3ed0ee(0x108)&&(this[_0x3ed0ee(0x11c)]=_0x35fd0d['granularity']),typeof _0x35fd0d[_0x3ed0ee(0x146)]==='boolean'&&(this['terrainSample']=_0x35fd0d[_0x3ed0ee(0x146)]),typeof _0x35fd0d[_0x3ed0ee(0x110)]===_0x3ed0ee(0x108)&&(this[_0x3ed0ee(0x110)]=normalizeTerrainTextureSize(_0x35fd0d[_0x3ed0ee(0x110)])),typeof _0x35fd0d[_0x3ed0ee(0x1ea)]==='number'&&(this['heightOffset']=_0x35fd0d[_0x3ed0ee(0x1ea)]),typeof _0x35fd0d['waterBodyMode']===_0x3ed0ee(0x18c)&&(this['waterBodyMode']=_0x35fd0d[_0x3ed0ee(0x172)]),typeof _0x35fd0d[_0x3ed0ee(0x161)]===_0x3ed0ee(0x108)&&(this['minWaterHeight']=_0x35fd0d[_0x3ed0ee(0x161)]),typeof _0x35fd0d['maxWaterHeight']===_0x3ed0ee(0x108)&&(this['maxWaterHeight']=_0x35fd0d[_0x3ed0ee(0x1cf)]),this['maxWaterHeight']=normalizeMaxHeight(this[_0x3ed0ee(0x161)],this[_0x3ed0ee(0x1cf)],this['minWaterHeight']+0x1),Object[_0x3ed0ee(0x1b3)]['hasOwnProperty'][_0x3ed0ee(0x1a0)](_0x35fd0d,'waterHeight')&&(this[_0x3ed0ee(0x1b4)]=typeof _0x35fd0d[_0x3ed0ee(0x1b4)]===_0x3ed0ee(0x108)?_0x35fd0d['waterHeight']:this[_0x3ed0ee(0x161)]),this['waterHeight']=_0x25a4b1[_0x3ed0ee(0x1a9)][_0x3ed0ee(0x101)](this[_0x3ed0ee(0x1b4)],this['minWaterHeight'],this[_0x3ed0ee(0x1cf)]),this['getMap']()&&this[_0x3ed0ee(0x13a)](),this;}},{'key':'setStyle','value':function _0x372bfd(){var _0x2fc654=_0xa6e831,_0x471702=arguments[_0x2fc654(0x182)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this[_0x2fc654(0x10a)]())return;var _0x1f4b38=cloneDeep(_0x471702||{}),_0x2f9cba=typeof(_0x1f4b38===null||_0x1f4b38===void 0x0?void 0x0:_0x1f4b38[_0x2fc654(0x172)])==='boolean'?_0x1f4b38[_0x2fc654(0x172)]:this['waterBodyMode'],_0x31f4e0=_0x2f9cba!==this[_0x2fc654(0x172)];this[_0x2fc654(0x172)]=_0x2f9cba;Object[_0x2fc654(0x1b3)]['hasOwnProperty']['call'](_0x1f4b38,_0x2fc654(0x1b4))&&(this[_0x2fc654(0x1b4)]=typeof _0x1f4b38['waterHeight']==='number'?_0x1f4b38['waterHeight']:this['minWaterHeight'],this['waterHeight']=_0x25a4b1['Math'][_0x2fc654(0x101)](this[_0x2fc654(0x1b4)],this[_0x2fc654(0x161)],this[_0x2fc654(0x1cf)]));delete _0x1f4b38['waterLevel'],delete _0x1f4b38[_0x2fc654(0x1b4)],this['style']=merge(this[_0x2fc654(0x113)],_0x1f4b38);if(_0x31f4e0&&this[_0x2fc654(0x165)]())this[_0x2fc654(0x13a)]();else this[_0x2fc654(0x16b)]&&(this[_0x2fc654(0x16b)][_0x2fc654(0x113)]=this['style'],this['primitive']['waterHeight']=this['waterHeight'],this[_0x2fc654(0x16b)]['flowDirection']=this['_flowDirection'],this[_0x2fc654(0x16b)]['show']=this[_0x2fc654(0x113)]['show'],this[_0x2fc654(0x16b)]['showLines']=this[_0x2fc654(0x113)]['showLines']===!![],this['primitive'][_0x2fc654(0x177)]());return this;}},{'key':'flyTo','value':function _0x3a08ff(){var _0x600fd4=_0xa6e831,_0x1e682e,_0x5dd185=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this['_canOperate']()||!this[_0x600fd4(0x165)]()||!this['_bounds'])return;var _0x343605=_0x5dd185||{},_0x318fda=_0x343605['scale'],_0x1330c1=_0x318fda===void 0x0?1.2:_0x318fda,_0x2b6f98=_objectWithoutProperties(_0x343605,_excluded),_0x26bd73=expandBounds(this['_bounds'],_0x1330c1);return this[_0x600fd4(0x165)]()[_0x600fd4(0x1be)][_0x600fd4(0x132)](_objectSpread({'destination':(_0x1e682e=_0x25a4b1[_0x600fd4(0x1bb)])[_0x600fd4(0x1c0)]['apply'](_0x1e682e,_toConsumableArray(_0x26bd73))},_0x2b6f98)),this;}},{'key':'destroy','value':function _0x3ceab9(){var _0x4e7593=_0xa6e831;if(this['isDestroyed'])return;this['remove'](),this[_0x4e7593(0x124)]=undefined,this['surfaceGeoJson']=undefined,this['_flowPath']=[],this['_polygons']=[],this['_bounds']=undefined,this[_0x4e7593(0x197)]=undefined,this['_buildVersion']++,this['_mapContext']=undefined,this[_0x4e7593(0x1b2)]=!![];}},{'key':'_canOperate','value':function _0x17fabf(){var _0x9af8d5=_0xa6e831;if(this['isDestroyed'])return _0x24a874[_0x9af8d5(0x17c)](_0x9af8d5(0x137)),![];return!![];}},{'key':'_rebuildPrimitive','value':(function(){var _0x54089a=_0xa6e831,_0x2916bc=_asyncToGenerator(_regeneratorRuntime()[_0x54089a(0x1aa)](function _0x219956(){var _0x2eca3c,_0x5e55e1,_0x5d6bf8,_0x5e0ffb;return _regeneratorRuntime()['wrap'](function _0x2bbec0(_0x2c19dc){var _0x3e89fb=_0x2286;while(0x1)switch(_0x2c19dc['prev']=_0x2c19dc['next']){case 0x0:_0x2eca3c=this['getMap']();if(_0x2eca3c){_0x2c19dc[_0x3e89fb(0x1a7)]=0x3;break;}return _0x2c19dc[_0x3e89fb(0x195)]('return');case 0x3:_0x5e55e1=++this['_buildVersion'];this[_0x3e89fb(0x16b)]&&(_0x2eca3c[_0x3e89fb(0x1cd)]['primitives']['remove'](this[_0x3e89fb(0x16b)]),this[_0x3e89fb(0x16b)]=null);this[_0x3e89fb(0x12f)]=![];if(this['_hasValidData']()){_0x2c19dc[_0x3e89fb(0x1a7)]=0x8;break;}return _0x2c19dc[_0x3e89fb(0x195)]('return');case 0x8:_0x2c19dc[_0x3e89fb(0x1a7)]=0xa;return this['_resolveHeightMap'](_0x2eca3c);case 0xa:_0x5d6bf8=_0x2c19dc['sent'];if(!(!_0x5d6bf8||this[_0x3e89fb(0x1b2)]||_0x5e55e1!==this[_0x3e89fb(0x109)]||this[_0x3e89fb(0x165)]()!==_0x2eca3c)){_0x2c19dc['next']=0xd;break;}return _0x2c19dc[_0x3e89fb(0x195)]('return');case 0xd:_0x5e0ffb=_0x2eca3c['scene']['primitives'][_0x3e89fb(0x1d0)](new SampledTerrainRiverPrimitive({'polygons':this['_polygons'],'bounds':this['_bounds'],'heightMap':_0x5d6bf8['heightMap'],'noise':this['noise'],'minElevation':_0x5d6bf8[_0x3e89fb(0x18f)],'maxElevation':_0x5d6bf8[_0x3e89fb(0x1d2)],'granularity':this['granularity'],'waterBodyMode':this[_0x3e89fb(0x172)],'waterHeight':this[_0x3e89fb(0x1b4)],'flowDirection':this['_flowDirection'],'style':this['style']})),_0x5e0ffb[_0x3e89fb(0x150)]=this[_0x3e89fb(0x113)]['show'],this[_0x3e89fb(0x16b)]=_0x5e0ffb,this[_0x3e89fb(0x12f)]=!![];case 0x11:case _0x3e89fb(0x14f):return _0x2c19dc[_0x3e89fb(0x10c)]();}},_0x219956,this);}));function _0x511755(){var _0x2a56ea=_0x54089a;return _0x2916bc[_0x2a56ea(0x1d6)](this,arguments);}return _0x511755;}())},{'key':'_resolveHeightMap','value':(function(){var _0x245ce0=_0xa6e831,_0x4f3025=_asyncToGenerator(_regeneratorRuntime()[_0x245ce0(0x1aa)](function _0x7b44cf(_0x1f724f){var _0xc3953a,_0x5bb222,_0x551dd3,_0x4ff1ff;return _regeneratorRuntime()['wrap'](function _0x56adfe(_0x559659){var _0x4aed81=_0x2286;while(0x1)switch(_0x559659['prev']=_0x559659['next']){case 0x0:if(!this[_0x4aed81(0x197)]){_0x559659[_0x4aed81(0x1a7)]=0x4;break;}if(this[_0x4aed81(0x17a)]()){_0x559659[_0x4aed81(0x1a7)]=0x3;break;}return _0x559659['abrupt'](_0x4aed81(0x14d),null);case 0x3:return _0x559659['abrupt']('return',{'heightMap':this[_0x4aed81(0x197)],'minElevation':this['minElevation'],'maxElevation':this[_0x4aed81(0x1d2)]});case 0x4:if(this[_0x4aed81(0x146)]){_0x559659['next']=0x7;break;}_0x24a874[_0x4aed81(0x17c)]('SampledTerrainRiver未提供heightMap,且terrainSample已关闭');return _0x559659['abrupt']('return',null);case 0x7:if(this['_bounds']){_0x559659[_0x4aed81(0x1a7)]=0x9;break;}return _0x559659['abrupt']('return',null);case 0x9:_0x559659[_0x4aed81(0x1d8)]=0x9,_0x559659[_0x4aed81(0x1a7)]=0xc;return getTerrainHeightMap(_0x1f724f,this[_0x4aed81(0x19f)],this[_0x4aed81(0x110)]);case 0xc:_0xc3953a=_0x559659['sent'],_0x5bb222=this[_0x4aed81(0x135)]?this[_0x4aed81(0x18f)]:_0xc3953a['minHeight']+this[_0x4aed81(0x1ea)],_0x551dd3=this['_hasExplicitMaxElevation']?this[_0x4aed81(0x1d2)]:_0xc3953a['maxHeight']+this[_0x4aed81(0x1ea)];if(!(!Number[_0x4aed81(0x10d)](_0x5bb222)||!Number['isFinite'](_0x551dd3))){_0x559659['next']=0x12;break;}_0x24a874[_0x4aed81(0x17c)](_0x4aed81(0x19a));return _0x559659[_0x4aed81(0x195)](_0x4aed81(0x14d),null);case 0x12:_0x551dd3<=_0x5bb222&&(_0x551dd3=_0x5bb222+0x1);_0x4ff1ff=encodeTerrainHeightMap(_0xc3953a,_0x5bb222,_0x551dd3,this[_0x4aed81(0x1ea)]),this[_0x4aed81(0x18f)]=_0x5bb222,this[_0x4aed81(0x1d2)]=_0x551dd3;return _0x559659['abrupt']('return',{'heightMap':_0x4ff1ff,'minElevation':_0x5bb222,'maxElevation':_0x551dd3});case 0x19:_0x559659[_0x4aed81(0x1d8)]=0x19,_0x559659['t0']=_0x559659[_0x4aed81(0xfe)](0x9),_0x24a874[_0x4aed81(0x17c)](formatError(_0x559659['t0']));return _0x559659[_0x4aed81(0x195)]('return',null);case 0x1d:case _0x4aed81(0x14f):return _0x559659['stop']();}},_0x7b44cf,this,[[0x9,0x19]]);}));function _0x521b0d(_0x40d16e){return _0x4f3025['apply'](this,arguments);}return _0x521b0d;}())},{'key':_0xa6e831(0x118),'value':function _0x1fb7b5(){var _0x1b7e1b=_0xa6e831;if(!this[_0x1b7e1b(0x19f)]||this[_0x1b7e1b(0x1bc)]['length']<0x1)return _0x24a874[_0x1b7e1b(0x17c)](_0x1b7e1b(0x1d1)),![];if(this['_flowPath'][_0x1b7e1b(0x182)]<0x2)return _0x24a874[_0x1b7e1b(0x17c)]('SampledTerrainRiver请传入有效LineString\x20directionGeoJson参数'),![];return!![];}},{'key':_0xa6e831(0x17a),'value':function _0x2d7e74(){var _0x53e704=_0xa6e831;if(!Number['isFinite'](this[_0x53e704(0x18f)])||!Number[_0x53e704(0x10d)](this['maxElevation'])||this['maxElevation']<=this[_0x53e704(0x18f)])return _0x24a874[_0x53e704(0x17c)](_0x53e704(0x190)),![];return!![];}}]),_0x438d53;}());export{SampledTerrainRiver as default};var SampledTerrainRiverPrimitive=(function(){var _0x51c607=_0x2286;function _0x538365(_0x1482bb){var _0x1a42b9=_0x2286;_classCallCheck(this,_0x538365),_defineProperty(this,_0x1a42b9(0x150),!![]),_defineProperty(this,_0x1a42b9(0x113),void 0x0),_defineProperty(this,_0x1a42b9(0x1bc),void 0x0),_defineProperty(this,_0x1a42b9(0x19f),void 0x0),_defineProperty(this,_0x1a42b9(0x1c1),void 0x0),_defineProperty(this,_0x1a42b9(0x151),void 0x0),_defineProperty(this,'_heightMap',null),_defineProperty(this,_0x1a42b9(0x1a2),null),_defineProperty(this,'_minElevation',void 0x0),_defineProperty(this,_0x1a42b9(0x112),void 0x0),_defineProperty(this,'_granularity',void 0x0),_defineProperty(this,_0x1a42b9(0x1c5),void 0x0),_defineProperty(this,'waterHeight',void 0x0),_defineProperty(this,_0x1a42b9(0x11b),void 0x0),_defineProperty(this,'_showLines',void 0x0),_defineProperty(this,'_drawCommands',[]),_defineProperty(this,_0x1a42b9(0x1ba),[]),_defineProperty(this,_0x1a42b9(0x1e0),null),_defineProperty(this,_0x1a42b9(0x1ab),null),_defineProperty(this,_0x1a42b9(0x179),null),_defineProperty(this,_0x1a42b9(0xf5),null),_defineProperty(this,'_textureLoadPromise',null),_defineProperty(this,'_time',0x0),this['_polygons']=_0x1482bb[_0x1a42b9(0x127)],this[_0x1a42b9(0x19f)]=_0x1482bb['bounds'],this[_0x1a42b9(0x1c1)]=_0x1482bb['heightMap'],this[_0x1a42b9(0x151)]=_0x1482bb['noise'],this['_minElevation']=_0x1482bb['minElevation'],this[_0x1a42b9(0x112)]=_0x1482bb[_0x1a42b9(0x1d2)],this['_granularity']=_0x1482bb[_0x1a42b9(0x11c)],this[_0x1a42b9(0x1c5)]=_0x1482bb['waterBodyMode'],this[_0x1a42b9(0x1b4)]=_0x1482bb[_0x1a42b9(0x1b4)],this[_0x1a42b9(0x11b)]=new _0x25a4b1[(_0x1a42b9(0x105))](_0x1482bb[_0x1a42b9(0x11b)]['x'],_0x1482bb[_0x1a42b9(0x11b)]['y']),this['style']=_0x1482bb[_0x1a42b9(0x113)],this[_0x1a42b9(0x152)]=this['style'][_0x1a42b9(0x13b)]===!![];}return _createClass(_0x538365,[{'key':'showLines','get':function _0x58db18(){var _0x539e22=_0x2286;return this[_0x539e22(0x152)];},'set':function _0x1631e4(_0x56cdf5){var _0x356202=_0x2286;this[_0x356202(0x152)]=_0x56cdf5,this[_0x356202(0x158)][_0x356202(0x198)](function(_0x43e6d2){var _0x5706a0=_0x356202;_0x43e6d2['primitiveType']=_0x56cdf5?_0x25a4b1[_0x5706a0(0x102)]['LINES']:_0x25a4b1['PrimitiveType']['TRIANGLES'];});}},{'key':_0x51c607(0x14a),'value':function _0x17ee97(_0x1a39e0){var _0x2c8914=_0x51c607;if(!this['show'])return;this['_time']=performance[_0x2c8914(0x11d)]()/0x3e8;if(this['_drawCommands']['length']<0x1){if(!this['_heightMap']||!this['_noise']){this['_loadTextureSources']();return;}this[_0x2c8914(0x128)](_0x1a39e0[_0x2c8914(0x1da)]);}this['_drawCommands'][_0x2c8914(0x198)](function(_0x355a07){var _0xfba546=_0x2c8914;_0x1a39e0[_0xfba546(0x134)]['push'](_0x355a07);});}},{'key':_0x51c607(0x1b2),'value':function _0x39cddb(){return![];}},{'key':_0x51c607(0x142),'value':function _0x57a9d6(){return this['_destroyCommand'](),_0x25a4b1['destroyObject'](this);}},{'key':_0x51c607(0x177),'value':function _0x198920(){var _0x1d31bb=_0x51c607,_0xe137f0=this;if(this[_0x1d31bb(0x158)]['length']<0x1)return;var _0xfb19f7=this[_0x1d31bb(0x1ab)],_0x4fadd7=this[_0x1d31bb(0x16c)]();_0xfb19f7&&_0xfb19f7!==_0x4fadd7&&CesiumRuntime['RenderState'][_0x1d31bb(0xff)](_0xfb19f7);this['_renderState']=_0x4fadd7;var _0x4ab4c1=this[_0x1d31bb(0x1c5)]||hasTranslucentAlpha(this[_0x1d31bb(0x113)])?CesiumRuntime['Pass']['TRANSLUCENT']:CesiumRuntime[_0x1d31bb(0x1b6)]['OPAQUE'];this[_0x1d31bb(0x158)][_0x1d31bb(0x198)](function(_0x6be32a){_0x6be32a['renderState']=_0xe137f0['_renderState'],_0x6be32a['pass']=_0x4ab4c1;});}},{'key':_0x51c607(0x128),'value':function _0x24a0ff(_0x56373d){var _0x2d6899=_0x51c607,_0x7f7c08=this;if(!this[_0x2d6899(0x107)]||!this[_0x2d6899(0x1a2)])return;var _0x3a2db7=this[_0x2d6899(0x1bc)][_0x2d6899(0x169)](function(_0x137c92){var _0x3ff45a=_0x2d6899;return createPolygonGeometry(_0x137c92,_0x7f7c08['_bounds'],_0x7f7c08[_0x3ff45a(0x171)],_0x7f7c08[_0x3ff45a(0x1e1)]);})['filter'](function(_0x2791d5){return Boolean(_0x2791d5);}),_0x1b8cdc=_0x3a2db7[0x0];if(!_0x1b8cdc)return;var _0x675895=_0x25a4b1[_0x2d6899(0x103)][_0x2d6899(0x1ce)](_0x1b8cdc);this['_shaderProgram']=CesiumRuntime['ShaderProgram'][_0x2d6899(0x13e)]({'context':_0x56373d,'vertexShaderSource':SAMPLED_TERRAIN_RIVER_COMMON_SHADER+SAMPLED_TERRAIN_RIVER_VERTEX_SHADER,'fragmentShaderSource':SAMPLED_TERRAIN_RIVER_COMMON_SHADER+SAMPLED_TERRAIN_RIVER_FRAGMENT_SHADER,'attributeLocations':_0x675895}),this[_0x2d6899(0x179)]=createTexture(_0x56373d,this['_heightMap'],CesiumRuntime['TextureWrap'][_0x2d6899(0x187)]),this['_noiseTexture']=createTexture(_0x56373d,this['_noise']),this['_renderState']=this[_0x2d6899(0x16c)]();var _0x23bc76=this['_createUniformMap']();this[_0x2d6899(0x1ba)]=_0x3a2db7[_0x2d6899(0x169)](function(_0x5a32fe){var _0x15c9bd=_0x2d6899;return CesiumRuntime[_0x15c9bd(0x10e)]['fromGeometry']({'context':_0x56373d,'geometry':_0x5a32fe,'attributeLocations':_0x675895});}),this['_drawCommands']=_0x3a2db7['map'](function(_0x3d1deb,_0x4e988c){var _0x58449c=_0x2d6899;return new CesiumRuntime['DrawCommand']({'owner':_0x7f7c08,'vertexArray':_0x7f7c08[_0x58449c(0x1ba)][_0x4e988c],'primitiveType':_0x7f7c08[_0x58449c(0x152)]?_0x25a4b1[_0x58449c(0x102)]['LINES']:_0x25a4b1['PrimitiveType'][_0x58449c(0x17b)],'shaderProgram':_0x7f7c08[_0x58449c(0x1e0)],'uniformMap':_0x23bc76,'renderState':_0x7f7c08['_renderState'],'pass':_0x7f7c08['_waterBodyMode']||hasTranslucentAlpha(_0x7f7c08['style'])?CesiumRuntime[_0x58449c(0x1b6)][_0x58449c(0x106)]:CesiumRuntime[_0x58449c(0x1b6)][_0x58449c(0x129)],'boundingVolume':_0x3d1deb['boundingSphere']});});}},{'key':_0x51c607(0x16c),'value':function _0x3a8e4f(){var _0x50621e=_0x51c607,_0x26609a=this[_0x50621e(0x1c5)]||hasTranslucentAlpha(this[_0x50621e(0x113)]);return CesiumRuntime[_0x50621e(0x188)]['fromCache']({'depthTest':{'enabled':!![]},'depthMask':!_0x26609a,'blending':_0x25a4b1['BlendingState'][_0x50621e(0x12b)],'cull':{'enabled':![]}});}},{'key':'_createUniformMap','value':function _0x3061b2(){var _0x4ad739=this;return{'heightMap':function _0x451998(){return _0x4ad739['_heightMapTexture'];},'heightScale':function _0x45432e(){return 0x1;},'minElevation':function _0x3fbf55(){return _0x4ad739['_minElevation'];},'maxElevation':function _0x4c9600(){return _0x4ad739['_maxElevation'];},'water_body_mode':function _0x39a2f7(){return _0x4ad739['_waterBodyMode'];},'has_water_height':function _0x17f7ed(){return!![];},'water_height':function _0x50c8af(){var _0x407c88=_0x2286;return _0x4ad739[_0x407c88(0x1b4)];},'iTime':function _0x339f15(){var _0x386e33=_0x2286;return _0x4ad739[_0x386e33(0x15c)]*toFiniteNumber(_0x4ad739[_0x386e33(0x113)][_0x386e33(0x18d)],0x1);},'iChannel0':function _0x33a794(){return _0x4ad739['_noiseTexture'];},'large_waveheight':function _0x39bede(){var _0x15100b=_0x2286;return _0x4ad739[_0x15100b(0x113)][_0x15100b(0x15d)];},'large_wavesize':function _0x36f143(){return _0x4ad739['style']['largeWaveSize'];},'small_waveheight':function _0x532ff8(){var _0x2de4e4=_0x2286;return _0x4ad739[_0x2de4e4(0x113)][_0x2de4e4(0x139)];},'small_wavesize':function _0x3cf154(){var _0x311c9e=_0x2286;return _0x4ad739[_0x311c9e(0x113)][_0x311c9e(0x184)];},'water_softlight_fact':function _0x385ce9(){var _0x338d69=_0x2286;return _0x4ad739['style'][_0x338d69(0x164)];},'water_glossylight_fact':function _0x3ea8ed(){var _0x21f5d8=_0x2286;return _0x4ad739[_0x21f5d8(0x113)]['waterGlossyLightFactor'];},'particle_amount':function _0x2937c1(){var _0x15d555=_0x2286;return _0x4ad739[_0x15d555(0x113)]['particleAmount'];},'WATER_LEVEL':function _0x3be2e9(){var _0x35814b=_0x2286;return normalizeWaterLevel(_0x4ad739['waterHeight'],_0x4ad739[_0x35814b(0x171)],_0x4ad739['_maxElevation']);},'flow_direction':function _0x15b222(){var _0xf96b89=_0x2286;return _0x4ad739[_0xf96b89(0x11b)];},'flow_speed':function _0xcfe9be(){var _0xbd03d=_0x2286;return toFiniteNumber(_0x4ad739['style'][_0xbd03d(0x114)],0.12);},'flow_strength':function _0x2368ee(){var _0x272d4b=_0x2286;return toFiniteNumber(_0x4ad739[_0x272d4b(0x113)][_0x272d4b(0x16e)],0.6);},'flow_wave_scale':function _0x54ca07(){var _0x1f9b2d=_0x2286;return toFiniteNumber(_0x4ad739[_0x1f9b2d(0x113)][_0x1f9b2d(0x126)],0x1);},'flow_wave_strength':function _0x499560(){var _0x30a87c=_0x2286;return toFiniteNumber(_0x4ad739['style'][_0x30a87c(0x1e8)],0.8);},'foam_amount':function _0xe9b619(){var _0x53b8b6=_0x2286;return toFiniteNumber(_0x4ad739[_0x53b8b6(0x113)]['foamAmount'],0.6);},'foam_contrast':function _0x491999(){var _0x504a1b=_0x2286;return toFiniteNumber(_0x4ad739[_0x504a1b(0x113)][_0x504a1b(0xf3)],1.2);},'foam_coverage':function _0x317d42(){var _0x40aee2=_0x2286;return toFiniteNumber(_0x4ad739[_0x40aee2(0x113)]['foamCoverage'],0.35);},'alpha':function _0x2b2977(){var _0x5ba1fc=_0x2286;return toFiniteNumber(_0x4ad739['style'][_0x5ba1fc(0x1de)],0.9);},'water_color':function _0x2b5506(){var _0xfaff6c=_0x2286;return normalizeShaderColor(_0x4ad739[_0xfaff6c(0x113)][_0xfaff6c(0x15b)]);},'deep_water_color':function _0x2d3d02(){var _0x5cb7aa=_0x2286;return normalizeShaderColor(_0x4ad739[_0x5cb7aa(0x113)][_0x5cb7aa(0x1e7)]);},'water_specular_color':function _0x42469b(){var _0x25eb37=_0x2286;return normalizeShaderColor(_0x4ad739[_0x25eb37(0x113)]['specularColor']);}};}},{'key':'_loadTextureSources','value':function _0x17ab43(){var _0x48d54a=_0x51c607,_0x58820c=this;if(this[_0x48d54a(0x166)])return;this[_0x48d54a(0x166)]=Promise[_0x48d54a(0x176)]([resolveTextureSource(this[_0x48d54a(0x1c1)]),resolveTextureSource(this['_noiseSource'])])['then'](function(_0x217fa9){var _0x29c562=_0x48d54a,_0x42bc9c=_slicedToArray(_0x217fa9,0x2),_0x37a6ff=_0x42bc9c[0x0],_0x1bffef=_0x42bc9c[0x1];_0x58820c['_heightMap']=_0x37a6ff,_0x58820c[_0x29c562(0x1a2)]=_0x1bffef;})['catch'](function(_0x1abddd){_0x24a874['error'](formatError(_0x1abddd));});}},{'key':_0x51c607(0x10f),'value':function _0x5e19d0(){var _0x39f144=_0x51c607;this[_0x39f144(0x1ba)]['forEach'](function(_0x4137e8){var _0x55fd2f=_0x39f144;_0x4137e8&&!_0x4137e8[_0x55fd2f(0x1b2)]()&&_0x4137e8['destroy']();}),this['_shaderProgram']&&(!this[_0x39f144(0x1e0)][_0x39f144(0x1b2)]||!this['_shaderProgram']['isDestroyed']())&&this[_0x39f144(0x1e0)][_0x39f144(0x142)](),this['_heightMapTexture']&&!this['_heightMapTexture'][_0x39f144(0x1b2)]()&&this['_heightMapTexture']['destroy'](),this['_noiseTexture']&&!this[_0x39f144(0xf5)][_0x39f144(0x1b2)]()&&this['_noiseTexture']['destroy'](),this[_0x39f144(0x1ab)]&&CesiumRuntime[_0x39f144(0x188)]['removeFromCache'](this[_0x39f144(0x1ab)]),this['_vertexArrays']=[],this['_shaderProgram']=null,this[_0x39f144(0x179)]=null,this[_0x39f144(0xf5)]=null,this[_0x39f144(0x1ab)]=null,this['_drawCommands']=[],this[_0x39f144(0x166)]=null;}}]),_0x538365;}());export function createTexture(_0x45d006,_0x23427f){var _0x209174=_0x2286,_0x5ab112=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:CesiumRuntime['TextureWrap']['REPEAT'],_0x2f8db9=getTextureSize(_0x23427f);return new CesiumRuntime['Texture']({'context':_0x45d006,'width':_0x2f8db9[_0x209174(0x192)],'height':_0x2f8db9[_0x209174(0xf7)],'pixelFormat':_0x25a4b1[_0x209174(0x1a4)]['RGBA'],'pixelDatatype':_0x25a4b1[_0x209174(0x117)]['UNSIGNED_BYTE'],'flipY':!![],'sampler':new CesiumRuntime['Sampler']({'minificationFilter':_0x25a4b1[_0x209174(0x19d)][_0x209174(0x19c)],'magnificationFilter':_0x25a4b1['TextureMagnificationFilter'][_0x209174(0x19c)],'wrapS':_0x5ab112,'wrapT':_0x5ab112}),'source':_0x23427f});}export function getTextureSize(_0x3219dd){var _0x592b08=_0x2286,_0x4a915a=_0x3219dd;return{'width':_0x4a915a['width']||_0x4a915a[_0x592b08(0x11f)]||DEFAULT_NOISE_SIZE,'height':_0x4a915a['height']||_0x4a915a[_0x592b08(0x1c7)]||DEFAULT_NOISE_SIZE};}export function resolveTextureSource(_0x29f333){var _0xcd38d8=_0x2286;if(typeof _0x29f333!=='string')return Promise[_0xcd38d8(0x156)](_0x29f333);return loadImage(_0x29f333);}export function loadImage(_0x51e163){return new Promise(function(_0x35b6e3,_0x4dcce6){var _0x4d2cc1=_0x2286,_0xf80990=new Image();_0xf80990[_0x4d2cc1(0x185)]='anonymous',_0xf80990['onload']=function(){_0x35b6e3(_0xf80990);},_0xf80990[_0x4d2cc1(0x15f)]=function(){var _0x4f7cbb=_0x4d2cc1;_0x4dcce6(new Error(_0x4f7cbb(0x1c6)[_0x4f7cbb(0x1b1)](_0x51e163)));},_0xf80990[_0x4d2cc1(0x157)]=_0x51e163;});}export function getTerrainHeightMap(_0x39000b,_0x3e7c69,_0x4ead60){var _0x12b810=_0x2286;return _getTerrainHeightMap[_0x12b810(0x1d6)](this,arguments);}function _getTerrainHeightMap(){return _getTerrainHeightMap=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x241fdb(_0x1c1626,_0x431d35,_0xcc4e8b){var _0x2329e6=_0x2286,_0x2c3ad0,_0x1db66a,_0x1d5a0e,_0x4a892e,_0x5ecb2b,_0x13fbbb,_0xbd6bf7,_0x4de785,_0x2d11b2,_0xe05f54,_0x5e7a5d,_0x4e5f30,_0x2cca06,_0x599a03;return _regeneratorRuntime()[_0x2329e6(0x153)](function _0x2c8ca0(_0x540701){var _0x176edd=_0x2329e6;while(0x1)switch(_0x540701[_0x176edd(0x1d8)]=_0x540701['next']){case 0x0:_0x1db66a=(_0x1c1626===null||_0x1c1626===void 0x0?void 0x0:_0x1c1626[_0x176edd(0x1ac)])||(_0x1c1626===null||_0x1c1626===void 0x0||(_0x2c3ad0=_0x1c1626[_0x176edd(0x1cd)])===null||_0x2c3ad0===void 0x0?void 0x0:_0x2c3ad0[_0x176edd(0x1ac)]);if(!(!_0x1db66a||isEllipsoidTerrainProvider(_0x1db66a))){_0x540701['next']=0x3;break;}throw new Error(_0x176edd(0x12d));case 0x3:_0x1d5a0e=normalizeTerrainTextureSize(_0xcc4e8b),_0x4a892e=getTerrainHeightMapCacheKey(_0x431d35,_0x1d5a0e),_0x5ecb2b=getCachedTerrainHeightMap(_0x1db66a,_0x4a892e);if(!_0x5ecb2b){_0x540701[_0x176edd(0x1a7)]=0x8;break;}return _0x540701[_0x176edd(0x195)](_0x176edd(0x14d),_0x5ecb2b);case 0x8:_0x540701['next']=0xa;return _0x24a874['isTerrainReady'](_0x1c1626);case 0xa:_0x13fbbb=_0x1d5a0e*_0x1d5a0e,_0xbd6bf7=new Float32Array(_0x13fbbb),_0x4de785=Infinity,_0x2d11b2=-Infinity,_0xe05f54=0x0;case 0xf:if(!(_0xe05f54<_0x13fbbb)){_0x540701[_0x176edd(0x1a7)]=0x19;break;}_0x5e7a5d=Math[_0x176edd(0x16f)](_0xe05f54+TERRAIN_SAMPLE_BATCH_SIZE,_0x13fbbb),_0x4e5f30=createTerrainSampleBatch(_0x431d35,_0x1d5a0e,_0xe05f54,_0x5e7a5d),_0x540701['next']=0x14;return _0x25a4b1['sampleTerrainMostDetailed'](_0x1db66a,_0x4e5f30);case 0x14:_0x2cca06=_0x540701[_0x176edd(0x173)],_0x2cca06[_0x176edd(0x198)](function(_0x575e62,_0xc5cff0){var _0x277c08=_0x176edd,_0x389f6d=_0xe05f54+_0xc5cff0,_0x21d18b=toFiniteNumber(_0x575e62===null||_0x575e62===void 0x0?void 0x0:_0x575e62['height'],0x0);_0xbd6bf7[_0x389f6d]=_0x21d18b,_0x4de785=Math[_0x277c08(0x16f)](_0x4de785,_0x21d18b),_0x2d11b2=Math['max'](_0x2d11b2,_0x21d18b);}),_0xe05f54=_0x5e7a5d,_0x540701['next']=0xf;break;case 0x19:if(!(!Number[_0x176edd(0x10d)](_0x4de785)||!Number[_0x176edd(0x10d)](_0x2d11b2))){_0x540701[_0x176edd(0x1a7)]=0x1b;break;}throw new Error('SampledTerrainRiver地形高程采样结果为空');case 0x1b:_0x599a03={'heights':_0xbd6bf7,'minHeight':_0x4de785,'maxHeight':_0x2d11b2,'textureSize':_0x1d5a0e},setCachedTerrainHeightMap(_0x1db66a,_0x4a892e,_0x599a03);return _0x540701[_0x176edd(0x195)]('return',_0x599a03);case 0x1e:case _0x176edd(0x14f):return _0x540701[_0x176edd(0x10c)]();}},_0x241fdb);})),_getTerrainHeightMap['apply'](this,arguments);}function createTerrainSampleBatch(_0x53d549,_0x532eb3,_0x1a030f,_0x93f5e7){var _0x16f3a8=_0x2286,_0x53d859=_slicedToArray(_0x53d549,0x4),_0x315e2d=_0x53d859[0x0],_0x57c9db=_0x53d859[0x1],_0x17d796=_0x53d859[0x2],_0x1974bc=_0x53d859[0x3],_0x3ffcad=_0x17d796-_0x315e2d,_0x85d30a=_0x1974bc-_0x57c9db,_0x3a47d0=Math['max'](_0x532eb3-0x1,0x1),_0x339952=[];for(var _0x3b2d0c=_0x1a030f;_0x3b2d0c<_0x93f5e7;_0x3b2d0c++){var _0x3dc85a=_0x3b2d0c%_0x532eb3,_0x13a3db=Math[_0x16f3a8(0x1dc)](_0x3b2d0c/_0x532eb3),_0x55fba8=_0x315e2d+_0x3ffcad*_0x3dc85a/_0x3a47d0,_0x3c8d75=_0x1974bc-_0x85d30a*_0x13a3db/_0x3a47d0;_0x339952['push'](_0x25a4b1[_0x16f3a8(0x149)][_0x16f3a8(0x1c0)](_0x55fba8,_0x3c8d75));}return _0x339952;}export function encodeTerrainHeightMap(_0x4dab31,_0x4a5fba,_0x15bb17,_0x297b0a){var _0x26afae=_0x2286,_0x5a127b=_0x4dab31['heights'],_0xfa1360=_0x4dab31[_0x26afae(0x110)],_0x157d8a=_0x15bb17-_0x4a5fba||0x1,_0x15b278=new Uint8ClampedArray(_0xfa1360*_0xfa1360*0x4);for(var _0x10bd43=0x0;_0x10bd43<_0x5a127b['length'];_0x10bd43++){var _0x1f3c31=_0x25a4b1['Math'][_0x26afae(0x101)]((_0x5a127b[_0x10bd43]+_0x297b0a-_0x4a5fba)/_0x157d8a,0x0,0x1),_0xf8f727=Math['round'](_0x1f3c31*0xff),_0x1f7da9=_0x10bd43*0x4;_0x15b278[_0x1f7da9]=_0xf8f727,_0x15b278[_0x1f7da9+0x1]=_0xf8f727,_0x15b278[_0x1f7da9+0x2]=_0xf8f727,_0x15b278[_0x1f7da9+0x3]=0xff;}return new ImageData(_0x15b278,_0xfa1360,_0xfa1360);}function _0x13d9(){var _0xf5e83d=['AxrLCMf0B3i','y2fTzxjH','zMvHDhvYzxm','zNjVBurLz3jLzxm','x2HLAwDODe1HCfnVDxjJzq','z2v0','t2jQzwn0','C2v0uhjVDg90ExbLt2y','x3DHDgvYqM9KEu1Vzgu','u2fTCgXLzfrLCNjHAw5sAxzLCUI0TowBVUwkOoI9VEwKSEI0PtOG','DMLKzw9izwLNAhq','x2zSB3DeAxjLy3rPB24','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','DhLWzq','zg9Uzq','z2v0rgvLCfr3Aw5ZrMLSzq','C2nLBMu','y3jLyxrLqxr0CMLIDxrLtg9JyxrPB25Z','Bwf4v2f0zxjizwLNAhq','ywrK','u2fTCgXLzfrLCNjHAw5sAxzLCUIVT+s8OowfPEACIEAvIhn1CMzHy2vhzw9kC29U5y+c5PwW','Bwf4rwXLDMf0Aw9U','C2XPy2u','Dg9tDhjPBMC','r2vUzxjHDg9YrNvUy3rPB24','yxbWBhK','Dg9qCMLTAxrPDMu','ChjLDG','ue9tsvrjt05Fqu5ex1nu','y29UDgv4Da','DgvZDa','zMXVB3i','mta4odKWowrNDgjwqW','ywXWAge','y29VCMrPBMf0zxm','x3nOywrLCLbYB2DYyw0','x2DYyw51BgfYAxr5','ywjZ','Dg9sywrPyw5Z','ChvZAa','mJi3ndK5ovDyyxjrtG','ug9SEwDVBKDLB21LDhj5','zgvLCfDHDgvYq29SB3i','zMXVD1DHDMvtDhjLBMD0Aa','BM9PC2u','AgvPz2H0t2zMC2v0','CM9VDa','CMvK','zM9HBunVBNrYyxn0','tgLUzvn0CMLUzW','x25VAxnLvgv4DhvYzq','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','AgvPz2H0','CMvKDwnL','qebHC3LUy0L0zxjHDg9Y','BM9YBwfS','q2fYDgvZAwfUmW','Dg9gAxHLza','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','y2f0y2G','CMvTB3zLrNjVBunHy2HL','ndu1mdqWuKLYu3z4','y2XHBxa','uhjPBwL0AxzLvhLWzq','r2vVBwv0CNLqAxbLBgLUzq','zgvMAw5LuhjVCgvYDhK','q2fYDgvZAwfUmG','vfjbtLnmvunftLq','x2HLAwDODe1HCa','BNvTyMvY','x2j1AwXKvMvYC2LVBG','x2nHBK9WzxjHDgu','CNzHBa','C3rVCa','AxngAw5PDgu','vMvYDgv4qxjYyxK','x2rLC3rYB3LdB21Tyw5K','Dgv4DhvYzvnPEMu','zNjVBq','x21HEevSzxzHDgLVBG','C3r5Bgu','zMXVD1nWzwvK','qxjNDw1LBNrZ','Aw5KzxHpzG','ugL4zwXeyxrHDhLWzq','x2HHC1zHBgLKrgf0yq','r2vUzxjHDg9Y','Bwf4','zMXVD0rPCMvJDgLVBG','z3jHBNvSyxjPDhK','BM93','DgHYB3C','DMLKzw9xAwr0Aa','ndyWoti1mgzsDxfSsG','C3LTyM9S','rMvHDhvYzunVBgXLy3rPB24','CM91BMq','zgLYzwn0Aw9Ur2vVsNnVBG','BwvZC2fNzq','zMXVD1DHDMvty2fSzq','Cg9SEwDVBNm','x2nYzwf0zunVBw1HBMq','t1bbuvvf','y29TCgXLDgLVBG','quXqsefFqKXftKq','C3rYAw5N','u2fTCgXLzfrLCNjHAw5sAxzLCUACQUAJGoA1I+wiSoACIEAvIowCSow9OU+8JoAxOoAZLEEuN+AiKowCSow9OUMRMow6PUwBVG','otuWntiWtvz6uvnL','x2LZqwrKzwq','zw51BwvYywjSzq','yxjN','zMX5vg8','BMfTzq','y29TBwfUzeXPC3q','x2HHC0v4CgXPy2L0twLUrwXLDMf0Aw9U','y29UC3rYDwn0B3i','u2fTCgXLzfrLCNjHAw5sAxzLCUwUNUs+I+w3SUMuGoAVGq','x19HD2fPDa','C21HBgXxyxzLsgvPz2H0','x3jLyNvPBgrqCMLTAxrPDMu','C2HVD0XPBMvZ','y29UDgLUDwu','C2v0','zNjVBunHy2HL','mJe1odu3mLzUuLDWrG','cIaGAw4GDMvJncbWB3nPDgLVBJSkicbPBIb2zwmYihn0oWOGig91Dcb2zwmYihzFC3q7cGOGignVBNn0igzSB2f0ifjbreLjx1GGpsa2mZC4mtm3lJa7cIaGy29UC3qGzMXVyxqGuKfesuLFwsa9idyZnZGXmZCUmdSkicbJB25ZDcbMBg9HDcbsqurjsv9Aid0GnJm1nJC1mI4ZmtqYndu7cGOGihzLyZmGD29YBgruB0DLB2DYyxbOAwmODMvJmYb3B3jSzfbVC2L0Aw9Uksb7cIaGicb2zwmZigvJzwyGpsb3B3jSzfbVC2L0Aw9UoWOGicaGzMXVyxqGBca9igXLBMD0AcHLy2vMlNH5ktSkicaGigzSB2f0iguYid0Gms4Wic0GkfjbreLjx1OGkIbsqurjsv9AksaVicHsqurjsv9yicOGuKfesuLFwcK7cIaGicbMBg9HDcb1id0GyxrHBIHLy2vMlNOGkIbsqurjsv9yic8GkgWGkIbsqurjsv9AksK7cIaGicbMBg9HDcbSyxqGpsbHDgfUkcHLy2vMlNOGkYbLmIaQifjbreLjx1OGkIbWB3COC2LUkhuPlcaZlJaPksaVicHSic0GztiGkIbsqurjsv9yicOGCg93kgnVCYH1ksWGmY4WksKPoWOGicaGzMXVyxqGBg9Uid0GyxrHBIHLy2vMlNKSigvJzwyUEcK7cIaGicbMBg9HDcboid0GuKfesuLFwcaVihnXCNqOms4Wic0GztiGkIbZAw4OBgf0ksaQihnPBIHSyxqPktSkicaGigzSB2f0igfSDca9igWGlYbJB3mOBgf0ksaTie47cIaGicbSyxqGpsbKzwDYzwvZkgXHDcK7cIaGicbSB24GpsbKzwDYzwvZkgXVBIK7cIaGicbYzxr1CM4GDMvJmYHSB24SigXHDcWGywX0ktSkicb9cGOGihzLyZmGz2vVmMnHCNrLC2LHBIH2zwmZigDLBYKGEWOGicaGzMXVyxqGy29Ztgf0id0Gy29ZkgDLBY55ktSkicaGigzSB2f0ihnUwca9ignVC0XHDcaQignVCYHNzw8UEcK7cIaGicbMBg9HDcbZBLKGpsbJB3nmyxqGkIbZAw4Oz2vVlNGPoWOGicaGzMXVyxqGC25Aid0GC2LUkgDLBY55ktSkicaGihzLyZmGC24GpsbUB3jTywXPEMuODMvJmYHZBLGSihnUwsWGC25AksK7cIaGicb2zwmZihjHzgLPu3f1yxjLzca9ihzLyZmOnda2oda2mZeUntKWnZy4otKGkIaXmdaWmdaWlJaSidqWnJGWnJmXlJu5mdC2odK5icOGmtaWmdaWmc4Wlca0mdqWodi5os45odq2nJe0ncaQideWmdaWmdaUmcK7cIaGicb2zwmZihnRid0GCMfKAwLtCxvHCMvKicOGC247cIaGicbMBg9HDcbNyw1Tysa9ihnXCNqOzg90khnUlcbZAYKPoWOGicaGC2SGpsbZAYaVigDHBw1HoWOGicaGC24GpsbZBIaQigDLBY56oWOGicaGCMv0DxjUihnRicSGC247cIaGFqOkicb2zwmZigrLzZjJyxj0zxnPyw4ODMvJmYbKzwCPihSkicaGihzLyZiGCMfKr2vVid0GCMfKAwfUCYHKzwCUEhKPoWOGicaGDMvJmYbNzw8Gpsb2zwmZkhjHzeDLBY54EsWGzgvNlNOPoWOGicaGCMv0DxjUigDLBZjJyxj0zxnPyw4Oz2vVktSkicb9cGOGihzVAwqGBwfPBIGPihSkicaGigzSB2f0ig5VCM1HBgL6zwrizwLNAhqGpsaWlJa7cIaGicb2zwmYihv2id0GC3q7cIaGicbMBg9HDcbOzwLNAhqGpsbOzwLNAhrFBwfWkhv2ktSkcIaGicbMBg9HDcb3yxzLAgvPz2H0id0Gy2XHBxaOv0furvjFtevwruWGkIaZlJaGlsaXlJuSidaUmcWGms4WktSkicaGigzSB2f0igXLDMvSid0Gv0furvjFtevwruWGkYaWlJiGkIb3yxrLCL9TyxaODxyGkIaXns4Wlcb3yxzLAgvPz2H0ktSkcIaGicbPzIaOD2f0zxjFyM9KEv9TB2rLksb7cIaGicaGig5VCM1HBgL6zwrizwLNAhqGpsbUB3jTywXPEMvKx3DHDgvYx2HLAwDODcGPoWOGicaGFsbLBhnLigLMicHOzwLNAhqGpd0GBgv2zwWPihSkicaGicaGBM9YBwfSAxPLzeHLAwDODca9igXLDMvSoWOGicaGFsbLBhnLihSkicaGicaGBM9YBwfSAxPLzeHLAwDODca9igHLAwDODdSkicaGih0kcIaGicbMBg9HDcbOzwLNAhrpzMzZzxqGpsaOBwf4rwXLDMf0Aw9Uic0GBwLUrwXLDMf0Aw9UksaQig5VCM1HBgL6zwrizwLNAhqGkIbOzwLNAhrty2fSztSkicaGihzLyZqGD29YBgrqB3nPDgLVBIa9ign6Bv9TB2rLBcaQihbVC2L0Aw9UoWOGicaGDMvJmYbSBgGGpsb3B3jSzfrVr2vVz3jHCgHPyYH3B3jSzfbVC2L0Aw9UlNH5EIK7cIaGicb2zwmZigfKANvZDgvKq2fYDgvZAwfUid0GzgvNmMnHCNrLC2LHBIH2zwmZkgXSAc54EsWGBwLUrwXLDMf0Aw9UicSGAgvPz2H0t2zMC2v0ksK7cGOGicaGz2XFug9ZAxrPB24GpsbJEM1FChjVAMvJDgLVBIaQign6Bv92Awv3icOGDMvJncHHzgP1C3rLzenHCNrLC2LHBIWGms4WktSkicaGihzFC3qGpsbZDdSkicb9cG','x2HHC0v4CgXPy2L0twf4rwXLDMf0Aw9U','zgvZDhjVEq','yxn5BMm','ywrKvg9nyxa','rwXSAxbZB2LKvgvYCMfPBLbYB3zPzgvY','DgvYCMfPBLnHBxbSzq','cIaGAw4GDMvJmIb2x3n0oWOkicb2B2LKig1HAw4Oksb7cIaGicbSAwDODca9ihzLyZmOltaUmcWGmc4WlcaYlJGPoWOGicaGDMvJmIb1DIa9ihzFC3q7cIaGicbMBg9HDcbOzwLNAhqGpsbOzwLNAhrFBwfWkhv2ktSkcIaGicbMBg9HDcb3yxzLAgvPz2H0id0Gy2XHBxaOv0furvjFtevwruWGkIaZlJaGlsaXlJuSidaUmcWGms4WktSkicaGigzSB2f0igXLDMvSid0Gv0furvjFtevwruWGkYaWlJiGkIb3yxrLCL9TyxaODxyGkIaXns4Wlcb3yxzLAgvPz2H0ktSkicaGigzSB2f0ihn1CMzHy2vizwLNAhqGpsb3yxrLCL9IB2r5x21VzguGpYbUB3jTywXPEMvKx3DHDgvYx2HLAwDODcGPidOGBgv2zwW7cIaGicbMBg9HDcb3yxrLCKrLChrOid0GC3vYzMfJzuHLAwDODcaTigHLAwDODdSkicaGigLMicGHD2f0zxjFyM9KEv9TB2rLicyMigHLAwDODca+igXLDMvSksb7cIaGicaGigrPC2nHCMq7cIaGicb9cIaGicbMBg9HDcbKzwvWD2f0zxjFzMfKzwrLChrOid0Gmc41oWOkicaGihzLyZiGzgLMid0GDMvJmIGWlJaSidaUmdePoWOGicaGDMvJmIbWB3mGpsb1DIaQide1lJa7cIaGicbMBg9HDcbOmsa9ihDHDgvYx21HCcHWB3mGlsbKAwySihDHDMvOzwLNAhqPoWOGicaGzMXVyxqGAdiGpsb3yxrLCL9TyxaOCg9ZicSGzgLMlcb3yxzLAgvPz2H0ktSkicaGigzSB2f0igGZid0GD2f0zxjFBwfWkhbVCYaTigrPzI55EcWGD2f2zwHLAwDODcK7cIaGicbMBg9HDcbOnca9ihDHDgvYx21HCcHWB3mGkYbKAwyUExGSihDHDMvOzwLNAhqPoWOGicaGDMvJmYbUB3jTD2f0zxiGpsbUB3jTywXPEMuODMvJmYHOmYaTigG0lcbOmsaTigGYlcaWlJeYnsKPoWOGicaGDxyGkZ0GBM9YBxDHDgvYlNH5icOGmc4WmdiGkIbTyxGOD2f0zxjezxb0AcWGmc4WktSkcIaGicb2zwmZihDHDgvYy29SB3iGpsb3yxrLCL9JB2XVCJSkicaGigzSB2f0igrLChrOrMfKzsa9ignSyw1WkhDHDgvYrgvWDgGGlYbKzwvWD2f0zxjFzMfKzwrLChrOlcaWlJaSideUmcK7cIaGicb3yxrLCMnVBg9Yid0GBwL4khDHDgvYy29SB3iSigrLzxbFD2f0zxjFy29SB3iSihnTB290Ahn0zxaOmc4WlcaXlJaSigrLChrOrMfKzsKPoWOkicaGihzLyZmGCJaGpsb2zwmZkhv2lcbxqvrfuL9mrvzftcK7cIaGicb2zwmZihjKid0GBM9YBwfSAxPLkgXPz2H0ic0GCJaPoWOGicaGzMXVyxqGz3jHzca9igrVDcHUB3jTD2f0zxiSihjKktSkicaGigzSB2f0ihnWzwn1BgfYid0GCg93kgDYywqSihDHDgvYx3nVzNrSAwDODf9Mywn0ktSkicaGigzSB2f0ihnWzwn1BgfYmIa9ihbVDYHNCMfKlcb3yxrLCL9NBg9ZC3LSAwDODf9Mywn0ktSkicaGigzSB2f0igDYywrWB3mGpsbKB3qODMvJmYGWlJaSidaUmcWGms4WksWGCMqPoWOGicaGzMXVyxqGC3bLy3vSyxiXid0GC21VB3rOC3rLCcGWlJaSideUmcWGCg93kgDYywrWB3mSiduUmcKPoWOGicaGzMXVyxqGD2f0zxjZAgfKzsa9ihrLC3rFC2HHzg93khv2lcbZDxjMywnLsgvPz2H0ktSkicaGihDHDgvYy29SB3iGkJ0GmI4YicSGD2f0zxjZAgfKztSkicaGihDHDgvYy29SB3iGkZ0GkdaUmIaRidaUocaQihDHDgvYC2HHzguPicOGkcHNCMfKic0Gms4WksaQidaUnsaRihnWzwn1BgfYksaQidaUmJu7cIaGicb3yxrLCMnVBg9Yic89icGXlJaGkYbZCgvJDwXHCJeGkIaXlJi1ktSkicaGihDHDgvYy29SB3iGkZ0GD2f0zxjZAgfKzsaQihnWzwn1BgfYmIaQihDHDgvYx3nWzwn1BgfYx2nVBg9YoWOGicaGD2f0zxjJB2XVCIaRpsb3yxrLCNnOywrLicOGkdeUmcaTigrLChrOrMfKzsKGkIaODMvJmYGWlJuSidaUnIWGmc43ksaQig5HDxrPyYH1DIKGkYb2zwmZkdeUmcKGkIbWyxj0AwnSzxmODxyPktSkcIaGicbMBg9HDcb3yxrLCKfSCgHHid0Gy2XHBxaOywXWAgeSidaUmcWGms4WktSkicaGig91Df9gCMfNq29SB3iGpsb2zwm0khDHDgvYy29SB3iSihDHDgvYqwXWAgePoWOGih0k','zMLUywXSEuXVyW','q2fYDg9NCMfWAgLJ','DxbKyxrL','CMvZDwX0tMfTzq','zgLZCgXHEu5HBwu','CMv0DxjU','Dhj5rw50CMLLCW','zw5K','C2HVDW','x25VAxnLu291CMnL','x3nOB3DmAw5LCW','D3jHCa','Bwv0Ag9K','C3vYzMfJzuDLB0PZB24','CMvZB2X2zq','C3jJ','x2rYyxDdB21Tyw5KCW','BMv4DeXVyW','zgvSzwDHDgu','D2f0zxjdB2XVCG','x3rPBwu','BgfYz2vxyxzLsgvPz2H0','AM9PBG','B25LCNjVCG','DMfSDwvZ','BwLUv2f0zxjizwLNAhq','yMX1zq','A2v5CW','D2f0zxjtB2z0tgLNAhrgywn0B3i','z2v0twfW','x3rLEhr1CMvmB2fKuhjVBwLZzq','CMvTB3zL','AgfZt3DUuhjVCgvYDhK','BwfW','y29SB3jtDhjPBMC','ChjPBwL0AxzL','x2nYzwf0zvjLBMrLCLn0yxrL','x21HCenVBNrLEhq','zMXVD1n0CMvUz3rO','BwLU','Cg9W','x21PBKvSzxzHDgLVBG','D2f0zxjcB2r5tw9Kzq','C2vUDa','Cg9ZAxrPB24','Dg9ezwDYzwvZ','ywXS','C3LUy1jLBMrLCLn0yxrL','yNjLywS','x2HLAwDODe1HCfrLEhr1CMu','x2HHC1zHBgLKrwXLDMf0Aw9UuMfUz2u','vfjjqu5htevt','zxjYB3i','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW','yxr0CMLIDxrLCW','jYbTzxrOB2q','CMv2zxjZzq','w29IAMvJDcbhzw5LCMf0B3jD','BgvUz3rO','ChjVCgvYDhLjC0vUDw1LCMfIBgu','C21HBgXxyxzLu2L6zq','y3jVC3npCMLNAw4','y2fUDMfZ','q0XbtvbFve9Frurhrq','uMvUzgvYu3rHDgu','DgHLBG','B2jQzwn0','Dw5KzwzPBMvK','yM9VBgvHBG','DgLTzvnJywXL','y2f0y2HmB2m','BwLUrwXLDMf0Aw9U','u2fTCgXLzfrLCNjHAw5sAxzLCUIVT+s8OowfPEACIEAvIoMRMoEOI+ImG+wBTa','z2vVBwv0CNK','D2LKDgG','D2f0zxjmzxzLBa','AxnbCNjHEq','ywjYDxb0','C2v0rgf0yq','AgvPz2H0twfW','zM9YrwfJAa','y29TCgXLDgvK','u2fTCgXLzfrLCNjHAw5sAxzLCUwCSow9OUMRMoEOI+ImG+wBToAxOoAvIa','nZe0nte0nvHiz2nXBW','teLorufs','vgv4DhvYzu1PBMLMAwnHDgLVBKzPBhrLCG','r2vVBwv0CNLdB2XSzwn0Aw9U','x2jVDw5KCW','y2fSBa','rMvHDhvYzq','x25VAxnL','x19WCM90B19F','ugL4zwXgB3jTyxq','DMfSDwu','y3jLyxrL','BMv4Da','ug9SEwDVBG','twf0Aa','BwfYAW','x3jLBMrLCLn0yxrL','DgvYCMfPBLbYB3zPzgvY','x2LUDM9Rzq','z2vVBwv0CMLLCW','z3jLzw4','zgvMyxvSDa','y29Uy2f0','Axnezxn0CM95zwq','ChjVDg90ExbL','D2f0zxjizwLNAhq','twfW','ugfZCW','zMLSDgvY','qebPDgvYyxrVCG','x2zSB3DqyxrO','x3zLCNrLEefYCMf5CW','uMvJDgfUz2XL','x3bVBhLNB25Z'];_0x13d9=function(){return _0xf5e83d;};return _0x13d9();}function getCachedTerrainHeightMap(_0x54e8fa,_0x4dc557){var _0x58eeb3=_0x2286,_0x8f9b39;return(_0x8f9b39=terrainHeightMapCache['get'](_0x54e8fa))===null||_0x8f9b39===void 0x0?void 0x0:_0x8f9b39[_0x58eeb3(0x1c2)](_0x4dc557);}function setCachedTerrainHeightMap(_0x1353eb,_0xf09cdd,_0x1c45cd){var _0x43fb4c=_0x2286,_0x593a64=terrainHeightMapCache[_0x43fb4c(0x1c2)](_0x1353eb);!_0x593a64&&(_0x593a64=new Map(),terrainHeightMapCache[_0x43fb4c(0x13d)](_0x1353eb,_0x593a64));if(_0x593a64['size']>=TERRAIN_HEIGHT_MAP_CACHE_LIMIT){var _0x1092f7=_0x593a64['keys']()['next']()['value'];_0x1092f7&&_0x593a64['delete'](_0x1092f7);}_0x593a64['set'](_0xf09cdd,_0x1c45cd);}export function getTerrainHeightMapCacheKey(_0x5a17a9,_0x98aed0){var _0x5dc2cc=_0x2286;return''[_0x5dc2cc(0x1b1)](_0x5a17a9[_0x5dc2cc(0x169)](function(_0x481b70){var _0x38da36=_0x5dc2cc;return _0x481b70[_0x38da36(0xfc)](0x8);})[_0x5dc2cc(0x15e)](','),':')[_0x5dc2cc(0x1b1)](_0x98aed0);}function isEllipsoidTerrainProvider(_0x501260){var _0x3bb942=_0x2286,_0xcd5411;return _0x501260 instanceof _0x25a4b1['EllipsoidTerrainProvider']||(_0x501260===null||_0x501260===void 0x0||(_0xcd5411=_0x501260[_0x3bb942(0x136)])===null||_0xcd5411===void 0x0?void 0x0:_0xcd5411[_0x3bb942(0x133)])===_0x3bb942(0x145);}export function normalizeTerrainTextureSize(_0x2c2b29){var _0x36a369=_0x2286,_0x13152a=_0x25a4b1[_0x36a369(0x1a9)]['clamp'](Math[_0x36a369(0x123)](Number(_0x2c2b29)||DEFAULT_TERRAIN_TEXTURE_SIZE),MIN_TERRAIN_TEXTURE_SIZE,MAX_TERRAIN_TEXTURE_SIZE),_0x275b35=[0x40,0x80,0x100,0x200];return _0x275b35[_0x36a369(0xf8)](function(_0x416e3c,_0x46f62d){var _0xfc4c1=_0x36a369;return Math[_0xfc4c1(0x1e2)](_0x46f62d-_0x13152a)<Math['abs'](_0x416e3c-_0x13152a)?_0x46f62d:_0x416e3c;});}export function toFiniteNumber(_0x50485a,_0x1aee3f){var _0x251073=_0x2286,_0xbd559=Number(_0x50485a);return Number[_0x251073(0x10d)](_0xbd559)?_0xbd559:_0x1aee3f;}export function expandBounds(_0x5a1184,_0x3e03a1){var _0x1dd568=_0x2286,_0x5ba1e8=_slicedToArray(_0x5a1184,0x4),_0x1225e6=_0x5ba1e8[0x0],_0x1637af=_0x5ba1e8[0x1],_0x5a989e=_0x5ba1e8[0x2],_0x35ace3=_0x5ba1e8[0x3],_0x313880=(_0x1225e6+_0x5a989e)*0.5,_0x9d93aa=(_0x1637af+_0x35ace3)*0.5,_0x5cdde9=(_0x5a989e-_0x1225e6)*Math['max'](_0x3e03a1,0x1)*0.5,_0x4ab850=(_0x35ace3-_0x1637af)*Math[_0x1dd568(0x11a)](_0x3e03a1,0x1)*0.5;return[_0x313880-_0x5cdde9,_0x9d93aa-_0x4ab850,_0x313880+_0x5cdde9,_0x9d93aa+_0x4ab850];}export function getPolygonsBounds(_0x244fbe){var _0x15c3f5=[Infinity,Infinity,-Infinity,-Infinity],_0x360715=![];_0x244fbe['forEach'](function(_0x599f21){_0x599f21['rings']['forEach'](function(_0x339d9e){var _0x4aad4a=_0x2286;_0x339d9e[_0x4aad4a(0x198)](function(_0xf13dfd){var _0x24471d=_0x4aad4a,_0x4af255=_slicedToArray(_0xf13dfd,0x2),_0x81c7ff=_0x4af255[0x0],_0x29cebd=_0x4af255[0x1];_0x360715=!![],_0x15c3f5[0x0]=Math['min'](_0x15c3f5[0x0],_0x81c7ff),_0x15c3f5[0x1]=Math['min'](_0x15c3f5[0x1],_0x29cebd),_0x15c3f5[0x2]=Math['max'](_0x15c3f5[0x2],_0x81c7ff),_0x15c3f5[0x3]=Math[_0x24471d(0x11a)](_0x15c3f5[0x3],_0x29cebd);});});});if(!_0x360715)return undefined;var _0x4c2810=_0x15c3f5[0x0],_0x36e906=_0x15c3f5[0x1],_0x184e52=_0x15c3f5[0x2],_0x5a4e40=_0x15c3f5[0x3];if(_0x4c2810>=_0x184e52||_0x36e906>=_0x5a4e40)return undefined;return[_0x4c2810,_0x36e906,_0x184e52,_0x5a4e40];}export function collectGeoJsonLineCoordinates(_0x102656){var _0x39edf9=[],_0x5e9f7b=function _0x71bc5b(_0x35c9ba){var _0x2fa210=_0x2286,_0x43472a=normalizeLineCoordinates(_0x35c9ba);_0x43472a['length']>=0x2&&_0x39edf9[_0x2fa210(0x1e4)](_0x43472a);},_0x7cfd5a=function _0x2e46cc(_0xca292f){var _0x21cb12=_0x2286;if(!_0xca292f||_typeof(_0xca292f)!==_0x21cb12(0x18a))return;if(_0xca292f['type']===_0x21cb12(0xf4)){_0x5e9f7b(_0xca292f[_0x21cb12(0x1df)]);return;}if(_0xca292f[_0x21cb12(0x1ca)]==='MultiLineString'&&Array[_0x21cb12(0x194)](_0xca292f[_0x21cb12(0x1df)])){_0xca292f['coordinates']['forEach'](_0x5e9f7b);return;}_0xca292f['type']===_0x21cb12(0x19e)&&Array['isArray'](_0xca292f[_0x21cb12(0x1ae)])&&_0xca292f[_0x21cb12(0x1ae)]['forEach'](_0x2e46cc);},_0x58146c=function _0x464c4f(_0x3533d8){var _0xddb4c3=_0x2286;if(!_0x3533d8||_typeof(_0x3533d8)!=='object')return;if(_0x3533d8['type']===_0xddb4c3(0x122)&&Array[_0xddb4c3(0x194)](_0x3533d8[_0xddb4c3(0x1bf)])){_0x3533d8['features'][_0xddb4c3(0x198)](_0x464c4f);return;}if(_0x3533d8[_0xddb4c3(0x1ca)]==='Feature'){_0x7cfd5a(_0x3533d8[_0xddb4c3(0x191)]);return;}_0x7cfd5a(_0x3533d8);};return _0x58146c(_0x102656),_0x39edf9[0x0]||[];}function normalizeLineCoordinates(_0x5a24d7){var _0x1789c3=_0x2286;if(!Array[_0x1789c3(0x194)](_0x5a24d7))return[];return _0x5a24d7[_0x1789c3(0x169)](normalizeCoordinate)['filter'](function(_0x73659e){return Boolean(_0x73659e);});}export function collectGeoJsonPolygons(_0x280c9e){var _0x306210=[],_0x6fb422=function _0x52e447(_0xeda7ed){var _0x359ea1=_0x2286,_0x488136=normalizePolygonCoordinates(_0xeda7ed);_0x488136[_0x359ea1(0x182)]>0x0&&_0x306210['push']({'rings':_0x488136});},_0x2c9a07=function _0x2460ae(_0x58635f){var _0x4b00b7=_0x2286;if(!_0x58635f||_typeof(_0x58635f)!==_0x4b00b7(0x18a))return;if(_0x58635f[_0x4b00b7(0x1ca)]===_0x4b00b7(0x1a8)){_0x6fb422(_0x58635f[_0x4b00b7(0x1df)]);return;}if(_0x58635f['type']==='MultiPolygon'&&Array[_0x4b00b7(0x194)](_0x58635f['coordinates'])){_0x58635f['coordinates']['forEach'](_0x6fb422);return;}_0x58635f['type']===_0x4b00b7(0x19e)&&Array['isArray'](_0x58635f[_0x4b00b7(0x1ae)])&&_0x58635f[_0x4b00b7(0x1ae)]['forEach'](_0x2460ae);},_0x4eb473=function _0x58a43b(_0x15ac5b){var _0x1bf960=_0x2286;if(!_0x15ac5b||_typeof(_0x15ac5b)!=='object')return;if(_0x15ac5b[_0x1bf960(0x1ca)]===_0x1bf960(0x122)&&Array[_0x1bf960(0x194)](_0x15ac5b[_0x1bf960(0x1bf)])){_0x15ac5b[_0x1bf960(0x1bf)][_0x1bf960(0x198)](_0x58a43b);return;}if(_0x15ac5b['type']===_0x1bf960(0x1a1)){_0x2c9a07(_0x15ac5b['geometry']);return;}_0x2c9a07(_0x15ac5b);};return _0x4eb473(_0x280c9e),_0x306210;}function normalizePolygonCoordinates(_0x8f78ec){var _0x1d2d28=_0x2286;if(!Array['isArray'](_0x8f78ec)||_0x8f78ec[_0x1d2d28(0x182)]<0x1)return[];var _0x40994e=normalizeLinearRing(_0x8f78ec[0x0]);if(_0x40994e[_0x1d2d28(0x182)]<0x3)return[];var _0xba2d21=_0x8f78ec['slice'](0x1)['map'](normalizeLinearRing)[_0x1d2d28(0x1b7)](function(_0x5c3513){var _0x2b35fe=_0x1d2d28;return _0x5c3513[_0x2b35fe(0x182)]>=0x3;});return[_0x40994e]['concat'](_toConsumableArray(_0xba2d21));}function normalizeLinearRing(_0x53a536){if(!Array['isArray'](_0x53a536))return[];return _0x53a536['reduce'](function(_0x23ede7,_0x255103){var _0xbbf048=normalizeCoordinate(_0x255103);return _0xbbf048&&_0x23ede7['push'](_0xbbf048),_0x23ede7;},[]);}function normalizeCoordinate(_0x109f86){var _0x357a88=_0x2286;if(!Array[_0x357a88(0x194)](_0x109f86)||_0x109f86['length']<0x2)return null;var _0x30e3f5=Number(_0x109f86[0x0]),_0x442216=Number(_0x109f86[0x1]);if(!Number['isFinite'](_0x30e3f5)||!Number[_0x357a88(0x10d)](_0x442216))return null;return[_0x30e3f5,_0x442216];}export function createPolygonGeometry(_0x3ab0df,_0x56603f,_0x1e85a7,_0x191cff){var _0x2f1353=_0x2286,_0x343655=toCartesianRing(_0x3ab0df['rings'][0x0]),_0x157342=_0x3ab0df['rings'][_0x2f1353(0x1d3)](0x1)['map'](toCartesianRing);try{var _0x330522=new _0x25a4b1[(_0x2f1353(0x1e6))]({'polygonHierarchy':_0x24a874['buildPolygonHierarchy'](_0x343655,_0x157342),'vertexFormat':_0x25a4b1['VertexFormat'][_0x2f1353(0x1d9)],'granularity':_0x25a4b1['Math'][_0x2f1353(0x1e3)](clampPolygonGranularity(_0x56603f,_0x191cff)),'height':_0x1e85a7,'perPositionHeight':![]}),_0x2b71c2=_0x25a4b1[_0x2f1353(0x1e6)]['createGeometry'](_0x330522);return _0x2b71c2&&setGeometryAttributesByBounds(_0x2b71c2,_0x56603f),_0x2b71c2;}catch(_0x178239){return _0x24a874['error'](formatError(_0x178239)),null;}}function _0x2286(_0x209a9a,_0x36bc19){_0x209a9a=_0x209a9a-0xf1;var _0x13d9f2=_0x13d9();var _0x228624=_0x13d9f2[_0x209a9a];if(_0x2286['yqbhRu']===undefined){var _0x597280=function(_0x123183){var _0x265085='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x25a4b1='',_0x161688='';for(var _0x24a874=0x0,_0x4ff268,_0x2cac91,_0x50676e=0x0;_0x2cac91=_0x123183['charAt'](_0x50676e++);~_0x2cac91&&(_0x4ff268=_0x24a874%0x4?_0x4ff268*0x40+_0x2cac91:_0x2cac91,_0x24a874++%0x4)?_0x25a4b1+=String['fromCharCode'](0xff&_0x4ff268>>(-0x2*_0x24a874&0x6)):0x0){_0x2cac91=_0x265085['indexOf'](_0x2cac91);}for(var _0x323dcb=0x0,_0x3adcbf=_0x25a4b1['length'];_0x323dcb<_0x3adcbf;_0x323dcb++){_0x161688+='%'+('00'+_0x25a4b1['charCodeAt'](_0x323dcb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x161688);};_0x2286['lEHwYA']=_0x597280,_0x2286['kUAThv']={},_0x2286['yqbhRu']=!![];}var _0x231510=_0x13d9f2[0x0],_0x94c0c9=_0x209a9a+_0x231510,_0x30e694=_0x2286['kUAThv'][_0x94c0c9];return!_0x30e694?(_0x228624=_0x2286['lEHwYA'](_0x228624),_0x2286['kUAThv'][_0x94c0c9]=_0x228624):_0x228624=_0x30e694,_0x228624;}function toCartesianRing(_0xd6894d){var _0xcf0476=_0x2286;return _0xd6894d[_0xcf0476(0x169)](function(_0x5381fd){var _0x713f2a=_slicedToArray(_0x5381fd,0x2),_0x2593e5=_0x713f2a[0x0],_0x3af9a8=_0x713f2a[0x1];return _0x25a4b1['Cartesian3']['fromDegrees'](_0x2593e5,_0x3af9a8);});}function clampPolygonGranularity(_0x2185a7,_0x3434cf){var _0x13cacc=_0x2286,_0x27be09=_slicedToArray(_0x2185a7,0x4),_0xdabb00=_0x27be09[0x0],_0x3877d1=_0x27be09[0x1],_0x427884=_0x27be09[0x2],_0x4ee5e5=_0x27be09[0x3],_0x452e25=_0x427884-_0xdabb00,_0x15a747=_0x4ee5e5-_0x3877d1,_0x3792ad=Number['isFinite'](_0x3434cf)&&_0x3434cf>0x0?_0x3434cf:0.0001,_0x5c7e96=Math[_0x13cacc(0x11a)](_0x452e25,_0x15a747)/MAX_POLYGON_GRANULARITY_SEGMENTS;return Math['max'](_0x3792ad,_0x5c7e96);}function setGeometryAttributesByBounds(_0x2b6e4d,_0x26ea99){var _0x1ef321=_0x2286,_0x592cdb,_0x5d1662=(_0x592cdb=_0x2b6e4d['attributes'][_0x1ef321(0x174)])===null||_0x592cdb===void 0x0?void 0x0:_0x592cdb['values'];if(!_0x5d1662)return;var _0x4c7c44=_slicedToArray(_0x26ea99,0x4),_0x284645=_0x4c7c44[0x0],_0x457c06=_0x4c7c44[0x1],_0x3213f0=_0x4c7c44[0x2],_0x17bf25=_0x4c7c44[0x3],_0x1f2326=_0x3213f0-_0x284645,_0x10c45b=_0x17bf25-_0x457c06,_0xace108=new Float32Array(_0x5d1662['length']/0x3*0x2);for(var _0xace2a8=0x0;_0xace2a8<_0x5d1662[_0x1ef321(0x182)]/0x3;_0xace2a8++){var _0x44b885=new _0x25a4b1['Cartesian3'](_0x5d1662[_0xace2a8*0x3],_0x5d1662[_0xace2a8*0x3+0x1],_0x5d1662[_0xace2a8*0x3+0x2]),_0x4f29f4=_0x25a4b1[_0x1ef321(0x149)]['fromCartesian'](_0x44b885);if(!_0x4f29f4)continue;var _0x13ce22=_0x25a4b1['Math'][_0x1ef321(0x175)](_0x4f29f4['longitude']),_0x1636ff=_0x25a4b1['Math']['toDegrees'](_0x4f29f4['latitude']),_0x4feb48=[_0x25a4b1['Math'][_0x1ef321(0x101)]((_0x13ce22-_0x284645)/_0x1f2326,0x0,0x1),_0x25a4b1[_0x1ef321(0x1a9)][_0x1ef321(0x101)]((_0x1636ff-_0x457c06)/_0x10c45b,0x0,0x1)];_0xace108[_0xace2a8*0x2]=_0x4feb48[0x0],_0xace108[_0xace2a8*0x2+0x1]=_0x4feb48[0x1];}_0x2b6e4d['attributes']['st']&&(_0x2b6e4d[_0x1ef321(0x17e)]['st']['values']=_0xace108);}export function normalizeShaderColor(_0x1b95b7){var _0x26791f=_0x2286;if(typeof _0x1b95b7!==_0x26791f(0x12c))return new _0x25a4b1[(_0x26791f(0xfb))](0x0,0x0,0x0);try{var _0x224ada=_0x24a874[_0x26791f(0x16a)](_0x1b95b7);if(_0x224ada)return new _0x25a4b1[(_0x26791f(0xfb))](Number(_0x224ada[_0x26791f(0xf2)])||0x0,Number(_0x224ada[_0x26791f(0x1af)])||0x0,Number(_0x224ada[_0x26791f(0x162)])||0x0);}catch(_0x37cbcf){_0x24a874[_0x26791f(0x17c)](formatError(_0x37cbcf));}return new _0x25a4b1[(_0x26791f(0xfb))](0x0,0x0,0x0);}export function formatError(_0x28b85f){var _0x3878d3=_0x2286;return _0x28b85f instanceof Error?_0x28b85f[_0x3878d3(0x125)]:String(_0x28b85f);}export var SAMPLED_TERRAIN_RIVER_COMMON_SHADER='\x0a\x20\x20uniform\x20sampler2D\x20heightMap;\x0a\x20\x20uniform\x20float\x20heightScale;\x0a\x20\x20uniform\x20float\x20maxElevation;\x0a\x20\x20uniform\x20float\x20minElevation;\x0a\x20\x20uniform\x20sampler2D\x20iChannel0;\x0a\x20\x20uniform\x20float\x20iTime;\x0a\x20\x20uniform\x20bool\x20water_body_mode;\x0a\x20\x20uniform\x20bool\x20has_water_height;\x0a\x20\x20uniform\x20float\x20water_height;\x0a\x0a\x20\x20uniform\x20float\x20large_waveheight;\x0a\x20\x20uniform\x20float\x20large_wavesize;\x0a\x20\x20uniform\x20float\x20small_waveheight;\x0a\x20\x20uniform\x20float\x20small_wavesize;\x0a\x20\x20uniform\x20float\x20water_softlight_fact;\x0a\x20\x20uniform\x20float\x20water_glossylight_fact;\x0a\x20\x20uniform\x20float\x20particle_amount;\x0a\x20\x20uniform\x20float\x20WATER_LEVEL;\x0a\x20\x20uniform\x20vec2\x20flow_direction;\x0a\x20\x20uniform\x20float\x20flow_speed;\x0a\x20\x20uniform\x20float\x20flow_strength;\x0a\x20\x20uniform\x20float\x20flow_wave_scale;\x0a\x20\x20uniform\x20float\x20flow_wave_strength;\x0a\x20\x20uniform\x20float\x20foam_amount;\x0a\x20\x20uniform\x20float\x20foam_contrast;\x0a\x20\x20uniform\x20float\x20foam_coverage;\x0a\x20\x20uniform\x20float\x20alpha;\x0a\x20\x20uniform\x20vec3\x20water_color;\x0a\x20\x20uniform\x20vec3\x20deep_water_color;\x0a\x20\x20uniform\x20vec3\x20water_specular_color;\x0a\x20\x20vec3\x20light;\x0a\x0a\x20\x20float\x20hash(float\x20n)\x20{\x0a\x20\x20\x20\x20return\x20fract(sin(n)\x20*\x2043758.5453123);\x0a\x20\x20}\x0a\x0a\x20\x20float\x20noise1(in\x20vec2\x20x)\x20{\x0a\x20\x20\x20\x20vec2\x20p\x20=\x20floor(x);\x0a\x20\x20\x20\x20vec2\x20f\x20=\x20smoothstep(0.0,\x201.0,\x20fract(x));\x0a\x20\x20\x20\x20float\x20n\x20=\x20p.x\x20+\x20p.y\x20*\x2057.0;\x0a\x20\x20\x20\x20return\x20mix(mix(hash(n\x20+\x200.0),\x20hash(n\x20+\x201.0),\x20f.x),\x20mix(hash(n\x20+\x2057.0),\x20hash(n\x20+\x2058.0),\x20f.x),\x20f.y);\x0a\x20\x20}\x0a\x0a\x20\x20float\x20noise(vec2\x20p)\x20{\x0a\x20\x20\x20\x20return\x20textureLod(iChannel0,\x20p\x20*\x20vec2(1.0\x20/\x20256.0),\x200.0).x;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20height_map(vec2\x20p)\x20{\x0a\x20\x20\x20\x20float\x20f\x20=\x20texture(heightMap,\x20p).r;\x0a\x20\x20\x20\x20return\x20clamp(f,\x200.0,\x2010.0);\x0a\x20\x20}\x0a\x0a\x20\x20float\x20normalized_water_height()\x20{\x0a\x20\x20\x20\x20if\x20(has_water_height)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20clamp((water_height\x20-\x20minElevation)\x20/\x20max(maxElevation\x20-\x20minElevation,\x200.001),\x200.0,\x2010.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20WATER_LEVEL;\x0a\x20\x20}\x0a\x0a\x20\x20const\x20mat2\x20m\x20=\x20mat2(0.72,\x20-1.60,\x201.60,\x200.72);\x0a\x20\x20const\x20float\x20FLOW_ANIMATION_SPEED_SCALE\x20=\x201.2;\x0a\x0a\x20\x20vec2\x20flow_dir()\x20{\x0a\x20\x20\x20\x20float\x20len\x20=\x20length(flow_direction);\x0a\x20\x20\x20\x20if\x20(len\x20<\x200.0001)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20vec2(1.0,\x200.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20flow_direction\x20/\x20len;\x0a\x20\x20}\x0a\x0a\x20\x20vec2\x20flow_space(vec2\x20p)\x20{\x0a\x20\x20\x20\x20vec2\x20dir\x20=\x20flow_dir();\x0a\x20\x20\x20\x20vec2\x20side\x20=\x20vec2(-dir.y,\x20dir.x);\x0a\x20\x20\x20\x20return\x20vec2(dot(p,\x20dir),\x20dot(p,\x20side));\x0a\x20\x20}\x0a\x0a\x20\x20float\x20flow_offset(float\x20speed_multiplier)\x20{\x0a\x20\x20\x20\x20return\x20iTime\x20*\x20max(flow_speed,\x200.0)\x20*\x20max(flow_strength,\x200.0)\x20*\x20FLOW_ANIMATION_SPEED_SCALE\x20*\x20speed_multiplier;\x0a\x20\x20}\x0a\x0a\x20\x20vec2\x20flow_uv(vec2\x20p,\x20float\x20scale,\x20float\x20speed_multiplier)\x20{\x0a\x20\x20\x20\x20vec2\x20uv\x20=\x20flow_space(p);\x0a\x20\x20\x20\x20float\x20safeScale\x20=\x20max(scale,\x200.001);\x0a\x20\x20\x20\x20return\x20vec2(uv.x\x20*\x20safeScale\x20-\x20flow_offset(speed_multiplier),\x20uv.y\x20*\x20safeScale);\x0a\x20\x20}\x0a\x0a\x20\x20float\x20water_map(vec2\x20p,\x20float\x20height)\x20{\x0a\x20\x20\x20\x20vec2\x20p2\x20=\x20flow_uv(p,\x20large_wavesize\x20*\x20flow_wave_scale,\x200.22);\x0a\x0a\x20\x20\x20\x20float\x20f\x20=\x200.6000\x20*\x20noise(p2);\x0a\x20\x20\x20\x20f\x20+=\x200.2500\x20*\x20noise(p2\x20*\x20m);\x0a\x20\x20\x20\x20f\x20+=\x200.1666\x20*\x20noise(p2\x20*\x20m\x20*\x20m);\x0a\x20\x20\x20\x20float\x20wave\x20=\x20sin(p2.x\x20*\x201.244)\x20*\x20large_waveheight\x20*\x20flow_wave_strength\x20*\x20f\x20*\x20height\x20*\x20height;\x0a\x0a\x20\x20\x20\x20p\x20=\x20flow_uv(p,\x20small_wavesize\x20*\x20flow_wave_scale,\x200.24);\x0a\x20\x20\x20\x20f\x20=\x200.0;\x0a\x20\x20\x20\x20float\x20amp\x20=\x201.0;\x0a\x20\x20\x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x209;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20p\x20=\x20m\x20*\x20p\x20*\x200.947;\x0a\x20\x20\x20\x20\x20\x20f\x20-=\x20amp\x20*\x20abs(sin((noise(p)\x20-\x200.5)\x20*\x202.0));\x0a\x20\x20\x20\x20\x20\x20amp\x20=\x20amp\x20*\x200.59;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20wave\x20+\x20f\x20*\x20small_waveheight;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20nautic(vec2\x20p)\x20{\x0a\x20\x20\x20\x20p\x20=\x20flow_uv(p,\x2018.0,\x200.26);\x0a\x20\x20\x20\x20float\x20f\x20=\x200.0;\x0a\x20\x20\x20\x20float\x20amp\x20=\x201.0;\x0a\x20\x20\x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x203;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20p\x20=\x20m\x20*\x20p\x20*\x201.2;\x0a\x20\x20\x20\x20\x20\x20f\x20+=\x20amp\x20*\x20abs(smoothstep(0.0,\x201.0,\x20noise(p))\x20-\x200.5);\x0a\x20\x20\x20\x20\x20\x20amp\x20=\x20amp\x20*\x200.5;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pow(1.0\x20-\x20f,\x205.0);\x0a\x20\x20}\x0a\x0a\x20\x20float\x20particles(vec2\x20p)\x20{\x0a\x20\x20\x20\x20p\x20=\x20flow_uv(p,\x20200.0,\x200.28);\x0a\x20\x20\x20\x20float\x20f\x20=\x200.0;\x0a\x20\x20\x20\x20float\x20amp\x20=\x201.0;\x0a\x20\x20\x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x203;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20p\x20=\x20m\x20*\x20p\x20*\x201.2;\x0a\x20\x20\x20\x20\x20\x20f\x20+=\x20amp\x20*\x20noise(p);\x0a\x20\x20\x20\x20\x20\x20amp\x20=\x20amp\x20*\x200.5;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20float\x20foam\x20=\x20max(0.0,\x20(f\x20-\x20foam_coverage)\x20/\x20max(foam_coverage,\x200.001));\x0a\x20\x20\x20\x20return\x20pow(foam\x20*\x200.35,\x20max(foam_contrast,\x200.001)\x20*\x205.0)\x20*\x20particle_amount\x20*\x20foam_amount;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20test_shadow(vec2\x20xy,\x20float\x20height)\x20{\x0a\x20\x20\x20\x20vec3\x20r0\x20=\x20vec3(xy,\x20height);\x0a\x20\x20\x20\x20vec3\x20rd\x20=\x20normalize(light\x20-\x20r0);\x0a\x0a\x20\x20\x20\x20float\x20hit\x20=\x201.0;\x0a\x20\x20\x20\x20float\x20t\x20=\x200.001;\x0a\x20\x20\x20\x20for\x20(int\x20j\x20=\x201;\x20j\x20<\x2025;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20vec3\x20p\x20=\x20r0\x20+\x20t\x20*\x20rd;\x0a\x20\x20\x20\x20\x20\x20float\x20h\x20=\x20height_map(p.xy);\x0a\x20\x20\x20\x20\x20\x20float\x20height_diff\x20=\x20p.z\x20-\x20h;\x0a\x20\x20\x20\x20\x20\x20if\x20(height_diff\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x200.0;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20t\x20+=\x200.01\x20+\x20height_diff\x20*\x200.02;\x0a\x20\x20\x20\x20\x20\x20hit\x20=\x20min(hit,\x202.0\x20*\x20height_diff\x20/\x20t);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20hit;\x0a\x20\x20}\x0a';var SAMPLED_TERRAIN_RIVER_VERTEX_SHADER=_0x2a3d95(0x140),SAMPLED_TERRAIN_RIVER_FRAGMENT_SHADER=_0x2a3d95(0x147);
@@ -0,0 +1,170 @@
1
+ /// <reference path="../typings.d.ts" />
2
+ import * as Cesium from 'deeptwins-cesium';
3
+ import { MapContext } from '../map/Map';
4
+ export type WaterTextureSource = string | HTMLCanvasElement | HTMLImageElement | HTMLVideoElement | ImageBitmap | ImageData | {
5
+ width: number;
6
+ height: number;
7
+ arrayBufferView: ArrayBufferView;
8
+ };
9
+ export type SampledTerrainWaterBounds = [number, number, number, number];
10
+ export type SampledTerrainWaterCoordinate = [number, number];
11
+ export interface SampledTerrainWaterPolygon {
12
+ rings: SampledTerrainWaterCoordinate[][];
13
+ }
14
+ export type ResolvedTextureSource = Exclude<WaterTextureSource, string>;
15
+ interface TerrainHeightMapCache {
16
+ heights: Float32Array;
17
+ minHeight: number;
18
+ maxHeight: number;
19
+ textureSize: number;
20
+ }
21
+ export interface ResolvedHeightMapData {
22
+ heightMap: WaterTextureSource;
23
+ minElevation: number;
24
+ maxElevation: number;
25
+ }
26
+ interface SampledTerrainWaterOptions {
27
+ geojson?: any;
28
+ heightMap?: WaterTextureSource;
29
+ canvas?: WaterTextureSource;
30
+ noise?: WaterTextureSource;
31
+ minElevation?: number;
32
+ maxElevation?: number;
33
+ granularity?: number;
34
+ terrainSample?: boolean;
35
+ textureSize?: number;
36
+ heightOffset?: number;
37
+ waterBodyMode?: boolean;
38
+ minWaterHeight?: number;
39
+ maxWaterHeight?: number;
40
+ waterHeight?: number;
41
+ style?: any;
42
+ }
43
+ interface SampledTerrainWaterData {
44
+ geojson?: any;
45
+ heightMap?: WaterTextureSource;
46
+ canvas?: WaterTextureSource;
47
+ noise?: WaterTextureSource;
48
+ minElevation?: number;
49
+ maxElevation?: number;
50
+ granularity?: number;
51
+ terrainSample?: boolean;
52
+ textureSize?: number;
53
+ heightOffset?: number;
54
+ waterBodyMode?: boolean;
55
+ minWaterHeight?: number;
56
+ maxWaterHeight?: number;
57
+ waterHeight?: number;
58
+ }
59
+ interface SampledTerrainWaterPrimitiveOptions {
60
+ polygons: SampledTerrainWaterPolygon[];
61
+ bounds: SampledTerrainWaterBounds;
62
+ heightMap: WaterTextureSource;
63
+ noise: WaterTextureSource;
64
+ minElevation: number;
65
+ maxElevation: number;
66
+ granularity: number;
67
+ waterBodyMode: boolean;
68
+ waterHeight: number;
69
+ style: any;
70
+ }
71
+ export declare const DEFAULT_NOISE_SIZE = 512;
72
+ export declare const DEFAULT_NOISE_TEXTURE_FILE = "Image/noise.png";
73
+ export declare const DEFAULT_TERRAIN_TEXTURE_SIZE = 128;
74
+ export declare const MIN_TERRAIN_TEXTURE_SIZE = 64;
75
+ export declare const MAX_TERRAIN_TEXTURE_SIZE = 512;
76
+ export declare const CesiumRuntime: any;
77
+ export default class SampledTerrainWater {
78
+ _mapContext: MapContext | undefined;
79
+ id: string;
80
+ geojson: any;
81
+ heightMap: WaterTextureSource | undefined;
82
+ noise: WaterTextureSource;
83
+ minElevation: number;
84
+ maxElevation: number;
85
+ granularity: number;
86
+ terrainSample: boolean;
87
+ textureSize: number;
88
+ heightOffset: number;
89
+ waterBodyMode: boolean;
90
+ minWaterHeight: number;
91
+ maxWaterHeight: number;
92
+ waterHeight: number;
93
+ style: any;
94
+ primitive: SampledTerrainWaterPrimitive | null;
95
+ isDestroyed: boolean;
96
+ private _polygons;
97
+ private _bounds;
98
+ private _isAdded;
99
+ private _buildVersion;
100
+ private _hasExplicitMinElevation;
101
+ private _hasExplicitMaxElevation;
102
+ constructor(options?: SampledTerrainWaterOptions);
103
+ getMap(): any;
104
+ addToMap(map: any): this | undefined;
105
+ remove(): this;
106
+ show(isShow: boolean): this | undefined;
107
+ setData(data?: SampledTerrainWaterData): this | undefined;
108
+ setStyle(style?: any): this | undefined;
109
+ flyTo(options?: any): this | undefined;
110
+ destroy(): void;
111
+ private _canOperate;
112
+ private _rebuildPrimitive;
113
+ private _resolveHeightMap;
114
+ private _hasValidData;
115
+ private _hasValidElevationRange;
116
+ }
117
+ declare class SampledTerrainWaterPrimitive {
118
+ show: boolean;
119
+ style: any;
120
+ private _polygons;
121
+ private _bounds;
122
+ private _heightMapSource;
123
+ private _noiseSource;
124
+ private _heightMap;
125
+ private _noise;
126
+ private _minElevation;
127
+ private _maxElevation;
128
+ private _granularity;
129
+ private _waterBodyMode;
130
+ waterHeight: number;
131
+ private _showLines;
132
+ private _drawCommands;
133
+ private _vertexArrays;
134
+ private _shaderProgram;
135
+ private _renderState;
136
+ private _heightMapTexture;
137
+ private _noiseTexture;
138
+ private _textureLoadPromise;
139
+ private _time;
140
+ constructor(options: SampledTerrainWaterPrimitiveOptions);
141
+ set showLines(value: boolean);
142
+ get showLines(): boolean;
143
+ update(frameState: any): void;
144
+ isDestroyed(): boolean;
145
+ destroy(): void;
146
+ private _createCommand;
147
+ private _createUniformMap;
148
+ private _loadTextureSources;
149
+ private _destroyCommand;
150
+ }
151
+ export declare function createTexture(context: any, source: ResolvedTextureSource, textureWrap?: any): any;
152
+ export declare function getTextureSize(source: ResolvedTextureSource): {
153
+ width: any;
154
+ height: any;
155
+ };
156
+ export declare function resolveTextureSource(source: WaterTextureSource): Promise<ResolvedTextureSource>;
157
+ export declare function loadImage(url: string): Promise<HTMLImageElement>;
158
+ export declare function getTerrainHeightMap(map: any, bounds: SampledTerrainWaterBounds, textureSize: number): Promise<TerrainHeightMapCache>;
159
+ export declare function encodeTerrainHeightMap(terrainHeightMap: TerrainHeightMapCache, minElevation: number, maxElevation: number, heightOffset: number): ImageData;
160
+ export declare function getTerrainHeightMapCacheKey(bounds: SampledTerrainWaterBounds, textureSize: number): string;
161
+ export declare function normalizeTerrainTextureSize(textureSize: number): number;
162
+ export declare function toFiniteNumber(value: any, defaultValue: number): number;
163
+ export declare function expandBounds(bounds: SampledTerrainWaterBounds, scale: number): SampledTerrainWaterBounds;
164
+ export declare function getPolygonsBounds(polygons: SampledTerrainWaterPolygon[]): SampledTerrainWaterBounds | undefined;
165
+ export declare function collectGeoJsonPolygons(geojson: any): SampledTerrainWaterPolygon[];
166
+ export declare function createPolygonGeometry(polygon: SampledTerrainWaterPolygon, bounds: SampledTerrainWaterBounds, minElevation: number, granularity: number): Cesium.Geometry | null | undefined;
167
+ export declare function normalizeShaderColor(color: any): Cesium.Cartesian3;
168
+ export declare function formatError(error: unknown): string;
169
+ export declare const SAMPLED_TERRAIN_WATER_COMMON_SHADER = "\n uniform sampler2D heightMap;\n uniform float heightScale;\n uniform float maxElevation;\n uniform float minElevation;\n uniform sampler2D iChannel0;\n uniform float iTime;\n uniform bool water_body_mode;\n uniform bool has_water_height;\n uniform float water_height;\n\n uniform float coast2water_fadedepth;\n uniform float large_waveheight;\n uniform float large_wavesize;\n uniform float small_waveheight;\n uniform float small_wavesize;\n uniform float water_softlight_fact;\n uniform float water_glossylight_fact;\n uniform float particle_amount;\n uniform float WATER_LEVEL;\n uniform float shore_fade_distance;\n uniform float edge_fade_width;\n uniform float depth_color_range;\n uniform float min_alpha;\n uniform float max_alpha;\n uniform vec3 water_color;\n uniform vec3 deep_water_color;\n uniform vec3 water_specular_color;\n vec3 light;\n\n float hash(float n) {\n return fract(sin(n) * 43758.5453123);\n }\n\n float noise1(in vec2 x) {\n vec2 p = floor(x);\n vec2 f = smoothstep(0.0, 1.0, fract(x));\n float n = p.x + p.y * 57.0;\n return mix(mix(hash(n + 0.0), hash(n + 1.0), f.x), mix(hash(n + 57.0), hash(n + 58.0), f.x), f.y);\n }\n\n float noise(vec2 p) {\n return textureLod(iChannel0, p * vec2(1.0 / 256.0), 0.0).x;\n }\n\n float height_map(vec2 p) {\n float f = texture(heightMap, p).r;\n return clamp(f, 0.0, 10.0);\n }\n\n float normalized_water_height() {\n if (has_water_height) {\n return clamp((water_height - minElevation) / max(maxElevation - minElevation, 0.001), 0.0, 10.0);\n }\n return WATER_LEVEL;\n }\n\n float edge_fade(vec2 uv) {\n float width = max(edge_fade_width, 0.0001);\n float dist = min(min(uv.x, 1.0 - uv.x), min(uv.y, 1.0 - uv.y));\n return clamp(dist / width, 0.0, 1.0);\n }\n\n const mat2 m = mat2(0.72, -1.60, 1.60, 0.72);\n\n float water_map(vec2 p, float height) {\n vec2 p2 = p * large_wavesize;\n vec2 shift1 = 0.001 * vec2(iTime * 160.0 * 2.0, iTime * 120.0 * 2.0);\n vec2 shift2 = 0.001 * vec2(iTime * 190.0 * 2.0, -iTime * 130.0 * 2.0);\n\n float f = 0.6000 * noise(p);\n f += 0.2500 * noise(p * m);\n f += 0.1666 * noise(p * m * m);\n float wave = sin(p2.x * 0.622 + p2.y * 0.622 + shift2.x * 4.269) * large_waveheight * f * height * height;\n\n p *= small_wavesize;\n f = 0.0;\n float amp = 1.0;\n float s = 0.5;\n for (int i = 0; i < 9; i++) {\n p = m * p * 0.947;\n f -= amp * abs(sin((noise(p + shift1 * s) - 0.5) * 2.0));\n amp = amp * 0.59;\n s *= -1.329;\n }\n\n return wave + f * small_waveheight;\n }\n\n float nautic(vec2 p) {\n p *= 18.0;\n float f = 0.0;\n float amp = 1.0;\n float s = 0.5;\n for (int i = 0; i < 3; i++) {\n p = m * p * 1.2;\n f += amp * abs(smoothstep(0.0, 1.0, noise(p + iTime * s)) - 0.5);\n amp = amp * 0.5;\n s *= -1.227;\n }\n return pow(1.0 - f, 5.0);\n }\n\n float particles(vec2 p) {\n p *= 200.0;\n float f = 0.0;\n float amp = 1.0;\n float s = 1.5;\n for (int i = 0; i < 3; i++) {\n p = m * p * 1.2;\n f += amp * noise(p + iTime * s);\n amp = amp * 0.5;\n s *= -1.227;\n }\n return pow(f * 0.35, 7.0) * particle_amount;\n }\n\n float test_shadow(vec2 xy, float height) {\n vec3 r0 = vec3(xy, height);\n vec3 rd = normalize(light - r0);\n\n float hit = 1.0;\n float t = 0.001;\n for (int j = 1; j < 25; j++) {\n vec3 p = r0 + t * rd;\n float h = height_map(p.xy);\n float height_diff = p.z - h;\n if (height_diff < 0.0) {\n return 0.0;\n }\n t += 0.01 + height_diff * 0.02;\n hit = min(hit, 2.0 * height_diff / t);\n }\n return hit;\n }\n";
170
+ export {};