@vtx/cs-map 1.0.136 → 1.0.137

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 (443) hide show
  1. package/CHANGELOG.md +124 -124
  2. package/README.md +202 -202
  3. package/lib/_util/EventEmitter.js +10 -9
  4. package/lib/_util/EventEmitter.js.map +1 -1
  5. package/lib/_util/Provider.js +1 -1
  6. package/lib/_util/Provider.js.map +1 -1
  7. package/lib/_util/StyleCache.js +7 -6
  8. package/lib/_util/StyleCache.js.map +1 -1
  9. package/lib/_util/cesium.js +11 -10
  10. package/lib/_util/cesium.js.map +1 -1
  11. package/lib/_util/encryptParams.js +1 -1
  12. package/lib/_util/encryptParams.js.map +1 -1
  13. package/lib/_util/filterSpecialCharacters.js +12 -12
  14. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  15. package/lib/_util/generateRandomPosition.js +5 -5
  16. package/lib/_util/generateRandomPosition.js.map +1 -1
  17. package/lib/_util/getBBoxFromGeojson.js +17 -16
  18. package/lib/_util/getBBoxFromGeojson.js.map +1 -1
  19. package/lib/_util/getComponentProps.js.map +1 -1
  20. package/lib/_util/getCookie.js +4 -4
  21. package/lib/_util/getCookie.js.map +1 -1
  22. package/lib/_util/getDefaultMapInfo.js +3 -3
  23. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  24. package/lib/_util/getSystemInfo.js +3 -3
  25. package/lib/_util/getSystemInfo.js.map +1 -1
  26. package/lib/_util/getToken.js +5 -5
  27. package/lib/_util/getToken.js.map +1 -1
  28. package/lib/_util/getUrlParam.js +1 -1
  29. package/lib/_util/getUrlParam.js.map +1 -1
  30. package/lib/_util/heightAndZoom.js.map +1 -1
  31. package/lib/_util/http.js +27 -26
  32. package/lib/_util/http.js.map +1 -1
  33. package/lib/_util/isFunction.js.map +1 -1
  34. package/lib/_util/isObject.js.map +1 -1
  35. package/lib/_util/layer.js +14 -14
  36. package/lib/_util/layer.js.map +1 -1
  37. package/lib/_util/mapTool.js +34 -34
  38. package/lib/_util/mapTool.js.map +1 -1
  39. package/lib/_util/parabola.js +7 -7
  40. package/lib/_util/parabola.js.map +1 -1
  41. package/lib/_util/setCookie.js +4 -4
  42. package/lib/_util/setCookie.js.map +1 -1
  43. package/lib/_util/transformRgb.js.map +1 -1
  44. package/lib/_util/useColSize.js +1 -1
  45. package/lib/_util/useColSize.js.map +1 -1
  46. package/lib/_util/useInterval.js.map +1 -1
  47. package/lib/_util/useProps.js.map +1 -1
  48. package/lib/_util/useSet.js +7 -7
  49. package/lib/_util/useSet.js.map +1 -1
  50. package/lib/building-tiles-layer/BuildingTilesLayer.js +20 -18
  51. package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
  52. package/lib/building-tiles-layer/index.js +6 -6
  53. package/lib/building-tiles-layer/index.js.map +1 -1
  54. package/lib/building-tiles-layer/style/css.js.map +1 -1
  55. package/lib/building-tiles-layer/style/index.js.map +1 -1
  56. package/lib/cesium-tiles-layer/CesiumTilesLayer.js +21 -19
  57. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  58. package/lib/cesium-tiles-layer/demo/putian/index.less +27 -27
  59. package/lib/cesium-tiles-layer/index.js +6 -6
  60. package/lib/cesium-tiles-layer/index.js.map +1 -1
  61. package/lib/cesium-tiles-layer/style/css.js.map +1 -1
  62. package/lib/cesium-tiles-layer/style/index.js.map +1 -1
  63. package/lib/circle/Circle.js +20 -18
  64. package/lib/circle/Circle.js.map +1 -1
  65. package/lib/circle/index.js +3 -3
  66. package/lib/circle/index.js.map +1 -1
  67. package/lib/circle/style/css.js.map +1 -1
  68. package/lib/circle/style/index.js.map +1 -1
  69. package/lib/circle-fly/index.js +11 -11
  70. package/lib/circle-fly/index.js.map +1 -1
  71. package/lib/circle-fly/style/css.js.map +1 -1
  72. package/lib/circle-fly/style/index.js.map +1 -1
  73. package/lib/cone-glow-layer/BottomCircle.js.map +1 -1
  74. package/lib/cone-glow-layer/ButtomRotateCircle.js +8 -8
  75. package/lib/cone-glow-layer/ButtomRotateCircle.js.map +1 -1
  76. package/lib/cone-glow-layer/ConeGlowLayer.js +14 -12
  77. package/lib/cone-glow-layer/ConeGlowLayer.js.map +1 -1
  78. package/lib/cone-glow-layer/Texture.js.map +1 -1
  79. package/lib/config.js.map +1 -1
  80. package/lib/demand-layer/DemandLayer.js +27 -27
  81. package/lib/demand-layer/DemandLayer.js.map +1 -1
  82. package/lib/demand-layer/index.js +7 -7
  83. package/lib/demand-layer/index.js.map +1 -1
  84. package/lib/demand-layer/style/css.js.map +1 -1
  85. package/lib/demand-layer/style/index.js.map +1 -1
  86. package/lib/dom/Dom.js +11 -10
  87. package/lib/dom/Dom.js.map +1 -1
  88. package/lib/dom/index.js +8 -8
  89. package/lib/dom/index.js.map +1 -1
  90. package/lib/dom/style/css.js.map +1 -1
  91. package/lib/dom/style/index.js.map +1 -1
  92. package/lib/events/index.js.map +1 -1
  93. package/lib/excavation-analysis/Cut.js +26 -25
  94. package/lib/excavation-analysis/Cut.js.map +1 -1
  95. package/lib/excavation-analysis/TilesetCut.js +15 -14
  96. package/lib/excavation-analysis/TilesetCut.js.map +1 -1
  97. package/lib/excavation-analysis/hooks/useDrawHandler.js +1 -1
  98. package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
  99. package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
  100. package/lib/excavation-analysis/hooks/useTileSetCut.js +1 -1
  101. package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
  102. package/lib/excavation-analysis/index.js +4 -3
  103. package/lib/excavation-analysis/index.js.map +1 -1
  104. package/lib/excavation-analysis/style/css.js.map +1 -1
  105. package/lib/excavation-analysis/style/index.js.map +1 -1
  106. package/lib/feature-layer/FeatureLayer.js +29 -29
  107. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  108. package/lib/feature-layer/createFeatureCollection.js +22 -22
  109. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  110. package/lib/feature-layer/customClusterStyle.js +6 -6
  111. package/lib/feature-layer/customClusterStyle.js.map +1 -1
  112. package/lib/feature-layer/index.js +12 -12
  113. package/lib/feature-layer/index.js.map +1 -1
  114. package/lib/feature-layer/style/css.js.map +1 -1
  115. package/lib/feature-layer/style/index.js.map +1 -1
  116. package/lib/fence-layer/FenceLayer.js +32 -32
  117. package/lib/fence-layer/FenceLayer.js.map +1 -1
  118. package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
  119. package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
  120. package/lib/fence-layer/index.js +6 -6
  121. package/lib/fence-layer/index.js.map +1 -1
  122. package/lib/fence-layer/style/css.js.map +1 -1
  123. package/lib/fence-layer/style/index.js.map +1 -1
  124. package/lib/flight-line-layer/FlightLineLayer.js +14 -13
  125. package/lib/flight-line-layer/FlightLineLayer.js.map +1 -1
  126. package/lib/flight-line-layer/index.js +8 -8
  127. package/lib/flight-line-layer/index.js.map +1 -1
  128. package/lib/flight-line-layer/style/css.js.map +1 -1
  129. package/lib/flight-line-layer/style/index.js.map +1 -1
  130. package/lib/fly-line-layer/FlyLineLayer.js +35 -35
  131. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
  132. package/lib/fly-line-layer/LineFlowMaterialProperty.js +7 -6
  133. package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
  134. package/lib/fly-line-layer/index.js +3 -3
  135. package/lib/fly-line-layer/index.js.map +1 -1
  136. package/lib/fly-line-layer/style/css.js.map +1 -1
  137. package/lib/fly-line-layer/style/index.js.map +1 -1
  138. package/lib/gif-dom-layer/GifDomLayer.js +12 -11
  139. package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
  140. package/lib/gif-dom-layer/index.js +3 -3
  141. package/lib/gif-dom-layer/index.js.map +1 -1
  142. package/lib/gif-dom-layer/style/css.js.map +1 -1
  143. package/lib/gif-dom-layer/style/index.js.map +1 -1
  144. package/lib/gradation-line-layer/GradationLineLayer.js +18 -16
  145. package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
  146. package/lib/gradation-line-layer/index.js +3 -3
  147. package/lib/gradation-line-layer/index.js.map +1 -1
  148. package/lib/gradation-line-layer/style/css.js.map +1 -1
  149. package/lib/gradation-line-layer/style/index.js.map +1 -1
  150. package/lib/group-layer/GroupLayer.js +9 -8
  151. package/lib/group-layer/GroupLayer.js.map +1 -1
  152. package/lib/group-layer/index.js +7 -7
  153. package/lib/group-layer/index.js.map +1 -1
  154. package/lib/group-layer/style/css.js.map +1 -1
  155. package/lib/group-layer/style/index.js.map +1 -1
  156. package/lib/heatmap-layer/CesiumHeatmap.js +42 -43
  157. package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
  158. package/lib/heatmap-layer/HeatmapLayer.js +26 -24
  159. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
  160. package/lib/heatmap-layer/heatmap.js +42 -41
  161. package/lib/heatmap-layer/heatmap.js.map +1 -1
  162. package/lib/heatmap-layer/index.js +15 -15
  163. package/lib/heatmap-layer/index.js.map +1 -1
  164. package/lib/heatmap-layer/style/css.js.map +1 -1
  165. package/lib/heatmap-layer/style/index.js.map +1 -1
  166. package/lib/highlight-layer/HighlightLayer.js +17 -16
  167. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  168. package/lib/highlight-layer/index.js +3 -3
  169. package/lib/highlight-layer/index.js.map +1 -1
  170. package/lib/highlight-layer/style/css.js.map +1 -1
  171. package/lib/highlight-layer/style/index.js.map +1 -1
  172. package/lib/image-layer/ImageLayer.js +26 -26
  173. package/lib/image-layer/ImageLayer.js.map +1 -1
  174. package/lib/image-layer/index.js +8 -8
  175. package/lib/image-layer/index.js.map +1 -1
  176. package/lib/image-layer/style/css.js.map +1 -1
  177. package/lib/image-layer/style/index.js.map +1 -1
  178. package/lib/image-wms-layer/ImageWmsLayer.js +10 -9
  179. package/lib/image-wms-layer/ImageWmsLayer.js.map +1 -1
  180. package/lib/image-wms-layer/index.js +8 -8
  181. package/lib/image-wms-layer/index.js.map +1 -1
  182. package/lib/image-wms-layer/style/css.js.map +1 -1
  183. package/lib/image-wms-layer/style/index.js.map +1 -1
  184. package/lib/index.js +1 -1
  185. package/lib/index.js.map +1 -1
  186. package/lib/inundate-analysis/index.js +8 -8
  187. package/lib/inundate-analysis/index.js.map +1 -1
  188. package/lib/inundate-analysis/style/css.js.map +1 -1
  189. package/lib/inundate-analysis/style/index.js.map +1 -1
  190. package/lib/label/Label.js +25 -23
  191. package/lib/label/Label.js.map +1 -1
  192. package/lib/label/index.js +3 -3
  193. package/lib/label/index.js.map +1 -1
  194. package/lib/label/style/css.js.map +1 -1
  195. package/lib/label/style/index.js.map +1 -1
  196. package/lib/legend/index.js +15 -15
  197. package/lib/legend/index.js.map +1 -1
  198. package/lib/legend/style/css.js.map +1 -1
  199. package/lib/legend/style/index.js.map +1 -1
  200. package/lib/legend/style/index.less +74 -74
  201. package/lib/line-flow-layer/LineFlowLayer.js +27 -26
  202. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
  203. package/lib/line-flow-layer/index.js +6 -6
  204. package/lib/line-flow-layer/index.js.map +1 -1
  205. package/lib/line-flow-layer/style/css.js.map +1 -1
  206. package/lib/line-flow-layer/style/index.js.map +1 -1
  207. package/lib/map/InfoTool/index.js +74 -66
  208. package/lib/map/InfoTool/index.js.map +1 -1
  209. package/lib/map/InfoTool/index.less +46 -46
  210. package/lib/map/InfoTool/util.js +23 -23
  211. package/lib/map/InfoTool/util.js.map +1 -1
  212. package/lib/map/InfoWindow.js +7 -7
  213. package/lib/map/InfoWindow.js.map +1 -1
  214. package/lib/map/Layers.js +31 -29
  215. package/lib/map/Layers.js.map +1 -1
  216. package/lib/map/Popup.js +19 -19
  217. package/lib/map/Popup.js.map +1 -1
  218. package/lib/map/base/imagery/amap/AmapImageryProvider.js +16 -15
  219. package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
  220. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js +16 -15
  221. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
  222. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js +8 -7
  223. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  224. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +84 -83
  225. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
  226. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +33 -31
  227. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
  228. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js +16 -15
  229. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
  230. package/lib/map/base/imagery/google/GoogleImageryProvider.js +15 -14
  231. package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
  232. package/lib/map/base/imagery/irs/IRSImageryProvider.js +22 -20
  233. package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
  234. package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js +20 -19
  235. package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js.map +1 -1
  236. package/lib/map/base/imagery/tdt/ShanDongTdtImageryProvider.js +61 -0
  237. package/lib/map/base/imagery/tdt/ShanDongTdtImageryProvider.js.map +1 -0
  238. package/lib/map/base/imagery/tdt/TdtImageryProvider.js +26 -23
  239. package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
  240. package/lib/map/base/imagery/tencent/TencentImageryProvider.js +16 -15
  241. package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
  242. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js +16 -15
  243. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
  244. package/lib/map/base/imagery/transform/CoordTransform.js +49 -48
  245. package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
  246. package/lib/map/base/index.js +28 -23
  247. package/lib/map/base/index.js.map +1 -1
  248. package/lib/map/hooks/useGetMapFeatureInfoByText.js +5 -5
  249. package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
  250. package/lib/map/index.js +19 -19
  251. package/lib/map/index.js.map +1 -1
  252. package/lib/map/material/AroundPoint.js +7 -6
  253. package/lib/map/material/AroundPoint.js.map +1 -1
  254. package/lib/map/material/CircleRippleMaterialProperty.js +6 -5
  255. package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
  256. package/lib/map/material/ODLineLayer.js +7 -6
  257. package/lib/map/material/ODLineLayer.js.map +1 -1
  258. package/lib/map/material/PolylineTrailLinkMaterialProperty.js +8 -7
  259. package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
  260. package/lib/map/material/PolylineTrailMaterialProperty.js +8 -7
  261. package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
  262. package/lib/map/material/TilesBuilding.js +7 -6
  263. package/lib/map/material/TilesBuilding.js.map +1 -1
  264. package/lib/map/material/index.js +1 -1
  265. package/lib/map/material/index.js.map +1 -1
  266. package/lib/map/style/css.js.map +1 -1
  267. package/lib/map/style/index.js.map +1 -1
  268. package/lib/map/style/index.less +156 -156
  269. package/lib/marker/Marker.js +26 -24
  270. package/lib/marker/Marker.js.map +1 -1
  271. package/lib/marker/index.js +3 -3
  272. package/lib/marker/index.js.map +1 -1
  273. package/lib/marker/style/css.js.map +1 -1
  274. package/lib/marker/style/index.js.map +1 -1
  275. package/lib/model/Model.js +25 -23
  276. package/lib/model/Model.js.map +1 -1
  277. package/lib/model/index.js +8 -8
  278. package/lib/model/index.js.map +1 -1
  279. package/lib/model/style/css.js.map +1 -1
  280. package/lib/model/style/index.js.map +1 -1
  281. package/lib/navigation/index.js +13 -13
  282. package/lib/navigation/index.js.map +1 -1
  283. package/lib/navigation/style/css.js.map +1 -1
  284. package/lib/navigation/style/index.js.map +1 -1
  285. package/lib/navigation/style/index.less +176 -176
  286. package/lib/pipe-tiles-layer/PipeTilesLayer.js +20 -19
  287. package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
  288. package/lib/pipe-tiles-layer/index.js +6 -6
  289. package/lib/pipe-tiles-layer/index.js.map +1 -1
  290. package/lib/pipe-tiles-layer/style/css.js.map +1 -1
  291. package/lib/pipe-tiles-layer/style/index.js.map +1 -1
  292. package/lib/point/Point.js +25 -23
  293. package/lib/point/Point.js.map +1 -1
  294. package/lib/point/index.js +3 -3
  295. package/lib/point/index.js.map +1 -1
  296. package/lib/point/style/css.js.map +1 -1
  297. package/lib/point/style/index.js.map +1 -1
  298. package/lib/polygon/FlowMaterial.js +57 -0
  299. package/lib/polygon/FlowMaterial.js.map +1 -0
  300. package/lib/polygon/Polygon.js +25 -23
  301. package/lib/polygon/Polygon.js.map +1 -1
  302. package/lib/polygon/index.js +3 -3
  303. package/lib/polygon/index.js.map +1 -1
  304. package/lib/polygon/style/css.js.map +1 -1
  305. package/lib/polygon/style/index.js.map +1 -1
  306. package/lib/polyline/Polyline.js +25 -23
  307. package/lib/polyline/Polyline.js.map +1 -1
  308. package/lib/polyline/index.js +3 -3
  309. package/lib/polyline/index.js.map +1 -1
  310. package/lib/polyline/style/css.js.map +1 -1
  311. package/lib/polyline/style/index.js.map +1 -1
  312. package/lib/popup/index.js +11 -11
  313. package/lib/popup/index.js.map +1 -1
  314. package/lib/popup/style/css.js.map +1 -1
  315. package/lib/popup/style/index.js.map +1 -1
  316. package/lib/popup/style/index.less +149 -149
  317. package/lib/renderer/index.js +23 -21
  318. package/lib/renderer/index.js.map +1 -1
  319. package/lib/renderer/style/css.js.map +1 -1
  320. package/lib/renderer/style/index.js.map +1 -1
  321. package/lib/road-line-layer/RoadLineLayer.js +28 -26
  322. package/lib/road-line-layer/RoadLineLayer.js.map +1 -1
  323. package/lib/road-line-layer/index.js +3 -3
  324. package/lib/road-line-layer/index.js.map +1 -1
  325. package/lib/road-line-layer/style/css.js.map +1 -1
  326. package/lib/road-line-layer/style/index.js.map +1 -1
  327. package/lib/scene-roam/index.js +6 -6
  328. package/lib/scene-roam/index.js.map +1 -1
  329. package/lib/scene-roam/style/css.js.map +1 -1
  330. package/lib/scene-roam/style/index.js.map +1 -1
  331. package/lib/slider-scene/index.js +3 -3
  332. package/lib/slider-scene/index.js.map +1 -1
  333. package/lib/slider-scene/style/css.js.map +1 -1
  334. package/lib/slider-scene/style/index.js.map +1 -1
  335. package/lib/slider-scene/style/index.less +13 -13
  336. package/lib/split-screen/index.js +9 -9
  337. package/lib/split-screen/index.js.map +1 -1
  338. package/lib/split-screen/style/css.js.map +1 -1
  339. package/lib/split-screen/style/index.js.map +1 -1
  340. package/lib/style/index.less +2 -2
  341. package/lib/style/themes/compact.less +1 -1
  342. package/lib/style/themes/dark.less +9 -9
  343. package/lib/style/themes/default.less +7 -7
  344. package/lib/style/themes/index.less +1 -1
  345. package/lib/style/themes/variable.less +5 -5
  346. package/lib/three-line-layer/ThreeLineLayer.js +16 -12
  347. package/lib/three-line-layer/ThreeLineLayer.js.map +1 -1
  348. package/lib/three-line-layer/index.js +8 -8
  349. package/lib/three-line-layer/index.js.map +1 -1
  350. package/lib/three-line-layer/style/css.js.map +1 -1
  351. package/lib/three-line-layer/style/index.js.map +1 -1
  352. package/lib/three-point-layer/DiffuseCircle.js +14 -12
  353. package/lib/three-point-layer/DiffuseCircle.js.map +1 -1
  354. package/lib/three-point-layer/Grate.js +90 -90
  355. package/lib/three-point-layer/Grate.js.map +1 -1
  356. package/lib/three-point-layer/ThreePointLayer.js +14 -11
  357. package/lib/three-point-layer/ThreePointLayer.js.map +1 -1
  358. package/lib/three-point-layer/Well.js +63 -63
  359. package/lib/three-point-layer/Well.js.map +1 -1
  360. package/lib/three-point-layer/index.js +3 -3
  361. package/lib/three-point-layer/index.js.map +1 -1
  362. package/lib/three-point-layer/style/css.js.map +1 -1
  363. package/lib/three-point-layer/style/index.js.map +1 -1
  364. package/lib/tools/base-map-switch/index.js +10 -10
  365. package/lib/tools/base-map-switch/index.js.map +1 -1
  366. package/lib/tools/components/Icon/index.js +1 -1
  367. package/lib/tools/components/Icon/index.js.map +1 -1
  368. package/lib/tools/components/Icon/svg.js +1 -1
  369. package/lib/tools/components/Icon/svg.js.map +1 -1
  370. package/lib/tools/components/Modal/index.js +3 -3
  371. package/lib/tools/components/Modal/index.js.map +1 -1
  372. package/lib/tools/components/Modal/index.less +33 -33
  373. package/lib/tools/components/item-wrap/index.js +7 -7
  374. package/lib/tools/components/item-wrap/index.js.map +1 -1
  375. package/lib/tools/components/tool-Item/index.js +1 -1
  376. package/lib/tools/components/tool-Item/index.js.map +1 -1
  377. package/lib/tools/components/tool-Item/index.less +27 -27
  378. package/lib/tools/dimension-switch/index.js +7 -7
  379. package/lib/tools/dimension-switch/index.js.map +1 -1
  380. package/lib/tools/index.js +2 -2
  381. package/lib/tools/index.js.map +1 -1
  382. package/lib/tools/layer-control/index.js +17 -17
  383. package/lib/tools/layer-control/index.js.map +1 -1
  384. package/lib/tools/layer-control-popover/LayersCheckService.js +14 -13
  385. package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
  386. package/lib/tools/layer-control-popover/index.js +13 -13
  387. package/lib/tools/layer-control-popover/index.js.map +1 -1
  388. package/lib/tools/loading/index.js +7 -7
  389. package/lib/tools/loading/index.js.map +1 -1
  390. package/lib/tools/map-search/Select/index.js +12 -12
  391. package/lib/tools/map-search/Select/index.js.map +1 -1
  392. package/lib/tools/map-search/Select/style/css.js.map +1 -1
  393. package/lib/tools/map-search/Select/style/index.js.map +1 -1
  394. package/lib/tools/map-search/Select/style/index.less +47 -47
  395. package/lib/tools/map-search/index.js +13 -13
  396. package/lib/tools/map-search/index.js.map +1 -1
  397. package/lib/tools/style/css.js.map +1 -1
  398. package/lib/tools/style/index.js.map +1 -1
  399. package/lib/tools/style/index.less +309 -309
  400. package/lib/tools/tip/index.js +1 -1
  401. package/lib/tools/tip/index.js.map +1 -1
  402. package/lib/tools/tool-box/Measure/Area/index.js +2 -2
  403. package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
  404. package/lib/tools/tool-box/Measure/Distance/index.js +2 -2
  405. package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
  406. package/lib/tools/tool-box/Measure/Height/index.js +2 -2
  407. package/lib/tools/tool-box/Measure/Height/index.js.map +1 -1
  408. package/lib/tools/tool-box/Measure/Measure.js +43 -42
  409. package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
  410. package/lib/tools/tool-box/Measure/index.js +6 -6
  411. package/lib/tools/tool-box/Measure/index.js.map +1 -1
  412. package/lib/tools/tool-box/index.js +9 -8
  413. package/lib/tools/tool-box/index.js.map +1 -1
  414. package/lib/trail-polyline-layer/TrailPolylineLayer.js +18 -16
  415. package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
  416. package/lib/trail-polyline-layer/TrailPolylineMaterial.js +2 -2
  417. package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
  418. package/lib/trail-polyline-layer/index.js +3 -3
  419. package/lib/trail-polyline-layer/index.js.map +1 -1
  420. package/lib/trail-polyline-layer/style/css.js.map +1 -1
  421. package/lib/trail-polyline-layer/style/index.js.map +1 -1
  422. package/lib/use-props/index.js.map +1 -1
  423. package/lib/use-props/style/css.js.map +1 -1
  424. package/lib/use-props/style/index.js.map +1 -1
  425. package/lib/wall/WallGeometry.js +20 -19
  426. package/lib/wall/WallGeometry.js.map +1 -1
  427. package/lib/wall/index.js +3 -3
  428. package/lib/wall/index.js.map +1 -1
  429. package/lib/wall/style/css.js.map +1 -1
  430. package/lib/wall/style/index.js.map +1 -1
  431. package/lib/water-surface-layer/WaterSurfaceLayer.js +31 -31
  432. package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
  433. package/lib/water-surface-layer/index.js +6 -6
  434. package/lib/water-surface-layer/index.js.map +1 -1
  435. package/lib/water-surface-layer/style/css.js.map +1 -1
  436. package/lib/water-surface-layer/style/index.js.map +1 -1
  437. package/lib/weather/Weather.js +36 -35
  438. package/lib/weather/Weather.js.map +1 -1
  439. package/lib/weather/index.js +3 -3
  440. package/lib/weather/index.js.map +1 -1
  441. package/lib/weather/style/css.js.map +1 -1
  442. package/lib/weather/style/index.js.map +1 -1
  443. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","convertCamelToCSS","style","cssText","property","isNaN","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","_domRef$current","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\nconst convertCamelToCSS = (style) => {\n let cssText = '';\n for (let property in style) {\n if (style.hasOwnProperty(property)) {\n let value = style[property];\n if (value && typeof value === 'number' && !isNaN(value)) {\n value = value + 'px';\n }\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\n cssText += `${cssProperty}: ${value}; `;\n }\n }\n\n return cssText;\n}\n\nexport default function (props) {\n const {data, getParentContainer, style, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n setStyle(cssText, style);\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n const parentDom = getParentContainer ? getParentContainer() : map._element;\n parentDom.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n parentDom.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n setStyle(cssText, style);\n }, [cssText, JSON.stringify(style)]);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n const setStyle = (_cssText, _style) => {\n let cssText = domRef.current?.style?.cssText || `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n `;\n\n // 兼容css未加;\n if (_cssText) {\n const lastStr = _cssText[_cssText.length - 1];\n if (lastStr !== ';') {\n _cssText = `${_cssText}; `\n }\n\n cssText = `\n ${cssText}\n ${_cssText}\n `\n }\n\n if (_style) {\n // 转换为CSS文本\n const styleToCss = convertCamelToCSS(_style);\n cssText = `\n ${cssText}\n ${styleToCss}\n `\n }\n\n domRef.current.style.cssText = cssText;\n }\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","convertCamelToCSS","style","cssText","property","isNaN","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","_domRef$current","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {useUpdateEffect} from 'ahooks';\r\nimport useProps from '../use-props';\r\nimport Dom from './Dom';\r\n\r\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\r\nconst convertCamelToCSS = (style) => {\r\n let cssText = '';\r\n for (let property in style) {\r\n if (style.hasOwnProperty(property)) {\r\n let value = style[property];\r\n if (value && typeof value === 'number' && !isNaN(value)) {\r\n value = value + 'px';\r\n }\r\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\r\n cssText += `${cssProperty}: ${value}; `;\r\n }\r\n }\r\n\r\n return cssText;\r\n}\r\n\r\nexport default function (props) {\r\n const {data, getParentContainer, style, cssText, show = true, children, ...otherProps} = props;\r\n const {map} = useProps();\r\n\r\n const domRef = useRef(document.createElement('div'));\r\n const overlay = useRef();\r\n\r\n useEffect(() => {\r\n setStyle(cssText, style);\r\n\r\n overlay.current = new Dom({\r\n map,\r\n position: data,\r\n element: domRef.current,\r\n positioning: \"bottom-center\",\r\n offset: [0, -10],\r\n ...otherProps\r\n });\r\n\r\n const parentDom = getParentContainer ? getParentContainer() : map._element;\r\n parentDom.appendChild(domRef.current);\r\n\r\n return () => {\r\n overlay.current.destroy();\r\n\r\n parentDom.removeChild(domRef.current);\r\n }\r\n }, []);\r\n\r\n useUpdateEffect(() => {\r\n setStyle(cssText, style);\r\n }, [cssText, JSON.stringify(style)]);\r\n\r\n useUpdateEffect(() => {\r\n overlay.current.setPosition(data)\r\n }, [JSON.stringify(data)])\r\n\r\n useUpdateEffect(() => {\r\n domRef.current.style.display = show ? 'block' : 'none';\r\n }, [show])\r\n\r\n const setStyle = (_cssText, _style) => {\r\n let cssText = domRef.current?.style?.cssText || `\r\n display: ${show ? 'block' : 'none'};\r\n position: absolute;\r\n user-select: none;\r\n pointer-events: none;\r\n `;\r\n\r\n // 兼容css未加;\r\n if (_cssText) {\r\n const lastStr = _cssText[_cssText.length - 1];\r\n if (lastStr !== ';') {\r\n _cssText = `${_cssText}; `\r\n }\r\n\r\n cssText = `\r\n ${cssText}\r\n ${_cssText}\r\n `\r\n }\r\n\r\n if (_style) {\r\n // 转换为CSS文本\r\n const styleToCss = convertCamelToCSS(_style);\r\n cssText = `\r\n ${cssText}\r\n ${styleToCss}\r\n `\r\n }\r\n\r\n domRef.current.style.cssText = cssText;\r\n }\r\n\r\n return ReactDOM.createPortal(\r\n children,\r\n domRef.current\r\n );\r\n}\r\n\r\n// export default function (props) {\r\n// const {data, style, show = true, children, ...otherProps} = props;\r\n// const {map} = useProps();\r\n//\r\n// const domRef = useRef();\r\n// const overlay = useRef();\r\n//\r\n// useEffect(() => {\r\n// overlay.current = new Dom({\r\n// map,\r\n// position: data,\r\n// element: domRef.current,\r\n// positioning: \"bottom-center\",\r\n// offset: [0, -10],\r\n// ...otherProps\r\n// });\r\n//\r\n// return () => {\r\n// overlay.current.destroy();\r\n// }\r\n// }, []);\r\n//\r\n// useUpdateEffect(() => {\r\n// overlay.current.setPosition(data)\r\n// }, [JSON.stringify(data)])\r\n//\r\n// return (\r\n// <div\r\n// ref={domRef}\r\n// style={{\r\n// display: show ? 'block' : 'none',\r\n// position: 'absolute',\r\n// userSelect: 'none',\r\n// pointerEvents: 'none',\r\n// ...style\r\n// }}\r\n// >\r\n// {children}\r\n// </div>\r\n// )\r\n// }\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,IAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAwB,IAAAM,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAZ,MAAA,CAAAa,IAAA,CAAAH,CAAA,OAAAV,MAAA,CAAAc,qBAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAc,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAX,MAAA,CAAAE,wBAAA,CAAAQ,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAAC,MAAA,EAAAX,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAT,MAAA,CAAAY,CAAA,OAAAW,OAAA,WAAAZ,CAAA,IAAAa,eAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAX,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAhB,CAAA,EAAAV,MAAA,CAAAyB,yBAAA,CAAAb,CAAA,KAAAH,OAAA,CAAAT,MAAA,CAAAY,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAX,MAAA,CAAAC,cAAA,CAAAS,CAAA,EAAAC,CAAA,EAAAX,MAAA,CAAAE,wBAAA,CAAAU,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAc,gBAAArC,GAAA,EAAAgB,GAAA,EAAAwB,KAAA,IAAAxB,GAAA,GAAAyB,cAAA,CAAAzB,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAwB,KAAA,EAAAA,KAAA,EAAAV,UAAA,QAAAY,YAAA,QAAAC,QAAA,oBAAA3C,GAAA,CAAAgB,GAAA,IAAAwB,KAAA,WAAAxC,GAAA;AAAA,SAAAyC,eAAAG,GAAA,QAAA5B,GAAA,GAAA6B,YAAA,CAAAD,GAAA,oBAAArC,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAA8B,MAAA,CAAA9B,GAAA;AAAA,SAAA6B,aAAAE,KAAA,EAAAC,IAAA,QAAAzC,OAAA,CAAAwC,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAA9B,IAAA,CAAA4B,KAAA,EAAAC,IAAA,oBAAAzC,OAAA,CAAA8C,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAA1C,GAAA,EAAA6C,CAAA,MAAAhD,MAAA,CAAAc,qBAAA,QAAAmC,gBAAA,GAAAjD,MAAA,CAAAc,qBAAA,CAAA8B,MAAA,QAAAI,CAAA,MAAAA,CAAA,GAAAC,gBAAA,CAAA3B,MAAA,EAAA0B,CAAA,MAAA7C,GAAA,GAAA8C,gBAAA,CAAAD,CAAA,OAAAH,QAAA,CAAAK,OAAA,CAAA/C,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+C,oBAAA,CAAA7C,IAAA,CAAAsC,MAAA,EAAAzC,GAAA,aAAA2C,MAAA,CAAA3C,GAAA,IAAAyC,MAAA,CAAAzC,GAAA,cAAA2C,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAM,UAAA,GAAApD,MAAA,CAAAa,IAAA,CAAA+B,MAAA,OAAAzC,GAAA,EAAA6C,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAI,UAAA,CAAA9B,MAAA,EAAA0B,CAAA,MAAA7C,GAAA,GAAAiD,UAAA,CAAAJ,CAAA,OAAAH,QAAA,CAAAK,OAAA,CAAA/C,GAAA,kBAAA2C,MAAA,CAAA3C,GAAA,IAAAyC,MAAA,CAAAzC,GAAA,YAAA2C,MAAA;AAExB;AACA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAK;EACjC,IAAIC,OAAO,GAAG,EAAE;EAChB,KAAK,IAAIC,QAAQ,IAAIF,KAAK,EAAE;IACxB,IAAIA,KAAK,CAACjD,cAAc,CAACmD,QAAQ,CAAC,EAAE;MAChC,IAAI7B,KAAK,GAAG2B,KAAK,CAACE,QAAQ,CAAC;MAC3B,IAAI7B,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAC8B,KAAK,CAAC9B,KAAK,CAAC,EAAE;QACrDA,KAAK,GAAGA,KAAK,GAAG,IAAI;MACxB;MACA,IAAI+B,WAAW,GAAGF,QAAQ,CAACG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;MACnEL,OAAO,OAAAM,MAAA,CAAOH,WAAW,QAAAG,MAAA,CAAKlC,KAAK,OAAI;IAC3C;EACJ;EAEA,OAAO4B,OAAO;AAClB,CAAC;AAEc,SAAAO,SAAUC,KAAK,EAAE;EAC5B,IAAOC,IAAI,GAA8ED,KAAK,CAAvFC,IAAI;IAAEC,kBAAkB,GAA0DF,KAAK,CAAjFE,kBAAkB;IAAEX,KAAK,GAAmDS,KAAK,CAA7DT,KAAK;IAAEC,OAAO,GAA0CQ,KAAK,CAAtDR,OAAO;IAAAW,WAAA,GAA0CH,KAAK,CAA7CI,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IAAEE,QAAQ,GAAmBL,KAAK,CAAhCK,QAAQ;IAAKC,UAAU,GAAA1B,wBAAA,CAAIoB,KAAK,EAAA7E,SAAA;EAC9F,IAAAoF,SAAA,GAAc,IAAAC,qBAAQ,EAAC,CAAC;IAAjBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EAEV,IAAMC,MAAM,GAAG,IAAAC,aAAM,EAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,CAAC;EACpD,IAAMC,OAAO,GAAG,IAAAH,aAAM,EAAC,CAAC;EAExB,IAAAI,gBAAS,EAAC,YAAM;IACZC,QAAQ,CAACxB,OAAO,EAAED,KAAK,CAAC;IAExBuB,OAAO,CAACG,OAAO,GAAG,IAAIC,eAAG,CAAA7D,aAAA;MACrBoD,GAAG,EAAHA,GAAG;MACHU,QAAQ,EAAElB,IAAI;MACdmB,OAAO,EAAEV,MAAM,CAACO,OAAO;MACvBI,WAAW,EAAE,eAAe;MAC5BC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAC,GACbhB,UAAU,CAChB,CAAC;IAEF,IAAMiB,SAAS,GAAGrB,kBAAkB,GAAGA,kBAAkB,CAAC,CAAC,GAAGO,GAAG,CAACe,QAAQ;IAC1ED,SAAS,CAACE,WAAW,CAACf,MAAM,CAACO,OAAO,CAAC;IAErC,OAAO,YAAM;MACTH,OAAO,CAACG,OAAO,CAACS,OAAO,CAAC,CAAC;MAEzBH,SAAS,CAACI,WAAW,CAACjB,MAAM,CAACO,OAAO,CAAC;IACzC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAW,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACxB,OAAO,EAAED,KAAK,CAAC;EAC5B,CAAC,EAAE,CAACC,OAAO,EAAEqC,IAAI,CAACC,SAAS,CAACvC,KAAK,CAAC,CAAC,CAAC;EAEpC,IAAAqC,uBAAe,EAAC,YAAM;IAClBd,OAAO,CAACG,OAAO,CAACc,WAAW,CAAC9B,IAAI,CAAC;EACrC,CAAC,EAAE,CAAC4B,IAAI,CAACC,SAAS,CAAC7B,IAAI,CAAC,CAAC,CAAC;EAE1B,IAAA2B,uBAAe,EAAC,YAAM;IAClBlB,MAAM,CAACO,OAAO,CAAC1B,KAAK,CAACyC,OAAO,GAAG5B,IAAI,GAAG,OAAO,GAAG,MAAM;EAC1D,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMY,QAAQ,GAAG,SAAXA,QAAQA,CAAIiB,QAAQ,EAAEC,MAAM,EAAK;IAAA,IAAAC,eAAA;IACnC,IAAI3C,OAAO,GAAG,EAAA2C,eAAA,GAAAzB,MAAM,CAACO,OAAO,cAAAkB,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgB5C,KAAK,cAAA4C,eAAA,uBAArBA,eAAA,CAAuB3C,OAAO,+BAAAM,MAAA,CAC7BM,IAAI,GAAG,OAAO,GAAG,MAAM,oHAIrC;;IAED;IACA,IAAI6B,QAAQ,EAAE;MACV,IAAMG,OAAO,GAAGH,QAAQ,CAACA,QAAQ,CAAC1E,MAAM,GAAG,CAAC,CAAC;MAC7C,IAAI6E,OAAO,KAAK,GAAG,EAAE;QACjBH,QAAQ,MAAAnC,MAAA,CAAMmC,QAAQ,OAAI;MAC9B;MAEAzC,OAAO,wBAAAM,MAAA,CACDN,OAAO,wBAAAM,MAAA,CACPmC,QAAQ,mBACb;IACL;IAEA,IAAIC,MAAM,EAAE;MACR;MACA,IAAMG,UAAU,GAAG/C,iBAAiB,CAAC4C,MAAM,CAAC;MAC5C1C,OAAO,wBAAAM,MAAA,CACDN,OAAO,wBAAAM,MAAA,CACPuC,UAAU,mBACf;IACL;IAEA3B,MAAM,CAACO,OAAO,CAAC1B,KAAK,CAACC,OAAO,GAAGA,OAAO;EAC1C,CAAC;EAED,oBAAO8C,oBAAQ,CAACC,YAAY,CACxBlC,QAAQ,EACRK,MAAM,CAACO,OACX,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["dom/style/index.js"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"css.js","names":[],"sources":["dom/style/index.js"],"sourcesContent":[""],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["dom/style/index.js"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["dom/style/index.js"],"sourcesContent":[""],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["EVENT","registerEventGeometry","exports","layer","props","map","v","getProperties","options","registerEventLayer","apply","arguments"],"sources":["events/index.js"],"sourcesContent":["const EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];\n\n// 注册鼠标事件\nexport const registerEventGeometry = (layer, props) => {\n EVENT.map(v => {\n layer[v] = () => {\n if (layer.getProperties) {\n let options = layer.getProperties();\n props[v] && props[v](options);\n }\n };\n });\n};\n\nexport const registerEventLayer = (layer, props) => {\n EVENT.map(v => {\n layer[v] = (...args) => {\n props[v] && props[v](...args);\n };\n });\n};\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;;AAEzF;AACO,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,KAAK,EAAEC,KAAK,EAAK;EACnDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAM;MACb,IAAIH,KAAK,CAACI,aAAa,EAAE;QACrB,IAAIC,OAAO,GAAGL,KAAK,CAACI,aAAa,CAAC,CAAC;QACnCH,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACE,OAAO,CAAC;MACjC;IACJ,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,IAAMC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIN,KAAK,EAAEC,KAAK,EAAK;EAChDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAa;MACpBF,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAAAI,KAAA,CAARN,KAAK,EAAAO,SAAW,CAAC;IACjC,CAAC;EACL,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["EVENT","registerEventGeometry","exports","layer","props","map","v","getProperties","options","registerEventLayer","apply","arguments"],"sources":["events/index.js"],"sourcesContent":["const EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];\r\n\r\n// 注册鼠标事件\r\nexport const registerEventGeometry = (layer, props) => {\r\n EVENT.map(v => {\r\n layer[v] = () => {\r\n if (layer.getProperties) {\r\n let options = layer.getProperties();\r\n props[v] && props[v](options);\r\n }\r\n };\r\n });\r\n};\r\n\r\nexport const registerEventLayer = (layer, props) => {\r\n EVENT.map(v => {\r\n layer[v] = (...args) => {\r\n props[v] && props[v](...args);\r\n };\r\n });\r\n};\r\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;;AAEzF;AACO,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,KAAK,EAAEC,KAAK,EAAK;EACnDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAM;MACb,IAAIH,KAAK,CAACI,aAAa,EAAE;QACrB,IAAIC,OAAO,GAAGL,KAAK,CAACI,aAAa,CAAC,CAAC;QACnCH,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACE,OAAO,CAAC;MACjC;IACJ,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,IAAMC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIN,KAAK,EAAEC,KAAK,EAAK;EAChDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAa;MACpBF,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAAAI,KAAA,CAARN,KAAK,EAAAO,SAAW,CAAC;IACjC,CAAC;EACL,CAAC,CAAC;AACN,CAAC"}
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _cesium = require("cesium");
8
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
10
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
11
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
12
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
13
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
11
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
14
  // 三维模型裁剪
15
15
  var Cut = /*#__PURE__*/function () {
16
16
  function Cut(tileset, opt) {
@@ -21,12 +21,12 @@ var Cut = /*#__PURE__*/function () {
21
21
  }
22
22
  this.tileset = tileset;
23
23
  this.opt = opt || {};
24
- /**
25
- * @property {Boolean} iscutOutter 是否为外部裁剪,默认为内部裁剪
24
+ /**
25
+ * @property {Boolean} iscutOutter 是否为外部裁剪,默认为内部裁剪
26
26
  */
27
27
  this._iscutOutter = this.opt.iscutOutter; // 是否为外部裁剪 默认为内部裁剪
28
28
  this.cutRegions = []; // 当前裁剪面数组对象
29
- /* this.modelMatrix = new Matrix4(); // 世界坐标系--》模型坐标系
29
+ /* this.modelMatrix = new Matrix4(); // 世界坐标系--》模型坐标系
30
30
  Matrix4.inverseTransformation(this.tileset.root.computedTransform, this.modelMatrix) */
31
31
  // 建立模型中心点坐标系
32
32
  var center = this.tileset.boundingSphere.center;
@@ -34,7 +34,7 @@ var Cut = /*#__PURE__*/function () {
34
34
  this.modelMatrix = _cesium.Matrix4.inverse(enuMtx4, new _cesium.Matrix4());
35
35
  this.canvas = undefined;
36
36
  }
37
- return _createClass(Cut, [{
37
+ _createClass(Cut, [{
38
38
  key: "iscutOutter",
39
39
  get: function get() {
40
40
  return this._iscutOutter;
@@ -44,11 +44,11 @@ var Cut = /*#__PURE__*/function () {
44
44
  this.updateShader();
45
45
  }
46
46
 
47
- /**
48
- * 添加裁剪面
49
- * @param {Object} attr 参数
50
- * @param {Cartesian3[]} attr.positions 压平面坐标
51
- * @param {Number} attr.id 唯一标识
47
+ /**
48
+ * 添加裁剪面
49
+ * @param {Object} attr 参数
50
+ * @param {Cartesian3[]} attr.positions 压平面坐标
51
+ * @param {Number} attr.id 唯一标识
52
52
  */
53
53
  }, {
54
54
  key: "addRegion",
@@ -74,9 +74,9 @@ var Cut = /*#__PURE__*/function () {
74
74
  }
75
75
  this.updateShader();
76
76
  }
77
- /**
78
- * 移除裁剪面
79
- * @param {String} id
77
+ /**
78
+ * 移除裁剪面
79
+ * @param {String} id
80
80
  */
81
81
  }, {
82
82
  key: "removeRegionById",
@@ -94,8 +94,8 @@ var Cut = /*#__PURE__*/function () {
94
94
  this.updateShader();
95
95
  }
96
96
 
97
- /**
98
- * 销毁
97
+ /**
98
+ * 销毁
99
99
  */
100
100
  }, {
101
101
  key: "destroy",
@@ -103,8 +103,8 @@ var Cut = /*#__PURE__*/function () {
103
103
  this.tileset.customShader = undefined;
104
104
  }
105
105
 
106
- /**
107
- * 修改模型着色器
106
+ /**
107
+ * 修改模型着色器
108
108
  */
109
109
  }, {
110
110
  key: "updateShader",
@@ -137,10 +137,10 @@ var Cut = /*#__PURE__*/function () {
137
137
  });
138
138
  }
139
139
 
140
- /**
141
- * 根据坐标创建片元着色器
142
- * @param {Cartesian3[]} positions
143
- * @param {String} id
140
+ /**
141
+ * 根据坐标创建片元着色器
142
+ * @param {Cartesian3[]} positions
143
+ * @param {String} id
144
144
  */
145
145
  }, {
146
146
  key: "createUniforms",
@@ -198,6 +198,7 @@ var Cut = /*#__PURE__*/function () {
198
198
  return uniforms;
199
199
  }
200
200
  }]);
201
+ return Cut;
201
202
  }();
202
203
  var _default = exports["default"] = Cut;
203
204
  //# sourceMappingURL=Cut.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cut.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","e","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","call","String","Number","Cut","tileset","opt","console","log","_iscutOutter","iscutOutter","cutRegions","center","boundingSphere","enuMtx4","Transforms","eastNorthUpToFixedFrame","modelMatrix","Matrix4","inverse","canvas","undefined","get","set","val","updateShader","value","addRegion","attr","_ref","positions","id","Date","getTime","Math","random","toFixed","index","findIndex","item","push","removeRegionById","splice","destroy","customShader","_this","fs_textureMapRect","allUniforms","u_inverseModel","type","UniformType","MAT4","clone","u_unionCutRegions","BOOL","fs","forEach","element","uniforms","createUniforms","combine","concat","CustomShader","fragmentShaderText","_this2","ceil","xs","ys","zs","modelPoints","map","p","point","multiplyByPoint","Cartesian3","x","y","z","rect","Cartesian4","min","apply","max","document","createElement","width","height","w","ctx","getContext","fillStyle","fillRect","beginPath","moveTo","lineTo","closePath","fill","VEC4","SAMPLER_2D","TextureUniform","url","toDataURL","minificationFilter","TextureMinificationFilter","LINEAR","magnificationFilter","TextureMagnificationFilter","_default","exports"],"sources":["excavation-analysis/Cut.js"],"sourcesContent":["import {\n Matrix4,\n Transforms,\n Cartesian3,\n UniformType,\n combine,\n CustomShader,\n Cartesian4,\n TextureUniform,\n TextureMinificationFilter,\n TextureMagnificationFilter\n} from 'cesium';\n\n// 三维模型裁剪\nclass Cut {\n constructor(tileset, opt) {\n if (!tileset) {\n console.log(\"缺少模型\");\n return;\n }\n this.tileset = tileset;\n this.opt = opt || {};\n /**\n * @property {Boolean} iscutOutter 是否为外部裁剪,默认为内部裁剪\n */\n this._iscutOutter = this.opt.iscutOutter; // 是否为外部裁剪 默认为内部裁剪\n this.cutRegions = []; // 当前裁剪面数组对象\n /* this.modelMatrix = new Matrix4(); // 世界坐标系--》模型坐标系\n Matrix4.inverseTransformation(this.tileset.root.computedTransform, this.modelMatrix) */\n // 建立模型中心点坐标系\n const center = this.tileset.boundingSphere.center;\n const enuMtx4 = Transforms.eastNorthUpToFixedFrame(center);\n this.modelMatrix = Matrix4.inverse(enuMtx4, new Matrix4());\n this.canvas = undefined;\n }\n\n get iscutOutter() {\n return this._iscutOutter\n }\n\n set iscutOutter(val) {\n this._iscutOutter = val;\n this.updateShader();\n }\n\n /**\n * 添加裁剪面\n * @param {Object} attr 参数\n * @param {Cartesian3[]} attr.positions 压平面坐标\n * @param {Number} attr.id 唯一标识\n */\n addRegion(attr) {\n let { positions, id } = attr || {};\n if (!id) id = (new Date()).getTime() + \"\" + Number(Math.random() * 1000).toFixed(0);\n if (!positions || positions.length < 3) {\n console.log(\"缺少裁剪面坐标\");\n return;\n }\n const index = this.cutRegions.findIndex(item => item.id === id)\n if (index == -1) {\n this.cutRegions.push({\n id: id,\n positions: positions\n })\n } else {\n this.cutRegions[index].positions = positions;\n }\n this.updateShader()\n }\n /**\n * 移除裁剪面\n * @param {String} id\n */\n removeRegionById(id) {\n if (id) { // 表示移除所有的裁剪面\n const index = this.cutRegions.findIndex(item => item.id === id)\n if (index != -1) this.cutRegions.splice(index, 1)\n } else { // 表示移除单个的裁剪面\n this.cutRegions = [];\n }\n this.updateShader();\n }\n\n /**\n * 销毁\n */\n destroy() {\n this.tileset.customShader = undefined;\n }\n\n /**\n * 修改模型着色器\n */\n updateShader() {\n // 定义着色器中裁剪函数\n const fs_textureMapRect = `\n vec4 textureMapRect(vec4 rect, sampler2D map, vec2 xy) {\n // 判断当前图元坐标和多边形关系 如果在多边形内 进行纹素拾取\n if (xy.x >= rect.x && xy.x <= rect.z && xy.y >= rect.y && xy.y <= rect.w) {\n float w = rect.z - rect.x;\n float h = rect.w - rect.y;\n float s = (xy.x - rect.x) / w;\n float t = (xy.y - rect.y) / h;\n vec4 color = texture(map, vec2(s, 1.0 - t));\n return color;\n }\n return vec4(1.0);\n }\n `;\n\n let allUniforms = {\n u_inverseModel: {\n type: UniformType.MAT4,\n value: this.modelMatrix.clone()\n },\n u_unionCutRegions: {\n type: UniformType.BOOL,\n value: this._iscutOutter\n }\n }\n\n // 构建多区域着色器\n let fs = ``;\n this.cutRegions.forEach(element => {\n const uniforms = this.createUniforms(element.positions, element.id)\n allUniforms = combine(allUniforms, uniforms)\n fs += `\n vec4 color_${element.id} = textureMapRect(u_rect_${element.id}, u_map_${element.id}, xy);\n cutColor *= color_${element.id};\n `\n })\n\n fs += `\n if (u_unionCutRegions) {\n material.diffuse *= (vec3(1.0) - cutColor.rgb);\n } else {\n material.diffuse *= cutColor.rgb;\n }\n if (material.diffuse.r <= 0.0001 && material.diffuse.g <= 0.0001 && material.diffuse.b <= 0.0001) {\n discard;\n }\n `;\n\n this.tileset.customShader = new CustomShader({\n uniforms: allUniforms,\n fragmentShaderText: `\n ${fs_textureMapRect}\n void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {\n vec4 positionMC = u_inverseModel * vec4(fsInput.attributes.positionWC, 1.0);\n vec2 xy = positionMC.xy;\n vec4 cutColor = vec4(1.0);\n ${fs}\n }`\n })\n\n }\n\n /**\n * 根据坐标创建片元着色器\n * @param {Cartesian3[]} positions\n * @param {String} id\n */\n createUniforms(positions, id) {\n if (!positions || positions.length < 3) {\n console.log(\"缺少裁剪面坐标\");\n return;\n }\n id = id || Math.ceil(Math.random() * 100000) + '_' + Math.ceil(Math.random() * 100000)\n // 根据世界坐标范围计算相对模型坐标范围\n const xs = [], ys = [], zs = []\n // 计算模型坐标系下坐标\n const modelPoints = positions.map(p => {\n const point = Matrix4.multiplyByPoint(this.modelMatrix, p, new Cartesian3());\n xs.push(point.x)\n ys.push(point.y)\n zs.push(point.z)\n return point\n })\n // 计算当前裁剪面边界范围(模型坐标系下)\n const rect = new Cartesian4(Math.min.apply(null, xs), Math.min.apply(null, ys), Math.max.apply(null, xs), Math.max.apply(null, ys))\n const canvas = document.createElement('canvas')\n canvas.width = 1024\n canvas.height = 1024\n const width = rect.z - rect.x\n const height = rect.w - rect.y\n const ctx = canvas.getContext('2d')\n ctx.fillStyle = '#fff' // 设置整体背景为白色\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n ctx.beginPath()\n\n ctx.moveTo(canvas.width * (modelPoints[0].x - rect.x) / width, canvas.height * (modelPoints[0].y - rect.y) / height)\n\n for (let i = 1; i < modelPoints.length; i++) {\n ctx.lineTo(canvas.width * (modelPoints[i].x - rect.x) / width, canvas.height * (modelPoints[i].y - rect.y) / height)\n }\n\n ctx.closePath()\n ctx.fillStyle = '#000' // 根据填充的黑色来裁剪模型\n ctx.fill()\n\n this.canvas = canvas;\n\n const uniforms = {}\n uniforms[`u_rect_${id}`] = {\n type: UniformType.VEC4,\n value: rect\n }\n uniforms[`u_map_${id}`] = {\n type: UniformType.SAMPLER_2D,\n value: new TextureUniform({\n url: canvas.toDataURL()\n }),\n minificationFilter: TextureMinificationFilter.LINEAR,\n magnificationFilter: TextureMagnificationFilter.LINEAR\n }\n\n return uniforms\n }\n\n}\n\nexport default Cut;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Cut.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","Cut","tileset","opt","console","log","_iscutOutter","iscutOutter","cutRegions","center","boundingSphere","enuMtx4","Transforms","eastNorthUpToFixedFrame","modelMatrix","Matrix4","inverse","canvas","get","set","val","updateShader","value","addRegion","attr","_ref","positions","id","Date","getTime","Math","random","toFixed","index","findIndex","item","push","removeRegionById","splice","destroy","customShader","_this","fs_textureMapRect","allUniforms","u_inverseModel","type","UniformType","MAT4","clone","u_unionCutRegions","BOOL","fs","forEach","element","uniforms","createUniforms","combine","concat","CustomShader","fragmentShaderText","_this2","ceil","xs","ys","zs","modelPoints","map","p","point","multiplyByPoint","Cartesian3","x","y","z","rect","Cartesian4","min","apply","max","document","createElement","width","height","w","ctx","getContext","fillStyle","fillRect","beginPath","moveTo","lineTo","closePath","fill","VEC4","SAMPLER_2D","TextureUniform","url","toDataURL","minificationFilter","TextureMinificationFilter","LINEAR","magnificationFilter","TextureMagnificationFilter","_default","exports"],"sources":["excavation-analysis/Cut.js"],"sourcesContent":["import {\r\n Matrix4,\r\n Transforms,\r\n Cartesian3,\r\n UniformType,\r\n combine,\r\n CustomShader,\r\n Cartesian4,\r\n TextureUniform,\r\n TextureMinificationFilter,\r\n TextureMagnificationFilter\r\n} from 'cesium';\r\n\r\n// 三维模型裁剪\r\nclass Cut {\r\n constructor(tileset, opt) {\r\n if (!tileset) {\r\n console.log(\"缺少模型\");\r\n return;\r\n }\r\n this.tileset = tileset;\r\n this.opt = opt || {};\r\n /**\r\n * @property {Boolean} iscutOutter 是否为外部裁剪,默认为内部裁剪\r\n */\r\n this._iscutOutter = this.opt.iscutOutter; // 是否为外部裁剪 默认为内部裁剪\r\n this.cutRegions = []; // 当前裁剪面数组对象\r\n /* this.modelMatrix = new Matrix4(); // 世界坐标系--》模型坐标系\r\n Matrix4.inverseTransformation(this.tileset.root.computedTransform, this.modelMatrix) */\r\n // 建立模型中心点坐标系\r\n const center = this.tileset.boundingSphere.center;\r\n const enuMtx4 = Transforms.eastNorthUpToFixedFrame(center);\r\n this.modelMatrix = Matrix4.inverse(enuMtx4, new Matrix4());\r\n this.canvas = undefined;\r\n }\r\n\r\n get iscutOutter() {\r\n return this._iscutOutter\r\n }\r\n\r\n set iscutOutter(val) {\r\n this._iscutOutter = val;\r\n this.updateShader();\r\n }\r\n\r\n /**\r\n * 添加裁剪面\r\n * @param {Object} attr 参数\r\n * @param {Cartesian3[]} attr.positions 压平面坐标\r\n * @param {Number} attr.id 唯一标识\r\n */\r\n addRegion(attr) {\r\n let { positions, id } = attr || {};\r\n if (!id) id = (new Date()).getTime() + \"\" + Number(Math.random() * 1000).toFixed(0);\r\n if (!positions || positions.length < 3) {\r\n console.log(\"缺少裁剪面坐标\");\r\n return;\r\n }\r\n const index = this.cutRegions.findIndex(item => item.id === id)\r\n if (index == -1) {\r\n this.cutRegions.push({\r\n id: id,\r\n positions: positions\r\n })\r\n } else {\r\n this.cutRegions[index].positions = positions;\r\n }\r\n this.updateShader()\r\n }\r\n /**\r\n * 移除裁剪面\r\n * @param {String} id\r\n */\r\n removeRegionById(id) {\r\n if (id) { // 表示移除所有的裁剪面\r\n const index = this.cutRegions.findIndex(item => item.id === id)\r\n if (index != -1) this.cutRegions.splice(index, 1)\r\n } else { // 表示移除单个的裁剪面\r\n this.cutRegions = [];\r\n }\r\n this.updateShader();\r\n }\r\n\r\n /**\r\n * 销毁\r\n */\r\n destroy() {\r\n this.tileset.customShader = undefined;\r\n }\r\n\r\n /**\r\n * 修改模型着色器\r\n */\r\n updateShader() {\r\n // 定义着色器中裁剪函数\r\n const fs_textureMapRect = `\r\n vec4 textureMapRect(vec4 rect, sampler2D map, vec2 xy) {\r\n // 判断当前图元坐标和多边形关系 如果在多边形内 进行纹素拾取\r\n if (xy.x >= rect.x && xy.x <= rect.z && xy.y >= rect.y && xy.y <= rect.w) {\r\n float w = rect.z - rect.x;\r\n float h = rect.w - rect.y;\r\n float s = (xy.x - rect.x) / w;\r\n float t = (xy.y - rect.y) / h;\r\n vec4 color = texture(map, vec2(s, 1.0 - t));\r\n return color;\r\n }\r\n return vec4(1.0);\r\n }\r\n `;\r\n\r\n let allUniforms = {\r\n u_inverseModel: {\r\n type: UniformType.MAT4,\r\n value: this.modelMatrix.clone()\r\n },\r\n u_unionCutRegions: {\r\n type: UniformType.BOOL,\r\n value: this._iscutOutter\r\n }\r\n }\r\n\r\n // 构建多区域着色器\r\n let fs = ``;\r\n this.cutRegions.forEach(element => {\r\n const uniforms = this.createUniforms(element.positions, element.id)\r\n allUniforms = combine(allUniforms, uniforms)\r\n fs += `\r\n vec4 color_${element.id} = textureMapRect(u_rect_${element.id}, u_map_${element.id}, xy);\r\n cutColor *= color_${element.id};\r\n `\r\n })\r\n\r\n fs += `\r\n if (u_unionCutRegions) {\r\n material.diffuse *= (vec3(1.0) - cutColor.rgb);\r\n } else {\r\n material.diffuse *= cutColor.rgb;\r\n }\r\n if (material.diffuse.r <= 0.0001 && material.diffuse.g <= 0.0001 && material.diffuse.b <= 0.0001) {\r\n discard;\r\n }\r\n `;\r\n\r\n this.tileset.customShader = new CustomShader({\r\n uniforms: allUniforms,\r\n fragmentShaderText: `\r\n ${fs_textureMapRect}\r\n void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {\r\n vec4 positionMC = u_inverseModel * vec4(fsInput.attributes.positionWC, 1.0);\r\n vec2 xy = positionMC.xy;\r\n vec4 cutColor = vec4(1.0);\r\n ${fs}\r\n }`\r\n })\r\n\r\n }\r\n\r\n /**\r\n * 根据坐标创建片元着色器\r\n * @param {Cartesian3[]} positions\r\n * @param {String} id\r\n */\r\n createUniforms(positions, id) {\r\n if (!positions || positions.length < 3) {\r\n console.log(\"缺少裁剪面坐标\");\r\n return;\r\n }\r\n id = id || Math.ceil(Math.random() * 100000) + '_' + Math.ceil(Math.random() * 100000)\r\n // 根据世界坐标范围计算相对模型坐标范围\r\n const xs = [], ys = [], zs = []\r\n // 计算模型坐标系下坐标\r\n const modelPoints = positions.map(p => {\r\n const point = Matrix4.multiplyByPoint(this.modelMatrix, p, new Cartesian3());\r\n xs.push(point.x)\r\n ys.push(point.y)\r\n zs.push(point.z)\r\n return point\r\n })\r\n // 计算当前裁剪面边界范围(模型坐标系下)\r\n const rect = new Cartesian4(Math.min.apply(null, xs), Math.min.apply(null, ys), Math.max.apply(null, xs), Math.max.apply(null, ys))\r\n const canvas = document.createElement('canvas')\r\n canvas.width = 1024\r\n canvas.height = 1024\r\n const width = rect.z - rect.x\r\n const height = rect.w - rect.y\r\n const ctx = canvas.getContext('2d')\r\n ctx.fillStyle = '#fff' // 设置整体背景为白色\r\n ctx.fillRect(0, 0, canvas.width, canvas.height)\r\n ctx.beginPath()\r\n\r\n ctx.moveTo(canvas.width * (modelPoints[0].x - rect.x) / width, canvas.height * (modelPoints[0].y - rect.y) / height)\r\n\r\n for (let i = 1; i < modelPoints.length; i++) {\r\n ctx.lineTo(canvas.width * (modelPoints[i].x - rect.x) / width, canvas.height * (modelPoints[i].y - rect.y) / height)\r\n }\r\n\r\n ctx.closePath()\r\n ctx.fillStyle = '#000' // 根据填充的黑色来裁剪模型\r\n ctx.fill()\r\n\r\n this.canvas = canvas;\r\n\r\n const uniforms = {}\r\n uniforms[`u_rect_${id}`] = {\r\n type: UniformType.VEC4,\r\n value: rect\r\n }\r\n uniforms[`u_map_${id}`] = {\r\n type: UniformType.SAMPLER_2D,\r\n value: new TextureUniform({\r\n url: canvas.toDataURL()\r\n }),\r\n minificationFilter: TextureMinificationFilter.LINEAR,\r\n magnificationFilter: TextureMagnificationFilter.LINEAR\r\n }\r\n\r\n return uniforms\r\n }\r\n\r\n}\r\n\r\nexport default Cut;\r\n"],"mappings":"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"}
@@ -6,17 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _cesium = require("cesium");
8
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
10
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
13
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
14
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
- /**
18
- * @class
19
- * @description 3dtiles 模型按照(经纬度二维)范围裁剪
9
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
14
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ /**
18
+ * @class
19
+ * @description 3dtiles 模型按照(经纬度二维)范围裁剪
20
20
  */
21
21
  var Clipping = /*#__PURE__*/function () {
22
22
  function Clipping(tileset, opt) {
@@ -61,7 +61,7 @@ var Clipping = /*#__PURE__*/function () {
61
61
  }
62
62
  this.initialize();
63
63
  }
64
- return _createClass(Clipping, [{
64
+ _createClass(Clipping, [{
65
65
  key: "initialize",
66
66
  value: function initialize() {
67
67
  var out_v_str = "";
@@ -84,8 +84,8 @@ var Clipping = /*#__PURE__*/function () {
84
84
  this.updateShader(out_v_str, in_v_str);
85
85
  }
86
86
 
87
- /**
88
- * 销毁
87
+ /**
88
+ * 销毁
89
89
  */
90
90
  }, {
91
91
  key: "destroy",
@@ -129,6 +129,7 @@ var Clipping = /*#__PURE__*/function () {
129
129
  return arr;
130
130
  }
131
131
  }]);
132
+ return Clipping;
132
133
  }();
133
134
  var _default = exports["default"] = Clipping;
134
135
  //# sourceMappingURL=TilesetCut.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TilesetCut.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","e","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_arrayLikeToArray","toString","slice","name","from","test","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","String","Number","Clipping","tileset","opt","Error","console","log","polygons","_iterator","_step","polygon","err","excavate","center","boundingSphere","clone","matrix","Transforms","eastNorthUpToFixedFrame","localMatrix","Matrix4","inverse","localPositionsArr","pp","positions","localCoor","cartesiansToLocal","push","initialize","out_v_str","in_v_str","temp_str","m","concat","updateShader","destroy","customShader","undefined","vtx1","vtx2","v_text","flatCustomShader","CustomShader","uniforms","u_tileset_localToWorldMatrix","type","UniformType","MAT4","u_tileset_worldToLocalMatrix","u_flatHeight","FLOAT","flatHeight","vertexShaderText","arr","position","localp","multiplyByPoint","Cartesian3","x","y","_default","exports"],"sources":["excavation-analysis/TilesetCut.js"],"sourcesContent":["import {\n Transforms,\n Matrix4,\n CustomShader,\n UniformType,\n Cartesian3\n} from \"cesium\";\n/**\n * @class\n * @description 3dtiles 模型按照(经纬度二维)范围裁剪\n */\nclass Clipping {\n constructor(tileset, opt) {\n if (!tileset) {\n throw new Error(\"参数错误!\")\n }\n\n console.log(\"polygons:\", opt.polygons);\n if (opt.polygons && opt.polygons instanceof Array && opt.polygons.length > 0) {\n for (let polygon of opt.polygons) {\n if (!(polygon instanceof Array && polygon.length >= 3)) {\n throw new Error(\"参数错误!\")\n }\n }\n } else {\n throw new Error(\"参数错误!\")\n }\n\n this.tileset = tileset;\n if (typeof opt.excavate === \"boolean\") {\n this.excavate = opt.excavate\n } else {\n this.excavate = false;\n }\n this.polygons = opt.polygons;\n\n this.center = tileset.boundingSphere.center.clone();\n this.matrix = Transforms.eastNorthUpToFixedFrame(this.center.clone());\n this.localMatrix = Matrix4.inverse(this.matrix, new Matrix4());\n\n this.localPositionsArr = [];\n for (let pp = 0; pp < this.polygons.length; pp++) {\n let positions = this.polygons[pp];\n let localCoor = this.cartesiansToLocal(positions);\n this.localPositionsArr.push(localCoor);\n }\n\n this.initialize();\n }\n\n\n initialize() {\n let out_v_str = ``;\n let in_v_str = ``;\n let temp_str = ``;\n for (let m = 0; m < this.localPositionsArr.length; m++) {\n\n let polygon = this.localPositionsArr[m];\n out_v_str +=\n `vec2 points_${m}[${polygon.length}];\n bool isPointInPolygon_${m}(vec2 point){\n int nCross = 0; // 交点数\n const int n = ${polygon.length};\n for(int i = 0; i < n; i++){\n vec2 p1 = points_${m}[i];\n vec2 p2 = points_${m}[int(mod(float(i+1),float(n)))];\n if(p1[1] == p2[1]){\n continue;\n }\n if(point[1] < min(p1[1], p2[1])){\n continue;\n }\n if(point[1] >= max(p1[1], p2[1])){\n continue;\n }\n float x = p1[0] + ((point[1] - p1[1]) * (p2[0] - p1[0])) / (p2[1] - p1[1]);\n if(x > point[0]){\n nCross++;\n }\n }\n return int(mod(float(nCross), float(2))) == 1;\n }\\n\n `\n\n for (let n = 0; n < polygon.length; n++) {\n in_v_str += `points_${m}[${n}] = vec2(${polygon[n][0]}, ${polygon[n][1]});\\n`;\n }\n temp_str += `isPointInPolygon_${m}(position2D)||`\n }\n\n temp_str = temp_str.slice(0, -2);\n\n if (this.excavate == false) {\n in_v_str +=\n `\n if(${temp_str}){\n }else{\n vsOutput.positionMC *= 0.0;\n }\n `\n } else if (this.excavate == true) {\n in_v_str +=\n `\n if(${temp_str}){\n vsOutput.positionMC *= 0.0;\n }\n `\n }\n\n this.updateShader(out_v_str, in_v_str);\n }\n\n /**\n * 销毁\n */\n destroy() {\n this.tileset.customShader = undefined;\n }\n\n updateShader(vtx1, vtx2) {\n let v_text = `\n // 所有isPointInPolygon函数\n ${vtx1}\n void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput){\n vec3 modelMC = vsInput.attributes.positionMC;\n vec4 model_local_position = vec4(modelMC.x, modelMC.y, modelMC.z, 1.0);\n vec4 tileset_local_position = u_tileset_worldToLocalMatrix * czm_model * model_local_position;\n vec2 position2D = vec2(tileset_local_position.x,tileset_local_position.y);\n // 多个多边形区域\n ${vtx2}\n }`;\n let flatCustomShader = new CustomShader({\n uniforms: {\n u_tileset_localToWorldMatrix: {\n type: UniformType.MAT4,\n value: this.matrix,\n },\n u_tileset_worldToLocalMatrix: {\n type: UniformType.MAT4,\n value: this.localMatrix,\n },\n u_flatHeight: {\n type: UniformType.FLOAT,\n value: this.flatHeight,\n },\n },\n vertexShaderText: v_text,\n });\n this.tileset.customShader = flatCustomShader;\n }\n\n // 世界坐标转数组局部坐标\n cartesiansToLocal(positions) {\n let arr = [];\n for (let i = 0; i < positions.length; i++) {\n let position = positions[i];\n let localp = Matrix4.multiplyByPoint(\n this.localMatrix,\n position.clone(),\n new Cartesian3()\n )\n arr.push([localp.x, localp.y]);\n }\n return arr;\n }\n}\n\nexport default Clipping;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TilesetCut.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","Clipping","tileset","opt","Error","console","log","polygons","_iterator","_step","polygon","excavate","center","boundingSphere","clone","matrix","Transforms","eastNorthUpToFixedFrame","localMatrix","Matrix4","inverse","localPositionsArr","pp","positions","localCoor","cartesiansToLocal","push","initialize","out_v_str","in_v_str","temp_str","m","concat","updateShader","destroy","customShader","vtx1","vtx2","v_text","flatCustomShader","CustomShader","uniforms","u_tileset_localToWorldMatrix","type","UniformType","MAT4","u_tileset_worldToLocalMatrix","u_flatHeight","FLOAT","flatHeight","vertexShaderText","position","localp","multiplyByPoint","Cartesian3","x","y","_default","exports"],"sources":["excavation-analysis/TilesetCut.js"],"sourcesContent":["import {\r\n Transforms,\r\n Matrix4,\r\n CustomShader,\r\n UniformType,\r\n Cartesian3\r\n} from \"cesium\";\r\n/**\r\n * @class\r\n * @description 3dtiles 模型按照(经纬度二维)范围裁剪\r\n */\r\nclass Clipping {\r\n constructor(tileset, opt) {\r\n if (!tileset) {\r\n throw new Error(\"参数错误!\")\r\n }\r\n\r\n console.log(\"polygons:\", opt.polygons);\r\n if (opt.polygons && opt.polygons instanceof Array && opt.polygons.length > 0) {\r\n for (let polygon of opt.polygons) {\r\n if (!(polygon instanceof Array && polygon.length >= 3)) {\r\n throw new Error(\"参数错误!\")\r\n }\r\n }\r\n } else {\r\n throw new Error(\"参数错误!\")\r\n }\r\n\r\n this.tileset = tileset;\r\n if (typeof opt.excavate === \"boolean\") {\r\n this.excavate = opt.excavate\r\n } else {\r\n this.excavate = false;\r\n }\r\n this.polygons = opt.polygons;\r\n\r\n this.center = tileset.boundingSphere.center.clone();\r\n this.matrix = Transforms.eastNorthUpToFixedFrame(this.center.clone());\r\n this.localMatrix = Matrix4.inverse(this.matrix, new Matrix4());\r\n\r\n this.localPositionsArr = [];\r\n for (let pp = 0; pp < this.polygons.length; pp++) {\r\n let positions = this.polygons[pp];\r\n let localCoor = this.cartesiansToLocal(positions);\r\n this.localPositionsArr.push(localCoor);\r\n }\r\n\r\n this.initialize();\r\n }\r\n\r\n\r\n initialize() {\r\n let out_v_str = ``;\r\n let in_v_str = ``;\r\n let temp_str = ``;\r\n for (let m = 0; m < this.localPositionsArr.length; m++) {\r\n\r\n let polygon = this.localPositionsArr[m];\r\n out_v_str +=\r\n `vec2 points_${m}[${polygon.length}];\r\n bool isPointInPolygon_${m}(vec2 point){\r\n int nCross = 0; // 交点数\r\n const int n = ${polygon.length};\r\n for(int i = 0; i < n; i++){\r\n vec2 p1 = points_${m}[i];\r\n vec2 p2 = points_${m}[int(mod(float(i+1),float(n)))];\r\n if(p1[1] == p2[1]){\r\n continue;\r\n }\r\n if(point[1] < min(p1[1], p2[1])){\r\n continue;\r\n }\r\n if(point[1] >= max(p1[1], p2[1])){\r\n continue;\r\n }\r\n float x = p1[0] + ((point[1] - p1[1]) * (p2[0] - p1[0])) / (p2[1] - p1[1]);\r\n if(x > point[0]){\r\n nCross++;\r\n }\r\n }\r\n return int(mod(float(nCross), float(2))) == 1;\r\n }\\n\r\n `\r\n\r\n for (let n = 0; n < polygon.length; n++) {\r\n in_v_str += `points_${m}[${n}] = vec2(${polygon[n][0]}, ${polygon[n][1]});\\n`;\r\n }\r\n temp_str += `isPointInPolygon_${m}(position2D)||`\r\n }\r\n\r\n temp_str = temp_str.slice(0, -2);\r\n\r\n if (this.excavate == false) {\r\n in_v_str +=\r\n `\r\n if(${temp_str}){\r\n }else{\r\n vsOutput.positionMC *= 0.0;\r\n }\r\n `\r\n } else if (this.excavate == true) {\r\n in_v_str +=\r\n `\r\n if(${temp_str}){\r\n vsOutput.positionMC *= 0.0;\r\n }\r\n `\r\n }\r\n\r\n this.updateShader(out_v_str, in_v_str);\r\n }\r\n\r\n /**\r\n * 销毁\r\n */\r\n destroy() {\r\n this.tileset.customShader = undefined;\r\n }\r\n\r\n updateShader(vtx1, vtx2) {\r\n let v_text = `\r\n // 所有isPointInPolygon函数\r\n ${vtx1}\r\n void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput){\r\n vec3 modelMC = vsInput.attributes.positionMC;\r\n vec4 model_local_position = vec4(modelMC.x, modelMC.y, modelMC.z, 1.0);\r\n vec4 tileset_local_position = u_tileset_worldToLocalMatrix * czm_model * model_local_position;\r\n vec2 position2D = vec2(tileset_local_position.x,tileset_local_position.y);\r\n // 多个多边形区域\r\n ${vtx2}\r\n }`;\r\n let flatCustomShader = new CustomShader({\r\n uniforms: {\r\n u_tileset_localToWorldMatrix: {\r\n type: UniformType.MAT4,\r\n value: this.matrix,\r\n },\r\n u_tileset_worldToLocalMatrix: {\r\n type: UniformType.MAT4,\r\n value: this.localMatrix,\r\n },\r\n u_flatHeight: {\r\n type: UniformType.FLOAT,\r\n value: this.flatHeight,\r\n },\r\n },\r\n vertexShaderText: v_text,\r\n });\r\n this.tileset.customShader = flatCustomShader;\r\n }\r\n\r\n // 世界坐标转数组局部坐标\r\n cartesiansToLocal(positions) {\r\n let arr = [];\r\n for (let i = 0; i < positions.length; i++) {\r\n let position = positions[i];\r\n let localp = Matrix4.multiplyByPoint(\r\n this.localMatrix,\r\n position.clone(),\r\n new Cartesian3()\r\n )\r\n arr.push([localp.x, localp.y]);\r\n }\r\n return arr;\r\n }\r\n}\r\n\r\nexport default Clipping;\r\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ var _react = require("react");
8
8
  var _cesium = require("../../_util/cesium");
9
9
  var _cesium2 = require("cesium");
10
10
  var _TilesetCut = _interopRequireDefault(require("../TilesetCut"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
12
  var DrawHandler = function DrawHandler(props) {
13
13
  var viewer = props.viewer,
14
14
  type = props.type,
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawHandler.js","names":["_react","require","_cesium","_cesium2","_TilesetCut","_interopRequireDefault","e","__esModule","DrawHandler","props","viewer","type","sceneId","viewerObj","useRef","drawLayer","listnerEvent","drawStart","drawEnd","cutToolRef","current","initDrawHandler","cesiumWidget","screenSpaceEventHandler","removeInputAction","ScreenSpaceEventType","LEFT_DOUBLE_CLICK","CustomDataSource","dataSources","add","activate","draw","drawPolygon","clampToGround","handler","ScreenSpaceEventHandler","scene","canvas","positions","polygon","PolygonHierarchy","polyObj","setInputAction","ev","cartesian","getCartesian3FromXY","position","x","length","push","clone","_createPolygonEntity","createPolygonEntity","entity","LEFT_CLICK","catesian","endPosition","pop","MOUSE_MOVE","destroy","forEach","fuc","RIGHT_CLICK","_drawLayer$current","polygonEntity","Entity","polyline","CallbackProperty","width","material","Color","hierarchy","WHITE","withAlpha","heightReference","HeightReference","CLAMP_TO_GROUND","entities","on","callBack","clear","removeAll","useEffect","console","warn","_default","exports"],"sources":["excavation-analysis/hooks/useDrawHandler.js"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { getCartesian3FromXY } from '../../_util/cesium';\nimport {\n ScreenSpaceEventType,\n CustomDataSource,\n ScreenSpaceEventHandler,\n PolygonHierarchy,\n Entity,\n CallbackProperty,\n Color,\n HeightReference\n} from 'cesium';\nimport TilesetCut from '../TilesetCut';\n\n\nconst DrawHandler = (props) => {\n const { viewer, type, sceneId } = props;\n const viewerObj = useRef()\n const drawLayer = useRef(null)\n const listnerEvent = useRef({\n drawStart: [],\n drawEnd: []\n })\n const cutToolRef = useRef();\n if (viewer) viewerObj.current = viewer\n\n // 初始化绘图控件\n const initDrawHandler = (viewer) => {\n // 取消双击事件-追踪该位置\n viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_DOUBLE_CLICK)\n drawLayer.current = new CustomDataSource('measureLayer')\n viewer.dataSources.add(drawLayer.current)\n }\n\n const activate = () => {\n if (type) {\n draw(type)\n }\n }\n\n // 绘制多边形\n const drawPolygon = (clampToGround) => {\n if (!viewer) return\n const handler = new ScreenSpaceEventHandler(viewer.scene.canvas)\n const positions = []\n const polygon = new PolygonHierarchy()\n let polyObj = null\n\n handler.setInputAction((ev) => {\n const cartesian = getCartesian3FromXY(viewer, ev.position)\n if (cartesian && cartesian.x) {\n if (positions.length === 0) {\n polygon.positions.push(cartesian.clone())\n positions.push(cartesian.clone())\n }\n positions.push(cartesian.clone())\n polygon.positions.push(cartesian.clone())\n if(!polyObj) {\n const { entity } = createPolygonEntity(positions, polygon, clampToGround)\n polyObj = entity\n }\n }\n }, ScreenSpaceEventType.LEFT_CLICK)\n\n handler.setInputAction((ev) => {\n const catesian = getCartesian3FromXY(viewer, ev.endPosition)\n if (positions.length >= 2) {\n if (catesian && catesian.x) {\n positions.pop()\n positions.push(catesian)\n polygon.positions.pop()\n polygon.positions.push(catesian)\n }\n }\n }, ScreenSpaceEventType.MOUSE_MOVE)\n\n handler.setInputAction(() => {\n handler.destroy()\n positions.push(positions[0])\n // 执行绘制生命周期函数\n if (listnerEvent.current.drawEnd.length) {\n listnerEvent.current.drawEnd.forEach(fuc => {\n fuc(positions)\n })\n }\n }, ScreenSpaceEventType.RIGHT_CLICK)\n }\n\n // 创建多边形\n const createPolygonEntity = (positions, polygon, clampToGround) => {\n const polygonEntity = new Entity({\n polyline: {\n positions: new CallbackProperty(() => {\n return positions\n }, false),\n width: 3,\n material: new Color(0, 255, 255, 0.5),\n clampToGround: clampToGround\n },\n polygon: {\n hierarchy: new CallbackProperty(() => {\n return polygon\n }, false),\n material: Color.WHITE.withAlpha(0.1),\n heightReference: HeightReference.CLAMP_TO_GROUND\n }\n })\n const entity = drawLayer.current?.entities.add(polygonEntity)\n return {\n polygonEntity,\n entity\n }\n }\n\n const draw = (type) => {\n switch(type) {\n case 'polygon':\n drawPolygon(true)\n break\n }\n }\n\n const on = (type, callBack) => {\n listnerEvent.current[type].push(callBack)\n }\n\n const clear = () => {\n if (drawLayer.current) {\n drawLayer.current.entities.removeAll()\n }\n }\n\n useEffect(() => {\n if (viewer && type) {\n initDrawHandler(viewer, type)\n } else {\n console.warn('请使用 initDrawHandler 函数初始化绘图控件')\n }\n return () => {\n clear()\n }\n }, [])\n\n return { activate, on, clear }\n}\n\nexport default DrawHandler;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useDrawHandler.js","names":["_react","require","_cesium","_cesium2","_TilesetCut","_interopRequireDefault","obj","__esModule","DrawHandler","props","viewer","type","sceneId","viewerObj","useRef","drawLayer","listnerEvent","drawStart","drawEnd","cutToolRef","current","initDrawHandler","cesiumWidget","screenSpaceEventHandler","removeInputAction","ScreenSpaceEventType","LEFT_DOUBLE_CLICK","CustomDataSource","dataSources","add","activate","draw","drawPolygon","clampToGround","handler","ScreenSpaceEventHandler","scene","canvas","positions","polygon","PolygonHierarchy","polyObj","setInputAction","ev","cartesian","getCartesian3FromXY","position","x","length","push","clone","_createPolygonEntity","createPolygonEntity","entity","LEFT_CLICK","catesian","endPosition","pop","MOUSE_MOVE","destroy","forEach","fuc","RIGHT_CLICK","_drawLayer$current","polygonEntity","Entity","polyline","CallbackProperty","width","material","Color","hierarchy","WHITE","withAlpha","heightReference","HeightReference","CLAMP_TO_GROUND","entities","on","callBack","clear","removeAll","useEffect","console","warn","_default","exports"],"sources":["excavation-analysis/hooks/useDrawHandler.js"],"sourcesContent":["import { useEffect, useRef } from 'react'\r\nimport { getCartesian3FromXY } from '../../_util/cesium';\r\nimport {\r\n ScreenSpaceEventType,\r\n CustomDataSource,\r\n ScreenSpaceEventHandler,\r\n PolygonHierarchy,\r\n Entity,\r\n CallbackProperty,\r\n Color,\r\n HeightReference\r\n} from 'cesium';\r\nimport TilesetCut from '../TilesetCut';\r\n\r\n\r\nconst DrawHandler = (props) => {\r\n const { viewer, type, sceneId } = props;\r\n const viewerObj = useRef()\r\n const drawLayer = useRef(null)\r\n const listnerEvent = useRef({\r\n drawStart: [],\r\n drawEnd: []\r\n })\r\n const cutToolRef = useRef();\r\n if (viewer) viewerObj.current = viewer\r\n\r\n // 初始化绘图控件\r\n const initDrawHandler = (viewer) => {\r\n // 取消双击事件-追踪该位置\r\n viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_DOUBLE_CLICK)\r\n drawLayer.current = new CustomDataSource('measureLayer')\r\n viewer.dataSources.add(drawLayer.current)\r\n }\r\n\r\n const activate = () => {\r\n if (type) {\r\n draw(type)\r\n }\r\n }\r\n\r\n // 绘制多边形\r\n const drawPolygon = (clampToGround) => {\r\n if (!viewer) return\r\n const handler = new ScreenSpaceEventHandler(viewer.scene.canvas)\r\n const positions = []\r\n const polygon = new PolygonHierarchy()\r\n let polyObj = null\r\n\r\n handler.setInputAction((ev) => {\r\n const cartesian = getCartesian3FromXY(viewer, ev.position)\r\n if (cartesian && cartesian.x) {\r\n if (positions.length === 0) {\r\n polygon.positions.push(cartesian.clone())\r\n positions.push(cartesian.clone())\r\n }\r\n positions.push(cartesian.clone())\r\n polygon.positions.push(cartesian.clone())\r\n if(!polyObj) {\r\n const { entity } = createPolygonEntity(positions, polygon, clampToGround)\r\n polyObj = entity\r\n }\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK)\r\n\r\n handler.setInputAction((ev) => {\r\n const catesian = getCartesian3FromXY(viewer, ev.endPosition)\r\n if (positions.length >= 2) {\r\n if (catesian && catesian.x) {\r\n positions.pop()\r\n positions.push(catesian)\r\n polygon.positions.pop()\r\n polygon.positions.push(catesian)\r\n }\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE)\r\n\r\n handler.setInputAction(() => {\r\n handler.destroy()\r\n positions.push(positions[0])\r\n // 执行绘制生命周期函数\r\n if (listnerEvent.current.drawEnd.length) {\r\n listnerEvent.current.drawEnd.forEach(fuc => {\r\n fuc(positions)\r\n })\r\n }\r\n }, ScreenSpaceEventType.RIGHT_CLICK)\r\n }\r\n\r\n // 创建多边形\r\n const createPolygonEntity = (positions, polygon, clampToGround) => {\r\n const polygonEntity = new Entity({\r\n polyline: {\r\n positions: new CallbackProperty(() => {\r\n return positions\r\n }, false),\r\n width: 3,\r\n material: new Color(0, 255, 255, 0.5),\r\n clampToGround: clampToGround\r\n },\r\n polygon: {\r\n hierarchy: new CallbackProperty(() => {\r\n return polygon\r\n }, false),\r\n material: Color.WHITE.withAlpha(0.1),\r\n heightReference: HeightReference.CLAMP_TO_GROUND\r\n }\r\n })\r\n const entity = drawLayer.current?.entities.add(polygonEntity)\r\n return {\r\n polygonEntity,\r\n entity\r\n }\r\n }\r\n\r\n const draw = (type) => {\r\n switch(type) {\r\n case 'polygon':\r\n drawPolygon(true)\r\n break\r\n }\r\n }\r\n\r\n const on = (type, callBack) => {\r\n listnerEvent.current[type].push(callBack)\r\n }\r\n\r\n const clear = () => {\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.removeAll()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (viewer && type) {\r\n initDrawHandler(viewer, type)\r\n } else {\r\n console.warn('请使用 initDrawHandler 函数初始化绘图控件')\r\n }\r\n return () => {\r\n clear()\r\n }\r\n }, [])\r\n\r\n return { activate, on, clear }\r\n}\r\n\r\nexport default DrawHandler;\r\n"],"mappings":"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"}