@npm9912/v-map 0.1.0

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 (438) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/cjs/_commonjsHelpers-B83fTs8d.js +36 -0
  4. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  5. package/dist/cjs/cesium-provider-BiFFyAl9.js +2598 -0
  6. package/dist/cjs/deck-provider-Ctq3Q8a1.js +47824 -0
  7. package/dist/cjs/geotiff-CEwvF9cG.js +47 -0
  8. package/dist/cjs/geotiff-source-RaNzzWkC.js +1522 -0
  9. package/dist/cjs/index-B1oGO1g-.js +10658 -0
  10. package/dist/cjs/index-B8LHqjyg.js +1765 -0
  11. package/dist/cjs/index-BIL4VsgP.js +310 -0
  12. package/dist/cjs/index-Blku2QY8.js +167 -0
  13. package/dist/cjs/index-CJvvX4yx.js +21 -0
  14. package/dist/cjs/index-CbVT-Con.js +699 -0
  15. package/dist/cjs/index-ISOEpMC3.js +20478 -0
  16. package/dist/cjs/index-JSwBbvGA.js +1621 -0
  17. package/dist/cjs/index.browser-DQhD8Jwl.js +6873 -0
  18. package/dist/cjs/index.cjs.js +2 -0
  19. package/dist/cjs/layer-extension-B_olS0rc.js +65 -0
  20. package/dist/cjs/leaflet-provider-DOqfs7g5.js +1815 -0
  21. package/dist/cjs/loader.cjs.js +13 -0
  22. package/dist/cjs/main-dist-7TykwFci.js +2655 -0
  23. package/dist/cjs/messages-D7h4m8Tx.js +186 -0
  24. package/dist/cjs/openlayers-provider-Dfeg6L4n.js +1604 -0
  25. package/dist/cjs/polygon-layer-B9PrN7vr.js +1300 -0
  26. package/dist/cjs/scenegraph-layer-DwNoxQdi.js +2530 -0
  27. package/dist/cjs/styleconfig-CVRqArk-.js +23 -0
  28. package/dist/cjs/v-map-builder.cjs.entry.js +3786 -0
  29. package/dist/cjs/v-map-layer-geojson_12.cjs.entry.js +40894 -0
  30. package/dist/cjs/v-map-layer-helper-iAzxAg9I.js +285 -0
  31. package/dist/cjs/v-map-layer-terrain-geotiff.cjs.entry.js +258 -0
  32. package/dist/cjs/v-map-layercontrol.cjs.entry.js +247 -0
  33. package/dist/cjs/v-map.cjs.js +25 -0
  34. package/dist/cjs/v-map.v-map-layer-osm.v-map-layergroup-BsXp3BoL.js +582 -0
  35. package/dist/cjs/v-map_3.cjs.entry.js +12 -0
  36. package/dist/collection/collection-manifest.json +30 -0
  37. package/dist/collection/components/v-map/v-map.css +3 -0
  38. package/dist/collection/components/v-map/v-map.js +467 -0
  39. package/dist/collection/components/v-map/v-map.test.js +33 -0
  40. package/dist/collection/components/v-map-builder/v-map-builder.css +1 -0
  41. package/dist/collection/components/v-map-builder/v-map-builder.js +913 -0
  42. package/dist/collection/components/v-map-builder/v-map-builder.test.js +56 -0
  43. package/dist/collection/components/v-map-layer-geojson/v-map-layer-geojson.js +862 -0
  44. package/dist/collection/components/v-map-layer-geojson/v-map-layer-geojson.test.js +42 -0
  45. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.css +4 -0
  46. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.js +500 -0
  47. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.test.js +38 -0
  48. package/dist/collection/components/v-map-layer-google/v-map-layer-google.css +1 -0
  49. package/dist/collection/components/v-map-layer-google/v-map-layer-google.js +442 -0
  50. package/dist/collection/components/v-map-layer-osm/error-api.test.js +108 -0
  51. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.css +4 -0
  52. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.js +311 -0
  53. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.test.js +36 -0
  54. package/dist/collection/components/v-map-layer-scatterplot/v-map-layer-scatterplot.css +1 -0
  55. package/dist/collection/components/v-map-layer-scatterplot/v-map-layer-scatterplot.js +305 -0
  56. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.css +3 -0
  57. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.js +548 -0
  58. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.test.js +36 -0
  59. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.css +3 -0
  60. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.js +735 -0
  61. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.test.js +42 -0
  62. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.css +3 -0
  63. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.js +449 -0
  64. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.test.js +50 -0
  65. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.css +1 -0
  66. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.js +448 -0
  67. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.test.js +39 -0
  68. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.css +1 -0
  69. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.js +489 -0
  70. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.test.js +43 -0
  71. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.css +1 -0
  72. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.js +811 -0
  73. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.test.js +34 -0
  74. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.css +1 -0
  75. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.js +453 -0
  76. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.test.js +36 -0
  77. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.css +1 -0
  78. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.js +331 -0
  79. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.test.js +28 -0
  80. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.css +74 -0
  81. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.js +277 -0
  82. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.test.js +134 -0
  83. package/dist/collection/components/v-map-layergroup/v-map-layergroup.css +4 -0
  84. package/dist/collection/components/v-map-layergroup/v-map-layergroup.js +212 -0
  85. package/dist/collection/components/v-map-layergroup/v-map-layergroup.test.js +39 -0
  86. package/dist/collection/components/v-map-style/v-map-style.css +38 -0
  87. package/dist/collection/components/v-map-style/v-map-style.js +492 -0
  88. package/dist/collection/components/v-map-style/v-map-style.unit.js +62 -0
  89. package/dist/collection/index.js +1 -0
  90. package/dist/collection/layer/v-map-layer-helper.js +281 -0
  91. package/dist/collection/layer/v-map-layer-helper.unit.js +234 -0
  92. package/dist/collection/lib/cesium-loader.js +58 -0
  93. package/dist/collection/lib/ensure-importmap.js +12 -0
  94. package/dist/collection/lib/ensure-importmap.unit.js +57 -0
  95. package/dist/collection/lib/versions.gen.js +6 -0
  96. package/dist/collection/lib/vstyle.js +8 -0
  97. package/dist/collection/map-provider/cesium/CesiumGeoTIFFTerrainProvider.js +285 -0
  98. package/dist/collection/map-provider/cesium/CesiumLayerGroups.js +159 -0
  99. package/dist/collection/map-provider/cesium/GeoTIFFImageryProvider.js +192 -0
  100. package/dist/collection/map-provider/cesium/GeoTIFFImageryProvider.test.js +57 -0
  101. package/dist/collection/map-provider/cesium/cesium-provider.js +1408 -0
  102. package/dist/collection/map-provider/cesium/i-layer.js +1 -0
  103. package/dist/collection/map-provider/cesium/layer-manager.js +467 -0
  104. package/dist/collection/map-provider/deck/DeckGLGeoTIFFLayer.js +483 -0
  105. package/dist/collection/map-provider/deck/DeckGLGeoTIFFTerrainLayer.js +410 -0
  106. package/dist/collection/map-provider/deck/LayerGroupWithModel.js +169 -0
  107. package/dist/collection/map-provider/deck/LayerGroups.js +192 -0
  108. package/dist/collection/map-provider/deck/LayerModel.js +1 -0
  109. package/dist/collection/map-provider/deck/RenderableGroup.js +1 -0
  110. package/dist/collection/map-provider/deck/deck-provider.js +1563 -0
  111. package/dist/collection/map-provider/geotiff/geotiff-source.js +172 -0
  112. package/dist/collection/map-provider/geotiff/utils/AABB2D.js +24 -0
  113. package/dist/collection/map-provider/geotiff/utils/BVHNode2D.js +166 -0
  114. package/dist/collection/map-provider/geotiff/utils/GeoTIFFTileProcessor.js +484 -0
  115. package/dist/collection/map-provider/geotiff/utils/Triangle.js +1 -0
  116. package/dist/collection/map-provider/geotiff/utils/Triangulation.js +321 -0
  117. package/dist/collection/map-provider/geotiff/utils/colormap-utils.js +190 -0
  118. package/dist/collection/map-provider/geotiff/utils/normalization-utils.js +122 -0
  119. package/dist/collection/map-provider/geotiff/utils/sampling-utils.js +108 -0
  120. package/dist/collection/map-provider/leaflet/GeoTIFFGridLayer.js +147 -0
  121. package/dist/collection/map-provider/leaflet/WCSGridLayer.js +124 -0
  122. package/dist/collection/map-provider/leaflet/google-map-tiles-layer.js +352 -0
  123. package/dist/collection/map-provider/leaflet/leaflet-helpers.js +94 -0
  124. package/dist/collection/map-provider/leaflet/leaflet-provider.js +1095 -0
  125. package/dist/collection/map-provider/ol/CustomGeoTiff.js +145 -0
  126. package/dist/collection/map-provider/ol/openlayers-helper.js +26 -0
  127. package/dist/collection/map-provider/ol/openlayers-provider.js +1427 -0
  128. package/dist/collection/map-provider/provider-factory.js +44 -0
  129. package/dist/collection/map-provider/provider-factory.unit.js +66 -0
  130. package/dist/collection/testing/browser-test-utils.js +49 -0
  131. package/dist/collection/testing/e2e-testing.js +122 -0
  132. package/dist/collection/testing/e2e-utils.js +70 -0
  133. package/dist/collection/testing/geotiff-test-server.js +100 -0
  134. package/dist/collection/testing/mocks/geostyler-lyrx-parser.js +12 -0
  135. package/dist/collection/testing/mocks/geostyler-mapbox-parser.js +12 -0
  136. package/dist/collection/testing/mocks/geostyler-qgis-parser.js +12 -0
  137. package/dist/collection/testing/mocks/geostyler-sld-parser.js +13 -0
  138. package/dist/collection/testing/mocks/geostyler-style.js +5 -0
  139. package/dist/collection/testing/setupTests.browser.js +1 -0
  140. package/dist/collection/testing/setupTests.stencil.js +20 -0
  141. package/dist/collection/testing/setupTests.vitest.js +59 -0
  142. package/dist/collection/testing/stencil-testing-wrapper.js +43 -0
  143. package/dist/collection/testing/styleMock.js +1 -0
  144. package/dist/collection/types/color.js +1 -0
  145. package/dist/collection/types/cssmode.js +1 -0
  146. package/dist/collection/types/flavour.js +1 -0
  147. package/dist/collection/types/layerconfig.js +1 -0
  148. package/dist/collection/types/lonlat.js +1 -0
  149. package/dist/collection/types/mapinitoptions.js +1 -0
  150. package/dist/collection/types/mapprovider.js +1 -0
  151. package/dist/collection/types/provideroptions.js +1 -0
  152. package/dist/collection/types/styleconfig.js +19 -0
  153. package/dist/collection/types/styling.js +13 -0
  154. package/dist/collection/types/styling.unit.js +37 -0
  155. package/dist/collection/types/vmaplayer.js +1 -0
  156. package/dist/collection/utils/async-mutex.js +28 -0
  157. package/dist/collection/utils/diff.js +142 -0
  158. package/dist/collection/utils/diff.unit.js +59 -0
  159. package/dist/collection/utils/dom-env.js +43 -0
  160. package/dist/collection/utils/dom-env.unit.js +92 -0
  161. package/dist/collection/utils/events.js +8 -0
  162. package/dist/collection/utils/logger.js +183 -0
  163. package/dist/collection/utils/logger.unit.js +98 -0
  164. package/dist/collection/utils/messages.js +12 -0
  165. package/dist/collection/utils/spatial-utils.js +27 -0
  166. package/dist/collection/utils/spatial-utils.unit.js +24 -0
  167. package/dist/components/_commonjsHelpers.js +1 -0
  168. package/dist/components/cesium-provider.js +1 -0
  169. package/dist/components/deck-provider.js +1 -0
  170. package/dist/components/events.js +1 -0
  171. package/dist/components/geotiff-source.js +1 -0
  172. package/dist/components/geotiff.js +4 -0
  173. package/dist/components/index.browser.js +15 -0
  174. package/dist/components/index.d.ts +35 -0
  175. package/dist/components/index.js +1 -0
  176. package/dist/components/index2.js +1 -0
  177. package/dist/components/index3.js +1 -0
  178. package/dist/components/index4.js +1 -0
  179. package/dist/components/index5.js +1 -0
  180. package/dist/components/index6.js +1 -0
  181. package/dist/components/index7.js +1 -0
  182. package/dist/components/index8.js +7 -0
  183. package/dist/components/layer-extension.js +1 -0
  184. package/dist/components/leaflet-provider.js +1 -0
  185. package/dist/components/main-dist.js +1 -0
  186. package/dist/components/messages.js +1 -0
  187. package/dist/components/openlayers-provider.js +1 -0
  188. package/dist/components/polygon-layer.js +1 -0
  189. package/dist/components/scenegraph-layer.js +1 -0
  190. package/dist/components/styleconfig.js +1 -0
  191. package/dist/components/styling.js +1 -0
  192. package/dist/components/v-map-builder.d.ts +11 -0
  193. package/dist/components/v-map-builder.js +2 -0
  194. package/dist/components/v-map-layer-geojson.d.ts +11 -0
  195. package/dist/components/v-map-layer-geojson.js +1 -0
  196. package/dist/components/v-map-layer-geojson2.js +1 -0
  197. package/dist/components/v-map-layer-geotiff.d.ts +11 -0
  198. package/dist/components/v-map-layer-geotiff.js +1 -0
  199. package/dist/components/v-map-layer-geotiff2.js +1 -0
  200. package/dist/components/v-map-layer-google.d.ts +11 -0
  201. package/dist/components/v-map-layer-google.js +1 -0
  202. package/dist/components/v-map-layer-google2.js +1 -0
  203. package/dist/components/v-map-layer-helper.js +1 -0
  204. package/dist/components/v-map-layer-osm.d.ts +11 -0
  205. package/dist/components/v-map-layer-osm.js +1 -0
  206. package/dist/components/v-map-layer-osm2.js +1 -0
  207. package/dist/components/v-map-layer-scatterplot.d.ts +11 -0
  208. package/dist/components/v-map-layer-scatterplot.js +1 -0
  209. package/dist/components/v-map-layer-scatterplot2.js +1 -0
  210. package/dist/components/v-map-layer-terrain-geotiff.d.ts +11 -0
  211. package/dist/components/v-map-layer-terrain-geotiff.js +1 -0
  212. package/dist/components/v-map-layer-terrain.d.ts +11 -0
  213. package/dist/components/v-map-layer-terrain.js +1 -0
  214. package/dist/components/v-map-layer-terrain2.js +1 -0
  215. package/dist/components/v-map-layer-tile3d.d.ts +11 -0
  216. package/dist/components/v-map-layer-tile3d.js +1 -0
  217. package/dist/components/v-map-layer-tile3d2.js +1 -0
  218. package/dist/components/v-map-layer-wcs.d.ts +11 -0
  219. package/dist/components/v-map-layer-wcs.js +1 -0
  220. package/dist/components/v-map-layer-wcs2.js +1 -0
  221. package/dist/components/v-map-layer-wfs.d.ts +11 -0
  222. package/dist/components/v-map-layer-wfs.js +1 -0
  223. package/dist/components/v-map-layer-wfs2.js +1 -0
  224. package/dist/components/v-map-layer-wkt.d.ts +11 -0
  225. package/dist/components/v-map-layer-wkt.js +1 -0
  226. package/dist/components/v-map-layer-wkt2.js +1 -0
  227. package/dist/components/v-map-layer-wms.d.ts +11 -0
  228. package/dist/components/v-map-layer-wms.js +1 -0
  229. package/dist/components/v-map-layer-wms2.js +1 -0
  230. package/dist/components/v-map-layer-xyz.d.ts +11 -0
  231. package/dist/components/v-map-layer-xyz.js +1 -0
  232. package/dist/components/v-map-layer-xyz2.js +1 -0
  233. package/dist/components/v-map-layercontrol.d.ts +11 -0
  234. package/dist/components/v-map-layercontrol.js +1 -0
  235. package/dist/components/v-map-layergroup.d.ts +11 -0
  236. package/dist/components/v-map-layergroup.js +1 -0
  237. package/dist/components/v-map-layergroup2.js +1 -0
  238. package/dist/components/v-map-style.d.ts +11 -0
  239. package/dist/components/v-map-style.js +1 -0
  240. package/dist/components/v-map-style2.js +10 -0
  241. package/dist/components/v-map.d.ts +11 -0
  242. package/dist/components/v-map.js +1 -0
  243. package/dist/components/v-map2.js +1 -0
  244. package/dist/esm/_commonjsHelpers-E-ZsRS8r.js +32 -0
  245. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  246. package/dist/esm/cesium-provider-BJfAup3w.js +2596 -0
  247. package/dist/esm/deck-provider-C7U9VDEq.js +47709 -0
  248. package/dist/esm/geotiff-BEWxTIfH.js +45 -0
  249. package/dist/esm/geotiff-source-esnDnC-u.js +1516 -0
  250. package/dist/esm/index-B1zwA4IC.js +685 -0
  251. package/dist/esm/index-BBpiaTpT.js +165 -0
  252. package/dist/esm/index-BIEmlzCf.js +1697 -0
  253. package/dist/esm/index-BUHa4Jj0.js +307 -0
  254. package/dist/esm/index-DbSdn93t.js +20461 -0
  255. package/dist/esm/index-RpJarvr_.js +10656 -0
  256. package/dist/esm/index-jN06TXUp.js +14 -0
  257. package/dist/esm/index-jzneDarq.js +1613 -0
  258. package/dist/esm/index.browser-DhQAXuA7.js +6860 -0
  259. package/dist/esm/index.js +1 -0
  260. package/dist/esm/layer-extension-CZXK5goK.js +63 -0
  261. package/dist/esm/leaflet-provider-Q41TB6ku.js +1794 -0
  262. package/dist/esm/loader.js +11 -0
  263. package/dist/esm/main-dist-CwnA7_Xn.js +2652 -0
  264. package/dist/esm/messages-CMKJzsgL.js +180 -0
  265. package/dist/esm/openlayers-provider-CMsDsQTQ.js +1602 -0
  266. package/dist/esm/polygon-layer-ByhxGhWC.js +1295 -0
  267. package/dist/esm/scenegraph-layer-09K_B6DT.js +2526 -0
  268. package/dist/esm/styleconfig-B-bAcABs.js +21 -0
  269. package/dist/esm/v-map-builder.entry.js +3784 -0
  270. package/dist/esm/v-map-layer-geojson_12.entry.js +40881 -0
  271. package/dist/esm/v-map-layer-helper-Dys44Cgo.js +283 -0
  272. package/dist/esm/v-map-layer-terrain-geotiff.entry.js +256 -0
  273. package/dist/esm/v-map-layercontrol.entry.js +245 -0
  274. package/dist/esm/v-map.js +21 -0
  275. package/dist/esm/v-map.v-map-layer-osm.v-map-layergroup-B4pFHuSf.js +572 -0
  276. package/dist/esm/v-map_3.entry.js +4 -0
  277. package/dist/index.cjs.js +1 -0
  278. package/dist/index.js +1 -0
  279. package/dist/types/cesium-augment.d.ts +5 -0
  280. package/dist/types/components/v-map/v-map.d.ts +70 -0
  281. package/dist/types/components/v-map/v-map.test.d.ts +1 -0
  282. package/dist/types/components/v-map-builder/v-map-builder.d.ts +48 -0
  283. package/dist/types/components/v-map-builder/v-map-builder.test.d.ts +1 -0
  284. package/dist/types/components/v-map-layer-geojson/v-map-layer-geojson.d.ts +129 -0
  285. package/dist/types/components/v-map-layer-geojson/v-map-layer-geojson.test.d.ts +1 -0
  286. package/dist/types/components/v-map-layer-geotiff/v-map-layer-geotiff.d.ts +74 -0
  287. package/dist/types/components/v-map-layer-geotiff/v-map-layer-geotiff.test.d.ts +1 -0
  288. package/dist/types/components/v-map-layer-google/v-map-layer-google.d.ts +78 -0
  289. package/dist/types/components/v-map-layer-osm/error-api.test.d.ts +1 -0
  290. package/dist/types/components/v-map-layer-osm/v-map-layer-osm.d.ts +50 -0
  291. package/dist/types/components/v-map-layer-osm/v-map-layer-osm.test.d.ts +1 -0
  292. package/dist/types/components/v-map-layer-scatterplot/v-map-layer-scatterplot.d.ts +54 -0
  293. package/dist/types/components/v-map-layer-terrain/v-map-layer-terrain.d.ts +74 -0
  294. package/dist/types/components/v-map-layer-terrain/v-map-layer-terrain.test.d.ts +1 -0
  295. package/dist/types/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.d.ts +117 -0
  296. package/dist/types/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.test.d.ts +1 -0
  297. package/dist/types/components/v-map-layer-tile3d/v-map-layer-tile3d.d.ts +69 -0
  298. package/dist/types/components/v-map-layer-tile3d/v-map-layer-tile3d.test.d.ts +1 -0
  299. package/dist/types/components/v-map-layer-wcs/v-map-layer-wcs.d.ts +47 -0
  300. package/dist/types/components/v-map-layer-wcs/v-map-layer-wcs.test.d.ts +1 -0
  301. package/dist/types/components/v-map-layer-wfs/v-map-layer-wfs.d.ts +59 -0
  302. package/dist/types/components/v-map-layer-wfs/v-map-layer-wfs.test.d.ts +1 -0
  303. package/dist/types/components/v-map-layer-wkt/v-map-layer-wkt.d.ts +132 -0
  304. package/dist/types/components/v-map-layer-wkt/v-map-layer-wkt.test.d.ts +1 -0
  305. package/dist/types/components/v-map-layer-wms/v-map-layer-wms.d.ts +76 -0
  306. package/dist/types/components/v-map-layer-wms/v-map-layer-wms.test.d.ts +1 -0
  307. package/dist/types/components/v-map-layer-xyz/v-map-layer-xyz.d.ts +59 -0
  308. package/dist/types/components/v-map-layer-xyz/v-map-layer-xyz.test.d.ts +1 -0
  309. package/dist/types/components/v-map-layercontrol/v-map-layercontrol.d.ts +44 -0
  310. package/dist/types/components/v-map-layercontrol/v-map-layercontrol.test.d.ts +1 -0
  311. package/dist/types/components/v-map-layergroup/v-map-layergroup.d.ts +31 -0
  312. package/dist/types/components/v-map-layergroup/v-map-layergroup.test.d.ts +1 -0
  313. package/dist/types/components/v-map-style/v-map-style.d.ts +75 -0
  314. package/dist/types/components/v-map-style/v-map-style.unit.d.ts +1 -0
  315. package/dist/types/components.d.ts +2391 -0
  316. package/dist/types/globals.d.ts +16 -0
  317. package/dist/types/index.d.ts +10 -0
  318. package/dist/types/layer/v-map-layer-helper.d.ts +45 -0
  319. package/dist/types/layer/v-map-layer-helper.unit.d.ts +1 -0
  320. package/dist/types/leaflet-augment.d.ts +15 -0
  321. package/dist/types/lib/cesium-loader.d.ts +3 -0
  322. package/dist/types/lib/ensure-importmap.d.ts +3 -0
  323. package/dist/types/lib/ensure-importmap.unit.d.ts +1 -0
  324. package/dist/types/lib/versions.gen.d.ts +5 -0
  325. package/dist/types/lib/vstyle.d.ts +44 -0
  326. package/dist/types/map-provider/cesium/CesiumGeoTIFFTerrainProvider.d.ts +92 -0
  327. package/dist/types/map-provider/cesium/CesiumLayerGroups.d.ts +64 -0
  328. package/dist/types/map-provider/cesium/GeoTIFFImageryProvider.d.ts +75 -0
  329. package/dist/types/map-provider/cesium/GeoTIFFImageryProvider.test.d.ts +1 -0
  330. package/dist/types/map-provider/cesium/cesium-provider.d.ts +87 -0
  331. package/dist/types/map-provider/cesium/i-layer.d.ts +11 -0
  332. package/dist/types/map-provider/cesium/layer-manager.d.ts +31 -0
  333. package/dist/types/map-provider/deck/DeckGLGeoTIFFLayer.d.ts +91 -0
  334. package/dist/types/map-provider/deck/DeckGLGeoTIFFTerrainLayer.d.ts +82 -0
  335. package/dist/types/map-provider/deck/LayerGroupWithModel.d.ts +55 -0
  336. package/dist/types/map-provider/deck/LayerGroups.d.ts +63 -0
  337. package/dist/types/map-provider/deck/LayerModel.d.ts +8 -0
  338. package/dist/types/map-provider/deck/RenderableGroup.d.ts +20 -0
  339. package/dist/types/map-provider/deck/deck-provider.d.ts +92 -0
  340. package/dist/types/map-provider/geotiff/geotiff-source.d.ts +30 -0
  341. package/dist/types/map-provider/geotiff/utils/AABB2D.d.ts +28 -0
  342. package/dist/types/map-provider/geotiff/utils/BVHNode2D.d.ts +36 -0
  343. package/dist/types/map-provider/geotiff/utils/GeoTIFFTileProcessor.d.ts +116 -0
  344. package/dist/types/map-provider/geotiff/utils/Triangle.d.ts +5 -0
  345. package/dist/types/map-provider/geotiff/utils/Triangulation.d.ts +94 -0
  346. package/dist/types/map-provider/geotiff/utils/colormap-utils.d.ts +47 -0
  347. package/dist/types/map-provider/geotiff/utils/normalization-utils.d.ts +39 -0
  348. package/dist/types/map-provider/geotiff/utils/sampling-utils.d.ts +13 -0
  349. package/dist/types/map-provider/leaflet/GeoTIFFGridLayer.d.ts +34 -0
  350. package/dist/types/map-provider/leaflet/WCSGridLayer.d.ts +38 -0
  351. package/dist/types/map-provider/leaflet/google-map-tiles-layer.d.ts +73 -0
  352. package/dist/types/map-provider/leaflet/leaflet-helpers.d.ts +6 -0
  353. package/dist/types/map-provider/leaflet/leaflet-provider.d.ts +73 -0
  354. package/dist/types/map-provider/ol/CustomGeoTiff.d.ts +14 -0
  355. package/dist/types/map-provider/ol/openlayers-helper.d.ts +2 -0
  356. package/dist/types/map-provider/ol/openlayers-provider.d.ts +80 -0
  357. package/dist/types/map-provider/provider-factory.d.ts +12 -0
  358. package/dist/types/map-provider/provider-factory.unit.d.ts +1 -0
  359. package/dist/types/namespaces.d.ts +3 -0
  360. package/dist/types/ol-augment.d.ts +3 -0
  361. package/dist/types/ol-override.d.ts +7 -0
  362. package/dist/types/ol.d.ts +10 -0
  363. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  364. package/dist/types/testing/browser-test-utils.d.ts +6 -0
  365. package/dist/types/testing/e2e-testing.d.ts +5 -0
  366. package/dist/types/testing/e2e-utils.d.ts +4 -0
  367. package/dist/types/testing/geotiff-test-server.d.ts +5 -0
  368. package/dist/types/testing/mocks/geostyler-lyrx-parser.d.ts +11 -0
  369. package/dist/types/testing/mocks/geostyler-mapbox-parser.d.ts +11 -0
  370. package/dist/types/testing/mocks/geostyler-qgis-parser.d.ts +11 -0
  371. package/dist/types/testing/mocks/geostyler-sld-parser.d.ts +11 -0
  372. package/dist/types/testing/mocks/geostyler-style.d.ts +5 -0
  373. package/dist/types/testing/setupTests.browser.d.ts +1 -0
  374. package/dist/types/testing/setupTests.stencil.d.ts +1 -0
  375. package/dist/types/testing/setupTests.vitest.d.ts +1 -0
  376. package/dist/types/testing/stencil-testing-wrapper.d.ts +3 -0
  377. package/dist/types/types/color.d.ts +1 -0
  378. package/dist/types/types/cssmode.d.ts +1 -0
  379. package/dist/types/types/flavour.d.ts +1 -0
  380. package/dist/types/types/layerconfig.d.ts +207 -0
  381. package/dist/types/types/lonlat.d.ts +1 -0
  382. package/dist/types/types/mapinitoptions.d.ts +4 -0
  383. package/dist/types/types/mapprovider.d.ts +46 -0
  384. package/dist/types/types/provideroptions.d.ts +8 -0
  385. package/dist/types/types/styleconfig.d.ts +27 -0
  386. package/dist/types/types/styling.d.ts +24 -0
  387. package/dist/types/types/styling.unit.d.ts +1 -0
  388. package/dist/types/types/vmaplayer.d.ts +10 -0
  389. package/dist/types/utils/async-mutex.d.ts +7 -0
  390. package/dist/types/utils/diff.d.ts +64 -0
  391. package/dist/types/utils/diff.unit.d.ts +1 -0
  392. package/dist/types/utils/dom-env.d.ts +5 -0
  393. package/dist/types/utils/dom-env.unit.d.ts +1 -0
  394. package/dist/types/utils/events.d.ts +29 -0
  395. package/dist/types/utils/logger.d.ts +47 -0
  396. package/dist/types/utils/logger.unit.d.ts +1 -0
  397. package/dist/types/utils/messages.d.ts +12 -0
  398. package/dist/types/utils/spatial-utils.d.ts +6 -0
  399. package/dist/types/utils/spatial-utils.unit.d.ts +1 -0
  400. package/dist/types/versions.d.ts +7 -0
  401. package/dist/v-map/index.esm.js +0 -0
  402. package/dist/v-map/p--vVleK-M.js +1 -0
  403. package/dist/v-map/p-09d10db0.entry.js +1 -0
  404. package/dist/v-map/p-5eba6058.entry.js +10 -0
  405. package/dist/v-map/p-6b102336.entry.js +1 -0
  406. package/dist/v-map/p-B-bAcABs.js +1 -0
  407. package/dist/v-map/p-BBpiaTpT.js +1 -0
  408. package/dist/v-map/p-BdijL4Av.js +1 -0
  409. package/dist/v-map/p-Be3r33VF.js +4 -0
  410. package/dist/v-map/p-BeFu0ap4.js +1 -0
  411. package/dist/v-map/p-BxFJezdK.js +1 -0
  412. package/dist/v-map/p-CMKJzsgL.js +1 -0
  413. package/dist/v-map/p-CXfA_q8m.js +1 -0
  414. package/dist/v-map/p-CZqY0yW4.js +1 -0
  415. package/dist/v-map/p-CafTHT9i.js +1 -0
  416. package/dist/v-map/p-DCTHyf58.js +1 -0
  417. package/dist/v-map/p-DQuL1Twl.js +1 -0
  418. package/dist/v-map/p-DR9McdNX.js +1 -0
  419. package/dist/v-map/p-Dckgonw8.js +1 -0
  420. package/dist/v-map/p-DhQAXuA7.js +15 -0
  421. package/dist/v-map/p-DmICdG34.js +7 -0
  422. package/dist/v-map/p-DrOQ9V4h.js +1 -0
  423. package/dist/v-map/p-DvHXtWUg.js +1 -0
  424. package/dist/v-map/p-E-ZsRS8r.js +1 -0
  425. package/dist/v-map/p-MyTSFnEk.js +1 -0
  426. package/dist/v-map/p-RpJarvr_.js +1 -0
  427. package/dist/v-map/p-WaMDUuAz.js +1 -0
  428. package/dist/v-map/p-aa410e64.entry.js +2 -0
  429. package/dist/v-map/p-c21c93fe.entry.js +1 -0
  430. package/dist/v-map/p-jzneDarq.js +2 -0
  431. package/dist/v-map/p-uiIP-taz.js +1 -0
  432. package/dist/v-map/v-map.esm.js +1 -0
  433. package/loader/cdn.js +1 -0
  434. package/loader/index.cjs.js +1 -0
  435. package/loader/index.d.ts +24 -0
  436. package/loader/index.es2017.js +1 -0
  437. package/loader/index.js +2 -0
  438. package/package.json +193 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,467 @@
1
+ export class LayerManager {
2
+ Cesium;
3
+ layers = new Map();
4
+ viewer;
5
+ //private imageryZMutex = new AsyncMutex();
6
+ constructor(Cesium, viewer) {
7
+ this.viewer = viewer;
8
+ this.Cesium = Cesium;
9
+ }
10
+ replaceLayer(id, oldlayer, layer) {
11
+ if (!this.Cesium) {
12
+ throw new Error('Cesium must be initialized first. Call init() method.');
13
+ }
14
+ const zIndex = oldlayer.getZIndex();
15
+ const visible = oldlayer.getVisible();
16
+ const opacity = oldlayer.getOpacity();
17
+ this.removeLayer(id);
18
+ const wrappedLayer = this.addLayer(id, layer);
19
+ wrappedLayer.setZIndex(zIndex);
20
+ wrappedLayer.setVisible(visible);
21
+ wrappedLayer.setOpacity(opacity);
22
+ return wrappedLayer;
23
+ }
24
+ addLayer(id, layer) {
25
+ if (!this.Cesium) {
26
+ throw new Error('Cesium must be initialized first. Call init() method.');
27
+ }
28
+ //add layer
29
+ if (layer instanceof this.Cesium.GeoJsonDataSource) {
30
+ this.viewer.dataSources.add(layer);
31
+ }
32
+ else if (layer instanceof this.Cesium.DataSource) {
33
+ this.viewer.dataSources.add(layer);
34
+ }
35
+ else if (layer instanceof this.Cesium.Cesium3DTileset) {
36
+ this.viewer.scene.primitives.add(layer);
37
+ if (!layer.style) {
38
+ layer.style = new this.Cesium.Cesium3DTileStyle();
39
+ }
40
+ }
41
+ else if (layer instanceof this.Cesium.ImageryLayer) {
42
+ this.viewer.imageryLayers.add(layer);
43
+ }
44
+ layer.id = id;
45
+ const wrapped = this.wrapLayer(layer);
46
+ this.layers.set(id, wrapped);
47
+ return wrapped;
48
+ }
49
+ addCustomLayer(id, layer) {
50
+ this.layers.set(id, layer);
51
+ return layer;
52
+ }
53
+ getLayer(layerId) {
54
+ const layer = this.layers.get(layerId);
55
+ if (!layer)
56
+ throw new Error(`Layer mit ID "${layerId}" nicht gefunden.`);
57
+ return layer;
58
+ }
59
+ getLayerById(layerId) {
60
+ return this.getLayer(layerId);
61
+ }
62
+ removeLayer(layerId) {
63
+ const layer = this.getLayer(layerId);
64
+ layer.remove();
65
+ this.layers.delete(layerId);
66
+ }
67
+ setVisible(layerId, visible) {
68
+ const layer = this.getLayer(layerId);
69
+ layer.setVisible(visible);
70
+ }
71
+ setOpacity(layerId, opacity) {
72
+ const layer = this.getLayer(layerId);
73
+ layer.setOpacity(opacity);
74
+ }
75
+ async setZIndex(layerId, zindex) {
76
+ const layer = this.getLayer(layerId);
77
+ await layer.setZIndex(zindex);
78
+ }
79
+ wrapLayer(layer) {
80
+ if (layer instanceof this.Cesium.ImageryLayer) {
81
+ return this.wrapImageryLayer(layer);
82
+ }
83
+ else if (layer instanceof this.Cesium.Cesium3DTileset) {
84
+ return this.wrapTilesetLayer(layer);
85
+ }
86
+ else {
87
+ return this.wrapDataSourceLayer(layer);
88
+ }
89
+ }
90
+ async sortImageryLayers(collection, layer, targetZ) {
91
+ const tempCollection = this.sort(collection, layer, targetZ);
92
+ // Collection leeren und neu befüllen
93
+ collection.removeAll(false);
94
+ tempCollection.forEach(ds => collection.add(ds));
95
+ }
96
+ async sort3DTileSets(collection, tileset, targetZ) {
97
+ const tempCollection = this.sort(collection, tileset, targetZ);
98
+ // Collection leeren und neu befüllen
99
+ collection.removeAll();
100
+ tempCollection.forEach(ds => collection.add(ds));
101
+ }
102
+ async sortDataSources(collection, dataSource, zIndex) {
103
+ const tempCollection = this.sort(collection, dataSource, zIndex);
104
+ // Collection leeren und neu befüllen
105
+ collection.removeAll(false);
106
+ tempCollection.forEach(async (ds) => await collection.add(ds));
107
+ }
108
+ sort(collection, dataSource, zIndex) {
109
+ // 1. Layer entfernen
110
+ collection.remove(dataSource, false);
111
+ // 2. Layer an der richtigen Position wieder hinzufügen
112
+ // Cesium hat keine direkte "setZIndex"-Methode für DataSources,
113
+ // also müssen wir die Reihenfolge manuell steuern.
114
+ // Da DataSourceCollection keine Z-Index-Unterstützung hat,
115
+ // müssen wir alle Layer neu sortieren.
116
+ // const dataSources: DataSource[] = [];
117
+ const tempDataSources = [];
118
+ // Alle Layer sammeln
119
+ for (let i = 0; i < collection.length; i++) {
120
+ tempDataSources.push(collection.get(i));
121
+ }
122
+ // Sortieren nach zIndex (falls vorhanden) oder Reihenfolge
123
+ tempDataSources.sort((a, b) => {
124
+ const aZIndex = a.zIndex || 0;
125
+ const bZIndex = b.zIndex || 0;
126
+ return aZIndex - bZIndex;
127
+ });
128
+ // Den Layer mit dem neuen zIndex einfügen
129
+ dataSource.zIndex = zIndex;
130
+ tempDataSources.push(dataSource);
131
+ // Neu sortieren
132
+ tempDataSources.sort((a, b) => {
133
+ const aZIndex = a.zIndex || 0;
134
+ const bZIndex = b.zIndex || 0;
135
+ return aZIndex - bZIndex;
136
+ });
137
+ return tempDataSources;
138
+ }
139
+ // /**
140
+ // * Verschiebt ein bereits vorhandenes ImageryLayer innerhalb seiner Collection
141
+ // * zu einem gewünschten zIndex und hält die Collection nach zIndex sortiert.
142
+ // *
143
+ // * @param collection Die Sammlung, in der sich das Layer befindet.
144
+ // * @param layer Das zu verschiebende Layer (ist bereits Teil der Collection).
145
+ // * @param targetZ Der gewünschte neue zIndex.
146
+ // */
147
+ // private moveImageryLayerToZIndex(
148
+ // collection: ImageryLayerCollection,
149
+ // layer: ImageryLayer,
150
+ // targetZ: number,
151
+ // ): void {
152
+ // // fire-and-forget; Thread-Sicherheit via Mutex
153
+ // void this.imageryZMutex.runExclusive(async () => {
154
+ // // -------------------------------------------------
155
+ // // 1️⃣ Neues zIndex setzen (überschreibt das alte)
156
+ // // -------------------------------------------------
157
+ // (layer as any).zIndex = targetZ;
158
+ // // -------------------------------------------------
159
+ // // 2️⃣ Aktuelle Position bestimmen
160
+ // // -------------------------------------------------
161
+ // const curIdx = collection.indexOf(layer);
162
+ // if (curIdx === -1) {
163
+ // throw new Error('Der übergebene Layer ist nicht Teil der Collection.');
164
+ // }
165
+ // // -------------------------------------------------
166
+ // // 3️⃣ Nach oben schieben, solange Vorgänger einen
167
+ // // größeren zIndex hat (stabile Sortierung)
168
+ // // -------------------------------------------------
169
+ // let idx = curIdx;
170
+ // while (
171
+ // idx > 0 && // nicht am Anfang
172
+ // collection[idx - 1].zIndex > targetZ // Vorgänger hat höheren zIndex
173
+ // ) {
174
+ // // `raise` vertauscht das aktuelle Element mit seinem Vorgänger
175
+ // collection.raise(collection[idx]);
176
+ // idx--;
177
+ // }
178
+ // // -------------------------------------------------
179
+ // // 4️⃣ Nach unten schieben, falls das neue zIndex
180
+ // // größer ist als das der nachfolgenden Elemente
181
+ // // -------------------------------------------------
182
+ // while (
183
+ // idx < collection.length - 1 && // nicht am Ende
184
+ // collection[idx + 1].zIndex < targetZ // Nachfolger hat kleineren zIndex
185
+ // ) {
186
+ // // `lower` vertauscht das aktuelle Element mit seinem Nachfolger
187
+ // collection.lower(collection[idx]);
188
+ // idx++;
189
+ // }
190
+ // });
191
+ // // -------------------------------------------------
192
+ // // 5️⃣ Optional: Guard‑Clause für extreme Werte
193
+ // // -------------------------------------------------
194
+ // // (Falls du Min/Max‑Grenzen definieren willst)
195
+ // // if (targetZ < MIN_Z) (layer as any).zIndex = MIN_Z;
196
+ // // if (targetZ > MAX_Z) (layer as any).zIndex = MAX_Z;
197
+ // }
198
+ // private moveTilesetToIndex(tileset: Cesium3DTileset, index: number): void {
199
+ // const primitives = this.viewer.scene.primitives;
200
+ // primitives.remove(tileset);
201
+ // if (index >= primitives.length) {
202
+ // primitives.add(tileset);
203
+ // } else {
204
+ // const tilesets = [];
205
+ // for (let i = 0; i < primitives.length; i++) {
206
+ // const current = primitives.get(i);
207
+ // if (i === index) tilesets.push(tileset);
208
+ // if (current !== tileset) tilesets.push(current);
209
+ // }
210
+ // primitives.removeAll();
211
+ // tilesets.forEach(t => primitives.add(t));
212
+ // }
213
+ // }
214
+ // private moveDataSourceToIndex(
215
+ // collection: DataSourceCollection,
216
+ // dataSource: DataSource,
217
+ // zIndex: number,
218
+ // ): void {
219
+ // // 1. Layer entfernen
220
+ // collection.remove(dataSource);
221
+ // // 2. Layer an der richtigen Position wieder hinzufügen
222
+ // // Cesium hat keine direkte "setZIndex"-Methode für DataSources,
223
+ // // also müssen wir die Reihenfolge manuell steuern.
224
+ // // Da DataSourceCollection keine Z-Index-Unterstützung hat,
225
+ // // müssen wir alle Layer neu sortieren.
226
+ // // const dataSources: DataSource[] = [];
227
+ // const tempDataSources: DataSource[] = [];
228
+ // // Alle Layer sammeln
229
+ // for (let i = 0; i < collection.length; i++) {
230
+ // tempDataSources.push(collection.get(i));
231
+ // }
232
+ // // Sortieren nach zIndex (falls vorhanden) oder Reihenfolge
233
+ // tempDataSources.sort((a, b) => {
234
+ // const aZIndex = (a as any).zIndex || 0;
235
+ // const bZIndex = (b as any).zIndex || 0;
236
+ // return aZIndex - bZIndex;
237
+ // });
238
+ // // Den Layer mit dem neuen zIndex einfügen
239
+ // (dataSource as any).zIndex = zIndex;
240
+ // tempDataSources.push(dataSource);
241
+ // // Neu sortieren
242
+ // tempDataSources.sort((a, b) => {
243
+ // const aZIndex = (a as any).zIndex || 0;
244
+ // const bZIndex = (b as any).zIndex || 0;
245
+ // return aZIndex - bZIndex;
246
+ // });
247
+ // // Collection leeren und neu befüllen
248
+ // collection.removeAll();
249
+ // tempDataSources.forEach(ds => collection.add(ds));
250
+ // }
251
+ wrapImageryLayer(layer) {
252
+ const collection = this.viewer.imageryLayers;
253
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
254
+ let iLOptions = {};
255
+ return {
256
+ getOptions: () => {
257
+ return iLOptions;
258
+ },
259
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
260
+ setOptions(options) {
261
+ iLOptions = options;
262
+ },
263
+ getVisible: () => {
264
+ return layer.show;
265
+ },
266
+ setVisible: (value) => {
267
+ layer.show = value;
268
+ },
269
+ getOpacity: () => layer.alpha,
270
+ setOpacity: (value) => {
271
+ layer.alpha = value;
272
+ },
273
+ getZIndex: () => {
274
+ for (let i = 0; i < collection.length; i++) {
275
+ if (collection.get(i) === layer)
276
+ return i;
277
+ }
278
+ return -1;
279
+ },
280
+ setZIndex: async (zIndex) => {
281
+ if (zIndex !== undefined) {
282
+ await this.sortImageryLayers(collection, layer, zIndex);
283
+ }
284
+ },
285
+ remove: () => collection.remove(layer),
286
+ };
287
+ }
288
+ wrapTilesetLayer(layer) {
289
+ const collection = this.viewer.scene.primitives;
290
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
291
+ let c3dTSOptions = {};
292
+ return {
293
+ getOptions: () => {
294
+ return c3dTSOptions;
295
+ },
296
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
297
+ setOptions(options) {
298
+ c3dTSOptions = options;
299
+ },
300
+ getVisible: () => {
301
+ return layer.show;
302
+ },
303
+ setVisible: (value) => {
304
+ layer.show = value;
305
+ },
306
+ getOpacity: () => {
307
+ const style = layer.style;
308
+ if (style.color && typeof style.color === 'string') {
309
+ const colorStr = style.color;
310
+ const match = colorStr.match(/color\(.*?,([\d.]+)\)/);
311
+ return match ? parseFloat(match[1]) : 1.0;
312
+ }
313
+ return 1.0;
314
+ },
315
+ setOpacity: (value) => {
316
+ const currentColor = layer.style.color;
317
+ let colorExpr;
318
+ if (typeof currentColor === 'string') {
319
+ const colorStr = currentColor;
320
+ const colorPart = colorStr.replace(/color\((.*?),[\d.]+\)/, `color($1, ${value})`);
321
+ colorExpr = colorPart.includes('color')
322
+ ? colorPart
323
+ : `color('white', ${value})`;
324
+ }
325
+ else {
326
+ colorExpr = `color('white', ${value})`;
327
+ }
328
+ layer.style = new this.Cesium.Cesium3DTileStyle({
329
+ color: colorExpr,
330
+ colorBlendMode: this.Cesium.ColorBlendMode.MIX,
331
+ });
332
+ },
333
+ getZIndex: () => {
334
+ const primitives = this.viewer.scene.primitives;
335
+ for (let i = 0; i < primitives.length; i++) {
336
+ if (primitives.get(i) === layer)
337
+ return i;
338
+ }
339
+ return -1;
340
+ },
341
+ setZIndex: async (zIndex) => {
342
+ if (zIndex !== undefined) {
343
+ this.sort3DTileSets(collection, layer, zIndex);
344
+ //this.moveTilesetToIndex(layer, zIndex);
345
+ }
346
+ },
347
+ setColor: (color, opacity = 1.0) => {
348
+ const cssColor = color instanceof this.Cesium.Color
349
+ ? color.toCssHexString()
350
+ : color.replace(/[#\s]/g, '');
351
+ layer.style = new this.Cesium.Cesium3DTileStyle({
352
+ color: `color('${cssColor}', ${opacity})`,
353
+ colorBlendMode: this.Cesium.ColorBlendMode.MIX,
354
+ });
355
+ },
356
+ setStyle: (style) => {
357
+ layer.style =
358
+ style instanceof this.Cesium.Cesium3DTileStyle
359
+ ? style
360
+ : new this.Cesium.Cesium3DTileStyle(style);
361
+ },
362
+ remove: () => this.viewer.scene.primitives.remove(layer),
363
+ };
364
+ }
365
+ wrapDataSourceLayer(layer) {
366
+ const collection = this.viewer.dataSources;
367
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
368
+ let dsOptions = {};
369
+ return {
370
+ getOptions: () => {
371
+ return dsOptions;
372
+ },
373
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches ILayer interface contract
374
+ setOptions(options) {
375
+ dsOptions = options;
376
+ },
377
+ getVisible: () => {
378
+ return layer.show;
379
+ },
380
+ setVisible: (value) => {
381
+ layer.show = value;
382
+ },
383
+ getOpacity: () => 1.0, //todo
384
+ setOpacity: (value) => {
385
+ if (layer.__vmapLockOpacity)
386
+ return;
387
+ layer.entities.values.forEach((entity) => {
388
+ // Helper-Funktion zum Setzen der Opacity
389
+ const setColorOpacity = (colorProperty, defaultColor) => {
390
+ const { Color: CesiumColor, JulianDate } = this.Cesium;
391
+ const applyAlpha = (color) => CesiumColor.fromAlpha(color ?? defaultColor, value, new CesiumColor());
392
+ if (!colorProperty) {
393
+ return new this.Cesium.ConstantProperty(applyAlpha(defaultColor));
394
+ }
395
+ const maybeProperty = colorProperty;
396
+ if (maybeProperty && typeof maybeProperty.getValue === 'function') {
397
+ const currentColor = maybeProperty.getValue(this.viewer?.clock?.currentTime ?? new JulianDate(), new CesiumColor());
398
+ const nextColor = applyAlpha(currentColor);
399
+ if (typeof maybeProperty.setValue === 'function') {
400
+ maybeProperty.setValue(nextColor);
401
+ return maybeProperty;
402
+ }
403
+ return new this.Cesium.ConstantProperty(nextColor);
404
+ }
405
+ if (colorProperty instanceof this.Cesium.Color) {
406
+ return new this.Cesium.ConstantProperty(applyAlpha(colorProperty));
407
+ }
408
+ return new this.Cesium.ConstantProperty(applyAlpha(defaultColor));
409
+ };
410
+ // Polygone
411
+ if (entity.polygon) {
412
+ const material = entity.polygon.material;
413
+ if (material instanceof Cesium.ColorMaterialProperty) {
414
+ const color = material.color;
415
+ material.color = setColorOpacity(color, Cesium.Color.WHITE);
416
+ }
417
+ else if (material instanceof Cesium.ImageMaterialProperty) {
418
+ material.color = setColorOpacity(material.color, Cesium.Color.WHITE);
419
+ }
420
+ }
421
+ // Polylinien
422
+ if (entity.polyline) {
423
+ const material = entity.polyline.material;
424
+ if (material instanceof Cesium.ColorMaterialProperty) {
425
+ material.color = setColorOpacity(material.color, Cesium.Color.WHITE);
426
+ }
427
+ else if (material instanceof Cesium.PolylineOutlineMaterialProperty) {
428
+ material.color = setColorOpacity(material.color, Cesium.Color.WHITE);
429
+ }
430
+ }
431
+ // Punkte
432
+ if (entity.point) {
433
+ entity.point.color = setColorOpacity(entity.point.color, Cesium.Color.WHITE);
434
+ }
435
+ // Billboards
436
+ if (entity.billboard) {
437
+ entity.billboard.color = setColorOpacity(entity.billboard.color, Cesium.Color.WHITE);
438
+ }
439
+ // Labels
440
+ if (entity.label) {
441
+ entity.label.fillColor = setColorOpacity(entity.label.fillColor, Cesium.Color.BLACK);
442
+ if (entity.label.outlineColor) {
443
+ entity.label.outlineColor = setColorOpacity(entity.label.outlineColor, Cesium.Color.BLACK);
444
+ }
445
+ }
446
+ // 3D-Modelle (falls vorhanden)
447
+ if (entity.model) {
448
+ entity.model.color = setColorOpacity(entity.model.color, Cesium.Color.WHITE);
449
+ }
450
+ });
451
+ },
452
+ getZIndex: () => {
453
+ for (let i = 0; i < collection.length; i++) {
454
+ if (collection.get(i) === layer)
455
+ return i;
456
+ }
457
+ return -1;
458
+ },
459
+ setZIndex: async (zIndex) => {
460
+ if (zIndex !== undefined) {
461
+ await this.sortDataSources(collection, layer, zIndex);
462
+ }
463
+ },
464
+ remove: () => collection.remove(layer),
465
+ };
466
+ }
467
+ }