leiting-bim 2.1.35 → 2.1.37

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 +2818 -2687
  2. package/leiting-bim.umd.js +9 -9
  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,429 @@
1
+ <template>
2
+ <div v-show="isVisible" :class="bem.b('box')">
3
+ <div :class="bem.be('box', 'header')">
4
+ <span>🛤️ 路径漫游</span>
5
+ <div style="cursor: pointer" @click="open(false)">✖</div>
6
+ </div>
7
+
8
+ <div :class="bem.be('box', 'content')">
9
+ <!-- Route Management -->
10
+ <div :class="bem.be('box', 'section')">
11
+ <div :class="bem.be('box', 'title')">路线管理</div>
12
+ <div :class="bem.be('box', 'group')">
13
+ <div :class="bem.be('box', 'route-row')">
14
+ <select v-model="activeRouteId" :class="bem.be('box', 'select')">
15
+ <option v-for="route in routes" :key="route.id" :value="route.id">
16
+ {{ route.name }}
17
+ </option>
18
+ </select>
19
+ <button
20
+ :class="[bem.be('box', 'btn'), 'primary', 'mini']"
21
+ @click="addRoute"
22
+ title="新建路线"
23
+ >+</button
24
+ >
25
+ <button
26
+ :class="[bem.be('box', 'btn'), 'danger', 'mini']"
27
+ @click="deleteRoute"
28
+ :disabled="routes.length <= 1"
29
+ title="删除路线"
30
+ >-</button
31
+ >
32
+ </div>
33
+ <label>路线名称</label>
34
+ <input type="text" v-model="currentRoute.name" />
35
+ </div>
36
+ </div>
37
+
38
+ <!-- Parameter Configuration -->
39
+ <div :class="bem.be('box', 'section')">
40
+ <div :class="bem.be('box', 'title')">参数配置</div>
41
+
42
+ <div :class="bem.be('box', 'group')">
43
+ <label>速度 (speed)</label>
44
+ <input type="number" v-model.number="currentRoute.speed" min="1" />
45
+ </div>
46
+ <div :class="bem.be('box', 'row')">
47
+ <label :class="bem.be('box', 'checkbox')">
48
+ <input type="checkbox" v-model="currentRoute.showPath" />
49
+ <span>显示路径 (showPath)</span>
50
+ </label>
51
+ </div>
52
+ <div :class="bem.be('box', 'section')">
53
+ <div :class="bem.be('box', 'title')">初始视角</div>
54
+ <div :class="bem.be('box', 'row')">
55
+ <button :class="[bem.be('box', 'btn'), 'primary']" style="flex: 1" @click="captureView">
56
+ 📷 捕获当前视角
57
+ </button>
58
+ <button
59
+ :class="[bem.be('box', 'btn'), 'danger', 'icon']"
60
+ title="清除视角"
61
+ @click="clearView"
62
+ >
63
+
64
+ </button>
65
+ </div>
66
+ <div style="font-size: 11px; color: #9ca3af; margin-top: 4px">
67
+ {{ viewStatus }}
68
+ </div>
69
+ </div>
70
+ </div>
71
+ <div :class="bem.be('box', 'section')">
72
+ <div :class="bem.be('box', 'title')">漫游操作</div>
73
+ <div :class="[bem.be('box', 'row')]">
74
+ <button
75
+ :class="[bem.be('box', 'btn'), 'primary']"
76
+ style="width: 100%; margin-top: 8px"
77
+ @click="startDraw"
78
+ >
79
+ ✏️ 绘制路径
80
+ </button>
81
+ </div>
82
+ </div>
83
+ <!-- Roaming Operations -->
84
+ <div :class="bem.be('box', 'section')">
85
+ <div :class="bem.be('box', 'title')">漫游操作</div>
86
+ <div :class="[bem.be('box', 'row'), bem.be('box', 'grid-2')]">
87
+ <button
88
+ :class="[bem.be('box', 'btn'), 'primary', 'icon']"
89
+ title="开始/暂停"
90
+ @click="togglePlay"
91
+ >
92
+ {{ isRoaming && !isPaused ? '⏸' : '▶' }}
93
+ </button>
94
+ <button
95
+ :class="[bem.be('box', 'btn'), 'danger', 'icon']"
96
+ title="结束"
97
+ @click="endRoaming"
98
+ >
99
+
100
+ </button>
101
+ </div>
102
+ </div>
103
+ </div>
104
+
105
+ <div :class="bem.be('box', 'status')">
106
+ <span
107
+ >状态: <span class="value">{{ statusText }}</span></span
108
+ >
109
+ </div>
110
+ </div>
111
+ </template>
112
+
113
+ <script setup lang="ts">
114
+ import { ref, onUnmounted, shallowRef, computed, watch } from 'vue';
115
+ import { createNamespace, prefix } from '@report-components/utils/create';
116
+ import { pathRoamProps } from './pathRoam';
117
+ import { PathRoamTool, DrawTool } from '@report-components/cesium-core';
118
+
119
+ defineOptions({ name: `${prefix}-path-roam` });
120
+ const props = defineProps(pathRoamProps);
121
+ const emit = defineEmits(['update:visible', 'save']);
122
+ const bem = createNamespace('path-roam');
123
+
124
+ // State
125
+ const isVisible = ref(false);
126
+ const isRoaming = ref(false);
127
+ const isPaused = ref(false);
128
+ const statusText = ref('就绪');
129
+ const viewStatus = ref('未配置');
130
+
131
+ // Routes Management
132
+ interface Route {
133
+ id: string;
134
+ name: string;
135
+ positions: any[] | null;
136
+ initialView: any;
137
+ speed: number;
138
+ modelUrl: string;
139
+ modelScale: number;
140
+ showPath: boolean;
141
+ }
142
+
143
+ const getDefaultRouteConfig = () => ({
144
+ speed: props.defaultSpeed,
145
+ modelUrl: props.defaultModelUrl,
146
+ modelScale: props.defaultModelScale,
147
+ showPath: true,
148
+ });
149
+
150
+ const routes = ref<Route[]>([
151
+ { id: '1', name: '路线 1', positions: null, initialView: null, ...getDefaultRouteConfig() },
152
+ ]);
153
+ const activeRouteId = ref('1');
154
+
155
+ const currentRoute = computed(() => {
156
+ return routes.value.find((r) => r.id === activeRouteId.value) || routes.value[0];
157
+ });
158
+
159
+ // Tools
160
+ const pathRoam = shallowRef<PathRoamTool | null>(null);
161
+ const drawTool = shallowRef<DrawTool | null>(null);
162
+ const cesiumInstance = shallowRef<any>(props.Cesium);
163
+ const viewerInstance = shallowRef<any>(props.viewer);
164
+
165
+ // Init
166
+ const init = (Cesium: any, viewer: any, options: any = {}) => {
167
+ if (!Cesium || !viewer) return;
168
+ cesiumInstance.value = Cesium;
169
+ viewerInstance.value = viewer;
170
+
171
+ // Merge options
172
+ if (options.modelUrl) currentRoute.value.modelUrl = options.modelUrl;
173
+ if (options.modelScale !== undefined) currentRoute.value.modelScale = options.modelScale;
174
+
175
+ pathRoam.value = new PathRoamTool({ Cesium, viewer });
176
+ drawTool.value = new DrawTool(Cesium, viewer);
177
+
178
+ updateViewStatus();
179
+ };
180
+
181
+ const open = (visible: boolean = true) => {
182
+ isVisible.value = visible;
183
+ emit('update:visible', visible);
184
+ };
185
+
186
+ const getConfig = () => {
187
+ return {
188
+ activeRouteId: activeRouteId.value,
189
+ routes: routes.value.map((r) => ({
190
+ ...r,
191
+ positions: r.positions ? [...r.positions] : null,
192
+ initialView: r.initialView ? { ...r.initialView } : null,
193
+ })),
194
+ };
195
+ };
196
+
197
+ const setConfig = (config: any) => {
198
+ if (!config) return;
199
+
200
+ // New format
201
+ if (Array.isArray(config.routes)) {
202
+ routes.value = config.routes.map((r: any) => ({
203
+ id: r.id,
204
+ name: r.name,
205
+ positions: r.positions ? [...r.positions] : null,
206
+ initialView: r.initialView ? { ...r.initialView } : null,
207
+ speed: r.speed ?? props.defaultSpeed,
208
+ modelUrl: r.modelUrl ?? props.defaultModelUrl,
209
+ modelScale: r.modelScale ?? props.defaultModelScale,
210
+ showPath: r.showPath ?? true,
211
+ }));
212
+ if (routes.value.length === 0) {
213
+ routes.value = [
214
+ {
215
+ id: '1',
216
+ name: '路线 1',
217
+ positions: null,
218
+ initialView: null,
219
+ ...getDefaultRouteConfig(),
220
+ },
221
+ ];
222
+ }
223
+
224
+ if (config.activeRouteId && routes.value.find((r) => r.id === config.activeRouteId)) {
225
+ activeRouteId.value = config.activeRouteId;
226
+ } else {
227
+ activeRouteId.value = routes.value[0].id;
228
+ }
229
+ }
230
+ // Legacy support
231
+ else if (config.customPositions || config.initialViewConfig) {
232
+ const legacySpeed = typeof config.speed === 'number' ? config.speed : props.defaultSpeed;
233
+ const legacyModelUrl = config.modelUrl ?? props.defaultModelUrl;
234
+ const legacyModelScale =
235
+ typeof config.modelScale === 'number' ? config.modelScale : props.defaultModelScale;
236
+ const legacyShowPath = typeof config.showPath === 'boolean' ? config.showPath : true;
237
+
238
+ routes.value = [
239
+ {
240
+ id: '1',
241
+ name: '默认路线',
242
+ positions: config.customPositions || null,
243
+ initialView: config.initialViewConfig || null,
244
+ speed: legacySpeed,
245
+ modelUrl: legacyModelUrl,
246
+ modelScale: legacyModelScale,
247
+ showPath: legacyShowPath,
248
+ },
249
+ ];
250
+ activeRouteId.value = '1';
251
+ }
252
+
253
+ updateViewStatus();
254
+ };
255
+
256
+ const handleSave = () => {
257
+ emit('save', getConfig());
258
+ };
259
+
260
+ const updateViewStatus = () => {
261
+ const view = currentRoute.value.initialView;
262
+ if (!view) {
263
+ viewStatus.value = '未配置';
264
+ return;
265
+ }
266
+ const c = view.destination;
267
+ if (cesiumInstance.value) {
268
+ const h = cesiumInstance.value.Math.toDegrees(view.orientation.heading).toFixed(1);
269
+ const p = cesiumInstance.value.Math.toDegrees(view.orientation.pitch).toFixed(1);
270
+ viewStatus.value = `Pos: [${c.x.toFixed(0)}, ${c.y.toFixed(0)}, ${c.z.toFixed(0)}]\nHPR: [${h}, ${p}, 0]`;
271
+ } else {
272
+ viewStatus.value = `Pos: [${c.x.toFixed(0)}, ${c.y.toFixed(0)}, ${c.z.toFixed(0)}]`;
273
+ }
274
+ };
275
+
276
+ watch(
277
+ () => activeRouteId.value,
278
+ () => {
279
+ updateViewStatus();
280
+ if (currentRoute.value.positions) {
281
+ statusText.value = '已加载配置路径';
282
+ } else {
283
+ statusText.value = '未配置路径';
284
+ }
285
+ },
286
+ );
287
+
288
+ // Methods
289
+ const captureView = () => {
290
+ if (!viewerInstance.value || !cesiumInstance.value) return;
291
+ const camera = viewerInstance.value.camera;
292
+ currentRoute.value.initialView = {
293
+ destination: camera.position.clone(),
294
+ orientation: {
295
+ heading: camera.heading,
296
+ pitch: camera.pitch,
297
+ roll: camera.roll,
298
+ },
299
+ };
300
+ updateViewStatus();
301
+ };
302
+
303
+ const clearView = () => {
304
+ currentRoute.value.initialView = null;
305
+ updateViewStatus();
306
+ };
307
+
308
+ const startDraw = () => {
309
+ if (!drawTool.value || !pathRoam.value) return;
310
+
311
+ pathRoam.value.clear();
312
+ statusText.value = '请在地图上绘制路径 (左键点击,双击结束)';
313
+
314
+ drawTool.value.draw('line', {
315
+ onComplete: (result: any) => {
316
+ console.log('绘制完成,结果:', result);
317
+ // Convert to format [lon, lat, height]
318
+ currentRoute.value.positions = result.lnglats.map((p: any) => [p.lng, p.lat, p.height]);
319
+
320
+ if (drawTool.value) drawTool.value.clear();
321
+
322
+ statusText.value = '路径已绘制,请点击"开始"';
323
+ },
324
+ });
325
+ };
326
+
327
+ const togglePlay = () => {
328
+ if (!pathRoam.value || !viewerInstance.value || !cesiumInstance.value) return;
329
+
330
+ if (!isRoaming.value) {
331
+ // Start
332
+ let positions = currentRoute.value.positions;
333
+ if (!positions) {
334
+ const defaultPositions = [
335
+ [116.391, 39.907, 0],
336
+ [116.397, 39.909, 0],
337
+ [116.404, 39.915, 0],
338
+ [116.41, 39.92, 0],
339
+ [116.418, 39.925, 0],
340
+ ];
341
+ positions = defaultPositions;
342
+ // Don't save default to currentRoute unless user wants?
343
+ // User code saved it to customPositions before.
344
+ currentRoute.value.positions = positions;
345
+ }
346
+
347
+ statusText.value = '漫游中';
348
+
349
+ pathRoam.value.start({
350
+ positions: positions,
351
+ speed: currentRoute.value.speed,
352
+ loop: false,
353
+ clampToGround: false,
354
+ followCamera: true,
355
+ showPath: currentRoute.value.showPath,
356
+ pathColor: cesiumInstance.value.Color.CYAN,
357
+ pathWidth: 3,
358
+ pointColor: cesiumInstance.value.Color.ORANGE,
359
+ pointPixelSize: 8,
360
+ modelUrl: currentRoute.value.modelUrl || undefined,
361
+ modelScale: currentRoute.value.modelScale,
362
+ initialView: currentRoute.value.initialView,
363
+ onComplete: () => {
364
+ statusText.value = '完成';
365
+ isRoaming.value = false;
366
+ isPaused.value = false;
367
+ },
368
+ });
369
+
370
+ isRoaming.value = true;
371
+ } else {
372
+ // Pause/Resume
373
+ const shouldAnimate = viewerInstance.value.clock.shouldAnimate;
374
+ if (shouldAnimate) {
375
+ viewerInstance.value.clock.shouldAnimate = false;
376
+ statusText.value = '已暂停';
377
+ isPaused.value = true;
378
+ } else {
379
+ viewerInstance.value.clock.shouldAnimate = true;
380
+ statusText.value = '漫游中';
381
+ isPaused.value = false;
382
+ }
383
+ }
384
+ };
385
+
386
+ const endRoaming = () => {
387
+ if (!pathRoam.value || !drawTool.value) return;
388
+ pathRoam.value.clear();
389
+ drawTool.value.clear();
390
+ statusText.value = '已结束';
391
+ isRoaming.value = false;
392
+ isPaused.value = false;
393
+ };
394
+
395
+ const addRoute = () => {
396
+ const id = Date.now().toString();
397
+ routes.value.push({
398
+ id,
399
+ name: `路线 ${routes.value.length + 1}`,
400
+ positions: null,
401
+ initialView: null,
402
+ ...getDefaultRouteConfig(),
403
+ });
404
+ activeRouteId.value = id;
405
+ };
406
+
407
+ const deleteRoute = () => {
408
+ if (routes.value.length <= 1) return;
409
+ const idx = routes.value.findIndex((r) => r.id === activeRouteId.value);
410
+ if (idx !== -1) {
411
+ routes.value.splice(idx, 1);
412
+ activeRouteId.value = routes.value[Math.max(0, idx - 1)].id;
413
+ }
414
+ };
415
+
416
+ // Lifecycle
417
+ onUnmounted(() => {
418
+ if (pathRoam.value) {
419
+ pathRoam.value.clear();
420
+ pathRoam.value = null;
421
+ }
422
+ if (drawTool.value) {
423
+ drawTool.value.clear();
424
+ drawTool.value = null;
425
+ }
426
+ });
427
+
428
+ defineExpose({ init, open, getConfig, setConfig, tool: pathRoam });
429
+ </script>
@@ -0,0 +1,28 @@
1
+ import { PropType } from 'vue';
2
+
3
+ export const pathRoamProps = {
4
+ Cesium: {
5
+ type: Object as PropType<any>,
6
+ required: false,
7
+ },
8
+ viewer: {
9
+ type: Object as PropType<any>,
10
+ required: false,
11
+ },
12
+ visible: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ defaultSpeed: {
17
+ type: Number,
18
+ default: 20,
19
+ },
20
+ defaultModelUrl: {
21
+ type: String,
22
+ default: '',
23
+ },
24
+ defaultModelScale: {
25
+ type: Number,
26
+ default: 1.0,
27
+ }
28
+ } as const;
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <div class="CardMarker-wrap">
3
+ <div class="CardMarker-inner">
4
+ <div class="CardMarker-content">
5
+ <div class="Card-content-item">
6
+ <template v-if="computedData?.type == 'text'">
7
+ <div class="Card-item--text" v-html="computedData.content || ''"></div>
8
+ </template>
9
+ <template v-else-if="computedData?.type == 'iframe'">
10
+ <iframe :src="computedData.src" class="Card-item--iframe" frameborder="0"></iframe>
11
+ </template>
12
+ <template v-else-if="computedData?.type == 'img'">
13
+ <img :src="computedData.src" alt="" class="Card-item--img" />
14
+ </template>
15
+ <template v-else-if="computedData?.type == 'video'">
16
+ <video class="Card-item--video" controls>
17
+ <source :src="computedData.src" type="video/mp4" />
18
+ <source :src="computedData.src" type="video/webm" />
19
+ <source :src="computedData.src" type="video/ogg" />
20
+ 您的浏览器不支持 HTML5 视频标签。
21
+ </video>
22
+ </template>
23
+ </div>
24
+ <div class="Card-content-tabs" v-if="props.data?.length > 1">
25
+ <div
26
+ v-for="(tab, index) in props.data"
27
+ :key="index"
28
+ @click="activeTab(index)"
29
+ class="Card-content-tab"
30
+ :class="{ active: activeIndex == index }"
31
+ >
32
+ {{ tab.title }}
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </template>
39
+ <script setup lang="ts">
40
+ import { ref, computed } from 'vue';
41
+ import { prefix } from '@report-components/utils/create';
42
+ defineOptions({ name: `${prefix}-card-marker` });
43
+ let props = defineProps({ data: Object });
44
+ const activeIndex = ref<number | string>(0);
45
+ const computedData = computed(() => {
46
+ return props?.data?.[activeIndex.value || 0] || {};
47
+ });
48
+
49
+ function activeTab(index: number | string) {
50
+ activeIndex.value = index;
51
+ }
52
+ </script>
53
+
54
+ <style scoped lang="less">
55
+ .CardMarker-wrap {
56
+ width: 682px;
57
+ height: 445px;
58
+ position: relative;
59
+
60
+ .CardMarker-inner {
61
+ width: 682px;
62
+ height: 445px;
63
+ background-image: url('../../assets/img/Card3-BG.png');
64
+ background-size: 100% 100%;
65
+ padding: 17px 4px 6px 90px;
66
+ background-repeat: no-repeat;
67
+ display: flex;
68
+ color: #fff;
69
+ border: none !important;
70
+ position: relative;
71
+ background-color: transparent;
72
+ &::after {
73
+ content: '';
74
+ width: calc(100%);
75
+ z-index: -1;
76
+ height: 100%;
77
+ position: absolute;
78
+ top: 2px;
79
+ left: 78px;
80
+ background: #0c203380;
81
+ backdrop-filter: blur(6px);
82
+ clip-path: path(
83
+ 'M15.57-1,473.558,0l11.992,10.395,107.647.49,7.162,7.365L602,426.737l-13.925,14H14.173L0,426.479V15.039Z'
84
+ );
85
+ }
86
+ .CardMarker-content {
87
+ width: 100%;
88
+ height: 100%;
89
+ display: flex;
90
+
91
+ .Card-content-item {
92
+ width: 100%;
93
+ height: 100%;
94
+ flex: 1;
95
+ .Card-item--text {
96
+ overflow: auto;
97
+ height: 100%;
98
+ }
99
+ .Card-item--iframe {
100
+ width: 100%;
101
+ height: 100%;
102
+ }
103
+ .Card-item--video {
104
+ width: 100%;
105
+ height: 100%;
106
+ background: #000;
107
+ }
108
+ .Card-item--img {
109
+ width: 100%;
110
+ height: 100%;
111
+ background-size: 100% 100%;
112
+ }
113
+ }
114
+ .Card-content-tabs {
115
+ width: 115px;
116
+ height: 100%;
117
+ overflow: auto;
118
+ padding: 8px;
119
+ display: flex;
120
+ flex-direction: column;
121
+ align-items: center;
122
+ justify-content: center;
123
+ background-color: #0c203380;
124
+ clip-path: polygon(0 0, 105px 0, 111px 6px, 111px 409px, 100px 422px, 0 420px);
125
+ .Card-content-tab {
126
+ cursor: pointer;
127
+ padding: 8px 12px;
128
+ margin: 4px 0;
129
+ border-radius: 4px;
130
+ transition: all 0.3s ease;
131
+ color: #d4d4d4; // 默认文字颜色(浅灰)
132
+ background: transparent;
133
+
134
+ &:hover {
135
+ background: rgba(255, 215, 0, 0.1); // 悬停时微金色透出
136
+ }
137
+
138
+ &.active {
139
+ background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
140
+ color: #ffd700; // 金色文字
141
+ font-weight: 600;
142
+ border: 1px solid rgba(255, 215, 0, 0.3); // 金色描边
143
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(255, 215, 0, 0.1); // 内发光效果
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ </style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <div class="cesium-marker">
3
+ <div class="marker-image" v-if="img">
4
+ <img :src="img" alt="marker" />
5
+ </div>
6
+ <div class="marker-name" :style="nameStyle">
7
+ {{ name }}
8
+ </div>
9
+ </div>
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import type { CSSProperties } from 'vue';
14
+ import { prefix } from '@report-components/utils/create';
15
+ defineOptions({ name: `${prefix}-cesium-marker` });
16
+ defineProps<{
17
+ data: Object;
18
+ name: string;
19
+ nameStyle?: CSSProperties;
20
+ img?: string;
21
+ }>();
22
+ </script>
23
+
24
+ <style scoped>
25
+ .cesium-marker {
26
+ position: relative;
27
+ width: max-content;
28
+ }
29
+ .marker-image img {
30
+ user-drag: none; /* 非标准属性,Chrome/Safari 支持 */
31
+ -webkit-user-drag: none;
32
+ user-select: none; /* 防止选择 */
33
+ }
34
+ </style>