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,106 @@
1
+ <script lang="ts" setup>
2
+ import { onMounted, onUnmounted, watch, inject, unref, Ref } from 'vue';
3
+ import { markerManageProps, MarkerManageOptions } from '../type/markerManage';
4
+ import { MarkerManage } from '../core/MarkerManage';
5
+
6
+ const props = defineProps(markerManageProps);
7
+ const emits = defineEmits(['register', 'load', 'marker-event']);
8
+ const leitingMethods = inject('leitingMethods') as Ref<any>;
9
+ let markerManager: MarkerManage | null = null;
10
+
11
+ const init = (options: Partial<MarkerManageOptions> = {}) => {
12
+ if (markerManager) return markerManager;
13
+
14
+ const finalOptions = {
15
+ ...props,
16
+ ...options,
17
+ Cesium: options.Cesium || props.Cesium,
18
+ viewer: options.viewer || props.viewer,
19
+ runListener: (key: string, data: any, ...args: any[]) => {
20
+ emits('marker-event', { key, data, args });
21
+ },
22
+ };
23
+
24
+ if (!finalOptions.Cesium || !finalOptions.viewer) {
25
+ // console.warn('MarkerManage: Cesium or viewer not provided yet');
26
+ return null;
27
+ }
28
+
29
+ markerManager = new MarkerManage(finalOptions as any);
30
+ if (options.methods) {
31
+ options.methods.setTagTheme = markerManager.setTagTheme.bind(markerManager);
32
+ options.methods.setMaterial = markerManager.setMaterial.bind(markerManager);
33
+ options.methods.setEntityList = markerManager.set.bind(markerManager);
34
+ options.methods.addComItem = markerManager.add.bind(markerManager);
35
+ options.methods.deleteComItem = markerManager.delete.bind(markerManager);
36
+ options.methods.updateComItem = markerManager.update.bind(markerManager);
37
+ options.methods.getEntityByID = markerManager.getById.bind(markerManager);
38
+ options.methods.getOptions = markerManager.getOptions.bind(markerManager);
39
+ }
40
+ emits('load', markerManager);
41
+
42
+ return markerManager;
43
+ };
44
+
45
+ const methods = {
46
+ init,
47
+ set: (list: any) => markerManager?.set(list),
48
+ add: (data: any) => markerManager?.add(data),
49
+ update: (data: any[], immediately?: boolean) => markerManager?.update(data, immediately),
50
+ getById: (id: string) => markerManager?.getById(id),
51
+ getOptions: () => markerManager?.getOptions(),
52
+ delete: (data: string[] | string) => markerManager?.delete(data),
53
+ setMarkerAggregationEnabled: (enabled: boolean, count?: number) =>
54
+ markerManager?.setMarkerAggregationEnabled(enabled, count),
55
+ setDebugCurrentGridsEnabled: (enabled: boolean) =>
56
+ markerManager?.setDebugCurrentGridsEnabled(enabled),
57
+ initThemes: (data: any) => markerManager?.initThemes(data),
58
+ setTagTheme: (data: any) => markerManager?.setTagTheme(data),
59
+ setMaterial: (data: any) => markerManager?.setMaterial(data),
60
+ };
61
+
62
+ defineExpose(methods);
63
+ emits('register', methods);
64
+ function load() {
65
+ if (markerManager) return markerManager;
66
+ const methods = unref(leitingMethods) as any;
67
+ const Cesium = methods?.getCesium?.();
68
+ const viewer = methods?.getViewer?.();
69
+ if (Cesium && viewer) {
70
+ init({ Cesium, viewer, methods });
71
+ } else if (props.Cesium && props.viewer) {
72
+ init({ methods });
73
+ }
74
+ }
75
+
76
+ onMounted(() => {
77
+ load();
78
+ });
79
+
80
+ watch(
81
+ () => [props.Cesium, props.viewer],
82
+ ([newCesium, newViewer]) => {
83
+ if (newCesium && newViewer && !markerManager) {
84
+ load();
85
+ }
86
+ },
87
+ );
88
+ watch(
89
+ () => leitingMethods?.value,
90
+ (nv, ov) => {
91
+ /* ... */
92
+ load();
93
+ },
94
+ { deep: false },
95
+ );
96
+ onUnmounted(() => {
97
+ // markerManager?.destroy();
98
+ // Assuming destroy exists or cleanup is handled
99
+ });
100
+
101
+ // Watch for props changes if needed, but usually init is once.
102
+ </script>
103
+
104
+ <template>
105
+ <slot></slot>
106
+ </template>
@@ -0,0 +1,8 @@
1
+ import { ThemeInterface } from '../type/markerManage';
2
+
3
+ export const tagTheme: ThemeInterface[] = [];
4
+ export const tagClusterComName = [];
5
+ export const lineTheme: ThemeInterface[] = [];
6
+ export const polygonTheme = [];
7
+ export const wallTheme = [];
8
+ export const cardTheme = [];
@@ -0,0 +1,466 @@
1
+ import { h, markRaw, render } from 'vue';
2
+ import {
3
+ HtmlOverlayLabelPool,
4
+ MarkerEventBus,
5
+ MarkerEventKey,
6
+ MaterialManager,
7
+ } from '@report-components/cesium-core';
8
+ import CxCardCarousel from '../../../card-carousel';
9
+ import CxMarkerDefault from '../../../marker-default';
10
+ import CxMarkerHtml from '../../../marker-html';
11
+ import { MarkerManagerCore } from './MarkerManagerCore';
12
+ import type { MarkerManageOptions } from '../type/markerManage';
13
+ import { omit } from 'lodash-es';
14
+ import { ReportListenerKey } from '../type/markerManage';
15
+ import { isFunction } from 'lodash-es';
16
+ import { createLineTheme, createPolygonTheme, createWallTheme } from '../utils/themeTool';
17
+
18
+ interface MarkerManageOptionsExtend extends Partial<MarkerManageOptions> {
19
+ labelId?: string;
20
+ cardId?: string;
21
+ tagThemeConfig?: any[];
22
+ lineThemeConfig?: any[];
23
+ cardThemeConfig?: any[];
24
+ runListener?: Function;
25
+ MaterialManager?: MaterialManager;
26
+ Cesium: any;
27
+ viewer: any;
28
+ }
29
+
30
+ export class MarkerManage extends MarkerManagerCore {
31
+ constructor(opt: MarkerManageOptionsExtend) {
32
+ const {
33
+ labelId = 'report-marker',
34
+ cardId = 'report-marker',
35
+ tagThemeConfig = [],
36
+ lineThemeConfig = [],
37
+ cardThemeConfig = [],
38
+ runListener = () => {},
39
+ MaterialManager: materialManager = new MaterialManager(),
40
+ aggregatorOptions,
41
+ } = opt;
42
+
43
+ // Merge default themes with provided ones
44
+ const finalTagThemeConfig = [...tagThemeConfig];
45
+ const finalLineThemeConfig = [...lineThemeConfig];
46
+ const finalCardThemeConfig = [...cardThemeConfig];
47
+
48
+ // Merge default aggregator options
49
+ const finalAggregatorOptions = {
50
+ clusterTheme: 'Tag1007',
51
+ pointTheme: 'Tag1001',
52
+ centralPointMode: 'firstPoint',
53
+ debugCurrentGrids: false,
54
+ ...(aggregatorOptions || {}),
55
+ };
56
+
57
+ const options = {
58
+ ...opt,
59
+ labelId,
60
+ cardId,
61
+ MaterialManager: materialManager,
62
+ aggregatorOptions: finalAggregatorOptions,
63
+ eventBus: new MarkerEventBus(),
64
+ };
65
+
66
+ super(options as any);
67
+
68
+ // Ensure opt has all extended props
69
+ this.opt = { ...this.opt, ...options } as any;
70
+
71
+ // Initialize listeners
72
+ this.initTagListener(this.instance.eventBus, this.opt as any);
73
+
74
+ // Load themes
75
+ this.loadTabThemeConfig(finalTagThemeConfig);
76
+ this.loadLineThemeConfig(finalLineThemeConfig);
77
+ this.loadCardThemeConfig(finalCardThemeConfig);
78
+ this.initDefaultLineMaterials();
79
+ this.initDefaultTagTheme();
80
+ }
81
+
82
+ initDefaultTagTheme() {
83
+ this.setTagTheme({
84
+ comType: 4,
85
+ data: {
86
+ theme: 'default',
87
+ options: {
88
+ textStyle: {
89
+ width: 'max-content',
90
+ backgroundColor: 'rgba(0, 0, 0, 0.7)',
91
+ borderRadius: '5px',
92
+ padding: '4px 8px',
93
+ },
94
+ },
95
+ },
96
+ });
97
+ }
98
+
99
+ initDefaultLineMaterials() {
100
+ const Cesium = (this.opt as any).Cesium;
101
+ if (!Cesium) return;
102
+
103
+ const defaultMaterials = {
104
+ themeBeUnderConstructionRailway: {
105
+ material: new Cesium.PolylineDashMaterialProperty({
106
+ color: Cesium.Color.fromCssColorString('white'),
107
+ gapColor: Cesium.Color.fromCssColorString('black'),
108
+ dashLength: 50.0,
109
+ dashPattern: parseInt('1111111111111110', 2),
110
+ }),
111
+ },
112
+ themeRailway: {
113
+ material: new Cesium.PolylineDashMaterialProperty({
114
+ color: Cesium.Color.BLACK,
115
+ gapColor: Cesium.Color.WHITE,
116
+ dashLength: 48, //短划线长度
117
+ }),
118
+ },
119
+ themeNewRailway: {
120
+ material: new Cesium.PolylineOutlineMaterialProperty({
121
+ color: Cesium.Color.RED,
122
+ outlineWidth: 0,
123
+ outlineColor: Cesium.Color.BLACK,
124
+ }),
125
+ },
126
+ themePlanningRailway: {
127
+ material: new Cesium.PolylineOutlineMaterialProperty({
128
+ color: Cesium.Color.fromCssColorString('rgb(162, 83, 188)'),
129
+ outlineWidth: 0,
130
+ outlineColor: Cesium.Color.BLACK,
131
+ }),
132
+ },
133
+ themePlanLine: {
134
+ material: new Cesium.PolylineOutlineMaterialProperty({
135
+ color: Cesium.Color.fromCssColorString('rgb(5,11,233)'),
136
+ outlineWidth: 0,
137
+ outlineColor: Cesium.Color.BLACK,
138
+ }),
139
+ },
140
+ themeExpressway: {
141
+ material: new Cesium.PolylineOutlineMaterialProperty({
142
+ color: Cesium.Color.fromCssColorString('rgb(255,255, 0)'),
143
+ outlineWidth: 6,
144
+ outlineColor: Cesium.Color.fromCssColorString('rgb(102, 176 ,8)'),
145
+ }),
146
+ },
147
+ themeNationalHighway: {
148
+ material: new Cesium.PolylineOutlineMaterialProperty({
149
+ color: Cesium.Color.fromCssColorString('rgb(160 ,119, 0)'),
150
+ outlineWidth: 6,
151
+ outlineColor: Cesium.Color.fromCssColorString('rgb(68 ,33, 24)'),
152
+ }),
153
+ },
154
+ themeProvincialRoad: {
155
+ material: new Cesium.PolylineOutlineMaterialProperty({
156
+ color: Cesium.Color.fromCssColorString('rgb(160 ,119, 0)'),
157
+ outlineWidth: 6,
158
+ outlineColor: Cesium.Color.fromCssColorString('rgb(68 ,33, 24)'),
159
+ }),
160
+ },
161
+ themeCityBoundary: {
162
+ material: new Cesium.PolylineDashMaterialProperty({
163
+ color: Cesium.Color.fromCssColorString('rgb(162, 83, 188)'),
164
+ gapColor: Cesium.Color.fromCssColorString('0000'),
165
+ dashLength: 50.0,
166
+ dashPattern: parseInt('1111111111100100', 2),
167
+ }),
168
+ },
169
+ themeProvincialBoundaries: {
170
+ material: new Cesium.PolylineDashMaterialProperty({
171
+ // color: Cesium.Color.fromCssColorString('rgb(162, 83, 188)'),
172
+ color: Cesium.Color.fromCssColorString('rgb(162, 83, 188)'),
173
+ gapColor: Cesium.Color.fromCssColorString('0000'),
174
+ dashLength: 50.0,
175
+ dashPattern: parseInt('1111111100100100', 2),
176
+ }),
177
+ },
178
+ };
179
+
180
+ Object.entries(defaultMaterials).forEach(([key, value]: [string, any]) => {
181
+ if (this.MaterialManager.has(key, 'polyline')) return;
182
+ this.MaterialManager.register({
183
+ themeKey: key,
184
+ material: value.material,
185
+ category: 'polyline',
186
+ });
187
+ });
188
+ }
189
+
190
+ // Initialize dynamic themes from data
191
+ public initThemes(data: any) {
192
+ if (!data) return;
193
+
194
+ if (data.tag) {
195
+ this.loadTabThemeConfig(data.tag);
196
+ }
197
+ if (data.card) {
198
+ this.loadCardThemeConfig(data.card);
199
+ }
200
+
201
+ const Cesium = (this.opt as any).Cesium;
202
+ const materialManager = this.instance.materialManager || (this.opt as any).MaterialManager;
203
+
204
+ if (data.line?.length > 0) {
205
+ for (let item of data.line) {
206
+ createLineTheme({
207
+ options: item,
208
+ Cesium: Cesium,
209
+ MaterialManager: materialManager,
210
+ });
211
+ }
212
+ }
213
+ if (data.polygon?.length > 0) {
214
+ for (let item of data.polygon) {
215
+ createPolygonTheme({
216
+ options: item,
217
+ Cesium: Cesium,
218
+ MaterialManager: materialManager,
219
+ });
220
+ }
221
+ }
222
+ if (data.wall?.length > 0) {
223
+ for (let item of data.wall) {
224
+ createWallTheme({
225
+ options: item,
226
+ Cesium: Cesium,
227
+ MaterialManager: materialManager,
228
+ });
229
+ }
230
+ }
231
+ }
232
+
233
+ extractOnEvents(props: any) {
234
+ const events: { [key: string]: Function } = {};
235
+ for (const key in props) {
236
+ if (key.startsWith('on') && typeof props[key] === 'function') {
237
+ events[key] = props[key]; // 直接保留
238
+ }
239
+ }
240
+ return events;
241
+ }
242
+
243
+ //注册标记主题
244
+ loadTabThemeConfig(themeList: any[]) {
245
+ themeList.forEach((item) => {
246
+ this.setTagTheme(item);
247
+ });
248
+ }
249
+
250
+ //注册默认的线配置
251
+ loadLineThemeConfig(themeList: any[]) {
252
+ // let { Cesium } = this.opt;
253
+ themeList.forEach((item) => {
254
+ if (this.MaterialManager.has(item.data.theme, 'polyline')) return;
255
+ if (item.material) {
256
+ this.MaterialManager.register({
257
+ themeKey: item.data.theme,
258
+ material: item.material,
259
+ category: 'polyline',
260
+ });
261
+ }
262
+ });
263
+ }
264
+
265
+ loadCardThemeConfig(themeList: any[]) {
266
+ let labelPool = this.instance.cardPool;
267
+ themeList.forEach((item) => {
268
+ labelPool.registerTheme(item.data.theme, {
269
+ createElement(container: any, label: any) {
270
+ let data = label.data.data;
271
+ let vNode: any;
272
+
273
+ if (item.comType == 1) {
274
+ vNode = h(markRaw(CxCardCarousel), {
275
+ data: data || {},
276
+ imgSrc: item.data.img,
277
+ styleConfig: {
278
+ paddingTop: '50px',
279
+ paddingRight: '18px',
280
+ paddingBottom: '10px',
281
+ paddingLeft: '95px',
282
+ backgroundColor: 'rgba(0,0,0,0)',
283
+ borderRadius: 0,
284
+ width: '682px',
285
+ height: '445px',
286
+ },
287
+ titleConfig: {
288
+ show: true,
289
+ width: '600px',
290
+ height: '50px',
291
+ left: '79px',
292
+ top: '0px',
293
+ },
294
+ bgClass: [item.data.theme],
295
+ });
296
+ } else if (item.comType == 3) {
297
+ vNode = h(markRaw(CxCardCarousel), {
298
+ data: data || {},
299
+ imgSrc: item.data.img,
300
+ styleConfig: {
301
+ paddingTop: '55px',
302
+ paddingRight: '12px',
303
+ paddingBottom: '17px',
304
+ paddingLeft: '83px',
305
+ backgroundColor: 'rgba(0,0,0,0)',
306
+ borderRadius: 0,
307
+ width: '365px',
308
+ height: '353px',
309
+ },
310
+ titleConfig: {
311
+ show: true,
312
+ width: '285px',
313
+ height: '50px',
314
+ left: '79px',
315
+ top: '0px',
316
+ },
317
+ bgClass: [item.data.theme],
318
+ // titleConfig: themeOptions.options.titleConfig,
319
+ // pageInfoConfig: themeOptions.options.pageInfoConfig,
320
+ });
321
+ }
322
+
323
+ render(vNode, container);
324
+ return () => {
325
+ return render(null, container);
326
+ };
327
+ },
328
+ options: {
329
+ offset: item.data.pixelOffset,
330
+ ...(item.data || {}),
331
+ },
332
+ });
333
+ });
334
+ }
335
+
336
+ //注册主题
337
+ setTagTheme(options: any) {
338
+ let { labelPool } = this.instance;
339
+ labelPool.registerTheme(options.data.theme, {
340
+ createElement(container: any, label: any) {
341
+ let info = label.data?.billboard?.[0];
342
+ const newObj = omit(info, ['position', 'options']);
343
+ let vNode: any;
344
+ let props = {
345
+ ...newObj,
346
+ text: info?.options?.text,
347
+ isFullLink: options?.isFullLink ?? false,
348
+ img: options?.data?.options?.img,
349
+ textStyle: options?.data?.options?.textStyle,
350
+ };
351
+ if (label.data?.gridKey) {
352
+ vNode = h(markRaw(CxMarkerDefault), {
353
+ text: label.data?.count,
354
+ isFullLink: options.isFullLink ?? false,
355
+ img: options?.data.options.img,
356
+ textStyle: {
357
+ display: 'block !important',
358
+ 'font-size': `12px !important`,
359
+ minWidth: '20px',
360
+ maxWidth: 'max-content',
361
+ position: 'absolute',
362
+ left: '63%',
363
+ top: '-8px',
364
+ background: '#f00',
365
+ 'border-radius': '50%',
366
+ height: '20px',
367
+ 'line-height': '20px',
368
+ 'text-align': 'center',
369
+ color: 'white',
370
+ },
371
+ });
372
+ } else if (options.comType == 4) {
373
+ vNode = h(markRaw(CxMarkerHtml), props);
374
+ } else {
375
+ vNode = h(markRaw(CxMarkerDefault), props);
376
+ }
377
+
378
+ render(vNode, container);
379
+ return () => {
380
+ return render(null, container);
381
+ };
382
+ },
383
+ options: {
384
+ offset: options?.data?.pixelOffset || {},
385
+ },
386
+ });
387
+ }
388
+
389
+ //标记监听事件
390
+ private initTagListener(eventBus: MarkerEventBus, options: MarkerManageOptionsExtend) {
391
+ let { viewer, tagListeningOptions } = options;
392
+ // const eventBus = new MarkerEventBus(); // Already created in core
393
+ eventBus.addListener(MarkerEventKey.Click, {
394
+ name: 'marker:click',
395
+ fn: (info: any) => {
396
+ options.runListener?.(ReportListenerKey.标记左键点击, info.data);
397
+ if (isFunction(info.data?.onClick)) {
398
+ info.data?.onClick(info.data);
399
+ }
400
+ if (info.data?.cameraPoint && info.data?.billboard[0]?.isFlyToCameraPoint) {
401
+ viewer?.camera?.flyTo({
402
+ duration: 1,
403
+ ...info.data?.cameraPoint,
404
+ });
405
+ }
406
+ },
407
+ });
408
+ eventBus.addListener(MarkerEventKey.MouseEnter, {
409
+ name: 'marker:mouseenter',
410
+ fn: (info: any) => {
411
+ let Cesium = (this.opt as any).Cesium;
412
+ let offset = { x: 0, y: 0 };
413
+ try {
414
+ if (info.data?.billboard?.[0]?.position?.length > 2) {
415
+ let p = info.data?.billboard[0]?.position;
416
+ let position = Cesium.Cartesian3.fromDegrees(p[0], p[1], p[3] || 0);
417
+ let f = this.instance.labelPool.toWindowCoordinates(position);
418
+ offset.x = f.x;
419
+ offset.y = f.y;
420
+ }
421
+ } catch (e) {
422
+ console.log(e);
423
+ }
424
+ options.runListener?.(ReportListenerKey.标记移入, info.data, offset);
425
+ },
426
+ });
427
+ eventBus.addListener(MarkerEventKey.MouseLeave, {
428
+ name: 'marker:mouseleave',
429
+ fn: (info: any) => {
430
+ let Cesium = (this.opt as any).Cesium;
431
+ let offset = { x: 0, y: 0 };
432
+ try {
433
+ if (info.data?.billboard?.[0]?.position?.length > 2) {
434
+ let p = info.data?.billboard[0]?.position;
435
+ let position = Cesium.Cartesian3.fromDegrees(p[0], p[1], p[3] || 0);
436
+ let f = this.instance.labelPool.toWindowCoordinates(position);
437
+ offset.x = f.x;
438
+ offset.y = f.y;
439
+ }
440
+ } catch (e) {
441
+ console.log(e);
442
+ }
443
+ options.runListener?.(ReportListenerKey.标记移出, info.data, offset);
444
+ },
445
+ });
446
+ tagListeningOptions?.forEach((item) => {
447
+ eventBus.addListener(item.key, item.ListenerItem, item.overwrite);
448
+ });
449
+ // return eventBus;
450
+ }
451
+
452
+ // 兼容旧模式的材质注册
453
+ setMaterial(options: any) {
454
+ const { type, material, materialKey, cover } = options;
455
+ // 统一转为小写,例如 Polyline -> polyline
456
+ const category = type ? type.toLowerCase() : 'default';
457
+
458
+ this.MaterialManager.register({
459
+ themeKey: materialKey,
460
+ // 兼容传入的是 { material: ... } 结构或者直接是材质对象
461
+ material: material?.material || material,
462
+ force: cover,
463
+ category: category,
464
+ });
465
+ }
466
+ }