leiting-bim 2.1.36 → 2.1.39

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 (460) hide show
  1. package/leiting-bim.es.js +1 -1
  2. package/leiting-bim.umd.js +11 -11
  3. package/leitingbim.css +1 -1
  4. package/package.json +1 -1
  5. package/plugins/.gitmodules +4 -0
  6. package/plugins/README.md +2 -0
  7. package/plugins/build.cjs +63 -0
  8. package/plugins/cesium-core/dist/cesium-core.mjs +6217 -0
  9. package/plugins/cesium-core/dist/cesium-core.umd.js +76 -0
  10. package/plugins/cesium-core/dist/components/BufferedHierarchicalAggregator.d.ts +73 -0
  11. package/plugins/cesium-core/dist/components/HtmlOverlayLabelPool.d.ts +152 -0
  12. package/plugins/cesium-core/dist/components/MarkerEvent.d.ts +38 -0
  13. package/plugins/cesium-core/dist/components/Material/MaterialManager.d.ts +49 -0
  14. package/plugins/cesium-core/dist/components/Material/help/PolylineFlowMaterialProperty.d.ts +10 -0
  15. package/plugins/cesium-core/dist/components/Material/help/dynamicImgMaterial.d.ts +16 -0
  16. package/plugins/cesium-core/dist/components/Material/index.d.ts +3 -0
  17. package/plugins/cesium-core/dist/components/TooltipManager.d.ts +11 -0
  18. package/plugins/cesium-core/dist/components/draw/DrawTool.d.ts +10 -0
  19. package/plugins/cesium-core/dist/components/draw/handlers/CircleDrawer.d.ts +16 -0
  20. package/plugins/cesium-core/dist/components/draw/handlers/LineDrawer.d.ts +14 -0
  21. package/plugins/cesium-core/dist/components/draw/handlers/PointDrawer.d.ts +12 -0
  22. package/plugins/cesium-core/dist/components/draw/handlers/PolygonDrawer.d.ts +14 -0
  23. package/plugins/cesium-core/dist/components/draw/handlers/RectangleDrawer.d.ts +13 -0
  24. package/plugins/cesium-core/dist/components/draw/types.d.ts +29 -0
  25. package/plugins/cesium-core/dist/components/entity/EntityLayer.d.ts +65 -0
  26. package/plugins/cesium-core/dist/components/gltf/GLTFManage.d.ts +141 -0
  27. package/plugins/cesium-core/dist/components/gltf/index.d.ts +1 -0
  28. package/plugins/cesium-core/dist/components/measurement/MeasurementTool.d.ts +34 -0
  29. package/plugins/cesium-core/dist/components/measurement/handlers/AreaMeasure.d.ts +28 -0
  30. package/plugins/cesium-core/dist/components/measurement/handlers/CircleMeasure.d.ts +22 -0
  31. package/plugins/cesium-core/dist/components/measurement/handlers/CoordinateMeasure.d.ts +16 -0
  32. package/plugins/cesium-core/dist/components/measurement/handlers/HorizontalMeasure.d.ts +27 -0
  33. package/plugins/cesium-core/dist/components/measurement/handlers/PolylineDistanceMeasure.d.ts +25 -0
  34. package/plugins/cesium-core/dist/components/measurement/handlers/RectangleMeasure.d.ts +30 -0
  35. package/plugins/cesium-core/dist/components/measurement/handlers/RegularPolygonMeasure.d.ts +28 -0
  36. package/plugins/cesium-core/dist/components/measurement/handlers/SpaceMeasure.d.ts +21 -0
  37. package/plugins/cesium-core/dist/components/measurement/handlers/TerrainHeightMeasure.d.ts +18 -0
  38. package/plugins/cesium-core/dist/components/measurement/handlers/TriangleMeasure.d.ts +30 -0
  39. package/plugins/cesium-core/dist/components/measurement/handlers/VerticalMeasure.d.ts +23 -0
  40. package/plugins/cesium-core/dist/components/measurement/index.d.ts +13 -0
  41. package/plugins/cesium-core/dist/components/measurement/types.d.ts +42 -0
  42. package/plugins/cesium-core/dist/components/primitive/PrimitiveManager.d.ts +50 -0
  43. package/plugins/cesium-core/dist/components/roaming/CameraRoamTool.d.ts +27 -0
  44. package/plugins/cesium-core/dist/components/roaming/PathRoamTool.d.ts +23 -0
  45. package/plugins/cesium-core/dist/components/roaming/index.d.ts +3 -0
  46. package/plugins/cesium-core/dist/components/roaming/types.d.ts +66 -0
  47. package/plugins/cesium-core/dist/components/utils/convertGeoJsonToEntityData.d.ts +1 -0
  48. package/plugins/cesium-core/dist/components/utils/uuid.d.ts +1 -0
  49. package/plugins/cesium-core/dist/index.d.ts +12 -0
  50. package/plugins/cesium-core/package.json +27 -0
  51. package/plugins/cesium-core/pnpm-lock.yaml +872 -0
  52. package/plugins/cesium-core/src/components/BufferedHierarchicalAggregator.ts +546 -0
  53. package/plugins/cesium-core/src/components/HtmlOverlayLabelPool.ts +489 -0
  54. package/plugins/cesium-core/src/components/MarkerEvent.ts +92 -0
  55. package/plugins/cesium-core/src/components/Material/MaterialManager.ts +129 -0
  56. package/plugins/cesium-core/src/components/Material/help/PolylineFlowMaterialProperty.ts +116 -0
  57. package/plugins/cesium-core/src/components/Material/help/dynamicImgMaterial.ts +236 -0
  58. package/plugins/cesium-core/src/components/Material/index.ts +3 -0
  59. package/plugins/cesium-core/src/components/TooltipManager.ts +52 -0
  60. package/plugins/cesium-core/src/components/draw/DrawTool.ts +55 -0
  61. package/plugins/cesium-core/src/components/draw/handlers/CircleDrawer.ts +159 -0
  62. package/plugins/cesium-core/src/components/draw/handlers/LineDrawer.ts +113 -0
  63. package/plugins/cesium-core/src/components/draw/handlers/PointDrawer.ts +70 -0
  64. package/plugins/cesium-core/src/components/draw/handlers/PolygonDrawer.ts +112 -0
  65. package/plugins/cesium-core/src/components/draw/handlers/RectangleDrawer.ts +115 -0
  66. package/plugins/cesium-core/src/components/draw/types.ts +28 -0
  67. package/plugins/cesium-core/src/components/entity/EntityLayer.ts +453 -0
  68. package/plugins/cesium-core/src/components/gltf/GLTFManage.ts +799 -0
  69. package/plugins/cesium-core/src/components/gltf/index.ts +1 -0
  70. package/plugins/cesium-core/src/components/measurement/MeasurementTool.ts +416 -0
  71. package/plugins/cesium-core/src/components/measurement/handlers/AreaMeasure.ts +552 -0
  72. package/plugins/cesium-core/src/components/measurement/handlers/CircleMeasure.ts +289 -0
  73. package/plugins/cesium-core/src/components/measurement/handlers/CoordinateMeasure.ts +139 -0
  74. package/plugins/cesium-core/src/components/measurement/handlers/HorizontalMeasure.ts +427 -0
  75. package/plugins/cesium-core/src/components/measurement/handlers/PolylineDistanceMeasure.ts +356 -0
  76. package/plugins/cesium-core/src/components/measurement/handlers/RectangleMeasure.ts +516 -0
  77. package/plugins/cesium-core/src/components/measurement/handlers/RegularPolygonMeasure.ts +472 -0
  78. package/plugins/cesium-core/src/components/measurement/handlers/SpaceMeasure.ts +250 -0
  79. package/plugins/cesium-core/src/components/measurement/handlers/TerrainHeightMeasure.ts +185 -0
  80. package/plugins/cesium-core/src/components/measurement/handlers/TriangleMeasure.ts +561 -0
  81. package/plugins/cesium-core/src/components/measurement/handlers/VerticalMeasure.ts +361 -0
  82. package/plugins/cesium-core/src/components/measurement/index.ts +13 -0
  83. package/plugins/cesium-core/src/components/measurement/types.ts +57 -0
  84. package/plugins/cesium-core/src/components/primitive/PrimitiveManager.ts +556 -0
  85. package/plugins/cesium-core/src/components/roaming/CameraRoamTool.ts +286 -0
  86. package/plugins/cesium-core/src/components/roaming/PathRoamTool.ts +174 -0
  87. package/plugins/cesium-core/src/components/roaming/index.ts +3 -0
  88. package/plugins/cesium-core/src/components/roaming/types.ts +71 -0
  89. package/plugins/cesium-core/src/components/utils/convertGeoJsonToEntityData.ts +98 -0
  90. package/plugins/cesium-core/src/components/utils/uuid.ts +7 -0
  91. package/plugins/cesium-core/src/index.ts +17 -0
  92. package/plugins/cesium-core/src/test/measurement/index.html +166 -0
  93. package/plugins/cesium-core/src/test/roaming/c.gltf +1 -0
  94. package/plugins/cesium-core/src/test/roaming/f87cc3ea918a4b76bff2c88a3655eb1f.bin +0 -0
  95. package/plugins/cesium-core/src/test/roaming/index.html +51 -0
  96. package/plugins/cesium-core/src/test/roaming/path.html +448 -0
  97. package/plugins/cesium-core/src/test/roaming/view.html +520 -0
  98. package/plugins/cesium-core/stats.html +4949 -0
  99. package/plugins/cesium-core/tsconfig.json +14 -0
  100. package/plugins/cesium-core/vite.config.ts +35 -0
  101. package/plugins/cesium-vue/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  102. package/plugins/cesium-vue/dist/components/basic-audio/index.d.ts +13 -0
  103. package/plugins/cesium-vue/dist/components/basic-audio.d.ts +6 -0
  104. package/plugins/cesium-vue/dist/components/basic-audio.js +1295 -0
  105. package/plugins/cesium-vue/dist/components/basic-video/index.d.ts +98 -0
  106. package/plugins/cesium-vue/dist/components/basic-video.d.ts +6 -0
  107. package/plugins/cesium-vue/dist/components/basic-video.js +67 -0
  108. package/plugins/cesium-vue/dist/components/card-carousel/index.d.ts +147 -0
  109. package/plugins/cesium-vue/dist/components/card-carousel.d.ts +6 -0
  110. package/plugins/cesium-vue/dist/components/card-carousel.js +143 -0
  111. package/plugins/cesium-vue/dist/components/card-content/index.d.ts +16 -0
  112. package/plugins/cesium-vue/dist/components/card-content.d.ts +6 -0
  113. package/plugins/cesium-vue/dist/components/card-content.js +74 -0
  114. package/plugins/cesium-vue/dist/components/card-page/index.d.ts +64 -0
  115. package/plugins/cesium-vue/dist/components/card-page.d.ts +6 -0
  116. package/plugins/cesium-vue/dist/components/card-page.js +111 -0
  117. package/plugins/cesium-vue/dist/components/carousel-img/index.d.ts +34 -0
  118. package/plugins/cesium-vue/dist/components/carousel-img.d.ts +6 -0
  119. package/plugins/cesium-vue/dist/components/carousel-img.js +72 -0
  120. package/plugins/cesium-vue/dist/components/echarts-pro/index.d.ts +63 -0
  121. package/plugins/cesium-vue/dist/components/echarts-pro.d.ts +6 -0
  122. package/plugins/cesium-vue/dist/components/echarts-pro.js +7 -0
  123. package/plugins/cesium-vue/dist/components/marker-bubble/index.d.ts +73 -0
  124. package/plugins/cesium-vue/dist/components/marker-bubble.d.ts +6 -0
  125. package/plugins/cesium-vue/dist/components/marker-bubble.js +123 -0
  126. package/plugins/cesium-vue/dist/components/marker-default/index.d.ts +43 -0
  127. package/plugins/cesium-vue/dist/components/marker-default.d.ts +6 -0
  128. package/plugins/cesium-vue/dist/components/marker-default.js +39 -0
  129. package/plugins/cesium-vue/dist/components/marker-html/index.d.ts +43 -0
  130. package/plugins/cesium-vue/dist/components/marker-html.d.ts +6 -0
  131. package/plugins/cesium-vue/dist/components/marker-html.js +40 -0
  132. package/plugins/cesium-vue/dist/components/marker-manage/index.d.ts +159 -0
  133. package/plugins/cesium-vue/dist/components/marker-manage.d.ts +6 -0
  134. package/plugins/cesium-vue/dist/components/marker-manage.js +896 -0
  135. package/plugins/cesium-vue/dist/components/marker-text/index.d.ts +25 -0
  136. package/plugins/cesium-vue/dist/components/marker-text.d.ts +6 -0
  137. package/plugins/cesium-vue/dist/components/marker-text.js +30 -0
  138. package/plugins/cesium-vue/dist/components/measurement/index.d.ts +73 -0
  139. package/plugins/cesium-vue/dist/components/measurement.d.ts +6 -0
  140. package/plugins/cesium-vue/dist/components/measurement.js +170 -0
  141. package/plugins/cesium-vue/dist/create-DynflqE1.js +31 -0
  142. package/plugins/cesium-vue/dist/index-B03tSn8_.js +45855 -0
  143. package/plugins/cesium-vue/dist/index-CUs_hd1V.js +403 -0
  144. package/plugins/cesium-vue/dist/index.d.ts +44 -0
  145. package/plugins/cesium-vue/dist/index.js +82 -0
  146. package/plugins/cesium-vue/package.json +106 -0
  147. package/plugins/cesium-vue/src/assets/icons/icon-001.png +0 -0
  148. package/plugins/cesium-vue/src/assets/icons/icon-002.png +0 -0
  149. package/plugins/cesium-vue/src/assets/icons/icon-003.png +0 -0
  150. package/plugins/cesium-vue/src/assets/icons/icon-004.png +0 -0
  151. package/plugins/cesium-vue/src/assets/icons/icon-005.png +0 -0
  152. package/plugins/cesium-vue/src/assets/icons/icon-006.png +0 -0
  153. package/plugins/cesium-vue/src/assets/icons/icon-007.png +0 -0
  154. package/plugins/cesium-vue/src/assets/icons/icon-008.png +0 -0
  155. package/plugins/cesium-vue/src/assets/icons/icon-009.png +0 -0
  156. package/plugins/cesium-vue/src/assets/icons/icon-010.png +0 -0
  157. package/plugins/cesium-vue/src/assets/icons/icon-011.png +0 -0
  158. package/plugins/cesium-vue/src/assets/icons/icon-012.png +0 -0
  159. package/plugins/cesium-vue/src/assets/img/Card3-BG.png +0 -0
  160. package/plugins/cesium-vue/src/assets/img/card_bg3.png +0 -0
  161. package/plugins/cesium-vue/src/components/basic-audio/index.ts +6 -0
  162. package/plugins/cesium-vue/src/components/basic-audio/src/BasicAudio.vue +119 -0
  163. package/plugins/cesium-vue/src/components/basic-audio/src/basicAudio.ts +6 -0
  164. package/plugins/cesium-vue/src/components/basic-video/index.ts +7 -0
  165. package/plugins/cesium-vue/src/components/basic-video/src/BasicVideo.vue +58 -0
  166. package/plugins/cesium-vue/src/components/basic-video/src/basicVideo.ts +14 -0
  167. package/plugins/cesium-vue/src/components/card-carousel/index.ts +7 -0
  168. package/plugins/cesium-vue/src/components/card-carousel/src/CardCarousel.vue +124 -0
  169. package/plugins/cesium-vue/src/components/card-carousel/src/cardCarousel.ts +60 -0
  170. package/plugins/cesium-vue/src/components/card-content/index.ts +7 -0
  171. package/plugins/cesium-vue/src/components/card-content/src/CardContent.vue +41 -0
  172. package/plugins/cesium-vue/src/components/card-content/src/cardContent.ts +22 -0
  173. package/plugins/cesium-vue/src/components/card-page/index.ts +7 -0
  174. package/plugins/cesium-vue/src/components/card-page/src/CardPage.vue +102 -0
  175. package/plugins/cesium-vue/src/components/card-page/src/cardPage.ts +37 -0
  176. package/plugins/cesium-vue/src/components/carousel-img/index.ts +7 -0
  177. package/plugins/cesium-vue/src/components/carousel-img/src/CarouselImg.vue +84 -0
  178. package/plugins/cesium-vue/src/components/carousel-img/src/carouselImg.ts +8 -0
  179. package/plugins/cesium-vue/src/components/echarts-pro/index.ts +7 -0
  180. package/plugins/cesium-vue/src/components/echarts-pro/src/EchartsPro.vue +107 -0
  181. package/plugins/cesium-vue/src/components/echarts-pro/src/echartsPro.ts +12 -0
  182. package/plugins/cesium-vue/src/components/echarts-pro/src/hook/useECharts.ts +55 -0
  183. package/plugins/cesium-vue/src/components/marker-bubble/index.ts +7 -0
  184. package/plugins/cesium-vue/src/components/marker-bubble/src/MarkerBubble.vue +235 -0
  185. package/plugins/cesium-vue/src/components/marker-bubble/src/markerBubble.ts +35 -0
  186. package/plugins/cesium-vue/src/components/marker-default/index.ts +7 -0
  187. package/plugins/cesium-vue/src/components/marker-default/src/MarkerDefault.vue +19 -0
  188. package/plugins/cesium-vue/src/components/marker-default/src/markerDefault.ts +12 -0
  189. package/plugins/cesium-vue/src/components/marker-html/index.ts +7 -0
  190. package/plugins/cesium-vue/src/components/marker-html/src/MarkerHtml.vue +21 -0
  191. package/plugins/cesium-vue/src/components/marker-html/src/markerHtml.ts +12 -0
  192. package/plugins/cesium-vue/src/components/marker-manage/index.ts +9 -0
  193. package/plugins/cesium-vue/src/components/marker-manage/src/components/MarkerManage.vue +106 -0
  194. package/plugins/cesium-vue/src/components/marker-manage/src/config/theme.ts +8 -0
  195. package/plugins/cesium-vue/src/components/marker-manage/src/core/MarkerManage.ts +466 -0
  196. package/plugins/cesium-vue/src/components/marker-manage/src/core/MarkerManagerCore.ts +148 -0
  197. package/plugins/cesium-vue/src/components/marker-manage/src/hook/useMarkerManage.ts +45 -0
  198. package/plugins/cesium-vue/src/components/marker-manage/src/type/markerManage.ts +75 -0
  199. package/plugins/cesium-vue/src/components/marker-manage/src/utils/themeTool.ts +154 -0
  200. package/plugins/cesium-vue/src/components/marker-text/index.ts +7 -0
  201. package/plugins/cesium-vue/src/components/marker-text/src/MarkerText.vue +14 -0
  202. package/plugins/cesium-vue/src/components/marker-text/src/markerText.ts +10 -0
  203. package/plugins/cesium-vue/src/components/measurement/index.ts +7 -0
  204. package/plugins/cesium-vue/src/components/measurement/src/Measurement.vue +183 -0
  205. package/plugins/cesium-vue/src/components/measurement/src/measurement.ts +20 -0
  206. package/plugins/cesium-vue/src/index.ts +89 -0
  207. package/plugins/cesium-vue/stats.html +4949 -0
  208. package/plugins/cesium-vue/tsconfig.json +18 -0
  209. package/plugins/cesium-vue/vite.config.ts +62 -0
  210. package/plugins/plugins/README.md +2 -0
  211. package/plugins/plugins/build.cjs +63 -0
  212. package/plugins/plugins/cesium-core/dist/cesium-core.mjs +5881 -0
  213. package/plugins/plugins/cesium-core/dist/cesium-core.mjs.map +1 -0
  214. package/plugins/plugins/cesium-core/dist/cesium-core.umd.js +77 -0
  215. package/plugins/plugins/cesium-core/dist/cesium-core.umd.js.map +1 -0
  216. package/plugins/plugins/cesium-core/dist/components/BufferedHierarchicalAggregator.d.ts +73 -0
  217. package/plugins/plugins/cesium-core/dist/components/HtmlOverlayLabelPool.d.ts +152 -0
  218. package/plugins/plugins/cesium-core/dist/components/MarkerEvent.d.ts +38 -0
  219. package/plugins/plugins/cesium-core/dist/components/Material/MaterialManager.d.ts +49 -0
  220. package/plugins/plugins/cesium-core/dist/components/Material/help/PolylineFlowMaterialProperty.d.ts +10 -0
  221. package/plugins/plugins/cesium-core/dist/components/Material/help/dynamicImgMaterial.d.ts +16 -0
  222. package/plugins/plugins/cesium-core/dist/components/Material/index.d.ts +3 -0
  223. package/plugins/plugins/cesium-core/dist/components/TooltipManager.d.ts +11 -0
  224. package/plugins/plugins/cesium-core/dist/components/draw/DrawTool.d.ts +10 -0
  225. package/plugins/plugins/cesium-core/dist/components/draw/handlers/CircleDrawer.d.ts +16 -0
  226. package/plugins/plugins/cesium-core/dist/components/draw/handlers/LineDrawer.d.ts +14 -0
  227. package/plugins/plugins/cesium-core/dist/components/draw/handlers/PointDrawer.d.ts +12 -0
  228. package/plugins/plugins/cesium-core/dist/components/draw/handlers/PolygonDrawer.d.ts +14 -0
  229. package/plugins/plugins/cesium-core/dist/components/draw/handlers/RectangleDrawer.d.ts +13 -0
  230. package/plugins/plugins/cesium-core/dist/components/draw/types.d.ts +29 -0
  231. package/plugins/plugins/cesium-core/dist/components/entity/EntityLayer.d.ts +65 -0
  232. package/plugins/plugins/cesium-core/dist/components/gltf/GLTFManage.d.ts +141 -0
  233. package/plugins/plugins/cesium-core/dist/components/gltf/index.d.ts +1 -0
  234. package/plugins/plugins/cesium-core/dist/components/measurement/MeasurementTool.d.ts +34 -0
  235. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/AreaMeasure.d.ts +23 -0
  236. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/CircleMeasure.d.ts +21 -0
  237. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/CoordinateMeasure.d.ts +16 -0
  238. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/HorizontalMeasure.d.ts +25 -0
  239. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/PolylineDistanceMeasure.d.ts +24 -0
  240. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/RectangleMeasure.d.ts +22 -0
  241. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/RegularPolygonMeasure.d.ts +23 -0
  242. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/SpaceMeasure.d.ts +20 -0
  243. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/TerrainHeightMeasure.d.ts +18 -0
  244. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/TriangleMeasure.d.ts +24 -0
  245. package/plugins/plugins/cesium-core/dist/components/measurement/handlers/VerticalMeasure.d.ts +23 -0
  246. package/plugins/plugins/cesium-core/dist/components/measurement/index.d.ts +13 -0
  247. package/plugins/plugins/cesium-core/dist/components/measurement/types.d.ts +42 -0
  248. package/plugins/plugins/cesium-core/dist/components/primitive/PrimitiveManager.d.ts +50 -0
  249. package/plugins/plugins/cesium-core/dist/components/roaming/CameraRoamTool.d.ts +27 -0
  250. package/plugins/plugins/cesium-core/dist/components/roaming/PathRoamTool.d.ts +23 -0
  251. package/plugins/plugins/cesium-core/dist/components/roaming/index.d.ts +3 -0
  252. package/plugins/plugins/cesium-core/dist/components/roaming/types.d.ts +66 -0
  253. package/plugins/plugins/cesium-core/dist/components/utils/convertGeoJsonToEntityData.d.ts +1 -0
  254. package/plugins/plugins/cesium-core/dist/components/utils/uuid.d.ts +1 -0
  255. package/plugins/plugins/cesium-core/dist/index.d.ts +12 -0
  256. package/plugins/plugins/cesium-core/package.json +26 -0
  257. package/plugins/plugins/cesium-core/pnpm-lock.yaml +872 -0
  258. package/plugins/plugins/cesium-core/src/components/BufferedHierarchicalAggregator.ts +546 -0
  259. package/plugins/plugins/cesium-core/src/components/HtmlOverlayLabelPool.ts +489 -0
  260. package/plugins/plugins/cesium-core/src/components/MarkerEvent.ts +92 -0
  261. package/plugins/plugins/cesium-core/src/components/Material/MaterialManager.ts +129 -0
  262. package/plugins/plugins/cesium-core/src/components/Material/help/PolylineFlowMaterialProperty.ts +116 -0
  263. package/plugins/plugins/cesium-core/src/components/Material/help/dynamicImgMaterial.ts +236 -0
  264. package/plugins/plugins/cesium-core/src/components/Material/index.ts +3 -0
  265. package/plugins/plugins/cesium-core/src/components/TooltipManager.ts +52 -0
  266. package/plugins/plugins/cesium-core/src/components/draw/DrawTool.ts +55 -0
  267. package/plugins/plugins/cesium-core/src/components/draw/handlers/CircleDrawer.ts +159 -0
  268. package/plugins/plugins/cesium-core/src/components/draw/handlers/LineDrawer.ts +113 -0
  269. package/plugins/plugins/cesium-core/src/components/draw/handlers/PointDrawer.ts +70 -0
  270. package/plugins/plugins/cesium-core/src/components/draw/handlers/PolygonDrawer.ts +112 -0
  271. package/plugins/plugins/cesium-core/src/components/draw/handlers/RectangleDrawer.ts +115 -0
  272. package/plugins/plugins/cesium-core/src/components/draw/types.ts +28 -0
  273. package/plugins/plugins/cesium-core/src/components/entity/EntityLayer.ts +453 -0
  274. package/plugins/plugins/cesium-core/src/components/gltf/GLTFManage.ts +799 -0
  275. package/plugins/plugins/cesium-core/src/components/gltf/index.ts +1 -0
  276. package/plugins/plugins/cesium-core/src/components/measurement/MeasurementTool.ts +416 -0
  277. package/plugins/plugins/cesium-core/src/components/measurement/handlers/AreaMeasure.ts +451 -0
  278. package/plugins/plugins/cesium-core/src/components/measurement/handlers/CircleMeasure.ts +267 -0
  279. package/plugins/plugins/cesium-core/src/components/measurement/handlers/CoordinateMeasure.ts +139 -0
  280. package/plugins/plugins/cesium-core/src/components/measurement/handlers/HorizontalMeasure.ts +418 -0
  281. package/plugins/plugins/cesium-core/src/components/measurement/handlers/PolylineDistanceMeasure.ts +352 -0
  282. package/plugins/plugins/cesium-core/src/components/measurement/handlers/RectangleMeasure.ts +388 -0
  283. package/plugins/plugins/cesium-core/src/components/measurement/handlers/RegularPolygonMeasure.ts +379 -0
  284. package/plugins/plugins/cesium-core/src/components/measurement/handlers/SpaceMeasure.ts +246 -0
  285. package/plugins/plugins/cesium-core/src/components/measurement/handlers/TerrainHeightMeasure.ts +185 -0
  286. package/plugins/plugins/cesium-core/src/components/measurement/handlers/TriangleMeasure.ts +541 -0
  287. package/plugins/plugins/cesium-core/src/components/measurement/handlers/VerticalMeasure.ts +360 -0
  288. package/plugins/plugins/cesium-core/src/components/measurement/index.ts +13 -0
  289. package/plugins/plugins/cesium-core/src/components/measurement/types.ts +57 -0
  290. package/plugins/plugins/cesium-core/src/components/primitive/PrimitiveManager.ts +556 -0
  291. package/plugins/plugins/cesium-core/src/components/roaming/CameraRoamTool.ts +286 -0
  292. package/plugins/plugins/cesium-core/src/components/roaming/PathRoamTool.ts +174 -0
  293. package/plugins/plugins/cesium-core/src/components/roaming/index.ts +3 -0
  294. package/plugins/plugins/cesium-core/src/components/roaming/types.ts +71 -0
  295. package/plugins/plugins/cesium-core/src/components/utils/convertGeoJsonToEntityData.ts +98 -0
  296. package/plugins/plugins/cesium-core/src/components/utils/uuid.ts +7 -0
  297. package/plugins/plugins/cesium-core/src/index.ts +17 -0
  298. package/plugins/plugins/cesium-core/src/test/measurement/index.html +166 -0
  299. package/plugins/plugins/cesium-core/src/test/roaming/c.gltf +1 -0
  300. package/plugins/plugins/cesium-core/src/test/roaming/f87cc3ea918a4b76bff2c88a3655eb1f.bin +0 -0
  301. package/plugins/plugins/cesium-core/src/test/roaming/index.html +51 -0
  302. package/plugins/plugins/cesium-core/src/test/roaming/path.html +448 -0
  303. package/plugins/plugins/cesium-core/src/test/roaming/view.html +520 -0
  304. package/plugins/plugins/cesium-core/stats.html +4949 -0
  305. package/plugins/plugins/cesium-core/tsconfig.json +14 -0
  306. package/plugins/plugins/cesium-core/vite.config.ts +35 -0
  307. package/plugins/plugins/cesium-vue/dist/components/basic-audio/index.d.ts +18 -0
  308. package/plugins/plugins/cesium-vue/dist/components/basic-audio/index.d.ts.map +1 -0
  309. package/plugins/plugins/cesium-vue/dist/components/basic-video/index.d.ts +92 -0
  310. package/plugins/plugins/cesium-vue/dist/components/basic-video/index.d.ts.map +1 -0
  311. package/plugins/plugins/cesium-vue/dist/components/camera-roam/index.d.ts +82 -0
  312. package/plugins/plugins/cesium-vue/dist/components/camera-roam/index.d.ts.map +1 -0
  313. package/plugins/plugins/cesium-vue/dist/components/card-carousel/index.d.ts +152 -0
  314. package/plugins/plugins/cesium-vue/dist/components/card-carousel/index.d.ts.map +1 -0
  315. package/plugins/plugins/cesium-vue/dist/components/card-content/index.d.ts +21 -0
  316. package/plugins/plugins/cesium-vue/dist/components/card-content/index.d.ts.map +1 -0
  317. package/plugins/plugins/cesium-vue/dist/components/card-page/index.d.ts +69 -0
  318. package/plugins/plugins/cesium-vue/dist/components/card-page/index.d.ts.map +1 -0
  319. package/plugins/plugins/cesium-vue/dist/components/carousel-img/index.d.ts +21 -0
  320. package/plugins/plugins/cesium-vue/dist/components/carousel-img/index.d.ts.map +1 -0
  321. package/plugins/plugins/cesium-vue/dist/components/echarts-pro/index.d.ts +68 -0
  322. package/plugins/plugins/cesium-vue/dist/components/echarts-pro/index.d.ts.map +1 -0
  323. package/plugins/plugins/cesium-vue/dist/components/marker-bubble/index.d.ts +78 -0
  324. package/plugins/plugins/cesium-vue/dist/components/marker-bubble/index.d.ts.map +1 -0
  325. package/plugins/plugins/cesium-vue/dist/components/marker-default/index.d.ts +48 -0
  326. package/plugins/plugins/cesium-vue/dist/components/marker-default/index.d.ts.map +1 -0
  327. package/plugins/plugins/cesium-vue/dist/components/marker-html/index.d.ts +48 -0
  328. package/plugins/plugins/cesium-vue/dist/components/marker-html/index.d.ts.map +1 -0
  329. package/plugins/plugins/cesium-vue/dist/components/marker-manage/index.d.ts +164 -0
  330. package/plugins/plugins/cesium-vue/dist/components/marker-manage/index.d.ts.map +1 -0
  331. package/plugins/plugins/cesium-vue/dist/components/marker-text/index.d.ts +30 -0
  332. package/plugins/plugins/cesium-vue/dist/components/marker-text/index.d.ts.map +1 -0
  333. package/plugins/plugins/cesium-vue/dist/components/measurement/index.d.ts +78 -0
  334. package/plugins/plugins/cesium-vue/dist/components/measurement/index.d.ts.map +1 -0
  335. package/plugins/plugins/cesium-vue/dist/components/path-roam/index.d.ts +82 -0
  336. package/plugins/plugins/cesium-vue/dist/components/path-roam/index.d.ts.map +1 -0
  337. package/plugins/plugins/cesium-vue/dist/components/test/index.d.ts +67 -0
  338. package/plugins/plugins/cesium-vue/dist/components/test/index.d.ts.map +1 -0
  339. package/plugins/plugins/cesium-vue/dist/index.css +1 -0
  340. package/plugins/plugins/cesium-vue/dist/index.d.ts +30 -0
  341. package/plugins/plugins/cesium-vue/dist/index.d.ts.map +1 -0
  342. package/plugins/plugins/cesium-vue/dist/index.js +10087 -0
  343. package/plugins/plugins/cesium-vue/dist/index.js.map +1 -0
  344. package/plugins/plugins/cesium-vue/dist/index.umd.cjs +46 -0
  345. package/plugins/plugins/cesium-vue/dist/index.umd.cjs.map +1 -0
  346. package/plugins/plugins/cesium-vue/package.json +48 -0
  347. package/plugins/plugins/cesium-vue/src/assets/icons/icon-001.png +0 -0
  348. package/plugins/plugins/cesium-vue/src/assets/icons/icon-002.png +0 -0
  349. package/plugins/plugins/cesium-vue/src/assets/icons/icon-003.png +0 -0
  350. package/plugins/plugins/cesium-vue/src/assets/icons/icon-004.png +0 -0
  351. package/plugins/plugins/cesium-vue/src/assets/icons/icon-005.png +0 -0
  352. package/plugins/plugins/cesium-vue/src/assets/icons/icon-006.png +0 -0
  353. package/plugins/plugins/cesium-vue/src/assets/icons/icon-007.png +0 -0
  354. package/plugins/plugins/cesium-vue/src/assets/icons/icon-008.png +0 -0
  355. package/plugins/plugins/cesium-vue/src/assets/icons/icon-009.png +0 -0
  356. package/plugins/plugins/cesium-vue/src/assets/icons/icon-010.png +0 -0
  357. package/plugins/plugins/cesium-vue/src/assets/icons/icon-011.png +0 -0
  358. package/plugins/plugins/cesium-vue/src/assets/icons/icon-012.png +0 -0
  359. package/plugins/plugins/cesium-vue/src/assets/img/Card3-BG.png +0 -0
  360. package/plugins/plugins/cesium-vue/src/assets/img/card_bg3.png +0 -0
  361. package/plugins/plugins/cesium-vue/src/components/basic-audio/index.ts +11 -0
  362. package/plugins/plugins/cesium-vue/src/components/basic-audio/src/BasicAudio.vue +110 -0
  363. package/plugins/plugins/cesium-vue/src/components/basic-audio/src/basicAudio.ts +6 -0
  364. package/plugins/plugins/cesium-vue/src/components/basic-video/index.ts +12 -0
  365. package/plugins/plugins/cesium-vue/src/components/basic-video/src/BasicVideo.vue +99 -0
  366. package/plugins/plugins/cesium-vue/src/components/basic-video/src/basicVideo.ts +13 -0
  367. package/plugins/plugins/cesium-vue/src/components/camera-roam/index.ts +4 -0
  368. package/plugins/plugins/cesium-vue/src/components/camera-roam/src/CameraRoam.vue +434 -0
  369. package/plugins/plugins/cesium-vue/src/components/camera-roam/src/cameraRoam.ts +28 -0
  370. package/plugins/plugins/cesium-vue/src/components/card-carousel/index.ts +12 -0
  371. package/plugins/plugins/cesium-vue/src/components/card-carousel/src/CardCarousel.vue +124 -0
  372. package/plugins/plugins/cesium-vue/src/components/card-carousel/src/cardCarousel.ts +60 -0
  373. package/plugins/plugins/cesium-vue/src/components/card-content/index.ts +12 -0
  374. package/plugins/plugins/cesium-vue/src/components/card-content/src/CardContent.vue +41 -0
  375. package/plugins/plugins/cesium-vue/src/components/card-content/src/cardContent.ts +22 -0
  376. package/plugins/plugins/cesium-vue/src/components/card-page/index.ts +12 -0
  377. package/plugins/plugins/cesium-vue/src/components/card-page/src/CardPage.vue +102 -0
  378. package/plugins/plugins/cesium-vue/src/components/card-page/src/cardPage.ts +37 -0
  379. package/plugins/plugins/cesium-vue/src/components/carousel-img/index.ts +12 -0
  380. package/plugins/plugins/cesium-vue/src/components/carousel-img/src/CarouselImg.vue +15 -0
  381. package/plugins/plugins/cesium-vue/src/components/carousel-img/src/carouselImg.ts +6 -0
  382. package/plugins/plugins/cesium-vue/src/components/echarts-pro/index.ts +12 -0
  383. package/plugins/plugins/cesium-vue/src/components/echarts-pro/src/EchartsPro.vue +107 -0
  384. package/plugins/plugins/cesium-vue/src/components/echarts-pro/src/echartsPro.ts +12 -0
  385. package/plugins/plugins/cesium-vue/src/components/echarts-pro/src/hook/useECharts.ts +55 -0
  386. package/plugins/plugins/cesium-vue/src/components/marker-bubble/index.ts +12 -0
  387. package/plugins/plugins/cesium-vue/src/components/marker-bubble/src/MarkerBubble.vue +235 -0
  388. package/plugins/plugins/cesium-vue/src/components/marker-bubble/src/markerBubble.ts +35 -0
  389. package/plugins/plugins/cesium-vue/src/components/marker-default/index.ts +12 -0
  390. package/plugins/plugins/cesium-vue/src/components/marker-default/src/MarkerDefault.vue +19 -0
  391. package/plugins/plugins/cesium-vue/src/components/marker-default/src/markerDefault.ts +12 -0
  392. package/plugins/plugins/cesium-vue/src/components/marker-html/index.ts +12 -0
  393. package/plugins/plugins/cesium-vue/src/components/marker-html/src/MarkerHtml.vue +21 -0
  394. package/plugins/plugins/cesium-vue/src/components/marker-html/src/markerHtml.ts +12 -0
  395. package/plugins/plugins/cesium-vue/src/components/marker-manage/index.ts +14 -0
  396. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/components/MarkerManage.vue +106 -0
  397. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/config/theme.ts +8 -0
  398. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/core/MarkerManage.ts +466 -0
  399. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/core/MarkerManagerCore.ts +148 -0
  400. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/hook/useMarkerManage.ts +45 -0
  401. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/type/markerManage.ts +75 -0
  402. package/plugins/plugins/cesium-vue/src/components/marker-manage/src/utils/themeTool.ts +154 -0
  403. package/plugins/plugins/cesium-vue/src/components/marker-text/index.ts +12 -0
  404. package/plugins/plugins/cesium-vue/src/components/marker-text/src/MarkerText.vue +14 -0
  405. package/plugins/plugins/cesium-vue/src/components/marker-text/src/markerText.ts +10 -0
  406. package/plugins/plugins/cesium-vue/src/components/measurement/index.ts +12 -0
  407. package/plugins/plugins/cesium-vue/src/components/measurement/src/Measurement.vue +183 -0
  408. package/plugins/plugins/cesium-vue/src/components/measurement/src/measurement.ts +20 -0
  409. package/plugins/plugins/cesium-vue/src/components/path-roam/index.ts +4 -0
  410. package/plugins/plugins/cesium-vue/src/components/path-roam/src/PathRoam.vue +429 -0
  411. package/plugins/plugins/cesium-vue/src/components/path-roam/src/pathRoam.ts +28 -0
  412. package/plugins/plugins/cesium-vue/src/components/test/CardMarker.vue +150 -0
  413. package/plugins/plugins/cesium-vue/src/components/test/CesiumMarker.vue +34 -0
  414. package/plugins/plugins/cesium-vue/src/components/test/CesiumViewer.vue +77 -0
  415. package/plugins/plugins/cesium-vue/src/components/test/MyLabel.vue +25 -0
  416. package/plugins/plugins/cesium-vue/src/components/test/index.ts +28 -0
  417. package/plugins/plugins/cesium-vue/src/index.ts +83 -0
  418. package/plugins/plugins/cesium-vue/stats.html +4949 -0
  419. package/plugins/plugins/cesium-vue/tsconfig.json +18 -0
  420. package/plugins/plugins/cesium-vue/vite.config.ts +56 -0
  421. package/plugins/plugins/theme-chalk/dist/theme-chalk.css +819 -0
  422. package/plugins/plugins/theme-chalk/index.less +11 -0
  423. package/plugins/plugins/theme-chalk/package.json +27 -0
  424. package/plugins/plugins/theme-chalk/src/basicAudio.less +41 -0
  425. package/plugins/plugins/theme-chalk/src/basicVideo.less +17 -0
  426. package/plugins/plugins/theme-chalk/src/cameraRoam.less +239 -0
  427. package/plugins/plugins/theme-chalk/src/cardCarousel.less +71 -0
  428. package/plugins/plugins/theme-chalk/src/cardContent.less +73 -0
  429. package/plugins/plugins/theme-chalk/src/cardPage.less +61 -0
  430. package/plugins/plugins/theme-chalk/src/carouselImg.less +34 -0
  431. package/plugins/plugins/theme-chalk/src/marker.less +107 -0
  432. package/plugins/plugins/theme-chalk/src/markerManage.less +25 -0
  433. package/plugins/plugins/theme-chalk/src/measurement.less +106 -0
  434. package/plugins/plugins/theme-chalk/src/mixins/config.less +4 -0
  435. package/plugins/plugins/theme-chalk/src/mixins/mixins.less +64 -0
  436. package/plugins/plugins/theme-chalk/src/pathRoam.less +198 -0
  437. package/plugins/plugins/utils/create.ts +45 -0
  438. package/plugins/plugins/utils/package.json +12 -0
  439. package/plugins/plugins/utils/uuid.ts +43 -0
  440. package/plugins/plugins/utils/with-install.ts +10 -0
  441. package/plugins/theme-chalk/dist/theme-chalk.css +852 -0
  442. package/plugins/theme-chalk/index.less +11 -0
  443. package/plugins/theme-chalk/package.json +27 -0
  444. package/plugins/theme-chalk/src/basicAudio.less +44 -0
  445. package/plugins/theme-chalk/src/basicVideo.less +17 -0
  446. package/plugins/theme-chalk/src/cameraRoam.less +239 -0
  447. package/plugins/theme-chalk/src/cardCarousel.less +71 -0
  448. package/plugins/theme-chalk/src/cardContent.less +73 -0
  449. package/plugins/theme-chalk/src/cardPage.less +61 -0
  450. package/plugins/theme-chalk/src/carouselImg.less +66 -0
  451. package/plugins/theme-chalk/src/marker.less +107 -0
  452. package/plugins/theme-chalk/src/markerManage.less +25 -0
  453. package/plugins/theme-chalk/src/measurement.less +106 -0
  454. package/plugins/theme-chalk/src/mixins/config.less +4 -0
  455. package/plugins/theme-chalk/src/mixins/mixins.less +64 -0
  456. package/plugins/theme-chalk/src/pathRoam.less +198 -0
  457. package/plugins/utils/create.ts +45 -0
  458. package/plugins/utils/package.json +12 -0
  459. package/plugins/utils/uuid.ts +43 -0
  460. package/plugins/utils/with-install.ts +10 -0
@@ -0,0 +1,116 @@
1
+ interface PolylineFlowMaterialOptions {
2
+ color?: any; // 一般是 Cesium.Color | Cesium.Property
3
+ duration?: number; // 流动持续时间
4
+ materialType?: string;
5
+ }
6
+
7
+ /**
8
+ * 注册 polyline 流动材质并返回对应的 MaterialProperty
9
+ */
10
+ export function getPolylineFlowMaterialProperty(
11
+ Cesium: any,
12
+ options: PolylineFlowMaterialOptions,
13
+ ): any {
14
+ const Color = Cesium.Color;
15
+ const defaultValue = Cesium.defaultValue;
16
+ const defineProperties = Object.defineProperties;
17
+ const Event = Cesium.Event;
18
+ const createPropertyDescriptor = Cesium.createPropertyDescriptor;
19
+ const Property = Cesium.Property;
20
+
21
+ let _materialType =
22
+ options.materialType || 'PolylineFlow' + Date.now() + Math.floor(Math.random() * 1000);
23
+
24
+ // 构造函数保持 function + prototype 形式
25
+ function PolylineFlowMaterialProperty(this: any, opts: PolylineFlowMaterialOptions) {
26
+ opts = defaultValue(opts, defaultValue.EMPTY_OBJECT);
27
+ this._definitionChanged = new Event();
28
+ this._color = undefined;
29
+ this._colorSubscription = undefined;
30
+ this.color = opts.color || Color.fromBytes(0, 255, 255, 255);
31
+ this._duration = undefined;
32
+ this._durationSubscription = undefined;
33
+ this.duration = defaultValue(opts.duration, 45);
34
+ }
35
+
36
+ defineProperties(PolylineFlowMaterialProperty.prototype, {
37
+ isConstant: {
38
+ get(): boolean {
39
+ return false;
40
+ },
41
+ },
42
+ definitionChanged: {
43
+ get(): any {
44
+ return this._definitionChanged;
45
+ },
46
+ },
47
+ });
48
+
49
+ PolylineFlowMaterialProperty.prototype.getType = function (_time: any): string {
50
+ return _materialType;
51
+ };
52
+
53
+ PolylineFlowMaterialProperty.prototype.getValue = function (time: any, result?: any): any {
54
+ if (!result) {
55
+ result = {};
56
+ }
57
+ result.color = Property.getValueOrClonedDefault(
58
+ this._color,
59
+ time,
60
+ Cesium.Color.WHITE,
61
+ result.color,
62
+ );
63
+ result.duration = this._duration;
64
+ return result;
65
+ };
66
+
67
+ PolylineFlowMaterialProperty.prototype.equals = function (other?: any): boolean {
68
+ return (
69
+ this === other ||
70
+ (other instanceof PolylineFlowMaterialProperty &&
71
+ Property.equals(this._color, (other as any)._color))
72
+ );
73
+ };
74
+
75
+ defineProperties(PolylineFlowMaterialProperty.prototype, {
76
+ color: createPropertyDescriptor('color'),
77
+ duration: createPropertyDescriptor('duration'),
78
+ });
79
+
80
+ // 挂到 Cesium 方便外部直接使用
81
+ Cesium.PolylineFlowMaterialProperty = PolylineFlowMaterialProperty;
82
+
83
+ Cesium.Material._materialCache.addMaterial(_materialType, {
84
+ fabric: {
85
+ type: _materialType,
86
+ uniforms: {
87
+ color: new Color(1.0, 1.0, 1.0, 1),
88
+ duration: 45,
89
+ },
90
+ source: (function () {
91
+ return `uniform vec4 color;
92
+ uniform float duration;
93
+ czm_material czm_getMaterial(czm_materialInput materialInput){
94
+ czm_material material = czm_getDefaultMaterial(materialInput);
95
+ vec2 st = materialInput.st;
96
+ float t = fract(czm_frameNumber / duration);
97
+ t *= 1.03;
98
+ float alpha = smoothstep(t - 0.03, t, st.s) * step(-t, -st.s);
99
+ alpha += 0.2;
100
+ vec4 fragColor;
101
+ fragColor.rgb = color.rgb;
102
+ fragColor = czm_gammaCorrect(fragColor);
103
+ material.diffuse = fragColor.rgb;
104
+ material.alpha = alpha;
105
+ material.emission = fragColor.rgb;
106
+ return material;
107
+ }`;
108
+ })(),
109
+ },
110
+ translucent(): boolean {
111
+ return true;
112
+ },
113
+ });
114
+
115
+ return new (PolylineFlowMaterialProperty as any)(options);
116
+ }
@@ -0,0 +1,236 @@
1
+ interface DynamicImgMaterialOptions {
2
+ color?: any; // 通常是 Cesium.Color | Cesium.Property
3
+ duration?: number;
4
+ image: string;
5
+ count: number;
6
+ freely?: 'vertical' | 'horizontal';
7
+ direction: string; // 例如 '+' 或 '-',传给 GLSL
8
+ isCustomColor?: boolean;
9
+ materialType?: string;
10
+ }
11
+
12
+ /**
13
+ * 注册动态图片材质并返回 TrailLineMaterialProperty 实例
14
+ */
15
+ export function getDynamicImgMaterial(Cesium: any, options: DynamicImgMaterialOptions): any {
16
+ const MaterialType =
17
+ options.materialType || 'DynamicImgMaterial' + Date.now() + Math.floor(Math.random() * 1000);
18
+
19
+ // 构造材质属性的构造函数 —— 保留 function + prototype 形式
20
+ function TrailLineMaterialProperty(this: any, opts: DynamicImgMaterialOptions) {
21
+ this._definitionChanged = new Cesium.Event();
22
+ this._color = opts.color;
23
+ this._colorSubscription = undefined;
24
+ this.color = opts.color;
25
+ this.duration = opts.duration;
26
+ this._time = Date.now();
27
+ }
28
+
29
+ Object.defineProperties(TrailLineMaterialProperty.prototype, {
30
+ isConstant: {
31
+ get(): boolean {
32
+ return false;
33
+ },
34
+ },
35
+ definitionChanged: {
36
+ get(): any {
37
+ return this._definitionChanged;
38
+ },
39
+ },
40
+ color: Cesium.createPropertyDescriptor('color'),
41
+ });
42
+
43
+ TrailLineMaterialProperty.prototype.getType = function (): string {
44
+ return MaterialType;
45
+ };
46
+
47
+ TrailLineMaterialProperty.prototype.getValue = function (time: any, result?: any): any {
48
+ if (!Cesium.defined(result)) {
49
+ result = {};
50
+ }
51
+ result.color = Cesium.Property.getValueOrClonedDefault(
52
+ this._color,
53
+ time,
54
+ Cesium.Color.WHITE,
55
+ result.color,
56
+ );
57
+ result.image = options.image;
58
+ // if (this.duration) {
59
+ // result.time = ((Date.now() - this._time) % this.duration) / this.duration;
60
+ // }
61
+ return result;
62
+ };
63
+
64
+ TrailLineMaterialProperty.prototype.equals = function (other: any): boolean {
65
+ return (
66
+ this === other ||
67
+ (other instanceof TrailLineMaterialProperty &&
68
+ Cesium.Property.equals(this._color, (other as any)._color))
69
+ );
70
+ };
71
+
72
+ // 着色器源码生成
73
+ const _getWallShader = function (opts: {
74
+ count: number;
75
+ freely: string;
76
+ direction: string;
77
+ duration: number;
78
+ isCustomColor?: boolean;
79
+ }): string {
80
+ let material = `
81
+ czm_material czm_getMaterial(czm_materialInput materialInput)
82
+ {
83
+ czm_material material = czm_getDefaultMaterial(materialInput);
84
+ vec2 st = materialInput.st;
85
+ float time = fract(mod(float(czm_frameNumber * 33.0) , float(${opts.duration})) / float(${opts.duration}));
86
+ ${
87
+ opts.freely === 'vertical'
88
+ ? `vec4 colorImage = texture(image, vec2(fract(float(${opts.count}) *st.t ${opts.direction} time), fract(st.s)));`
89
+ : `vec4 colorImage = texture(image, vec2(fract(float(${opts.count}) *st.s ${opts.direction} time), fract(st.t)));`
90
+ }
91
+ ${opts.isCustomColor ? 'material.diffuse = color.rgb;' : 'material.diffuse = colorImage.rgb;'}
92
+ material.alpha = colorImage.a;\n\
93
+ return material;\n\
94
+ }`;
95
+ return material;
96
+ };
97
+
98
+ Cesium.Material._materialCache.addMaterial(MaterialType, {
99
+ fabric: {
100
+ type: MaterialType,
101
+ uniforms: {
102
+ color: options.color,
103
+ image: options.image,
104
+ time: 1000,
105
+ },
106
+ source: _getWallShader({
107
+ count: options.count,
108
+ freely: options.freely || '',
109
+ direction: options.direction,
110
+ duration: options.duration || 100,
111
+ isCustomColor: options.isCustomColor,
112
+ }),
113
+ },
114
+ translucent(): boolean {
115
+ return true;
116
+ },
117
+ });
118
+
119
+ return new (TrailLineMaterialProperty as any)(options);
120
+ }
121
+
122
+ export function getWallMaterial(Cesium: any, options: any) {
123
+ const MaterialType =
124
+ options.MaterialType || 'wallType' + new Date().getTime() + parseInt(Math.random() * 1000 + '');
125
+ function TrailLineMaterialProperty(this: any, options: any) {
126
+ // 默认参数设置
127
+ this._definitionChanged = new Cesium.Event();
128
+ this._color = undefined;
129
+ this._colorSubscription = undefined;
130
+ this.color = options.color;
131
+ this.duration = options.duration;
132
+ this._time = new Date().getTime();
133
+ }
134
+ Object.defineProperties(TrailLineMaterialProperty.prototype, {
135
+ isConstant: {
136
+ get: function () {
137
+ return false;
138
+ },
139
+ },
140
+ definitionChanged: {
141
+ get: function (this: any) {
142
+ return this._definitionChanged;
143
+ },
144
+ },
145
+ color: Cesium.createPropertyDescriptor('color'),
146
+ });
147
+ TrailLineMaterialProperty.prototype.getType = function () {
148
+ return MaterialType;
149
+ };
150
+ TrailLineMaterialProperty.prototype.getValue = function (this: any, time: any, result: any) {
151
+ if (!Cesium.defined(result)) {
152
+ result = {};
153
+ }
154
+ // result.color = Cesium.Property.getValueOrClonedDefault(
155
+ // this._color,
156
+ // time,
157
+ // Cesium.Color.WHITE,
158
+ // result.color,
159
+ // );
160
+ result.image = options.image;
161
+ if (this.duration) {
162
+ result.time = ((new Date().getTime() - this._time) % this.duration) / this.duration;
163
+ }
164
+ return result;
165
+ };
166
+ TrailLineMaterialProperty.prototype.equals = function (this: any, other: any) {
167
+ return (
168
+ this === other ||
169
+ (other instanceof TrailLineMaterialProperty &&
170
+ Cesium.Property.equals(this._color, (other as any)._color))
171
+ );
172
+ };
173
+
174
+ const _getWallShader = function (options: any) {
175
+ let materail =
176
+ 'czm_material czm_getMaterial(czm_materialInput materialInput)\n\
177
+ {\n\
178
+ czm_material material = czm_getDefaultMaterial(materialInput);\n\
179
+ vec2 st = materialInput.st;\n\
180
+ \n ';
181
+ if (options.freely == 'vertical') {
182
+ //(由下到上)
183
+
184
+ materail +=
185
+ 'vec4 colorImage = texture(image, vec2(fract(float(' +
186
+ options.count +
187
+ ')*st.t ' +
188
+ options.direction +
189
+ ' time), fract(st.s)));\n ';
190
+ } else {
191
+ //(逆时针)
192
+
193
+ materail +=
194
+ 'vec4 colorImage = texture(image, vec2(fract(float(' +
195
+ options.count +
196
+ ')*st.s ' +
197
+ options.direction +
198
+ ' time), fract(st.t)));\n ';
199
+ }
200
+ //泛光
201
+ materail +=
202
+ 'vec4 fragColor;\n\
203
+ fragColor.rgb = (colorImage.rgb) / 1.0;\n\
204
+ fragColor = czm_gammaCorrect(fragColor);\n ';
205
+
206
+ materail +=
207
+ ' material.diffuse = colorImage.rgb;\n\
208
+ material.alpha = colorImage.a;\n\
209
+ material.emission = fragColor.rgb;\n\
210
+ \n\
211
+ return material;\n\
212
+ }\n\
213
+ ';
214
+ return materail;
215
+ };
216
+
217
+ Cesium.Material._materialCache.addMaterial(MaterialType, {
218
+ fabric: {
219
+ type: MaterialType,
220
+ uniforms: {
221
+ color: new Cesium.Color(1.0, 0.0, 0.0, 0.5),
222
+ image: options.image,
223
+ time: 0,
224
+ },
225
+ source: _getWallShader({
226
+ count: options.count,
227
+ freely: options.freely,
228
+ direction: options.direction,
229
+ }),
230
+ },
231
+ translucent: function () {
232
+ return true;
233
+ },
234
+ });
235
+ return new (TrailLineMaterialProperty as any)(options);
236
+ }
@@ -0,0 +1,3 @@
1
+ export { getDynamicImgMaterial, getWallMaterial } from './help/dynamicImgMaterial';
2
+ export { getPolylineFlowMaterialProperty } from './help/PolylineFlowMaterialProperty';
3
+ export { MaterialManager } from './MaterialManager';
@@ -0,0 +1,52 @@
1
+ export class TooltipManager {
2
+ private tooltipEl: HTMLDivElement;
3
+ private visible: boolean = false;
4
+ private offsetX = 10;
5
+ private offsetY = -20;
6
+ private onMouseMove: ((e: MouseEvent) => void) | null = null;
7
+
8
+ constructor() {
9
+ this.tooltipEl = document.createElement("div");
10
+ this.tooltipEl.style.position = "fixed";
11
+ this.tooltipEl.style.pointerEvents = "none";
12
+ this.tooltipEl.style.zIndex = "10000";
13
+ this.tooltipEl.style.padding = "4px 8px";
14
+ this.tooltipEl.style.borderRadius = "4px";
15
+ this.tooltipEl.style.background = "rgba(0, 0, 0, 0.7)";
16
+ this.tooltipEl.style.color = "#fff";
17
+ this.tooltipEl.style.fontSize = "13px";
18
+ this.tooltipEl.style.transition = "opacity 0.1s ease";
19
+ this.tooltipEl.style.opacity = "0";
20
+
21
+ document.body.appendChild(this.tooltipEl);
22
+
23
+ this.onMouseMove = (e: MouseEvent) => {
24
+ if (!this.visible) return;
25
+ this.tooltipEl.style.left = `${e.clientX + this.offsetX}px`;
26
+ this.tooltipEl.style.top = `${e.clientY + this.offsetY}px`;
27
+ };
28
+
29
+ window.addEventListener("mousemove", this.onMouseMove);
30
+ }
31
+
32
+ show(text: string) {
33
+ this.tooltipEl.innerText = text;
34
+ this.tooltipEl.style.opacity = "1";
35
+ this.visible = true;
36
+ }
37
+
38
+ hide() {
39
+ this.tooltipEl.style.opacity = "0";
40
+ this.visible = false;
41
+ }
42
+
43
+ destroy() {
44
+ if (this.onMouseMove) {
45
+ window.removeEventListener("mousemove", this.onMouseMove);
46
+ this.onMouseMove = null;
47
+ }
48
+ if (this.tooltipEl.parentElement) {
49
+ this.tooltipEl.parentElement.removeChild(this.tooltipEl);
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,55 @@
1
+ import { DrawType, DrawOptions, IDrawer } from './types';
2
+ import PointDrawer from './handlers/PointDrawer';
3
+ import LineDrawer from './handlers/LineDrawer';
4
+ import RectangleDrawer from './handlers/RectangleDrawer';
5
+ import CircleDrawer from './handlers/CircleDrawer';
6
+ import PolygonDrawer from './handlers/PolygonDrawer';
7
+
8
+ export class DrawTool {
9
+ private viewer;
10
+ private Cesium;
11
+ private activeDrawer: IDrawer | null = null;
12
+
13
+ constructor(Cesium: any, viewer: any) {
14
+ this.viewer = viewer;
15
+ this.Cesium = Cesium;
16
+ }
17
+
18
+ draw(type: DrawType, options: DrawOptions) {
19
+ this.clear();
20
+
21
+ switch (type) {
22
+ case 'point':
23
+ this.activeDrawer = new PointDrawer(this.Cesium, this.viewer);
24
+ break;
25
+ case 'line':
26
+ this.activeDrawer = new LineDrawer(this.Cesium, this.viewer);
27
+ break;
28
+ case 'rectangle':
29
+ this.activeDrawer = new RectangleDrawer(this.Cesium, this.viewer);
30
+ break;
31
+ case 'circle':
32
+ this.activeDrawer = new CircleDrawer(this.Cesium, this.viewer);
33
+ break;
34
+ case 'polygon':
35
+ this.activeDrawer = new PolygonDrawer(this.Cesium, this.viewer);
36
+ break;
37
+ default:
38
+ throw new Error(`Unsupported draw type: ${type}`);
39
+ }
40
+
41
+ this.activeDrawer?.startDrawing(options);
42
+ }
43
+
44
+ clear() {
45
+ if (this.activeDrawer) {
46
+ this.activeDrawer.stopDrawing();
47
+ this.activeDrawer.clear();
48
+ this.activeDrawer = null;
49
+ }
50
+ }
51
+
52
+ cancel() {
53
+ this.clear();
54
+ }
55
+ }
@@ -0,0 +1,159 @@
1
+ import { DrawOptions, IDrawer } from '../types';
2
+
3
+ export default class CircleDrawer implements IDrawer {
4
+ private viewer: any;
5
+ private Cesium: any;
6
+ private handler: any = null;
7
+ private entity: any = null;
8
+ private positions: any[] = [];
9
+ private _isDrawing: boolean = false;
10
+ private currentRadius: number = 0;
11
+
12
+ constructor(CesiumInstance: any, viewerInstance: any) {
13
+ this.Cesium = CesiumInstance;
14
+ this.viewer = viewerInstance;
15
+ }
16
+
17
+ public startDrawing(options: DrawOptions): void {
18
+ this.clear();
19
+ this.handler = new this.Cesium.ScreenSpaceEventHandler(this.viewer.canvas);
20
+ this._isDrawing = true;
21
+
22
+ // 第一次点击:确定圆心
23
+ this.handler.setInputAction((click: any) => {
24
+ const position = this.viewer.scene.pickPosition(click.position);
25
+ if (!position) return;
26
+
27
+ this.positions.push(position);
28
+
29
+ // 如果已经有两个点,则绘制最终图形
30
+ if (this.positions.length === 2) {
31
+ this.stopDrawing();
32
+ this.drawFinalCircle(options);
33
+ }
34
+ }, this.Cesium.ScreenSpaceEventType.LEFT_CLICK);
35
+
36
+ // 鼠标移动:实时预览圆
37
+ this.handler.setInputAction((movement: any) => {
38
+ if (this.positions.length !== 1) return;
39
+
40
+ const center = this.positions[0];
41
+ const ray = this.viewer.camera.getPickRay(movement.endPosition);
42
+ const edge = this.viewer.scene.globe.pick(ray, this.viewer.scene);
43
+
44
+ if (edge) {
45
+ this.drawPreviewCircle(center, edge, options);
46
+ }
47
+ }, this.Cesium.ScreenSpaceEventType.MOUSE_MOVE);
48
+ }
49
+
50
+ private drawPreviewCircle(center: any, edge: any, options: DrawOptions): void {
51
+ const radius = this.Cesium.Cartesian3.distance(center, edge);
52
+
53
+ // 若未添加 entity,先添加并使用 CallbackProperty
54
+ if (!this.entity) {
55
+ this.currentRadius = radius;
56
+ const dynamicRadius = new this.Cesium.CallbackProperty(() => this.currentRadius, false);
57
+
58
+ this.entity = this.viewer.entities.add({
59
+ position: center,
60
+ ellipse: {
61
+ semiMajorAxis: dynamicRadius,
62
+ semiMinorAxis: dynamicRadius,
63
+ material: options.color || this.Cesium.Color.YELLOW.withAlpha(0.5),
64
+ outline: true,
65
+ outlineColor: options.color || this.Cesium.Color.YELLOW,
66
+ heightReference: this.Cesium.HeightReference.NONE,
67
+ disableDepthTestDistance: Number.POSITIVE_INFINITY,
68
+ },
69
+ });
70
+ } else {
71
+ // 控制最小变动阈值,避免频繁更新
72
+ if (Math.abs(this.currentRadius - radius) > 0.5) {
73
+ this.currentRadius = radius;
74
+ }
75
+ }
76
+ }
77
+
78
+ private drawFinalCircle(options: DrawOptions): void {
79
+ const [center, edge] = this.positions;
80
+ const radius = this.Cesium.Cartesian3.distance(center, edge);
81
+ const centerCarto = this.Cesium.Cartographic.fromCartesian(center);
82
+
83
+ const centerLngLat = {
84
+ lng: this.Cesium.Math.toDegrees(centerCarto.longitude),
85
+ lat: this.Cesium.Math.toDegrees(centerCarto.latitude),
86
+ height: centerCarto.height,
87
+ };
88
+
89
+ const step = options?.step || 1;
90
+ const circlePoints: any[] = [];
91
+ const circleLnglats: { lng: number; lat: number; height: number }[] = [];
92
+
93
+ for (let angle = 0; angle < 360; angle += step) {
94
+ const angleRad = this.Cesium.Math.toRadians(angle);
95
+ const geodesic = new this.Cesium.EllipsoidGeodesic();
96
+
97
+ geodesic.setEndPoints(
98
+ centerCarto,
99
+ new this.Cesium.Cartographic(
100
+ centerCarto.longitude + 0.0001 * Math.cos(angleRad),
101
+ centerCarto.latitude + 0.0001 * Math.sin(angleRad),
102
+ ),
103
+ );
104
+
105
+ const interpolated = geodesic.interpolateUsingSurfaceDistance(radius);
106
+ const destCartesian = this.Cesium.Ellipsoid.WGS84.cartographicToCartesian(interpolated);
107
+ circlePoints.push(destCartesian);
108
+
109
+ const carto = this.Cesium.Cartographic.fromCartesian(destCartesian);
110
+ circleLnglats.push({
111
+ lng: this.Cesium.Math.toDegrees(carto.longitude),
112
+ lat: this.Cesium.Math.toDegrees(carto.latitude),
113
+ height: carto.height,
114
+ });
115
+ }
116
+ circleLnglats.push(circleLnglats[0]);
117
+ const lnglats = this.positions.map((p) => {
118
+ const carto = this.Cesium.Cartographic.fromCartesian(p);
119
+ return {
120
+ lng: this.Cesium.Math.toDegrees(carto.longitude),
121
+ lat: this.Cesium.Math.toDegrees(carto.latitude),
122
+ height: carto.height,
123
+ };
124
+ });
125
+
126
+ options.onComplete?.({
127
+ entity: this.entity,
128
+ positions: this.positions,
129
+ lnglats,
130
+ circlePoints,
131
+ circleLnglats,
132
+ center: centerLngLat,
133
+ radius,
134
+ clear: () => {
135
+ this.clear();
136
+ },
137
+ });
138
+ }
139
+
140
+ public stopDrawing(): void {
141
+ if (this.handler) {
142
+ this.handler.destroy();
143
+ this.handler = null;
144
+ }
145
+ this._isDrawing = false;
146
+ }
147
+
148
+ public clear(): void {
149
+ this.stopDrawing();
150
+
151
+ if (this.entity) {
152
+ this.viewer.entities.remove(this.entity);
153
+ this.entity = null;
154
+ }
155
+
156
+ this.positions = [];
157
+ this.currentRadius = 0;
158
+ }
159
+ }