@vcmap/core 5.0.0-rc.8 → 5.0.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 (887) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +107 -33
  3. package/build/postinstall.js +65 -18
  4. package/dist/index.d.ts +176 -0
  5. package/dist/index.js +177 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/category/category.d.ts +85 -0
  8. package/dist/src/category/category.js +287 -0
  9. package/dist/src/category/category.js.map +1 -0
  10. package/dist/src/category/categoryCollection.d.ts +35 -0
  11. package/dist/src/category/categoryCollection.js +110 -0
  12. package/dist/src/category/categoryCollection.js.map +1 -0
  13. package/dist/src/cesium/cesium3DTileFeature.d.ts +1 -0
  14. package/dist/src/cesium/cesium3DTileFeature.js +6 -0
  15. package/dist/src/cesium/cesium3DTileFeature.js.map +1 -0
  16. package/dist/src/cesium/cesium3DTilePointFeature.d.ts +1 -0
  17. package/dist/src/cesium/cesium3DTilePointFeature.js +6 -0
  18. package/dist/src/cesium/cesium3DTilePointFeature.js.map +1 -0
  19. package/dist/src/cesium/cesiumVcsCameraPrimitive.d.ts +21 -0
  20. package/dist/src/cesium/cesiumVcsCameraPrimitive.js +128 -0
  21. package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -0
  22. package/dist/src/cesium/entity.d.ts +1 -0
  23. package/dist/src/cesium/entity.js +18 -0
  24. package/dist/src/cesium/entity.js.map +1 -0
  25. package/dist/src/cesium/wallpaperMaterial.d.ts +1 -0
  26. package/dist/src/cesium/wallpaperMaterial.js +61 -0
  27. package/dist/src/cesium/wallpaperMaterial.js.map +1 -0
  28. package/dist/src/classRegistry.d.ts +40 -0
  29. package/dist/src/classRegistry.js +89 -0
  30. package/dist/src/classRegistry.js.map +1 -0
  31. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +76 -0
  32. package/dist/src/featureProvider/abstractFeatureProvider.js +133 -0
  33. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -0
  34. package/dist/src/featureProvider/featureProviderSymbols.d.ts +4 -0
  35. package/dist/src/featureProvider/featureProviderSymbols.js +6 -0
  36. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -0
  37. package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +19 -0
  38. package/dist/src/featureProvider/tileProviderFeatureProvider.js +30 -0
  39. package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -0
  40. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +91 -0
  41. package/dist/src/featureProvider/wmsFeatureProvider.js +214 -0
  42. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -0
  43. package/dist/src/interaction/abstractInteraction.d.ts +117 -0
  44. package/dist/src/interaction/abstractInteraction.js +102 -0
  45. package/dist/src/interaction/abstractInteraction.js.map +1 -0
  46. package/dist/src/interaction/coordinateAtPixel.d.ts +13 -0
  47. package/dist/src/interaction/coordinateAtPixel.js +75 -0
  48. package/dist/src/interaction/coordinateAtPixel.js.map +1 -0
  49. package/dist/src/interaction/eventHandler.d.ts +86 -0
  50. package/dist/src/interaction/eventHandler.js +325 -0
  51. package/dist/src/interaction/eventHandler.js.map +1 -0
  52. package/dist/src/interaction/featureAtPixelInteraction.d.ts +39 -0
  53. package/dist/src/interaction/featureAtPixelInteraction.js +203 -0
  54. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -0
  55. package/dist/src/interaction/featureProviderInteraction.d.ts +9 -0
  56. package/dist/src/interaction/featureProviderInteraction.js +34 -0
  57. package/dist/src/interaction/featureProviderInteraction.js.map +1 -0
  58. package/dist/src/interaction/interactionChain.d.ts +32 -0
  59. package/dist/src/interaction/interactionChain.js +83 -0
  60. package/dist/src/interaction/interactionChain.js.map +1 -0
  61. package/dist/src/interaction/interactionType.d.ts +42 -0
  62. package/dist/src/interaction/interactionType.js +47 -0
  63. package/dist/src/interaction/interactionType.js.map +1 -0
  64. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +45 -0
  65. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +295 -0
  66. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -0
  67. package/dist/src/layer/cesium/clusterContext.d.ts +24 -0
  68. package/dist/src/layer/cesium/clusterContext.js +61 -0
  69. package/dist/src/layer/cesium/clusterContext.js.map +1 -0
  70. package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +18 -0
  71. package/dist/src/layer/cesium/dataSourceCesiumImpl.js +115 -0
  72. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -0
  73. package/dist/src/layer/cesium/openStreetMapCesiumImpl.d.ts +10 -0
  74. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js +18 -0
  75. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js.map +1 -0
  76. package/dist/src/layer/cesium/rasterLayerCesiumImpl.d.ts +24 -0
  77. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js +73 -0
  78. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -0
  79. package/dist/src/layer/cesium/singleImageCesiumImpl.d.ts +14 -0
  80. package/dist/src/layer/cesium/singleImageCesiumImpl.js +35 -0
  81. package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -0
  82. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +19 -0
  83. package/dist/src/layer/cesium/terrainCesiumImpl.js +47 -0
  84. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -0
  85. package/dist/src/layer/cesium/tmsCesiumImpl.d.ts +14 -0
  86. package/dist/src/layer/cesium/tmsCesiumImpl.js +42 -0
  87. package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -0
  88. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +62 -0
  89. package/dist/src/layer/cesium/vectorCesiumImpl.js +190 -0
  90. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -0
  91. package/dist/src/layer/cesium/vectorContext.d.ts +90 -0
  92. package/dist/src/layer/cesium/vectorContext.js +281 -0
  93. package/dist/src/layer/cesium/vectorContext.js.map +1 -0
  94. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +31 -0
  95. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +77 -0
  96. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -0
  97. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +57 -0
  98. package/dist/src/layer/cesium/vectorTileImageryProvider.js +130 -0
  99. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -0
  100. package/dist/src/layer/cesium/wmsCesiumImpl.d.ts +17 -0
  101. package/dist/src/layer/cesium/wmsCesiumImpl.js +53 -0
  102. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -0
  103. package/dist/src/layer/cesium/wmtsCesiumImpl.d.ts +22 -0
  104. package/dist/src/layer/cesium/wmtsCesiumImpl.js +64 -0
  105. package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -0
  106. package/dist/src/layer/cesiumTilesetLayer.d.ts +82 -0
  107. package/dist/src/layer/cesiumTilesetLayer.js +176 -0
  108. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -0
  109. package/dist/src/layer/czmlLayer.d.ts +34 -0
  110. package/dist/src/layer/czmlLayer.js +115 -0
  111. package/dist/src/layer/czmlLayer.js.map +1 -0
  112. package/dist/src/layer/dataSourceLayer.d.ts +54 -0
  113. package/dist/src/layer/dataSourceLayer.js +132 -0
  114. package/dist/src/layer/dataSourceLayer.js.map +1 -0
  115. package/dist/src/layer/featureLayer.d.ts +85 -0
  116. package/dist/src/layer/featureLayer.js +155 -0
  117. package/dist/src/layer/featureLayer.js.map +1 -0
  118. package/dist/src/layer/featureStoreLayer.d.ts +123 -0
  119. package/dist/src/layer/featureStoreLayer.js +470 -0
  120. package/dist/src/layer/featureStoreLayer.js.map +1 -0
  121. package/dist/src/layer/featureStoreLayerChanges.d.ts +88 -0
  122. package/dist/src/layer/featureStoreLayerChanges.js +288 -0
  123. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -0
  124. package/dist/src/layer/featureStoreLayerState.d.ts +9 -0
  125. package/dist/src/layer/featureStoreLayerState.js +11 -0
  126. package/dist/src/layer/featureStoreLayerState.js.map +1 -0
  127. package/dist/src/layer/featureVisibility.d.ts +108 -0
  128. package/dist/src/layer/featureVisibility.js +335 -0
  129. package/dist/src/layer/featureVisibility.js.map +1 -0
  130. package/dist/src/layer/geojsonHelpers.d.ts +72 -0
  131. package/dist/src/layer/geojsonHelpers.js +339 -0
  132. package/dist/src/layer/geojsonHelpers.js.map +1 -0
  133. package/dist/src/layer/geojsonLayer.d.ts +29 -0
  134. package/dist/src/layer/geojsonLayer.js +121 -0
  135. package/dist/src/layer/geojsonLayer.js.map +1 -0
  136. package/dist/src/layer/globalHider.d.ts +31 -0
  137. package/dist/src/layer/globalHider.js +93 -0
  138. package/dist/src/layer/globalHider.js.map +1 -0
  139. package/dist/src/layer/layer.d.ts +227 -0
  140. package/dist/src/layer/layer.js +494 -0
  141. package/dist/src/layer/layer.js.map +1 -0
  142. package/dist/src/layer/layerImplementation.d.ts +41 -0
  143. package/dist/src/layer/layerImplementation.js +75 -0
  144. package/dist/src/layer/layerImplementation.js.map +1 -0
  145. package/dist/src/layer/layerState.d.ts +10 -0
  146. package/dist/src/layer/layerState.js +12 -0
  147. package/dist/src/layer/layerState.js.map +1 -0
  148. package/dist/src/layer/layerSymbols.d.ts +4 -0
  149. package/dist/src/layer/layerSymbols.js +6 -0
  150. package/dist/src/layer/layerSymbols.js.map +1 -0
  151. package/dist/src/layer/oblique/layerObliqueImpl.d.ts +15 -0
  152. package/dist/src/layer/oblique/layerObliqueImpl.js +41 -0
  153. package/dist/src/layer/oblique/layerObliqueImpl.js.map +1 -0
  154. package/dist/src/layer/oblique/obliqueHelpers.d.ts +40 -0
  155. package/dist/src/layer/oblique/obliqueHelpers.js +140 -0
  156. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -0
  157. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +70 -0
  158. package/dist/src/layer/oblique/vectorObliqueImpl.js +344 -0
  159. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -0
  160. package/dist/src/layer/openStreetMapLayer.d.ts +54 -0
  161. package/dist/src/layer/openStreetMapLayer.js +126 -0
  162. package/dist/src/layer/openStreetMapLayer.js.map +1 -0
  163. package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +31 -0
  164. package/dist/src/layer/openlayers/layerOpenlayersImpl.js +96 -0
  165. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -0
  166. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.d.ts +11 -0
  167. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js +21 -0
  168. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js.map +1 -0
  169. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.d.ts +15 -0
  170. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js +27 -0
  171. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -0
  172. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.d.ts +18 -0
  173. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +38 -0
  174. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -0
  175. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +15 -0
  176. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +23 -0
  177. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -0
  178. package/dist/src/layer/openlayers/tmsOpenlayersImpl.d.ts +21 -0
  179. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +55 -0
  180. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -0
  181. package/dist/src/layer/openlayers/vectorOpenlayersImpl.d.ts +31 -0
  182. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +81 -0
  183. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -0
  184. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +37 -0
  185. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +131 -0
  186. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -0
  187. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +18 -0
  188. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +38 -0
  189. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -0
  190. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.d.ts +24 -0
  191. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +99 -0
  192. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -0
  193. package/dist/src/layer/pointCloudLayer.d.ts +46 -0
  194. package/dist/src/layer/pointCloudLayer.js +93 -0
  195. package/dist/src/layer/pointCloudLayer.js.map +1 -0
  196. package/dist/src/layer/rasterLayer.d.ts +95 -0
  197. package/dist/src/layer/rasterLayer.js +197 -0
  198. package/dist/src/layer/rasterLayer.js.map +1 -0
  199. package/dist/src/layer/singleImageLayer.d.ts +30 -0
  200. package/dist/src/layer/singleImageLayer.js +79 -0
  201. package/dist/src/layer/singleImageLayer.js.map +1 -0
  202. package/dist/src/layer/terrainHelpers.d.ts +27 -0
  203. package/dist/src/layer/terrainHelpers.js +59 -0
  204. package/dist/src/layer/terrainHelpers.js.map +1 -0
  205. package/dist/src/layer/terrainLayer.d.ts +32 -0
  206. package/dist/src/layer/terrainLayer.js +68 -0
  207. package/dist/src/layer/terrainLayer.js.map +1 -0
  208. package/dist/src/layer/tileLoadedHelper.d.ts +5 -0
  209. package/dist/src/layer/tileLoadedHelper.js +52 -0
  210. package/dist/src/layer/tileLoadedHelper.js.map +1 -0
  211. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +31 -0
  212. package/dist/src/layer/tileProvider/mvtTileProvider.js +91 -0
  213. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -0
  214. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +17 -0
  215. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +43 -0
  216. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -0
  217. package/dist/src/layer/tileProvider/tileProvider.d.ts +174 -0
  218. package/dist/src/layer/tileProvider/tileProvider.js +444 -0
  219. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -0
  220. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +37 -0
  221. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +89 -0
  222. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -0
  223. package/dist/src/layer/tmsLayer.d.ts +27 -0
  224. package/dist/src/layer/tmsLayer.js +71 -0
  225. package/dist/src/layer/tmsLayer.js.map +1 -0
  226. package/dist/src/layer/vectorHelpers.d.ts +14 -0
  227. package/dist/src/layer/vectorHelpers.js +100 -0
  228. package/dist/src/layer/vectorHelpers.js.map +1 -0
  229. package/dist/src/layer/vectorLayer.d.ts +176 -0
  230. package/dist/src/layer/vectorLayer.js +384 -0
  231. package/dist/src/layer/vectorLayer.js.map +1 -0
  232. package/dist/src/layer/vectorProperties.d.ts +310 -0
  233. package/dist/src/layer/vectorProperties.js +999 -0
  234. package/dist/src/layer/vectorProperties.js.map +1 -0
  235. package/dist/src/layer/vectorSymbols.d.ts +31 -0
  236. package/{src → dist/src}/layer/vectorSymbols.js +7 -15
  237. package/dist/src/layer/vectorSymbols.js.map +1 -0
  238. package/dist/src/layer/vectorTileLayer.d.ts +93 -0
  239. package/dist/src/layer/vectorTileLayer.js +346 -0
  240. package/dist/src/layer/vectorTileLayer.js.map +1 -0
  241. package/dist/src/layer/wfsLayer.d.ts +45 -0
  242. package/dist/src/layer/wfsLayer.js +124 -0
  243. package/dist/src/layer/wfsLayer.js.map +1 -0
  244. package/dist/src/layer/wmsHelpers.d.ts +15 -0
  245. package/dist/src/layer/wmsHelpers.js +54 -0
  246. package/dist/src/layer/wmsHelpers.js.map +1 -0
  247. package/dist/src/layer/wmsLayer.d.ts +75 -0
  248. package/dist/src/layer/wmsLayer.js +206 -0
  249. package/dist/src/layer/wmsLayer.js.map +1 -0
  250. package/dist/src/layer/wmtsLayer.d.ts +51 -0
  251. package/dist/src/layer/wmtsLayer.js +144 -0
  252. package/dist/src/layer/wmtsLayer.js.map +1 -0
  253. package/dist/src/map/baseOLMap.d.ts +34 -0
  254. package/dist/src/map/baseOLMap.js +174 -0
  255. package/dist/src/map/baseOLMap.js.map +1 -0
  256. package/dist/src/map/cameraLimiter.d.ts +71 -0
  257. package/dist/src/map/cameraLimiter.js +136 -0
  258. package/dist/src/map/cameraLimiter.js.map +1 -0
  259. package/dist/src/map/cesiumMap.d.ts +255 -0
  260. package/dist/src/map/cesiumMap.js +956 -0
  261. package/dist/src/map/cesiumMap.js.map +1 -0
  262. package/dist/src/map/mapState.d.ts +10 -0
  263. package/dist/src/map/mapState.js +12 -0
  264. package/dist/src/map/mapState.js.map +1 -0
  265. package/dist/src/map/obliqueMap.d.ts +89 -0
  266. package/dist/src/map/obliqueMap.js +364 -0
  267. package/dist/src/map/obliqueMap.js.map +1 -0
  268. package/dist/src/map/openlayersMap.d.ts +26 -0
  269. package/dist/src/map/openlayersMap.js +169 -0
  270. package/dist/src/map/openlayersMap.js.map +1 -0
  271. package/dist/src/map/vcsMap.d.ts +203 -0
  272. package/dist/src/map/vcsMap.js +389 -0
  273. package/dist/src/map/vcsMap.js.map +1 -0
  274. package/dist/src/moduleIdSymbol.d.ts +1 -0
  275. package/dist/src/moduleIdSymbol.js +3 -0
  276. package/dist/src/moduleIdSymbol.js.map +1 -0
  277. package/dist/src/oblique/defaultObliqueCollection.d.ts +13 -0
  278. package/dist/src/oblique/defaultObliqueCollection.js +43 -0
  279. package/dist/src/oblique/defaultObliqueCollection.js.map +1 -0
  280. package/dist/src/oblique/helpers.d.ts +77 -0
  281. package/dist/src/oblique/helpers.js +404 -0
  282. package/dist/src/oblique/helpers.js.map +1 -0
  283. package/dist/src/oblique/obliqueCollection.d.ts +196 -0
  284. package/dist/src/oblique/obliqueCollection.js +446 -0
  285. package/dist/src/oblique/obliqueCollection.js.map +1 -0
  286. package/dist/src/oblique/obliqueDataSet.d.ts +91 -0
  287. package/dist/src/oblique/obliqueDataSet.js +270 -0
  288. package/dist/src/oblique/obliqueDataSet.js.map +1 -0
  289. package/dist/src/oblique/obliqueImage.d.ts +80 -0
  290. package/dist/src/oblique/obliqueImage.js +164 -0
  291. package/dist/src/oblique/obliqueImage.js.map +1 -0
  292. package/dist/src/oblique/obliqueImageMeta.d.ts +59 -0
  293. package/dist/src/oblique/obliqueImageMeta.js +81 -0
  294. package/dist/src/oblique/obliqueImageMeta.js.map +1 -0
  295. package/dist/src/oblique/obliqueProvider.d.ts +91 -0
  296. package/dist/src/oblique/obliqueProvider.js +337 -0
  297. package/dist/src/oblique/obliqueProvider.js.map +1 -0
  298. package/dist/src/oblique/obliqueView.d.ts +46 -0
  299. package/dist/src/oblique/obliqueView.js +139 -0
  300. package/dist/src/oblique/obliqueView.js.map +1 -0
  301. package/dist/src/oblique/obliqueViewDirection.d.ts +15 -0
  302. package/dist/src/oblique/obliqueViewDirection.js +20 -0
  303. package/dist/src/oblique/obliqueViewDirection.js.map +1 -0
  304. package/dist/src/oblique/parseImageJson.d.ts +17 -0
  305. package/dist/src/oblique/parseImageJson.js +227 -0
  306. package/dist/src/oblique/parseImageJson.js.map +1 -0
  307. package/dist/src/ol/feature.d.ts +1 -0
  308. package/dist/src/ol/feature.js +78 -0
  309. package/dist/src/ol/feature.js.map +1 -0
  310. package/dist/src/ol/geom/circle.d.ts +1 -0
  311. package/{src → dist/src}/ol/geom/circle.js +13 -10
  312. package/dist/src/ol/geom/circle.js.map +1 -0
  313. package/dist/src/ol/geom/geometryCollection.d.ts +1 -0
  314. package/dist/src/ol/geom/geometryCollection.js +31 -0
  315. package/dist/src/ol/geom/geometryCollection.js.map +1 -0
  316. package/dist/src/ol/render/canvas/canvasTileRenderer.d.ts +54 -0
  317. package/dist/src/ol/render/canvas/canvasTileRenderer.js +131 -0
  318. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -0
  319. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +18 -0
  320. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +38 -0
  321. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -0
  322. package/dist/src/ol/source/VcsCluster.d.ts +17 -0
  323. package/dist/src/ol/source/VcsCluster.js +32 -0
  324. package/dist/src/ol/source/VcsCluster.js.map +1 -0
  325. package/dist/src/overrideClassRegistry.d.ts +54 -0
  326. package/dist/src/overrideClassRegistry.js +151 -0
  327. package/dist/src/overrideClassRegistry.js.map +1 -0
  328. package/dist/src/style/arcStyle.d.ts +75 -0
  329. package/dist/src/style/arcStyle.js +256 -0
  330. package/dist/src/style/arcStyle.js.map +1 -0
  331. package/dist/src/style/arrowStyle.d.ts +67 -0
  332. package/dist/src/style/arrowStyle.js +188 -0
  333. package/dist/src/style/arrowStyle.js.map +1 -0
  334. package/dist/src/style/declarativeStyleItem.d.ts +75 -0
  335. package/dist/src/style/declarativeStyleItem.js +419 -0
  336. package/dist/src/style/declarativeStyleItem.js.map +1 -0
  337. package/dist/src/style/shapesCategory.d.ts +13 -0
  338. package/dist/src/style/shapesCategory.js +46 -0
  339. package/dist/src/style/shapesCategory.js.map +1 -0
  340. package/dist/src/style/styleFactory.d.ts +4 -0
  341. package/dist/src/style/styleFactory.js +25 -0
  342. package/dist/src/style/styleFactory.js.map +1 -0
  343. package/dist/src/style/styleHelpers.d.ts +132 -0
  344. package/dist/src/style/styleHelpers.js +552 -0
  345. package/dist/src/style/styleHelpers.js.map +1 -0
  346. package/dist/src/style/styleItem.d.ts +59 -0
  347. package/dist/src/style/styleItem.js +98 -0
  348. package/dist/src/style/styleItem.js.map +1 -0
  349. package/dist/src/style/vectorStyleItem.d.ts +126 -0
  350. package/dist/src/style/vectorStyleItem.js +703 -0
  351. package/dist/src/style/vectorStyleItem.js.map +1 -0
  352. package/dist/src/style/writeStyle.d.ts +6 -0
  353. package/dist/src/style/writeStyle.js +34 -0
  354. package/dist/src/style/writeStyle.js.map +1 -0
  355. package/dist/src/util/clipping/clippingObject.d.ts +100 -0
  356. package/dist/src/util/clipping/clippingObject.js +274 -0
  357. package/dist/src/util/clipping/clippingObject.js.map +1 -0
  358. package/dist/src/util/clipping/clippingObjectManager.d.ts +69 -0
  359. package/dist/src/util/clipping/clippingObjectManager.js +221 -0
  360. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -0
  361. package/dist/src/util/clipping/clippingPlaneHelper.d.ts +66 -0
  362. package/dist/src/util/clipping/clippingPlaneHelper.js +316 -0
  363. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -0
  364. package/dist/src/util/collection.d.ts +76 -0
  365. package/dist/src/util/collection.js +159 -0
  366. package/dist/src/util/collection.js.map +1 -0
  367. package/dist/src/util/editor/createFeatureSession.d.ts +39 -0
  368. package/dist/src/util/editor/createFeatureSession.js +171 -0
  369. package/dist/src/util/editor/createFeatureSession.js.map +1 -0
  370. package/dist/src/util/editor/editFeaturesSession.d.ts +30 -0
  371. package/dist/src/util/editor/editFeaturesSession.js +264 -0
  372. package/dist/src/util/editor/editFeaturesSession.js.map +1 -0
  373. package/dist/src/util/editor/editGeometrySession.d.ts +16 -0
  374. package/dist/src/util/editor/editGeometrySession.js +346 -0
  375. package/dist/src/util/editor/editGeometrySession.js.map +1 -0
  376. package/dist/src/util/editor/editorHelpers.d.ts +55 -0
  377. package/dist/src/util/editor/editorHelpers.js +160 -0
  378. package/dist/src/util/editor/editorHelpers.js.map +1 -0
  379. package/dist/src/util/editor/editorSessionHelpers.d.ts +49 -0
  380. package/dist/src/util/editor/editorSessionHelpers.js +92 -0
  381. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -0
  382. package/dist/src/util/editor/editorSymbols.d.ts +17 -0
  383. package/dist/src/util/editor/editorSymbols.js +18 -0
  384. package/dist/src/util/editor/editorSymbols.js.map +1 -0
  385. package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +27 -0
  386. package/dist/src/util/editor/interactions/createBBoxInteraction.js +107 -0
  387. package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -0
  388. package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +28 -0
  389. package/dist/src/util/editor/interactions/createCircleInteraction.js +77 -0
  390. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -0
  391. package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +28 -0
  392. package/dist/src/util/editor/interactions/createLineStringInteraction.js +79 -0
  393. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -0
  394. package/dist/src/util/editor/interactions/createPointInteraction.d.ts +21 -0
  395. package/dist/src/util/editor/interactions/createPointInteraction.js +47 -0
  396. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -0
  397. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +30 -0
  398. package/dist/src/util/editor/interactions/createPolygonInteraction.js +91 -0
  399. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -0
  400. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +19 -0
  401. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js +61 -0
  402. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -0
  403. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +35 -0
  404. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +89 -0
  405. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -0
  406. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +16 -0
  407. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js +37 -0
  408. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -0
  409. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +23 -0
  410. package/dist/src/util/editor/interactions/insertVertexInteraction.js +61 -0
  411. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -0
  412. package/dist/src/util/editor/interactions/mapInteractionController.d.ts +12 -0
  413. package/dist/src/util/editor/interactions/mapInteractionController.js +84 -0
  414. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -0
  415. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +14 -0
  416. package/dist/src/util/editor/interactions/removeVertexInteraction.js +27 -0
  417. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -0
  418. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +35 -0
  419. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +105 -0
  420. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -0
  421. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +36 -0
  422. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +96 -0
  423. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -0
  424. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +35 -0
  425. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +72 -0
  426. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -0
  427. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +15 -0
  428. package/dist/src/util/editor/interactions/translateVertexInteraction.js +41 -0
  429. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -0
  430. package/dist/src/util/editor/selectFeaturesSession.d.ts +31 -0
  431. package/dist/src/util/editor/selectFeaturesSession.js +228 -0
  432. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -0
  433. package/dist/src/util/editor/transformation/create2DHandlers.d.ts +12 -0
  434. package/dist/src/util/editor/transformation/create2DHandlers.js +295 -0
  435. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -0
  436. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +10 -0
  437. package/dist/src/util/editor/transformation/create3DHandlers.js +488 -0
  438. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -0
  439. package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +20 -0
  440. package/dist/src/util/editor/transformation/extrudeInteraction.js +55 -0
  441. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -0
  442. package/dist/src/util/editor/transformation/rotateInteraction.d.ts +25 -0
  443. package/dist/src/util/editor/transformation/rotateInteraction.js +106 -0
  444. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -0
  445. package/dist/src/util/editor/transformation/scaleInteraction.d.ts +26 -0
  446. package/dist/src/util/editor/transformation/scaleInteraction.js +118 -0
  447. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -0
  448. package/dist/src/util/editor/transformation/transformationHandler.d.ts +18 -0
  449. package/dist/src/util/editor/transformation/transformationHandler.js +133 -0
  450. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -0
  451. package/dist/src/util/editor/transformation/transformationTypes.d.ts +53 -0
  452. package/dist/src/util/editor/transformation/transformationTypes.js +30 -0
  453. package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -0
  454. package/dist/src/util/editor/transformation/translateInteraction.d.ts +29 -0
  455. package/dist/src/util/editor/transformation/translateInteraction.js +151 -0
  456. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -0
  457. package/dist/src/util/editor/validateGeoemetry.d.ts +2 -0
  458. package/dist/src/util/editor/validateGeoemetry.js +24 -0
  459. package/dist/src/util/editor/validateGeoemetry.js.map +1 -0
  460. package/dist/src/util/exclusiveManager.d.ts +39 -0
  461. package/dist/src/util/exclusiveManager.js +103 -0
  462. package/dist/src/util/exclusiveManager.js.map +1 -0
  463. package/dist/src/util/extent.d.ts +33 -0
  464. package/dist/src/util/extent.js +84 -0
  465. package/dist/src/util/extent.js.map +1 -0
  466. package/dist/src/util/featureconverter/arcToCesium.d.ts +22 -0
  467. package/dist/src/util/featureconverter/arcToCesium.js +57 -0
  468. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -0
  469. package/dist/src/util/featureconverter/circleToCesium.d.ts +30 -0
  470. package/dist/src/util/featureconverter/circleToCesium.js +128 -0
  471. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -0
  472. package/dist/src/util/featureconverter/convert.d.ts +16 -0
  473. package/dist/src/util/featureconverter/convert.js +76 -0
  474. package/dist/src/util/featureconverter/convert.js.map +1 -0
  475. package/dist/src/util/featureconverter/extent3D.d.ts +33 -0
  476. package/dist/src/util/featureconverter/extent3D.js +150 -0
  477. package/dist/src/util/featureconverter/extent3D.js.map +1 -0
  478. package/dist/src/util/featureconverter/featureconverterHelper.d.ts +35 -0
  479. package/dist/src/util/featureconverter/featureconverterHelper.js +403 -0
  480. package/dist/src/util/featureconverter/featureconverterHelper.js.map +1 -0
  481. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +41 -0
  482. package/dist/src/util/featureconverter/lineStringToCesium.js +172 -0
  483. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -0
  484. package/dist/src/util/featureconverter/pointHelpers.d.ts +13 -0
  485. package/dist/src/util/featureconverter/pointHelpers.js +254 -0
  486. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -0
  487. package/dist/src/util/featureconverter/pointToCesium.d.ts +36 -0
  488. package/dist/src/util/featureconverter/pointToCesium.js +258 -0
  489. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -0
  490. package/dist/src/util/featureconverter/polygonToCesium.d.ts +33 -0
  491. package/dist/src/util/featureconverter/polygonToCesium.js +161 -0
  492. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -0
  493. package/dist/src/util/fetch.d.ts +3 -0
  494. package/dist/src/util/fetch.js +16 -0
  495. package/dist/src/util/fetch.js.map +1 -0
  496. package/dist/src/util/geometryHelpers.d.ts +14 -0
  497. package/dist/src/util/geometryHelpers.js +132 -0
  498. package/dist/src/util/geometryHelpers.js.map +1 -0
  499. package/dist/src/util/indexedCollection.d.ts +63 -0
  500. package/dist/src/util/indexedCollection.js +137 -0
  501. package/dist/src/util/indexedCollection.js.map +1 -0
  502. package/dist/src/util/isMobile.d.ts +4 -0
  503. package/dist/src/util/isMobile.js +12 -0
  504. package/dist/src/util/isMobile.js.map +1 -0
  505. package/dist/src/util/layerCollection.d.ts +92 -0
  506. package/dist/src/util/layerCollection.js +247 -0
  507. package/dist/src/util/layerCollection.js.map +1 -0
  508. package/dist/src/util/locale.d.ts +4 -0
  509. package/dist/src/util/locale.js +12 -0
  510. package/dist/src/util/locale.js.map +1 -0
  511. package/dist/src/util/mapCollection.d.ts +112 -0
  512. package/dist/src/util/mapCollection.js +312 -0
  513. package/dist/src/util/mapCollection.js.map +1 -0
  514. package/dist/src/util/math.d.ts +45 -0
  515. package/dist/src/util/math.js +136 -0
  516. package/dist/src/util/math.js.map +1 -0
  517. package/dist/src/util/overrideCollection.d.ts +58 -0
  518. package/dist/src/util/overrideCollection.js +176 -0
  519. package/dist/src/util/overrideCollection.js.map +1 -0
  520. package/dist/src/util/projection.d.ts +98 -0
  521. package/dist/src/util/projection.js +207 -0
  522. package/dist/src/util/projection.js.map +1 -0
  523. package/dist/src/util/urlHelpers.d.ts +1 -0
  524. package/dist/src/util/urlHelpers.js +12 -0
  525. package/dist/src/util/urlHelpers.js.map +1 -0
  526. package/dist/src/util/viewpoint.d.ts +155 -0
  527. package/dist/src/util/viewpoint.js +263 -0
  528. package/dist/src/util/viewpoint.js.map +1 -0
  529. package/dist/src/vcsApp.d.ts +113 -0
  530. package/dist/src/vcsApp.js +344 -0
  531. package/dist/src/vcsApp.js.map +1 -0
  532. package/dist/src/vcsEvent.d.ts +32 -0
  533. package/dist/src/vcsEvent.js +60 -0
  534. package/dist/src/vcsEvent.js.map +1 -0
  535. package/dist/src/vcsModule.d.ts +67 -0
  536. package/dist/src/vcsModule.js +86 -0
  537. package/dist/src/vcsModule.js.map +1 -0
  538. package/dist/src/vcsModuleHelpers.d.ts +23 -0
  539. package/dist/src/vcsModuleHelpers.js +72 -0
  540. package/dist/src/vcsModuleHelpers.js.map +1 -0
  541. package/dist/src/vcsObject.d.ts +35 -0
  542. package/dist/src/vcsObject.js +45 -0
  543. package/dist/src/vcsObject.js.map +1 -0
  544. package/dist/tests/data/dynamicPointCzml.json +53 -0
  545. package/dist/tests/data/oblique/imageData/imagev34.json +136 -0
  546. package/dist/tests/data/oblique/imageData/imagev35.json +307 -0
  547. package/dist/tests/data/oblique/imageData/imagev35PerImageSize.json +333 -0
  548. package/dist/tests/data/oblique/tiledImageData/12/2199/1342.json +11056 -0
  549. package/dist/tests/data/oblique/tiledImageData/12/2199/1343.json +11236 -0
  550. package/dist/tests/data/oblique/tiledImageData/12/2199/1344.json +11077 -0
  551. package/dist/tests/data/oblique/tiledImageData/12/2200/1342.json +11036 -0
  552. package/dist/tests/data/oblique/tiledImageData/12/2200/1343.json +11277 -0
  553. package/dist/tests/data/oblique/tiledImageData/12/2200/1344.json +11131 -0
  554. package/dist/tests/data/oblique/tiledImageData/12/2201/1342.json +10870 -0
  555. package/dist/tests/data/oblique/tiledImageData/12/2201/1343.json +11492 -0
  556. package/dist/tests/data/oblique/tiledImageData/12/2201/1344.json +10909 -0
  557. package/dist/tests/data/oblique/tiledImageData/image.json +70 -0
  558. package/dist/tests/data/terrain/13/8800/6485.terrain +0 -0
  559. package/dist/tests/data/terrain/13/8800/6486.terrain +0 -0
  560. package/dist/tests/data/terrain/13/8801/6485.terrain +0 -0
  561. package/dist/tests/data/terrain/13/8801/6486.terrain +0 -0
  562. package/dist/tests/data/terrain/layer.json +127 -0
  563. package/dist/tests/data/testGeoJSON.json +149 -0
  564. package/dist/tests/data/tile.pbf +0 -0
  565. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +108 -0
  566. package/dist/tests/unit/helpers/cesiumHelpers.js +277 -0
  567. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -0
  568. package/dist/tests/unit/helpers/getFileNameFromUrl.d.ts +6 -0
  569. package/dist/tests/unit/helpers/getFileNameFromUrl.js +12 -0
  570. package/dist/tests/unit/helpers/getFileNameFromUrl.js.map +1 -0
  571. package/dist/tests/unit/helpers/helpers.d.ts +12 -0
  572. package/dist/tests/unit/helpers/helpers.js +23 -0
  573. package/dist/tests/unit/helpers/helpers.js.map +1 -0
  574. package/dist/tests/unit/helpers/imageHelpers.d.ts +20 -0
  575. package/dist/tests/unit/helpers/imageHelpers.js +21 -0
  576. package/dist/tests/unit/helpers/imageHelpers.js.map +1 -0
  577. package/dist/tests/unit/helpers/importJSON.d.ts +5 -0
  578. package/dist/tests/unit/helpers/importJSON.js +15 -0
  579. package/dist/tests/unit/helpers/importJSON.js.map +1 -0
  580. package/dist/tests/unit/helpers/obliqueData.d.ts +21 -0
  581. package/dist/tests/unit/helpers/obliqueData.js +76 -0
  582. package/dist/tests/unit/helpers/obliqueData.js.map +1 -0
  583. package/dist/tests/unit/helpers/obliqueHelpers.d.ts +33 -0
  584. package/dist/tests/unit/helpers/obliqueHelpers.js +97 -0
  585. package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -0
  586. package/dist/tests/unit/helpers/openlayersHelpers.d.ts +11 -0
  587. package/dist/tests/unit/helpers/openlayersHelpers.js +24 -0
  588. package/dist/tests/unit/helpers/openlayersHelpers.js.map +1 -0
  589. package/dist/tests/unit/helpers/terrain/terrainData.d.ts +10 -0
  590. package/dist/tests/unit/helpers/terrain/terrainData.js +40 -0
  591. package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -0
  592. package/index.ts +724 -0
  593. package/package.json +70 -36
  594. package/src/category/category.ts +414 -0
  595. package/src/category/categoryCollection.ts +142 -0
  596. package/src/cesium/cesium.d.ts +257 -0
  597. package/src/cesium/cesium3DTileFeature.ts +10 -0
  598. package/src/cesium/cesium3DTilePointFeature.ts +10 -0
  599. package/src/cesium/{cesiumVcsCameraPrimitive.js → cesiumVcsCameraPrimitive.ts} +58 -29
  600. package/src/cesium/entity.ts +26 -0
  601. package/src/cesium/wallpaperMaterial.js +5 -4
  602. package/src/classRegistry.ts +147 -0
  603. package/src/featureProvider/abstractFeatureProvider.ts +191 -0
  604. package/src/featureProvider/featureProviderSymbols.ts +5 -0
  605. package/src/featureProvider/tileProviderFeatureProvider.ts +55 -0
  606. package/src/featureProvider/wmsFeatureProvider.ts +330 -0
  607. package/src/global.d.ts +12 -0
  608. package/src/interaction/abstractInteraction.ts +192 -0
  609. package/src/interaction/coordinateAtPixel.ts +105 -0
  610. package/src/interaction/eventHandler.ts +434 -0
  611. package/src/interaction/featureAtPixelInteraction.ts +306 -0
  612. package/src/interaction/featureProviderInteraction.ts +60 -0
  613. package/src/interaction/{interactionChain.js → interactionChain.ts} +40 -42
  614. package/src/interaction/interactionType.ts +45 -0
  615. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +395 -0
  616. package/src/layer/cesium/clusterContext.ts +136 -0
  617. package/src/layer/cesium/{dataSourceCesiumImpl.js → dataSourceCesiumImpl.ts} +49 -67
  618. package/src/layer/cesium/openStreetMapCesiumImpl.ts +28 -0
  619. package/src/layer/cesium/rasterLayerCesiumImpl.ts +100 -0
  620. package/src/layer/cesium/singleImageCesiumImpl.ts +55 -0
  621. package/src/layer/cesium/terrainCesiumImpl.ts +63 -0
  622. package/src/layer/cesium/{tmsCesiumImpl.js → tmsCesiumImpl.ts} +28 -19
  623. package/src/layer/cesium/vectorCesiumImpl.ts +261 -0
  624. package/src/layer/cesium/vectorContext.ts +528 -0
  625. package/src/layer/cesium/{vectorRasterTileCesiumImpl.js → vectorRasterTileCesiumImpl.ts} +48 -55
  626. package/src/layer/cesium/vectorTileImageryProvider.ts +222 -0
  627. package/src/layer/cesium/{wmsCesiumImpl.js → wmsCesiumImpl.ts} +33 -27
  628. package/src/layer/cesium/{wmtsCesiumImpl.js → wmtsCesiumImpl.ts} +45 -52
  629. package/src/layer/cesiumTilesetLayer.ts +267 -0
  630. package/src/layer/czmlLayer.ts +144 -0
  631. package/src/layer/dataSourceLayer.ts +167 -0
  632. package/src/layer/featureLayer.ts +225 -0
  633. package/src/layer/featureStoreLayer.ts +628 -0
  634. package/src/layer/featureStoreLayerChanges.ts +392 -0
  635. package/src/layer/featureStoreLayerState.ts +10 -0
  636. package/src/layer/featureVisibility.ts +417 -0
  637. package/src/layer/geojsonHelpers.ts +489 -0
  638. package/src/layer/{geojsonLayer.js → geojsonLayer.ts} +41 -73
  639. package/src/layer/globalHider.ts +114 -0
  640. package/src/layer/layer.ts +688 -0
  641. package/src/layer/{layerImplementation.js → layerImplementation.ts} +38 -49
  642. package/src/layer/layerState.ts +11 -0
  643. package/src/layer/layerSymbols.ts +5 -0
  644. package/src/layer/oblique/layerObliqueImpl.ts +49 -0
  645. package/src/layer/oblique/obliqueHelpers.ts +216 -0
  646. package/src/layer/oblique/vectorObliqueImpl.ts +497 -0
  647. package/src/layer/openStreetMapLayer.ts +185 -0
  648. package/src/layer/openlayers/layerOpenlayersImpl.ts +133 -0
  649. package/src/layer/openlayers/{openStreetMapOpenlayersImpl.js → openStreetMapOpenlayersImpl.ts} +4 -8
  650. package/src/layer/openlayers/rasterLayerOpenlayersImpl.ts +45 -0
  651. package/src/layer/openlayers/{singleImageOpenlayersImpl.js → singleImageOpenlayersImpl.ts} +15 -17
  652. package/src/layer/openlayers/{tileDebugOpenlayersImpl.js → tileDebugOpenlayersImpl.ts} +12 -19
  653. package/src/layer/openlayers/{tmsOpenlayersImpl.js → tmsOpenlayersImpl.ts} +24 -21
  654. package/src/layer/openlayers/vectorOpenlayersImpl.ts +112 -0
  655. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +164 -0
  656. package/src/layer/openlayers/{wmsOpenlayersImpl.js → wmsOpenlayersImpl.ts} +16 -23
  657. package/src/layer/openlayers/{wmtsOpenlayersImpl.js → wmtsOpenlayersImpl.ts} +44 -60
  658. package/src/layer/pointCloudLayer.ts +137 -0
  659. package/src/layer/rasterLayer.ts +324 -0
  660. package/src/layer/singleImageLayer.ts +110 -0
  661. package/src/layer/terrainHelpers.ts +95 -0
  662. package/src/layer/terrainLayer.ts +108 -0
  663. package/src/layer/tileLoadedHelper.ts +70 -0
  664. package/src/layer/tileProvider/mvtTileProvider.ts +121 -0
  665. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +60 -0
  666. package/src/layer/tileProvider/tileProvider.ts +625 -0
  667. package/src/layer/tileProvider/urlTemplateTileProvider.ts +120 -0
  668. package/src/layer/tmsLayer.ts +105 -0
  669. package/src/layer/vectorHelpers.ts +127 -0
  670. package/src/layer/vectorLayer.ts +595 -0
  671. package/src/layer/vectorProperties.ts +1592 -0
  672. package/src/layer/vectorSymbols.ts +41 -0
  673. package/src/layer/vectorTileLayer.ts +479 -0
  674. package/src/layer/wfsLayer.ts +169 -0
  675. package/src/layer/{wmsHelpers.js → wmsHelpers.ts} +33 -26
  676. package/src/layer/{wmsLayer.js → wmsLayer.ts} +119 -93
  677. package/src/layer/wmtsLayer.ts +240 -0
  678. package/src/map/baseOLMap.ts +241 -0
  679. package/src/map/cameraLimiter.ts +229 -0
  680. package/src/map/cesiumMap.ts +1382 -0
  681. package/src/map/mapState.ts +11 -0
  682. package/src/map/{obliqueMap.js → obliqueMap.ts} +188 -223
  683. package/src/map/openlayersMap.ts +206 -0
  684. package/src/map/vcsMap.ts +504 -0
  685. package/src/moduleIdSymbol.ts +2 -0
  686. package/src/oblique/{defaultObliqueCollection.js → defaultObliqueCollection.ts} +6 -16
  687. package/src/oblique/{helpers.js → helpers.ts} +322 -148
  688. package/src/oblique/obliqueCollection.ts +634 -0
  689. package/src/oblique/obliqueDataSet.ts +373 -0
  690. package/src/oblique/obliqueImage.ts +259 -0
  691. package/src/oblique/obliqueImageMeta.ts +125 -0
  692. package/src/oblique/{obliqueProvider.js → obliqueProvider.ts} +182 -170
  693. package/src/oblique/{obliqueView.js → obliqueView.ts} +94 -74
  694. package/src/oblique/obliqueViewDirection.ts +25 -0
  695. package/src/oblique/parseImageJson.ts +337 -0
  696. package/src/ol/feature.ts +93 -0
  697. package/src/ol/geojson.d.ts +28 -0
  698. package/src/ol/geom/circle.ts +41 -0
  699. package/src/ol/geom/geometryCollection.js +14 -8
  700. package/src/ol/ol.d.ts +138 -0
  701. package/src/ol/render/canvas/canvasTileRenderer.js +11 -13
  702. package/src/overrideClassRegistry.ts +193 -0
  703. package/src/style/arcStyle.ts +434 -0
  704. package/src/style/arrowStyle.ts +303 -0
  705. package/src/style/declarativeStyleItem.ts +562 -0
  706. package/src/style/{shapesCategory.js → shapesCategory.ts} +17 -28
  707. package/src/style/styleFactory.ts +38 -0
  708. package/src/style/styleHelpers.ts +671 -0
  709. package/src/style/styleItem.ts +134 -0
  710. package/src/style/vectorStyleItem.ts +856 -0
  711. package/src/style/writeStyle.ts +41 -0
  712. package/src/util/clipping/{clippingObject.js → clippingObject.ts} +149 -178
  713. package/src/util/clipping/{clippingObjectManager.js → clippingObjectManager.ts} +108 -136
  714. package/src/util/clipping/{clippingPlaneHelper.js → clippingPlaneHelper.ts} +199 -134
  715. package/src/util/{collection.js → collection.ts} +66 -78
  716. package/src/util/editor/createFeatureSession.ts +241 -0
  717. package/src/util/editor/editFeaturesSession.ts +360 -0
  718. package/src/util/editor/editGeometrySession.ts +469 -0
  719. package/src/util/editor/editorHelpers.ts +328 -0
  720. package/src/util/editor/editorSessionHelpers.ts +137 -0
  721. package/src/util/editor/editorSymbols.ts +17 -0
  722. package/src/util/editor/interactions/createBBoxInteraction.ts +135 -0
  723. package/src/util/editor/interactions/createCircleInteraction.ts +102 -0
  724. package/src/util/editor/interactions/createLineStringInteraction.ts +103 -0
  725. package/src/util/editor/interactions/createPointInteraction.ts +62 -0
  726. package/src/util/editor/interactions/createPolygonInteraction.ts +115 -0
  727. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +74 -0
  728. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +106 -0
  729. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +52 -0
  730. package/src/util/editor/interactions/insertVertexInteraction.ts +91 -0
  731. package/src/util/editor/interactions/mapInteractionController.ts +119 -0
  732. package/src/util/editor/interactions/removeVertexInteraction.ts +37 -0
  733. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +132 -0
  734. package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +135 -0
  735. package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +108 -0
  736. package/src/util/editor/interactions/translateVertexInteraction.ts +51 -0
  737. package/src/util/editor/selectFeaturesSession.ts +314 -0
  738. package/src/util/editor/transformation/create2DHandlers.ts +368 -0
  739. package/src/util/editor/transformation/create3DHandlers.ts +664 -0
  740. package/src/util/editor/transformation/extrudeInteraction.ts +87 -0
  741. package/src/util/editor/transformation/rotateInteraction.ts +177 -0
  742. package/src/util/editor/transformation/scaleInteraction.ts +185 -0
  743. package/src/util/editor/transformation/transformationHandler.ts +174 -0
  744. package/src/util/editor/transformation/transformationTypes.ts +71 -0
  745. package/src/util/editor/transformation/translateInteraction.ts +248 -0
  746. package/src/util/editor/validateGeoemetry.ts +22 -0
  747. package/src/util/{exclusiveManager.js → exclusiveManager.ts} +26 -42
  748. package/src/util/extent.ts +114 -0
  749. package/src/util/featureconverter/arcToCesium.ts +126 -0
  750. package/src/util/featureconverter/circleToCesium.ts +211 -0
  751. package/src/util/featureconverter/convert.ts +178 -0
  752. package/src/util/featureconverter/extent3D.ts +217 -0
  753. package/src/util/featureconverter/featureconverterHelper.ts +670 -0
  754. package/src/util/featureconverter/lineStringToCesium.ts +306 -0
  755. package/src/util/featureconverter/pointHelpers.ts +429 -0
  756. package/src/util/featureconverter/pointToCesium.ts +403 -0
  757. package/src/util/featureconverter/polygonToCesium.ts +249 -0
  758. package/src/util/fetch.ts +28 -0
  759. package/src/util/geometryHelpers.ts +170 -0
  760. package/src/util/indexedCollection.ts +157 -0
  761. package/src/util/{isMobile.js → isMobile.ts} +12 -6
  762. package/src/util/layerCollection.ts +293 -0
  763. package/src/util/locale.ts +11 -0
  764. package/src/util/mapCollection.ts +393 -0
  765. package/src/util/math.ts +180 -0
  766. package/src/util/overrideCollection.ts +286 -0
  767. package/src/util/projection.ts +288 -0
  768. package/src/util/{urlHelpers.js → urlHelpers.ts} +6 -8
  769. package/src/util/viewpoint.ts +394 -0
  770. package/src/vcsApp.ts +518 -0
  771. package/src/{vcsEvent.js → vcsEvent.ts} +17 -37
  772. package/src/vcsModule.ts +127 -0
  773. package/src/vcsModuleHelpers.ts +128 -0
  774. package/src/vcsObject.ts +72 -0
  775. package/index.d.ts +0 -7591
  776. package/index.js +0 -147
  777. package/src/category/appBackedCategory.js +0 -41
  778. package/src/category/category.js +0 -374
  779. package/src/category/categoryCollection.js +0 -145
  780. package/src/cesium/cesium3DTileFeature.js +0 -9
  781. package/src/cesium/cesium3DTilePointFeature.js +0 -9
  782. package/src/classRegistry.js +0 -89
  783. package/src/context.js +0 -73
  784. package/src/featureProvider/abstractFeatureProvider.js +0 -196
  785. package/src/featureProvider/featureProviderHelpers.js +0 -50
  786. package/src/featureProvider/featureProviderSymbols.js +0 -11
  787. package/src/featureProvider/tileProviderFeatureProvider.js +0 -62
  788. package/src/featureProvider/wmsFeatureProvider.js +0 -286
  789. package/src/globalCollections.js +0 -7
  790. package/src/interaction/abstractInteraction.js +0 -151
  791. package/src/interaction/coordinateAtPixel.js +0 -99
  792. package/src/interaction/eventHandler.js +0 -425
  793. package/src/interaction/featureAtPixelInteraction.js +0 -273
  794. package/src/interaction/featureProviderInteraction.js +0 -43
  795. package/src/interaction/interactionType.js +0 -114
  796. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +0 -359
  797. package/src/layer/cesium/clusterContext.js +0 -95
  798. package/src/layer/cesium/openStreetMapCesiumImpl.js +0 -29
  799. package/src/layer/cesium/pointCloudCesiumImpl.js +0 -58
  800. package/src/layer/cesium/rasterLayerCesiumImpl.js +0 -110
  801. package/src/layer/cesium/singleImageCesiumImpl.js +0 -49
  802. package/src/layer/cesium/terrainCesiumImpl.js +0 -80
  803. package/src/layer/cesium/vectorCesiumImpl.js +0 -255
  804. package/src/layer/cesium/vectorContext.js +0 -167
  805. package/src/layer/cesium/vectorTileImageryProvider.js +0 -246
  806. package/src/layer/cesium/x3dmHelper.js +0 -22
  807. package/src/layer/cesiumTilesetLayer.js +0 -376
  808. package/src/layer/czmlLayer.js +0 -141
  809. package/src/layer/dataSourceLayer.js +0 -259
  810. package/src/layer/featureLayer.js +0 -261
  811. package/src/layer/featureStoreLayer.js +0 -647
  812. package/src/layer/featureStoreLayerChanges.js +0 -376
  813. package/src/layer/featureStoreLayerState.js +0 -19
  814. package/src/layer/featureVisibility.js +0 -436
  815. package/src/layer/geojsonHelpers.js +0 -445
  816. package/src/layer/globalHider.js +0 -147
  817. package/src/layer/layer.js +0 -752
  818. package/src/layer/layerState.js +0 -17
  819. package/src/layer/layerSymbols.js +0 -6
  820. package/src/layer/oblique/layerObliqueImpl.js +0 -76
  821. package/src/layer/oblique/obliqueHelpers.js +0 -175
  822. package/src/layer/oblique/vectorObliqueImpl.js +0 -469
  823. package/src/layer/openStreetMapLayer.js +0 -194
  824. package/src/layer/openlayers/layerOpenlayersImpl.js +0 -79
  825. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +0 -122
  826. package/src/layer/openlayers/vectorOpenlayersImpl.js +0 -118
  827. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +0 -177
  828. package/src/layer/pointCloudLayer.js +0 -162
  829. package/src/layer/rasterLayer.js +0 -294
  830. package/src/layer/singleImageLayer.js +0 -120
  831. package/src/layer/terrainHelpers.js +0 -119
  832. package/src/layer/terrainLayer.js +0 -122
  833. package/src/layer/tileLoadedHelper.js +0 -72
  834. package/src/layer/tileProvider/mvtTileProvider.js +0 -104
  835. package/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -67
  836. package/src/layer/tileProvider/tileProvider.js +0 -584
  837. package/src/layer/tileProvider/tileProviderFactory.js +0 -28
  838. package/src/layer/tileProvider/urlTemplateTileProvider.js +0 -106
  839. package/src/layer/tmsLayer.js +0 -121
  840. package/src/layer/vectorHelpers.js +0 -206
  841. package/src/layer/vectorLayer.js +0 -632
  842. package/src/layer/vectorProperties.js +0 -1391
  843. package/src/layer/vectorTileLayer.js +0 -480
  844. package/src/layer/wfsLayer.js +0 -165
  845. package/src/layer/wmtsLayer.js +0 -235
  846. package/src/map/baseOLMap.js +0 -257
  847. package/src/map/cameraLimiter.js +0 -219
  848. package/src/map/cesiumMap.js +0 -1177
  849. package/src/map/mapState.js +0 -17
  850. package/src/map/openlayersMap.js +0 -208
  851. package/src/map/vcsMap.js +0 -526
  852. package/src/oblique/obliqueCollection.js +0 -653
  853. package/src/oblique/obliqueDataSet.js +0 -400
  854. package/src/oblique/obliqueImage.js +0 -247
  855. package/src/oblique/obliqueImageMeta.js +0 -126
  856. package/src/oblique/obliqueViewDirection.js +0 -40
  857. package/src/oblique/parseImageJson.js +0 -256
  858. package/src/ol/feature.js +0 -47
  859. package/src/style/declarativeStyleItem.js +0 -633
  860. package/src/style/styleFactory.js +0 -48
  861. package/src/style/styleHelpers.js +0 -555
  862. package/src/style/styleItem.js +0 -245
  863. package/src/style/vectorStyleItem.js +0 -929
  864. package/src/style/writeStyle.js +0 -48
  865. package/src/util/dateTime.js +0 -60
  866. package/src/util/extent.js +0 -131
  867. package/src/util/featureconverter/circleToCesium.js +0 -215
  868. package/src/util/featureconverter/convert.js +0 -83
  869. package/src/util/featureconverter/extent3D.js +0 -181
  870. package/src/util/featureconverter/featureconverterHelper.js +0 -591
  871. package/src/util/featureconverter/lineStringToCesium.js +0 -171
  872. package/src/util/featureconverter/pointToCesium.js +0 -359
  873. package/src/util/featureconverter/polygonToCesium.js +0 -229
  874. package/src/util/fetch.js +0 -32
  875. package/src/util/geometryHelpers.js +0 -172
  876. package/src/util/indexedCollection.js +0 -181
  877. package/src/util/layerCollection.js +0 -221
  878. package/src/util/locale.js +0 -53
  879. package/src/util/mapCollection.js +0 -405
  880. package/src/util/math.js +0 -71
  881. package/src/util/overrideCollection.js +0 -224
  882. package/src/util/projection.js +0 -366
  883. package/src/util/splitScreen.js +0 -233
  884. package/src/util/viewpoint.js +0 -336
  885. package/src/vcsApp.js +0 -373
  886. package/src/vcsAppContextHelpers.js +0 -108
  887. package/src/vcsObject.js +0 -84
@@ -1,1177 +0,0 @@
1
- import {
2
- JulianDate,
3
- Clock,
4
- DataSourceClock,
5
- Color,
6
- CesiumWidget,
7
- ShadowMode,
8
- DataSourceDisplay,
9
- DataSourceCollection,
10
- RequestScheduler,
11
- Ellipsoid,
12
- ScreenSpaceEventHandler,
13
- Cartesian3,
14
- Ray,
15
- Math as CesiumMath,
16
- Camera,
17
- BillboardVisualizer,
18
- LabelVisualizer,
19
- PointVisualizer,
20
- CustomDataSource,
21
- BoundingSphere,
22
- Intersect,
23
- CesiumInspector,
24
- Cesium3DTilesInspector,
25
- ImageryLayer,
26
- PrimitiveCollection,
27
- KeyboardEventModifier,
28
- ScreenSpaceEventType,
29
- Cesium3DTileset,
30
- } from '@vcmap/cesium';
31
-
32
- import { check, checkMaybe } from '@vcsuite/check';
33
- import { parseBoolean, parseInteger } from '@vcsuite/parsers';
34
- import VcsMap from './vcsMap.js';
35
- import ViewPoint from '../util/viewpoint.js';
36
- import Projection, { mercatorProjection } from '../util/projection.js';
37
- import { getHeightFromTerrainProvider } from '../layer/terrainHelpers.js';
38
- import { vcsLayerName } from '../layer/layerSymbols.js';
39
- import { ModificationKeyType, PointerEventType, PointerKeyType } from '../interaction/interactionType.js';
40
- import CameraLimiter from './cameraLimiter.js';
41
- import { VcsClassRegistry } from '../classRegistry.js';
42
-
43
- /**
44
- * @typedef {VcsMapOptions} CesiumMapOptions
45
- * @property {boolean} [enableLightning=true] - if true, lighting will be activated.
46
- * @property {number} [tileCacheSize=1] - the tilecache size of cesium terrain and tile layer
47
- * @property {boolean} [webGLaa=false] - activates webGL antialiasing (not every Browser respects this value)
48
- * @property {CameraLimiterOptions|undefined} cameraLimiter
49
- * @property {string|undefined} globeColor - the color of the globe, if no image is provided
50
- * @api
51
- */
52
-
53
- /**
54
- * Ensures, a primitive/imageryLayer/entity is part of a collection and placed at the correct location
55
- * @param {import("@vcmap/cesium").PrimitiveCollection|import("@vcmap/cesium").ImageryLayerCollection} cesiumCollection
56
- * @param {import("@vcmap/cesium").PrimitiveCollection|import("@vcmap/cesium").ImageryLayer|import("@vcmap/cesium").Cesium3DTileset} item
57
- * @param {import("@vcmap/core").LayerCollection} layerCollection
58
- * @private
59
- */
60
- export function ensureInCollection(cesiumCollection, item, layerCollection) {
61
- const targetIndex = layerCollection.indexOfKey(item[vcsLayerName]);
62
- if (targetIndex > -1) {
63
- // @ts-ignore
64
- if (!cesiumCollection.contains(item)) {
65
- const primitivesLength = cesiumCollection.length;
66
- let index = primitivesLength;
67
- for (let i = 0; i < primitivesLength; i++) {
68
- const collectionItem = cesiumCollection.get(i);
69
- if (layerCollection.indexOfKey(collectionItem[vcsLayerName]) > targetIndex) {
70
- index = i;
71
- break;
72
- }
73
- }
74
- // @ts-ignore
75
- cesiumCollection.add(item, index);
76
- }
77
- }
78
- }
79
-
80
- /**
81
- * @param {import("@vcmap/cesium").DataSourceCollection} dataSourceCollection
82
- * @param {import("@vcmap/cesium").CustomDataSource} dataSource
83
- * @param {import("@vcmap/core").LayerCollection} layerCollection
84
- * @private
85
- */
86
- export async function ensureInDataSourceCollection(dataSourceCollection, dataSource, layerCollection) {
87
- const targetIndex = layerCollection.indexOfKey(dataSource[vcsLayerName]);
88
- if (targetIndex > -1) {
89
- if (!dataSourceCollection.contains(dataSource)) {
90
- await dataSourceCollection.add(dataSource);
91
- }
92
-
93
- const dataSourceLength = dataSourceCollection.length;
94
- let index = dataSourceLength;
95
- for (let i = 0; i < dataSourceLength; i++) {
96
- const collectionItem = dataSourceCollection.get(i);
97
- if (layerCollection.indexOfKey(collectionItem[vcsLayerName]) > targetIndex) {
98
- index = i;
99
- break;
100
- }
101
- }
102
- let actualIndex = dataSourceCollection.indexOf(dataSource);
103
-
104
- if (index > actualIndex) {
105
- index -= 1;
106
- }
107
- if (actualIndex < index) {
108
- while (actualIndex < index) {
109
- dataSourceCollection.raise(dataSource);
110
- actualIndex = dataSourceCollection.indexOf(dataSource);
111
- }
112
- } else if (actualIndex > index) {
113
- while (actualIndex > index) {
114
- dataSourceCollection.lower(dataSource);
115
- actualIndex = dataSourceCollection.indexOf(dataSource);
116
- }
117
- }
118
- }
119
- }
120
-
121
- /**
122
- * @param {import("@vcmap/cesium").PrimitiveCollection} primitiveCollection
123
- * @param {import("@vcmap/cesium").PrimitiveCollection} item
124
- * @param {import("@vcmap/core").LayerCollection} layerCollection
125
- * @private
126
- */
127
- export function indexChangedOnPrimitive(primitiveCollection, item, layerCollection) {
128
- const { destroyPrimitives } = primitiveCollection;
129
- primitiveCollection.destroyPrimitives = false;
130
- primitiveCollection.remove(item);
131
- ensureInCollection(primitiveCollection, item, layerCollection);
132
- primitiveCollection.destroyPrimitives = destroyPrimitives;
133
- }
134
-
135
- /**
136
- * @param {import("@vcmap/cesium").ImageryLayerCollection} imageryLayerCollection
137
- * @param {import("@vcmap/cesium").ImageryLayer} item
138
- * @param {import("@vcmap/core").LayerCollection} layerCollection
139
- * @private
140
- */
141
- export function indexChangedOnImageryLayer(imageryLayerCollection, item, layerCollection) {
142
- imageryLayerCollection.remove(item, false);
143
- ensureInCollection(imageryLayerCollection, item, layerCollection);
144
- }
145
-
146
- /**
147
- * @param {import("@vcmap/cesium").DataSourceCollection} dataSourceCollection
148
- * @param {import("@vcmap/cesium").CustomDataSource} item
149
- * @param {import("@vcmap/core").LayerCollection} layerCollection
150
- * @private
151
- */
152
- export function indexChangedOnDataSource(dataSourceCollection, item, layerCollection) {
153
- ensureInDataSourceCollection(dataSourceCollection, item, layerCollection);
154
- }
155
-
156
- /**
157
- * @param {import("@vcmap/cesium").DataSourceClock} source
158
- * @param {import("@vcmap/cesium").Clock} target
159
- * @returns {import("@vcmap/cesium").Event.RemoveCallback}
160
- * @private
161
- */
162
- export function synchronizeClock(source, target) {
163
- target.clockRange = source.clockRange;
164
- target.clockStep = source.clockStep;
165
- target.multiplier = source.multiplier;
166
- if (!target.startTime || !target.startTime.equals(source.startTime) ||
167
- !target.stopTime || !target.stopTime.equals(source.stopTime)) {
168
- target.startTime = source.startTime;
169
- target.stopTime = source.stopTime;
170
- target.currentTime = source.currentTime;
171
- }
172
- return source.definitionChanged.addEventListener((e, prop, value) => {
173
- target[prop] = value;
174
- });
175
- }
176
-
177
- /**
178
- * @param {import("@vcmap/cesium").Cesium3DTileset} cesium3DTileset
179
- * @param {boolean} debug
180
- */
181
- function setDebugOnCesium3DTileset(cesium3DTileset, debug) {
182
- cesium3DTileset.debugShowRenderingStatistics = debug;
183
- cesium3DTileset.debugShowBoundingVolume = debug;
184
- cesium3DTileset.debugShowContentBoundingVolume = debug;
185
- }
186
-
187
- /**
188
- * @param {Array<import("@vcmap/cesium").PrimitiveCollection|import("@vcmap/cesium").Cesium3DTileset|import("@vcmap/cesium").ImageryLayer|import("ol/layer/Layer").default|import("@vcmap/cesium").CustomDataSource>} visualizations
189
- * @param {boolean} debug
190
- */
191
- function setDebugOnVisualizations(visualizations, debug) {
192
- visualizations
193
- .filter(viz => viz instanceof Cesium3DTileset)
194
- .forEach(/** @param {import("@vcmap/cesium").Cesium3DTileset} tileset */ (tileset) => {
195
- setDebugOnCesium3DTileset(tileset, debug);
196
- });
197
- }
198
-
199
- /**
200
- * Cesium Globe Map Class (3D map)
201
- * @class
202
- * @export
203
- * @extends {VcsMap}
204
- * @api stable
205
- */
206
- class CesiumMap extends VcsMap {
207
- static get className() { return 'CesiumMap'; }
208
-
209
- /**
210
- * @returns {CesiumMapOptions}
211
- */
212
- static getDefaultOptions() {
213
- return {
214
- ...VcsMap.getDefaultOptions(),
215
- enableLightning: true,
216
- tileCacheSize: 1,
217
- webGLaa: false,
218
- cameraLimiter: undefined,
219
- globeColor: '#3f47cc',
220
- };
221
- }
222
-
223
- /**
224
- * @param {CesiumMapOptions} options
225
- */
226
- constructor(options) {
227
- super(options);
228
-
229
- const defaultOptions = CesiumMap.getDefaultOptions();
230
- /**
231
- * the Cesium Viewer
232
- * @type {?import("@vcmap/cesium").CesiumWidget}
233
- * @private
234
- */
235
- this._cesiumWidget = null;
236
-
237
- /**
238
- * clock for animated data
239
- * @type {import("@vcmap/cesium").Clock}
240
- */
241
- this.dataSourceDisplayClock = new Clock({ shouldAnimate: true });
242
-
243
- const defaultClock = new DataSourceClock();
244
- defaultClock.currentTime = this.dataSourceDisplayClock.currentTime;
245
- /**
246
- * default clock is set, when no datasource clock is active
247
- * @type {import("@vcmap/cesium").DataSourceClock}
248
- * @private
249
- */
250
- this._defaultClock = defaultClock;
251
-
252
- /**
253
- * clocks of active data sources
254
- * the last clock of the array corresponds to the active dataSourceDisplayClock
255
- * @type {Array<import("@vcmap/cesium").DataSourceClock>}
256
- * @private
257
- */
258
- this._dataSourceClocks = [];
259
-
260
- /**
261
- * Whether the debug mode is active or not
262
- * @type {boolean}
263
- * @api stable
264
- */
265
- this.debugMode = false;
266
-
267
- /** @type {boolean} */
268
- this.enableLightning = parseBoolean(options.enableLightning, defaultOptions.enableLightning);
269
-
270
- /** @type {number} */
271
- this.tileCacheSize = parseInteger(options.tileCacheSize, defaultOptions.tileCacheSize);
272
-
273
- /** @type {import("@vcmap/cesium").ScreenSpaceEventHandler} */
274
- this.screenSpaceEventHandler = null;
275
- /**
276
- * @type {Array<function():void>}
277
- * @private
278
- */
279
- this._screenSpaceListeners = [];
280
-
281
- /**
282
- * @type {import("@vcmap/cesium").JulianDate}
283
- */
284
- this.defaultJDate = JulianDate.fromDate(new Date(2014, 6, 20, 13, 0, 0, 0));
285
-
286
- /** @type {boolean} */
287
- this.webGLaa = parseBoolean(options.webGLaa, defaultOptions.webGLaa);
288
-
289
- /**
290
- * @type {import("@vcmap/cesium").Color}
291
- * @api
292
- */
293
- this.globeColor = Color.fromCssColorString(options.globeColor || defaultOptions.globeColor);
294
-
295
- /** @type {import("@vcmap/cesium").DataSourceDisplay|null} */
296
- this._clusterDataSourceDisplay = null;
297
-
298
- /**
299
- * @type {import("@vcmap/cesium").TerrainProvider}
300
- * @private
301
- */
302
- this._terrainProvider = null;
303
-
304
- /**
305
- * @type {import("@vcmap/cesium").TerrainProvider}
306
- * @api
307
- */
308
- this.defaultTerrainProvider = null;
309
- /**
310
- * @type {CameraLimiter|null}
311
- * @private
312
- */
313
- this._cameraLimiter = null;
314
- /**
315
- * @type {CameraLimiterOptions}
316
- * @private
317
- */
318
- this._cameraLimiterOptions = options.cameraLimiter || defaultOptions.cameraLimiter;
319
- /**
320
- * @type {Function}
321
- * @private
322
- */
323
- this._terrainProviderChangedListener = null;
324
- /**
325
- * @type {Function}
326
- * @private
327
- */
328
- this._preUpdateListener = null;
329
- /**
330
- * @type {Function}
331
- * @private
332
- */
333
- this._clockTickListener = null;
334
- /**
335
- * @type {Function}
336
- * @private
337
- */
338
- this._clockSyncListener = null;
339
-
340
- /**
341
- * @type {Function}
342
- * @private
343
- */
344
- this._removeClusterClockTickListener = null;
345
-
346
- /**
347
- * @type {boolean}
348
- * @private
349
- */
350
- this._debug = false;
351
- }
352
-
353
- /**
354
- * @returns {import("@vcmap/cesium").TerrainProvider}
355
- * @api
356
- * @readonly
357
- */
358
- get terrainProvider() {
359
- return this._terrainProvider;
360
- }
361
-
362
- /**
363
- * A camera limit to not allow the camera to get too close to the globe.
364
- * @type {CameraLimiter|null}
365
- * @api
366
- */
367
- get cameraLimiter() {
368
- return this._cameraLimiter;
369
- }
370
-
371
- /**
372
- * @param {CameraLimiter|null} limiter
373
- */
374
- set cameraLimiter(limiter) {
375
- checkMaybe(limiter, CameraLimiter);
376
-
377
- if (this._cameraLimiter !== limiter) {
378
- this._cameraLimiter = limiter;
379
- if (this._cameraLimiter && !this._preUpdateListener && this._cesiumWidget) {
380
- this._setupPreUpdateListener();
381
- } else if (!this._cameraLimiter && this._preUpdateListener) {
382
- this._preUpdateListener();
383
- this._preUpdateListener = null;
384
- }
385
- }
386
- }
387
-
388
- /**
389
- * Show the CesiumInspector and the Cesium3DTileInspector. In addition show the bounding volume on all Cesium3DTilesets
390
- * plus their rendering statistics.
391
- * @type {boolean}
392
- * @api
393
- */
394
- get debug() {
395
- return this._debug;
396
- }
397
-
398
- /**
399
- * @param {boolean} debug
400
- */
401
- set debug(debug) {
402
- check(debug, Boolean);
403
-
404
- if (this._debug !== debug) {
405
- this._debug = debug;
406
- if (this.initialized) {
407
- this._setDebug();
408
- }
409
- }
410
- }
411
-
412
- /**
413
- * @private
414
- */
415
- _setupPreUpdateListener() {
416
- this._preUpdateListener = this._cesiumWidget.scene.preUpdate.addEventListener(() => {
417
- if (this._cameraLimiter) {
418
- this._cameraLimiter.limitCamera(this._cesiumWidget.scene.camera);
419
- }
420
- });
421
- }
422
-
423
- /**
424
- * @param {ModificationKeyType} key
425
- * @param {number} pointer
426
- * @param {PointerEventType} pointerEvent
427
- * @param {{ position: (import("@vcmap/cesium").Cartesian2|undefined), endPosition: (import("@vcmap/cesium").Cartesian2|undefined) }} csEvent
428
- * @private
429
- */
430
- _raisePointerInteraction(key, pointer, pointerEvent, csEvent) {
431
- // eslint-disable-next-line
432
- const multipleTouch = this.screenSpaceEventHandler._positions.length > 1;
433
- this.pointerInteractionEvent.raiseEvent({
434
- map: this,
435
- windowPosition: csEvent.position || csEvent.endPosition,
436
- key,
437
- pointer,
438
- multipleTouch,
439
- pointerEvent,
440
- });
441
- }
442
-
443
- /**
444
- * @private
445
- */
446
- _setupInteractions() {
447
- const mods = [
448
- { csModifier: KeyboardEventModifier.ALT, vcsModifier: ModificationKeyType.ALT },
449
- { csModifier: KeyboardEventModifier.CTRL, vcsModifier: ModificationKeyType.CTRL },
450
- { csModifier: KeyboardEventModifier.SHIFT, vcsModifier: ModificationKeyType.SHIFT },
451
- { csModifier: undefined, vcsModifier: ModificationKeyType.NONE },
452
- ];
453
-
454
- const types = [
455
- { type: ScreenSpaceEventType.LEFT_DOWN, pointerEvent: PointerEventType.DOWN, pointer: PointerKeyType.LEFT },
456
- { type: ScreenSpaceEventType.LEFT_UP, pointerEvent: PointerEventType.UP, pointer: PointerKeyType.LEFT },
457
- { type: ScreenSpaceEventType.RIGHT_DOWN, pointerEvent: PointerEventType.DOWN, pointer: PointerKeyType.RIGHT },
458
- { type: ScreenSpaceEventType.RIGHT_UP, pointerEvent: PointerEventType.UP, pointer: PointerKeyType.RIGHT },
459
- { type: ScreenSpaceEventType.MIDDLE_DOWN, pointerEvent: PointerEventType.DOWN, pointer: PointerKeyType.MIDDLE },
460
- { type: ScreenSpaceEventType.MIDDLE_UP, pointerEvent: PointerEventType.UP, pointer: PointerKeyType.MIDDLE },
461
- { type: ScreenSpaceEventType.MOUSE_MOVE, pointerEvent: PointerEventType.MOVE, pointer: PointerKeyType.ALL },
462
- ];
463
-
464
- this._screenSpaceListeners = types.map(({ pointerEvent, pointer, type }) => {
465
- return mods.map(({ csModifier, vcsModifier }) => {
466
- this.screenSpaceEventHandler.setInputAction((csEvent) => {
467
- this._raisePointerInteraction(vcsModifier, pointer, pointerEvent, csEvent);
468
- }, type, csModifier);
469
- return () => { this.screenSpaceEventHandler.removeInputAction(type, csModifier); };
470
- });
471
- }).flat();
472
- }
473
-
474
- /**
475
- * initializes the map
476
- * @returns {Promise<void>}
477
- */
478
- async initialize() {
479
- if (!this.initialized) {
480
- this._cesiumWidget = new CesiumWidget(this.mapElement, {
481
- requestRenderMode: false,
482
- scene3DOnly: true,
483
- imageryProvider: false,
484
- shadows: false,
485
- terrainShadows: ShadowMode.ENABLED,
486
- contextOptions: { webgl: { failIfMajorPerformanceCaveat: false, antialias: this.webGLaa } },
487
- });
488
- this._cesiumWidget.scene.globe.tileCacheSize = this.tileCacheSize;
489
- this._cesiumWidget.scene.globe.baseColor = this.globeColor;
490
-
491
- /** @type {import("@vcmap/cesium").DataSourceDisplay} */
492
- this.dataSourceDisplay = new DataSourceDisplay({
493
- scene: this._cesiumWidget.scene,
494
- dataSourceCollection: new DataSourceCollection(),
495
- });
496
-
497
- this._cesiumWidget.scene.frameState.creditDisplay.update = () => {};
498
- this._cesiumWidget.scene.frameState.creditDisplay.beginFrame = () => {};
499
- this._cesiumWidget.scene.frameState.creditDisplay.endFrame = () => {};
500
-
501
- const { clock } = this._cesiumWidget;
502
- clock.shouldAnimate = true;
503
- this._clockTickListener = clock.onTick.addEventListener(() => {
504
- this.dataSourceDisplayClock.tick();
505
- const time = this.dataSourceDisplayClock.currentTime;
506
- this.dataSourceDisplay.update(time);
507
- });
508
-
509
- // deactivate cesium Requestthrottling let the browser manage that
510
- // RequestScheduler.throttleRequests = false;
511
- RequestScheduler.maximumRequestsPerServer = 12;
512
-
513
- this._cesiumWidget.scene.shadowMap.maximumDistance = 5000.0;
514
- this._cesiumWidget.scene.shadowMap.darkness = 0.6;
515
- this._cesiumWidget.scene.globe.depthTestAgainstTerrain = true;
516
- this._cesiumWidget.scene.highDynamicRange = false;
517
- // this._cesiumWidget.scene.logarithmicDepthBuffer = false; // TODO observe this
518
- this._cesiumWidget.scene.imagerySplitPosition = 0.5;
519
-
520
- this._cesiumWidget.scene.globe.enableLighting = this.enableLightning;
521
-
522
- this.setDay(this.defaultJDate);
523
-
524
- // hide default cesium credits container
525
- const creditsContainer = document.getElementsByClassName('cesium-widget-credits');
526
- if (creditsContainer) {
527
- for (let i = 0; i < creditsContainer.length; i++) {
528
- const element = /** @type {HTMLElement} */ (creditsContainer[i]);
529
- element.style.display = 'none';
530
- }
531
- }
532
-
533
- if (this._cameraLimiterOptions && !this._cameraLimiter) {
534
- this._cameraLimiter = new CameraLimiter(this._cameraLimiterOptions);
535
- }
536
-
537
- if (this._cameraLimiter) {
538
- this._setupPreUpdateListener();
539
- }
540
- this.screenSpaceEventHandler = new ScreenSpaceEventHandler(this._cesiumWidget.scene.canvas);
541
- this._setupInteractions();
542
- this.initialized = true;
543
-
544
- this.defaultTerrainProvider = this._cesiumWidget.scene.terrainProvider;
545
- this._terrainProvider = this.defaultTerrainProvider;
546
- this._terrainProviderChangedListener =
547
- this._cesiumWidget.scene.terrainProviderChanged.addEventListener(this._terrainProviderChanged.bind(this));
548
- if (this._debug) {
549
- this._setDebug();
550
- }
551
- }
552
- }
553
-
554
- /**
555
- * @inheritDoc
556
- * @returns {Promise<void>}
557
- */
558
- async activate() {
559
- await super.activate();
560
- if (this.active) {
561
- this._cesiumWidget.useDefaultRenderLoop = true;
562
- this._cesiumWidget.resize();
563
- }
564
- }
565
-
566
- /**
567
- * @inheritDoc
568
- */
569
- deactivate() {
570
- super.deactivate();
571
- if (this._cesiumWidget) {
572
- this._cesiumWidget.useDefaultRenderLoop = false;
573
- }
574
- }
575
-
576
- /**
577
- * getHeight for coordinates
578
- * @param {Array<import("ol/coordinate").Coordinate>} positions - in web mercator
579
- * @returns {Promise<Array<import("ol/coordinate").Coordinate>>} the array of coordinates with heights updated in place
580
- * @api stable
581
- */
582
- getHeightFromTerrain(positions) {
583
- const { terrainProvider } = this._cesiumWidget.scene;
584
- return terrainProvider.readyPromise.then(() => {
585
- if (terrainProvider.availability) {
586
- return getHeightFromTerrainProvider(
587
- /** @type {import("@vcmap/cesium").CesiumTerrainProvider} */(terrainProvider),
588
- positions,
589
- mercatorProjection,
590
- positions,
591
- );
592
- }
593
- return Promise.resolve(positions);
594
- });
595
- }
596
-
597
- /**
598
- * @inheritDoc
599
- * @returns {Promise<null|ViewPoint>}
600
- */
601
- async getViewPoint() {
602
- return this.getViewPointSync();
603
- }
604
-
605
- /**
606
- * @inheritDoc
607
- * @returns {ViewPoint|null}
608
- */
609
- getViewPointSync() {
610
- if (!this._cesiumWidget || !this._cesiumWidget.scene || !this.target) {
611
- return null;
612
- }
613
- const cam = this._cesiumWidget.scene.camera;
614
- const cameraPositionCartesian = cam.position;
615
- let groundPosition = null;
616
- let distance = null;
617
- const ray = new Ray(cam.position, cam.direction);
618
- const groundPositionCartesian = this._cesiumWidget.scene.globe.pick(ray, this._cesiumWidget.scene);
619
- if (groundPositionCartesian) {
620
- distance = Cartesian3.distance(groundPositionCartesian, cameraPositionCartesian);
621
- const groundPositionCartographic = Ellipsoid.WGS84.cartesianToCartographic(groundPositionCartesian);
622
- groundPosition = [
623
- CesiumMath.toDegrees(groundPositionCartographic.longitude),
624
- CesiumMath.toDegrees(groundPositionCartographic.latitude),
625
- groundPositionCartographic.height,
626
- ];
627
- }
628
-
629
- const cameraPositionCartographic = cam.positionCartographic;
630
- const cameraPosition = [
631
- CesiumMath.toDegrees(cameraPositionCartographic.longitude),
632
- CesiumMath.toDegrees(cameraPositionCartographic.latitude),
633
- cameraPositionCartographic.height,
634
- ];
635
- return new ViewPoint({
636
- groundPosition,
637
- cameraPosition,
638
- distance,
639
- heading: CesiumMath.toDegrees(cam.heading),
640
- pitch: CesiumMath.toDegrees(cam.pitch),
641
- roll: CesiumMath.toDegrees(cam.roll),
642
- });
643
- }
644
-
645
- /**
646
- * @param {ViewPoint} viewpoint
647
- * @param {number=} optMaximumHeight
648
- * @returns {Promise<void>}
649
- * @inheritDoc
650
- */
651
- async gotoViewPoint(viewpoint, optMaximumHeight) {
652
- if (this.movementDisabled || !viewpoint.isValid()) {
653
- return;
654
- }
655
-
656
- let cameraPosition = null;
657
- const { distance } = viewpoint;
658
- const heading = CesiumMath.toRadians(viewpoint.heading);
659
- const pitch = CesiumMath.toRadians(viewpoint.pitch);
660
- const roll = CesiumMath.toRadians(viewpoint.roll);
661
- if (viewpoint.cameraPosition) {
662
- const cameraCoords = viewpoint.cameraPosition;
663
- cameraPosition = Cartesian3.fromDegrees(cameraCoords[0], cameraCoords[1], cameraCoords[2]);
664
- } else {
665
- if (!viewpoint.groundPosition) {
666
- return;
667
- }
668
- const groundPositionCoords = viewpoint.groundPosition;
669
- if (!groundPositionCoords[2]) {
670
- const positions = await this.getHeightFromTerrain([Projection.wgs84ToMercator(groundPositionCoords)]);
671
- groundPositionCoords[2] = positions[0][2];
672
- }
673
- const groundPosition = Cartesian3.fromDegrees(
674
- groundPositionCoords[0], groundPositionCoords[1], groundPositionCoords[2],
675
- );
676
- const clonedCamera = new Camera(this._cesiumWidget.scene);
677
- const options = {
678
- destination: groundPosition,
679
- orientation: {
680
- heading,
681
- pitch,
682
- roll,
683
- },
684
- };
685
- clonedCamera.setView(options);
686
- clonedCamera.moveBackward(distance);
687
-
688
- cameraPosition = clonedCamera.position;
689
- }
690
- const cam = this._cesiumWidget.scene.camera;
691
- const cameraOptions = {
692
- heading,
693
- pitch,
694
- roll,
695
- };
696
- cameraPosition = cameraPosition || null;
697
- cam.cancelFlight();
698
- if (viewpoint.animate) {
699
- await new Promise((resolve) => {
700
- const flightOptions = {
701
- destination: cameraPosition,
702
- orientation: cameraOptions,
703
- complete: () => { resolve(); },
704
- cancel: () => { resolve(); },
705
- };
706
-
707
- if (viewpoint.duration) {
708
- flightOptions.duration = viewpoint.duration;
709
- }
710
-
711
- if (viewpoint.easingFunction) {
712
- flightOptions.easingFunction = viewpoint.easingFunction;
713
- }
714
-
715
- if (optMaximumHeight) {
716
- flightOptions.maximumHeight = optMaximumHeight;
717
- }
718
- cam.flyTo(flightOptions);
719
- });
720
- } else {
721
- cam.setView({
722
- destination: cameraPosition,
723
- orientation: cameraOptions,
724
- });
725
- }
726
- }
727
-
728
- /**
729
- * @inheritDoc
730
- * @param {import("ol/coordinate").Coordinate} coordinate - in mercator
731
- * @returns {number}
732
- */
733
- getCurrentResolution(coordinate) {
734
- const cam = this._cesiumWidget.scene.camera;
735
- const wgs84Coordinate = Projection.mercatorToWgs84(coordinate);
736
- const distance = Cartesian3
737
- .distance(Cartesian3.fromDegrees(wgs84Coordinate[0], wgs84Coordinate[1], wgs84Coordinate[2]), cam.position);
738
-
739
- const fov = Math.PI / 3.0;
740
- const width = this.mapElement.offsetWidth;
741
- const height = this.mapElement.offsetHeight;
742
- const aspectRatio = width / height;
743
- const fovy = Math.atan(Math.tan(fov * 0.5) / aspectRatio) * 2.0;
744
- const visibleMeters = 2 * distance * Math.tan(fovy / 2);
745
- const relativeCircumference = Math.cos(Math.abs(CesiumMath.toRadians(wgs84Coordinate[1])));
746
- const visibleMapUnits = visibleMeters / relativeCircumference;
747
-
748
- return visibleMapUnits / height;
749
- }
750
-
751
- /**
752
- * @param {boolean} bool
753
- * @inheritDoc
754
- */
755
- disableMovement(bool) {
756
- super.disableMovement(bool);
757
- this._cesiumWidget.scene.screenSpaceCameraController.enableInputs = !bool;
758
- }
759
-
760
- /**
761
- * set dataSource clock as display clock to visualize time dependent animation
762
- * @param {import("@vcmap/cesium").DataSourceClock} clock
763
- * @api stable
764
- */
765
- setDataSourceDisplayClock(clock) {
766
- const activeClock = this._dataSourceClocks[this._dataSourceClocks.length - 1];
767
- if (clock !== activeClock) {
768
- if (this._clockSyncListener) {
769
- this._clockSyncListener();
770
- this._clockSyncListener = null;
771
- }
772
- this._clockSyncListener = synchronizeClock(clock, this.dataSourceDisplayClock);
773
- }
774
- this._dataSourceClocks.push(clock);
775
- }
776
-
777
- /**
778
- * unset dataSource clock
779
- * @param {import("@vcmap/cesium").DataSourceClock} clock
780
- * @api stable
781
- */
782
- unsetDataSourceDisplayClock(clock) {
783
- const idx = this._dataSourceClocks.lastIndexOf(clock);
784
- if (idx > -1) {
785
- this._dataSourceClocks.splice(idx, 1);
786
- if (idx === this._dataSourceClocks.length) {
787
- const activeClock = this._dataSourceClocks[this._dataSourceClocks.length - 1] || this._defaultClock;
788
- if (this._clockSyncListener) {
789
- this._clockSyncListener();
790
- this._clockSyncListener = null;
791
- }
792
- this._clockSyncListener = synchronizeClock(activeClock, this.dataSourceDisplayClock);
793
- }
794
- }
795
- }
796
-
797
- /**
798
- * sets the position of the sun according to the day
799
- * @param {import("@vcmap/cesium").JulianDate} julianDate See the Cesium API
800
- * @api stable
801
- */
802
- setDay(julianDate) {
803
- this._cesiumWidget.clock.currentTime = julianDate;
804
- this._cesiumWidget.clock.multiplier = 1;
805
- }
806
-
807
- /**
808
- * sets the lighting of the globe with the sun as a light source
809
- * @param {boolean} value
810
- * @api stable
811
- */
812
- setLightning(value) {
813
- this.enableLightning = value;
814
- this._cesiumWidget.scene.globe.enableLighting = value;
815
- }
816
-
817
- /**
818
- * returns the cesium Widget Object
819
- * @returns {import("@vcmap/cesium").CesiumWidget}
820
- * @api stable
821
- */
822
- getCesiumWidget() {
823
- return this._cesiumWidget;
824
- }
825
-
826
- /**
827
- * returns the Entities Collection
828
- * @returns {import("@vcmap/cesium").EntityCollection}
829
- * @api stable
830
- */
831
- getEntities() {
832
- return this.dataSourceDisplay.defaultDataSource.entities;
833
- }
834
-
835
- /**
836
- * returns the dataSourceCollection associated with the scene
837
- * @returns {import("@vcmap/cesium").DataSourceCollection}
838
- * @api stable
839
- */
840
- getDatasources() {
841
- return this.dataSourceDisplay.dataSources;
842
- }
843
-
844
- /**
845
- * Returns the cluster dataSourceDisplays dataSources.
846
- * This datasource can only handle Entities with Billboards, Labels or Points.
847
- * @returns {import("@vcmap/cesium").DataSourceCollection}
848
- * @api stable
849
- */
850
- getClusterDatasources() {
851
- if (this._clusterDataSourceDisplay) {
852
- return this._clusterDataSourceDisplay.dataSources;
853
- }
854
-
855
- const dataSourceCollection = new DataSourceCollection();
856
- function visualizersCallback(scene, entityCluster, dataSource) {
857
- const { entities } = dataSource;
858
- return [new BillboardVisualizer(entityCluster, entities),
859
- new LabelVisualizer(entityCluster, entities),
860
- new PointVisualizer(entityCluster, entities),
861
- ];
862
- }
863
-
864
- this._clusterDataSourceDisplay = new DataSourceDisplay({
865
- scene: this._cesiumWidget.scene,
866
- dataSourceCollection,
867
- visualizersCallback,
868
- });
869
-
870
- this._removeClusterClockTickListener =
871
- this._cesiumWidget.clock.onTick.addEventListener((clock) => {
872
- this._clusterDataSourceDisplay.update(clock.currentTime);
873
- });
874
-
875
- return dataSourceCollection;
876
- }
877
-
878
- /**
879
- * @inheritDoc
880
- * @param {import("@vcmap/core").Layer} layer
881
- */
882
- indexChanged(layer) {
883
- const viz = this.getVisualizationsForLayer(layer);
884
- if (viz) {
885
- viz.forEach((item) => {
886
- if (item instanceof PrimitiveCollection) {
887
- indexChangedOnPrimitive(this.getScene().primitives, item, this.layerCollection);
888
- } else if (item instanceof ImageryLayer) {
889
- indexChangedOnImageryLayer(this.getScene().imageryLayers, item, this.layerCollection);
890
- } else if (item instanceof CustomDataSource) {
891
- indexChangedOnDataSource(this.dataSourceDisplay.dataSources, item, this.layerCollection);
892
- }
893
- });
894
- }
895
- }
896
-
897
- /**
898
- * Internal API used to register visualizations from layer implementations
899
- * @param {import("@vcmap/cesium").PrimitiveCollection|import("@vcmap/cesium").Cesium3DTileset} primitiveCollection
900
- */
901
- addPrimitiveCollection(primitiveCollection) {
902
- if (this.validateVisualization(primitiveCollection)) {
903
- this.addVisualization(primitiveCollection);
904
- if (this._debug && primitiveCollection instanceof Cesium3DTileset) {
905
- setDebugOnCesium3DTileset(primitiveCollection, this._debug);
906
- }
907
- ensureInCollection(this.getScene().primitives, primitiveCollection, this.layerCollection);
908
- }
909
- }
910
-
911
- /**
912
- * Internal API to unregister the visualization for a layers implementation
913
- * @param {import("@vcmap/cesium").PrimitiveCollection} primitiveCollection
914
- */
915
- removePrimitiveCollection(primitiveCollection) { // XXX add destroy as boolean?
916
- this.removeVisualization(primitiveCollection);
917
- this.getScene()?.primitives.remove(primitiveCollection);
918
- }
919
-
920
- /**
921
- * Internal API used to register visualizations from layer implementations
922
- * @param {import("@vcmap/cesium").ImageryLayer} imageryLayer
923
- */
924
- addImageryLayer(imageryLayer) {
925
- if (this.validateVisualization(imageryLayer)) {
926
- this.addVisualization(imageryLayer);
927
- ensureInCollection(this.getScene().imageryLayers, imageryLayer, this.layerCollection);
928
- }
929
- }
930
-
931
- /**
932
- * Internal API used to unregister visualizations from layer implementations
933
- * @param {import("@vcmap/cesium").ImageryLayer} imageryLayer
934
- */
935
- removeImageryLayer(imageryLayer) {
936
- this.removeVisualization(imageryLayer);
937
- this.getScene()?.imageryLayers.remove(imageryLayer);
938
- }
939
-
940
- /**
941
- * Internal API used to register visualizations from layer implementations
942
- * @param {import("@vcmap/cesium").CustomDataSource} dataSource
943
- * @returns {Promise<void>}
944
- */
945
- async addDataSource(dataSource) {
946
- if (this.validateVisualization(dataSource)) {
947
- this.addVisualization(dataSource);
948
- await ensureInDataSourceCollection(this.dataSourceDisplay.dataSources, dataSource, this.layerCollection);
949
- }
950
- }
951
-
952
- /**
953
- * Internal API used to unregister visualizations from layer implementations
954
- * @param {import("@vcmap/cesium").CustomDataSource} dataSource
955
- */
956
- removeDataSource(dataSource) {
957
- this.removeVisualization(dataSource);
958
- if (!this.dataSourceDisplay.isDestroyed() && !this.dataSourceDisplay.dataSources.isDestroyed()) {
959
- this.dataSourceDisplay.dataSources.remove(dataSource);
960
- }
961
- }
962
-
963
- /**
964
- * set the cesium TerrainProvider
965
- * @param {import("@vcmap/cesium").TerrainProvider} terrainProvider
966
- * @api
967
- */
968
- setTerrainProvider(terrainProvider) {
969
- if (this.terrainProvider !== terrainProvider) {
970
- this._cesiumWidget.scene.terrainProvider = terrainProvider;
971
- }
972
- }
973
-
974
- /**
975
- * unsets the TerrainProvider (changes to the default TerrainProvider if the given terranProvider is currently active)
976
- * @param {import("@vcmap/cesium").TerrainProvider} terrainProvider
977
- * @api
978
- */
979
- unsetTerrainProvider(terrainProvider) {
980
- if (this.terrainProvider === terrainProvider) {
981
- this._terrainProvider = this.defaultTerrainProvider;
982
- this._cesiumWidget.scene.terrainProvider = this.defaultTerrainProvider;
983
- }
984
- }
985
-
986
- /**
987
- * returns the cesium DataSourceDisplay Object
988
- * @returns {import("@vcmap/cesium").DataSourceDisplay}
989
- * @api stable
990
- */
991
- getDataSourceDisplay() {
992
- return this.dataSourceDisplay;
993
- }
994
-
995
- /**
996
- * returns the cesium Scene Object, returns null on non initialized or destroyed maps
997
- * @returns {import("@vcmap/cesium").Scene}
998
- * @api stable
999
- */
1000
- getScene() {
1001
- return this._cesiumWidget?.scene;
1002
- }
1003
-
1004
- /**
1005
- * @param {import("ol/coordinate").Coordinate} coords in WGS84 degrees
1006
- * @returns {boolean}
1007
- * @api
1008
- */
1009
- pointIsVisible(coords) {
1010
- const { camera } = this._cesiumWidget.scene;
1011
-
1012
- const target = Cartesian3.fromDegrees(coords[0], coords[1], 0.0);
1013
- const cullingVolume = camera.frustum.computeCullingVolume(camera.positionWC, camera.directionWC, camera.upWC);
1014
- if (cullingVolume.computeVisibility(new BoundingSphere(target)) === Intersect.INSIDE) {
1015
- return true;
1016
- }
1017
- return false;
1018
- }
1019
-
1020
- /**
1021
- * @private
1022
- */
1023
- _setDebug() {
1024
- if (this._debug && this.initialized && !this._cesiumInspectorContainer) {
1025
- this._cesiumInspectorContainer = document.createElement('div');
1026
- this._cesiumInspectorContainer.className = 'vcm-cesium-inspector';
1027
- this.mapElement.appendChild(this._cesiumInspectorContainer);
1028
- this._cesiumInspector = new CesiumInspector(this._cesiumInspectorContainer, this.getScene());
1029
- this._cesium3DTilesInspector = new Cesium3DTilesInspector(this._cesiumInspectorContainer, this.getScene());
1030
- this._cesium3DTilesInspector.viewModel.picking = false;
1031
- }
1032
-
1033
- if (this._cesiumInspectorContainer) {
1034
- this._cesiumInspectorContainer.style.display = this.active && this._debug ? '' : 'none';
1035
- }
1036
- setDebugOnVisualizations(this.getVisualizations(), this._debug);
1037
- }
1038
-
1039
- /**
1040
- * is called when the cesium Terrainprovider changes. Sets the .terrainProvider and deactivates currently
1041
- * active TerrainLayer layer if necessary
1042
- * @param {import("@vcmap/cesium").TerrainProvider} terrainProvider
1043
- * @private
1044
- */
1045
- _terrainProviderChanged(terrainProvider) {
1046
- if (this.terrainProvider !== terrainProvider) {
1047
- const layer = this.layerCollection.getByKey(this.terrainProvider[vcsLayerName]);
1048
- this._terrainProvider = terrainProvider;
1049
- if (layer) {
1050
- layer.deactivate();
1051
- }
1052
- }
1053
- }
1054
-
1055
- /**
1056
- * returns true if the WEBGL Extension WEBGL_depth_texture is supported. (Is used for picking)
1057
- * @returns {*}
1058
- */
1059
- pickPositionSupported() {
1060
- if (!this.initialized) {
1061
- return false;
1062
- }
1063
- return this._cesiumWidget.scene.pickPositionSupported;
1064
- }
1065
-
1066
- /**
1067
- * returns true if the WEBGL Extension EXT_frag_depth is supported. (Is used for GroundPoloygons)
1068
- * @returns {*}
1069
- */
1070
- isGroundPrimitiveSupported() {
1071
- if (!this.initialized) {
1072
- return false;
1073
- }
1074
- return this._cesiumWidget.scene.context.fragmentDepth;
1075
- }
1076
-
1077
- /**
1078
- * @returns {CesiumMapOptions}
1079
- * @api
1080
- */
1081
- toJSON() {
1082
- const config = /** @type {CesiumMapOptions} */ (super.toJSON());
1083
- const defaultOptions = CesiumMap.getDefaultOptions();
1084
-
1085
- if (this.enableLightning !== defaultOptions.enableLightning) {
1086
- config.enableLightning = this.enableLightning;
1087
- }
1088
-
1089
- if (this.tileCacheSize !== defaultOptions.tileCacheSize) {
1090
- config.tileCacheSize = this.tileCacheSize;
1091
- }
1092
-
1093
- if (this.webGLaa !== defaultOptions.webGLaa) {
1094
- config.webGLaa = this.webGLaa;
1095
- }
1096
-
1097
- if (this.globeColor.toCssHexString() !== defaultOptions.globeColor) {
1098
- config.globeColor = this.globeColor.toCssHexString();
1099
- }
1100
-
1101
- if (this._cameraLimiter) {
1102
- config.cameraLimiter = this._cameraLimiter.toJSON();
1103
- } else if (this._cameraLimiterOptions && !this.initialized) {
1104
- config.cameraLimiter = this._cameraLimiterOptions;
1105
- }
1106
-
1107
- return config;
1108
- }
1109
-
1110
- /**
1111
- * @api
1112
- */
1113
- destroy() {
1114
- if (this.dataSourceDisplay && !this.dataSourceDisplay.isDestroyed()) {
1115
- this.dataSourceDisplay.destroy();
1116
- }
1117
- this._screenSpaceListeners.forEach((cb) => { cb(); });
1118
- if (this.screenSpaceEventHandler) {
1119
- this.screenSpaceEventHandler.destroy();
1120
- this.screenSpaceEventHandler = null;
1121
- }
1122
- if (this._terrainProviderChangedListener) {
1123
- this._terrainProviderChangedListener();
1124
- this._terrainProviderChangedListener = null;
1125
- }
1126
- this._terrainProvider = null;
1127
- this.defaultTerrainProvider = null;
1128
-
1129
- if (this._clockTickListener) {
1130
- this._clockTickListener();
1131
- this._clockTickListener = null;
1132
- }
1133
-
1134
- if (this._clockSyncListener) {
1135
- this._clockSyncListener();
1136
- this._clockSyncListener = null;
1137
- }
1138
-
1139
- if (this._preUpdateListener) {
1140
- this._preUpdateListener();
1141
- this._preUpdateListener = null;
1142
- }
1143
-
1144
- if (this._cameraLimiter) {
1145
- this._cameraLimiter = null;
1146
- }
1147
- if (this._removeClusterClockTickListener) {
1148
- this._removeClusterClockTickListener();
1149
- }
1150
-
1151
- [...this.layerCollection].forEach((l) => { l.removedFromMap(this); });
1152
-
1153
- if (this._clusterDataSourceDisplay) {
1154
- this._clusterDataSourceDisplay.destroy();
1155
- }
1156
- if (this._cesiumWidget) {
1157
- this._cesiumWidget.destroy();
1158
- this._cesiumWidget = null;
1159
- }
1160
- if (this._cesium3DTilesInspector) {
1161
- this._cesium3DTilesInspector.destroy();
1162
- this._cesium3DTilesInspector = null;
1163
- }
1164
- if (this._cesiumInspector) {
1165
- this._cesiumInspector.destroy();
1166
- this._cesiumInspector = null;
1167
- }
1168
- if (this._cesiumInspectorContainer) {
1169
- this._cesiumInspectorContainer.parentElement.removeChild(this._cesiumInspectorContainer);
1170
- this._cesiumInspectorContainer = null;
1171
- }
1172
- super.destroy();
1173
- }
1174
- }
1175
-
1176
- VcsClassRegistry.registerClass(CesiumMap.className, CesiumMap);
1177
- export default CesiumMap;