@vcmap/core 6.1.11 → 6.2.0-rc.1

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 (798) hide show
  1. package/README.md +8 -6
  2. package/build/buildShader.js +61 -0
  3. package/build/postinstall.js +6 -3
  4. package/dist/cesium.d.ts +52 -18
  5. package/dist/geojson.d.ts +3 -2
  6. package/dist/index.d.ts +239 -109
  7. package/dist/index.js +78 -63
  8. package/dist/index.js.map +1 -1
  9. package/dist/ol.d.ts +27 -29
  10. package/dist/src/category/category.d.ts +3 -2
  11. package/dist/src/category/category.js +2 -2
  12. package/dist/src/category/category.js.map +1 -1
  13. package/dist/src/category/categoryCollection.d.ts +3 -2
  14. package/dist/src/category/categoryCollection.js.map +1 -1
  15. package/dist/src/cesium/cesium3DTileFeature.d.ts +2 -1
  16. package/dist/src/cesium/cesium3DTileFeature.js +2 -3
  17. package/dist/src/cesium/cesium3DTileFeature.js.map +1 -1
  18. package/dist/src/cesium/cesiumVcsCameraPrimitive.js +6 -5
  19. package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -1
  20. package/dist/src/cesium/entity.js +1 -1
  21. package/dist/src/cesium/entity.js.map +1 -1
  22. package/dist/src/classRegistry.d.ts +4 -4
  23. package/dist/src/classRegistry.js +2 -0
  24. package/dist/src/classRegistry.js.map +1 -1
  25. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +2 -1
  26. package/dist/src/featureProvider/abstractFeatureProvider.js +8 -2
  27. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
  28. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +38 -10
  29. package/dist/src/featureProvider/wmsFeatureProvider.js +69 -15
  30. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
  31. package/dist/src/interaction/abstractInteraction.d.ts +5 -4
  32. package/dist/src/interaction/abstractInteraction.js +1 -1
  33. package/dist/src/interaction/abstractInteraction.js.map +1 -1
  34. package/dist/src/interaction/coordinateAtPixel.js +23 -0
  35. package/dist/src/interaction/coordinateAtPixel.js.map +1 -1
  36. package/dist/src/interaction/eventHandler.d.ts +4 -3
  37. package/dist/src/interaction/eventHandler.js +1 -1
  38. package/dist/src/interaction/eventHandler.js.map +1 -1
  39. package/dist/src/interaction/featureAtPixelInteraction.d.ts +5 -0
  40. package/dist/src/interaction/featureAtPixelInteraction.js +7 -4
  41. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  42. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  43. package/dist/src/interaction/interactionType.js +1 -0
  44. package/dist/src/interaction/interactionType.js.map +1 -1
  45. package/dist/src/interaction/panoramaFeatureHighlight.d.ts +29 -0
  46. package/dist/src/interaction/panoramaFeatureHighlight.js +88 -0
  47. package/dist/src/interaction/panoramaFeatureHighlight.js.map +1 -0
  48. package/dist/src/interaction/panoramaImageSelection.d.ts +8 -0
  49. package/dist/src/interaction/panoramaImageSelection.js +29 -0
  50. package/dist/src/interaction/panoramaImageSelection.js.map +1 -0
  51. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +6 -5
  52. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +2 -2
  53. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
  54. package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +3 -2
  55. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -1
  56. package/dist/src/layer/cesium/resourceHelper.js +0 -1
  57. package/dist/src/layer/cesium/resourceHelper.js.map +1 -1
  58. package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +2 -2
  59. package/dist/src/layer/cesium/sourceVectorContextSync.js +1 -1
  60. package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -1
  61. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +1 -1
  62. package/dist/src/layer/cesium/vcsTile/vcsChildTile.d.ts +3 -2
  63. package/dist/src/layer/cesium/vcsTile/vcsChildTile.js +1 -1
  64. package/dist/src/layer/cesium/vcsTile/vcsChildTile.js.map +1 -1
  65. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.d.ts +3 -2
  66. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js +1 -1
  67. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js.map +1 -1
  68. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.d.ts +3 -2
  69. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js +1 -1
  70. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js.map +1 -1
  71. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.d.ts +6 -5
  72. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js +4 -4
  73. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js.map +1 -1
  74. package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.d.ts +6 -5
  75. package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.js.map +1 -1
  76. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.d.ts +3 -2
  77. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js +1 -1
  78. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js.map +1 -1
  79. package/dist/src/layer/cesium/vectorCesiumImpl.js +1 -1
  80. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  81. package/dist/src/layer/cesium/vectorContext.d.ts +9 -8
  82. package/dist/src/layer/cesium/vectorContext.js +6 -5
  83. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  84. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +1 -1
  85. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -1
  86. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
  87. package/dist/src/layer/cesium/vectorTileCesiumImpl.d.ts +3 -3
  88. package/dist/src/layer/cesium/vectorTileCesiumImpl.js +2 -1
  89. package/dist/src/layer/cesium/vectorTileCesiumImpl.js.map +1 -1
  90. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +1 -1
  91. package/dist/src/layer/cesium/vectorTileImageryProvider.js +3 -2
  92. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
  93. package/dist/src/layer/cesium/wmsCesiumImpl.js +3 -2
  94. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
  95. package/dist/src/layer/cesiumTilesetLayer.d.ts +6 -4
  96. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
  97. package/dist/src/layer/czmlLayer.js.map +1 -1
  98. package/dist/src/layer/dataSourceLayer.d.ts +4 -2
  99. package/dist/src/layer/dataSourceLayer.js +1 -1
  100. package/dist/src/layer/dataSourceLayer.js.map +1 -1
  101. package/dist/src/layer/featureLayer.d.ts +4 -2
  102. package/dist/src/layer/featureLayer.js.map +1 -1
  103. package/dist/src/layer/featureStoreFeatureVisibility.d.ts +2 -1
  104. package/dist/src/layer/featureStoreFeatureVisibility.js.map +1 -1
  105. package/dist/src/layer/featureStoreLayer.d.ts +8 -6
  106. package/dist/src/layer/featureStoreLayer.js +2 -2
  107. package/dist/src/layer/featureStoreLayer.js.map +1 -1
  108. package/dist/src/layer/featureStoreLayerChanges.d.ts +1 -1
  109. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
  110. package/dist/src/layer/featureVisibility.d.ts +2 -1
  111. package/dist/src/layer/featureVisibility.js.map +1 -1
  112. package/dist/src/layer/flatGeobufHelpers.d.ts +18 -3
  113. package/dist/src/layer/flatGeobufHelpers.js +21 -1
  114. package/dist/src/layer/flatGeobufHelpers.js.map +1 -1
  115. package/dist/src/layer/flatGeobufLayer.d.ts +2 -1
  116. package/dist/src/layer/flatGeobufLayer.js.map +1 -1
  117. package/dist/src/layer/geojsonHelpers.d.ts +1 -1
  118. package/dist/src/layer/geojsonHelpers.js +8 -6
  119. package/dist/src/layer/geojsonHelpers.js.map +1 -1
  120. package/dist/src/layer/geojsonLayer.d.ts +2 -1
  121. package/dist/src/layer/geojsonLayer.js +3 -1
  122. package/dist/src/layer/geojsonLayer.js.map +1 -1
  123. package/dist/src/layer/globalHider.d.ts +1 -1
  124. package/dist/src/layer/globalHider.js.map +1 -1
  125. package/dist/src/layer/layer.d.ts +9 -7
  126. package/dist/src/layer/layer.js +1 -1
  127. package/dist/src/layer/layer.js.map +1 -1
  128. package/dist/src/layer/oblique/obliqueHelpers.js +2 -0
  129. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
  130. package/dist/src/layer/oblique/sourceObliqueSync.d.ts +1 -1
  131. package/dist/src/layer/oblique/sourceObliqueSync.js +7 -7
  132. package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -1
  133. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -2
  134. package/dist/src/layer/oblique/vectorObliqueImpl.js +3 -3
  135. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  136. package/dist/src/layer/openStreetMapLayer.d.ts +5 -4
  137. package/dist/src/layer/openStreetMapLayer.js +1 -1
  138. package/dist/src/layer/openStreetMapLayer.js.map +1 -1
  139. package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +1 -1
  140. package/dist/src/layer/openlayers/layerOpenlayersImpl.js +0 -1
  141. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -1
  142. package/dist/src/layer/openlayers/loadFunctionHelpers.js +0 -1
  143. package/dist/src/layer/openlayers/loadFunctionHelpers.js.map +1 -1
  144. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +1 -1
  145. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +2 -2
  146. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -1
  147. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +1 -1
  148. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -1
  149. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +1 -1
  150. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
  151. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +1 -1
  152. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.d.ts +13 -0
  153. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js +34 -0
  154. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js.map +1 -0
  155. package/dist/src/layer/panorama/vectorTilePanoramaImpl.d.ts +28 -0
  156. package/dist/src/layer/panorama/vectorTilePanoramaImpl.js +114 -0
  157. package/dist/src/layer/panorama/vectorTilePanoramaImpl.js.map +1 -0
  158. package/dist/src/layer/panoramaDatasetLayer.d.ts +54 -0
  159. package/dist/src/layer/panoramaDatasetLayer.js +201 -0
  160. package/dist/src/layer/panoramaDatasetLayer.js.map +1 -0
  161. package/dist/src/layer/pointCloudLayer.d.ts +8 -5
  162. package/dist/src/layer/pointCloudLayer.js +1 -1
  163. package/dist/src/layer/pointCloudLayer.js.map +1 -1
  164. package/dist/src/layer/rasterLayer.d.ts +6 -4
  165. package/dist/src/layer/rasterLayer.js.map +1 -1
  166. package/dist/src/layer/singleImageLayer.d.ts +3 -2
  167. package/dist/src/layer/singleImageLayer.js.map +1 -1
  168. package/dist/src/layer/terrainHelpers.d.ts +1 -1
  169. package/dist/src/layer/terrainHelpers.js.map +1 -1
  170. package/dist/src/layer/terrainLayer.d.ts +3 -2
  171. package/dist/src/layer/terrainLayer.js.map +1 -1
  172. package/dist/src/layer/tileLoadedHelper.d.ts +2 -2
  173. package/dist/src/layer/tileProvider/flatGeobufTileProvider.d.ts +7 -4
  174. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js +10 -2
  175. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js.map +1 -1
  176. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +3 -2
  177. package/dist/src/layer/tileProvider/mvtTileProvider.js +3 -3
  178. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
  179. package/dist/src/layer/tileProvider/staticFeatureTileProvider.d.ts +3 -2
  180. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js +0 -1
  181. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js.map +1 -1
  182. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +2 -1
  183. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -1
  184. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
  185. package/dist/src/layer/tileProvider/tileProvider.d.ts +3 -2
  186. package/dist/src/layer/tileProvider/tileProvider.js +10 -3
  187. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
  188. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +2 -1
  189. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
  190. package/dist/src/layer/tmsLayer.d.ts +3 -2
  191. package/dist/src/layer/tmsLayer.js +1 -1
  192. package/dist/src/layer/tmsLayer.js.map +1 -1
  193. package/dist/src/layer/vectorHelpers.d.ts +2 -2
  194. package/dist/src/layer/vectorHelpers.js +1 -1
  195. package/dist/src/layer/vectorHelpers.js.map +1 -1
  196. package/dist/src/layer/vectorLayer.d.ts +12 -8
  197. package/dist/src/layer/vectorLayer.js +1 -1
  198. package/dist/src/layer/vectorLayer.js.map +1 -1
  199. package/dist/src/layer/vectorProperties.d.ts +3 -3
  200. package/dist/src/layer/vectorProperties.js +4 -0
  201. package/dist/src/layer/vectorProperties.js.map +1 -1
  202. package/dist/src/layer/vectorSymbols.d.ts +8 -0
  203. package/dist/src/layer/vectorSymbols.js +8 -0
  204. package/dist/src/layer/vectorSymbols.js.map +1 -1
  205. package/dist/src/layer/vectorTileLayer.d.ts +17 -10
  206. package/dist/src/layer/vectorTileLayer.js +8 -1
  207. package/dist/src/layer/vectorTileLayer.js.map +1 -1
  208. package/dist/src/layer/wfsLayer.d.ts +2 -1
  209. package/dist/src/layer/wfsLayer.js +6 -4
  210. package/dist/src/layer/wfsLayer.js.map +1 -1
  211. package/dist/src/layer/wmsHelpers.js +2 -2
  212. package/dist/src/layer/wmsHelpers.js.map +1 -1
  213. package/dist/src/layer/wmsLayer.d.ts +4 -3
  214. package/dist/src/layer/wmsLayer.js.map +1 -1
  215. package/dist/src/layer/wmtsLayer.d.ts +3 -2
  216. package/dist/src/layer/wmtsLayer.js +1 -1
  217. package/dist/src/layer/wmtsLayer.js.map +1 -1
  218. package/dist/src/map/baseOLMap.d.ts +1 -1
  219. package/dist/src/map/baseOLMap.js +17 -8
  220. package/dist/src/map/baseOLMap.js.map +1 -1
  221. package/dist/src/map/cameraLimiter.d.ts +2 -1
  222. package/dist/src/map/cameraLimiter.js.map +1 -1
  223. package/dist/src/map/cesiumMap.d.ts +5 -7
  224. package/dist/src/map/cesiumMap.js +27 -186
  225. package/dist/src/map/cesiumMap.js.map +1 -1
  226. package/dist/src/map/cesiumMapHelpers.d.ts +7 -0
  227. package/dist/src/map/cesiumMapHelpers.js +144 -0
  228. package/dist/src/map/cesiumMapHelpers.js.map +1 -0
  229. package/dist/src/map/navigation/cameraHelper.d.ts +3 -2
  230. package/dist/src/map/navigation/cameraHelper.js.map +1 -1
  231. package/dist/src/map/navigation/cesiumNavigation.d.ts +4 -3
  232. package/dist/src/map/navigation/cesiumNavigation.js.map +1 -1
  233. package/dist/src/map/navigation/controller/controller.d.ts +1 -1
  234. package/dist/src/map/navigation/controller/controller.js +2 -2
  235. package/dist/src/map/navigation/controller/controller.js.map +1 -1
  236. package/dist/src/map/navigation/controller/keyboardController.d.ts +3 -2
  237. package/dist/src/map/navigation/controller/keyboardController.js +4 -2
  238. package/dist/src/map/navigation/controller/keyboardController.js.map +1 -1
  239. package/dist/src/map/navigation/easingHelper.d.ts +1 -1
  240. package/dist/src/map/navigation/easingHelper.js +1 -1
  241. package/dist/src/map/navigation/easingHelper.js.map +1 -1
  242. package/dist/src/map/navigation/navigation.d.ts +6 -6
  243. package/dist/src/map/navigation/navigation.js +6 -2
  244. package/dist/src/map/navigation/navigation.js.map +1 -1
  245. package/dist/src/map/navigation/navigationImpl.d.ts +2 -2
  246. package/dist/src/map/navigation/obliqueNavigation.d.ts +4 -3
  247. package/dist/src/map/navigation/obliqueNavigation.js +3 -1
  248. package/dist/src/map/navigation/obliqueNavigation.js.map +1 -1
  249. package/dist/src/map/navigation/openlayersNavigation.d.ts +4 -3
  250. package/dist/src/map/navigation/openlayersNavigation.js.map +1 -1
  251. package/dist/src/map/navigation/viewHelper.d.ts +2 -2
  252. package/dist/src/map/navigation/viewHelper.js +0 -1
  253. package/dist/src/map/navigation/viewHelper.js.map +1 -1
  254. package/dist/src/map/obliqueMap.d.ts +3 -3
  255. package/dist/src/map/obliqueMap.js +1 -1
  256. package/dist/src/map/obliqueMap.js.map +1 -1
  257. package/dist/src/map/panoramaMap.d.ts +98 -0
  258. package/dist/src/map/panoramaMap.js +293 -0
  259. package/dist/src/map/panoramaMap.js.map +1 -0
  260. package/dist/src/map/vcsMap.d.ts +3 -3
  261. package/dist/src/map/vcsMap.js +17 -11
  262. package/dist/src/map/vcsMap.js.map +1 -1
  263. package/dist/src/moduleIdSymbol.js +0 -1
  264. package/dist/src/moduleIdSymbol.js.map +1 -1
  265. package/dist/src/oblique/defaultObliqueCollection.js +3 -1
  266. package/dist/src/oblique/defaultObliqueCollection.js.map +1 -1
  267. package/dist/src/oblique/helpers.d.ts +1 -1
  268. package/dist/src/oblique/helpers.js +1 -1
  269. package/dist/src/oblique/helpers.js.map +1 -1
  270. package/dist/src/oblique/obliqueCollection.d.ts +3 -2
  271. package/dist/src/oblique/obliqueCollection.js.map +1 -1
  272. package/dist/src/oblique/obliqueDataSet.d.ts +2 -1
  273. package/dist/src/oblique/obliqueDataSet.js.map +1 -1
  274. package/dist/src/oblique/obliqueImage.d.ts +1 -1
  275. package/dist/src/oblique/obliqueProvider.d.ts +1 -1
  276. package/dist/src/oblique/obliqueProvider.js.map +1 -1
  277. package/dist/src/oblique/obliqueView.js +1 -0
  278. package/dist/src/oblique/obliqueView.js.map +1 -1
  279. package/dist/src/oblique/parseImageJson.js +2 -3
  280. package/dist/src/oblique/parseImageJson.js.map +1 -1
  281. package/dist/src/ol/feature.js.map +1 -1
  282. package/dist/src/ol/geom/circle.js.map +1 -1
  283. package/dist/src/ol/render/canvas/canvasTileRenderer.js +0 -1
  284. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -1
  285. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +1 -1
  286. package/dist/src/ol/source/VcsCluster.d.ts +3 -3
  287. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  288. package/dist/src/overrideClassRegistry.d.ts +3 -3
  289. package/dist/src/overrideClassRegistry.js +1 -0
  290. package/dist/src/overrideClassRegistry.js.map +1 -1
  291. package/dist/src/panorama/fieldOfView.d.ts +57 -0
  292. package/dist/src/panorama/fieldOfView.js +135 -0
  293. package/dist/src/panorama/fieldOfView.js.map +1 -0
  294. package/dist/src/panorama/panoramaCameraController.d.ts +35 -0
  295. package/dist/src/panorama/panoramaCameraController.js +146 -0
  296. package/dist/src/panorama/panoramaCameraController.js.map +1 -0
  297. package/dist/src/panorama/panoramaImage.d.ts +135 -0
  298. package/dist/src/panorama/panoramaImage.js +269 -0
  299. package/dist/src/panorama/panoramaImage.js.map +1 -0
  300. package/dist/src/panorama/panoramaImageCache.d.ts +8 -0
  301. package/dist/src/panorama/panoramaImageCache.js +18 -0
  302. package/dist/src/panorama/panoramaImageCache.js.map +1 -0
  303. package/dist/src/panorama/panoramaImageView.d.ts +25 -0
  304. package/dist/src/panorama/panoramaImageView.js +331 -0
  305. package/dist/src/panorama/panoramaImageView.js.map +1 -0
  306. package/dist/src/panorama/panoramaTile.d.ts +19 -0
  307. package/dist/src/panorama/panoramaTile.js +57 -0
  308. package/dist/src/panorama/panoramaTile.js.map +1 -0
  309. package/dist/src/panorama/panoramaTileCache.d.ts +16 -0
  310. package/dist/src/panorama/panoramaTileCache.js +34 -0
  311. package/dist/src/panorama/panoramaTileCache.js.map +1 -0
  312. package/dist/src/panorama/panoramaTileCoordinate.d.ts +56 -0
  313. package/dist/src/panorama/panoramaTileCoordinate.js +110 -0
  314. package/dist/src/panorama/panoramaTileCoordinate.js.map +1 -0
  315. package/dist/src/panorama/panoramaTileMaterial.d.ts +102 -0
  316. package/dist/src/panorama/panoramaTileMaterial.js +225 -0
  317. package/dist/src/panorama/panoramaTileMaterial.js.map +1 -0
  318. package/dist/src/panorama/panoramaTileMaterialFS.shader.d.ts +2 -0
  319. package/dist/src/panorama/panoramaTileMaterialFS.shader.js +170 -0
  320. package/dist/src/panorama/panoramaTileMaterialFS.shader.js.map +1 -0
  321. package/dist/src/panorama/panoramaTilePrimitiveCollection.d.ts +31 -0
  322. package/dist/src/panorama/panoramaTilePrimitiveCollection.js +113 -0
  323. package/dist/src/panorama/panoramaTilePrimitiveCollection.js.map +1 -0
  324. package/dist/src/panorama/panoramaTileProvider.d.ts +67 -0
  325. package/dist/src/panorama/panoramaTileProvider.js +313 -0
  326. package/dist/src/panorama/panoramaTileProvider.js.map +1 -0
  327. package/dist/src/panorama/sphericalCoordinates.d.ts +20 -0
  328. package/dist/src/panorama/sphericalCoordinates.js +78 -0
  329. package/dist/src/panorama/sphericalCoordinates.js.map +1 -0
  330. package/dist/src/style/arrowStyle.d.ts +1 -1
  331. package/dist/src/style/arrowStyle.js.map +1 -1
  332. package/dist/src/style/declarativeStyleItem.d.ts +1 -1
  333. package/dist/src/style/declarativeStyleItem.js +12 -14
  334. package/dist/src/style/declarativeStyleItem.js.map +1 -1
  335. package/dist/src/style/styleFactory.d.ts +2 -2
  336. package/dist/src/style/styleFactory.js +1 -2
  337. package/dist/src/style/styleFactory.js.map +1 -1
  338. package/dist/src/style/styleHelpers.d.ts +2 -2
  339. package/dist/src/style/styleHelpers.js +6 -6
  340. package/dist/src/style/styleHelpers.js.map +1 -1
  341. package/dist/src/style/styleItem.d.ts +4 -2
  342. package/dist/src/style/styleItem.js +3 -1
  343. package/dist/src/style/styleItem.js.map +1 -1
  344. package/dist/src/style/vectorStyleItem.d.ts +7 -5
  345. package/dist/src/style/vectorStyleItem.js +9 -19
  346. package/dist/src/style/vectorStyleItem.js.map +1 -1
  347. package/dist/src/style/writeStyle.d.ts +2 -2
  348. package/dist/src/style/writeStyle.js.map +1 -1
  349. package/dist/src/util/clipping/clippingObject.js.map +1 -1
  350. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
  351. package/dist/src/util/clipping/clippingPolygonHelper.d.ts +2 -1
  352. package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -1
  353. package/dist/src/util/clipping/clippingPolygonObject.d.ts +4 -3
  354. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -1
  355. package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +3 -4
  356. package/dist/src/util/clipping/clippingPolygonObjectCollection.js +37 -11
  357. package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -1
  358. package/dist/src/util/collection.js.map +1 -1
  359. package/dist/src/util/createAbsoluteFeature.d.ts +4 -0
  360. package/dist/src/util/createAbsoluteFeature.js +98 -0
  361. package/dist/src/util/createAbsoluteFeature.js.map +1 -0
  362. package/dist/src/util/displayQuality/displayQuality.d.ts +3 -5
  363. package/dist/src/util/displayQuality/displayQuality.js +4 -5
  364. package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
  365. package/dist/src/util/editor/createFeatureSession.d.ts +4 -3
  366. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  367. package/dist/src/util/editor/editFeaturesSession.d.ts +2 -1
  368. package/dist/src/util/editor/editFeaturesSession.js +3 -1
  369. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  370. package/dist/src/util/editor/editGeometrySession.d.ts +3 -2
  371. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  372. package/dist/src/util/editor/editorHelpers.d.ts +5 -4
  373. package/dist/src/util/editor/editorHelpers.js +4 -0
  374. package/dist/src/util/editor/editorHelpers.js.map +1 -1
  375. package/dist/src/util/editor/editorSessionHelpers.d.ts +3 -3
  376. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
  377. package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +2 -1
  378. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
  379. package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +3 -2
  380. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
  381. package/dist/src/util/editor/interactions/createPointInteraction.d.ts +3 -2
  382. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
  383. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +3 -2
  384. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
  385. package/dist/src/util/editor/interactions/creationSnapping.d.ts +2 -2
  386. package/dist/src/util/editor/interactions/creationSnapping.js +1 -1
  387. package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -1
  388. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +2 -1
  389. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -1
  390. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +2 -1
  391. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
  392. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +2 -1
  393. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
  394. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -2
  395. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
  396. package/dist/src/util/editor/interactions/layerSnapping.d.ts +4 -4
  397. package/dist/src/util/editor/interactions/layerSnapping.js +1 -1
  398. package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -1
  399. package/dist/src/util/editor/interactions/mapInteractionController.d.ts +2 -1
  400. package/dist/src/util/editor/interactions/mapInteractionController.js +1 -0
  401. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
  402. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +3 -2
  403. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
  404. package/dist/src/util/editor/interactions/rightClickInteraction.d.ts +2 -1
  405. package/dist/src/util/editor/interactions/rightClickInteraction.js.map +1 -1
  406. package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +2 -1
  407. package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -1
  408. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +3 -2
  409. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +13 -13
  410. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -1
  411. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +3 -3
  412. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +1 -1
  413. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -1
  414. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +2 -1
  415. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +1 -1
  416. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -1
  417. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +3 -2
  418. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
  419. package/dist/src/util/editor/interactions/translationSnapping.d.ts +2 -2
  420. package/dist/src/util/editor/interactions/translationSnapping.js +1 -1
  421. package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -1
  422. package/dist/src/util/editor/selectFeaturesSession.d.ts +3 -2
  423. package/dist/src/util/editor/selectFeaturesSession.js +1 -1
  424. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  425. package/dist/src/util/editor/snappingHelpers.d.ts +3 -3
  426. package/dist/src/util/editor/snappingHelpers.js.map +1 -1
  427. package/dist/src/util/editor/transformation/create2DHandlers.d.ts +2 -1
  428. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
  429. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +3 -2
  430. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
  431. package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +3 -2
  432. package/dist/src/util/editor/transformation/extrudeInteraction.js +1 -1
  433. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -1
  434. package/dist/src/util/editor/transformation/rotateInteraction.d.ts +4 -2
  435. package/dist/src/util/editor/transformation/rotateInteraction.js +1 -1
  436. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -1
  437. package/dist/src/util/editor/transformation/scaleInteraction.d.ts +3 -2
  438. package/dist/src/util/editor/transformation/scaleInteraction.js +1 -1
  439. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
  440. package/dist/src/util/editor/transformation/transformationHandler.d.ts +2 -1
  441. package/dist/src/util/editor/transformation/transformationHandler.js +1 -1
  442. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
  443. package/dist/src/util/editor/transformation/translateInteraction.d.ts +3 -2
  444. package/dist/src/util/editor/transformation/translateInteraction.js +2 -2
  445. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
  446. package/dist/src/util/exclusiveManager.d.ts +1 -1
  447. package/dist/src/util/exclusiveManager.js.map +1 -1
  448. package/dist/src/util/featureconverter/arcToCesium.d.ts +1 -1
  449. package/dist/src/util/featureconverter/arcToCesium.js +1 -2
  450. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
  451. package/dist/src/util/featureconverter/circleToCesium.d.ts +1 -1
  452. package/dist/src/util/featureconverter/circleToCesium.js +1 -1
  453. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
  454. package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -1
  455. package/dist/src/util/featureconverter/clampedPrimitive.js +0 -1
  456. package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -1
  457. package/dist/src/util/featureconverter/convert.d.ts +4 -3
  458. package/dist/src/util/featureconverter/convert.js +1 -1
  459. package/dist/src/util/featureconverter/convert.js.map +1 -1
  460. package/dist/src/util/featureconverter/extent3D.d.ts +2 -2
  461. package/dist/src/util/featureconverter/extent3D.js.map +1 -1
  462. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +5 -5
  463. package/dist/src/util/featureconverter/lineStringToCesium.js +1 -2
  464. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
  465. package/dist/src/util/featureconverter/pointHelpers.d.ts +6 -5
  466. package/dist/src/util/featureconverter/pointHelpers.js +2 -3
  467. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
  468. package/dist/src/util/featureconverter/pointToCesium.d.ts +6 -11
  469. package/dist/src/util/featureconverter/pointToCesium.js +3 -20
  470. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
  471. package/dist/src/util/featureconverter/polygonToCesium.d.ts +1 -1
  472. package/dist/src/util/featureconverter/polygonToCesium.js +1 -1
  473. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
  474. package/dist/src/util/featureconverter/storeyHelpers.d.ts +2 -2
  475. package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +2 -2
  476. package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -1
  477. package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +8 -2
  478. package/dist/src/util/featureconverter/vectorHeightInfo.js +17 -0
  479. package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -1
  480. package/dist/src/util/flight/flightAnchor.js +4 -3
  481. package/dist/src/util/flight/flightAnchor.js.map +1 -1
  482. package/dist/src/util/flight/flightCollection.d.ts +2 -2
  483. package/dist/src/util/flight/flightCollection.js.map +1 -1
  484. package/dist/src/util/flight/flightHelpers.d.ts +1 -1
  485. package/dist/src/util/flight/flightInstance.d.ts +3 -2
  486. package/dist/src/util/flight/flightInstance.js.map +1 -1
  487. package/dist/src/util/flight/flightPlayer.js +1 -1
  488. package/dist/src/util/flight/flightPlayer.js.map +1 -1
  489. package/dist/src/util/flight/flightVisualizer.d.ts +1 -1
  490. package/dist/src/util/flight/flightVisualizer.js.map +1 -1
  491. package/dist/src/util/geometryHelpers.d.ts +3 -5
  492. package/dist/src/util/geometryHelpers.js +0 -91
  493. package/dist/src/util/geometryHelpers.js.map +1 -1
  494. package/dist/src/util/hiddenObjects.d.ts +2 -2
  495. package/dist/src/util/hiddenObjects.js +0 -1
  496. package/dist/src/util/hiddenObjects.js.map +1 -1
  497. package/dist/src/util/indexedCollection.js.map +1 -1
  498. package/dist/src/util/isMobile.js +3 -2
  499. package/dist/src/util/isMobile.js.map +1 -1
  500. package/dist/src/util/layerCollection.d.ts +6 -1
  501. package/dist/src/util/layerCollection.js +5 -1
  502. package/dist/src/util/layerCollection.js.map +1 -1
  503. package/dist/src/util/locale.js +0 -1
  504. package/dist/src/util/locale.js.map +1 -1
  505. package/dist/src/util/mapCollection.d.ts +9 -4
  506. package/dist/src/util/mapCollection.js +67 -34
  507. package/dist/src/util/mapCollection.js.map +1 -1
  508. package/dist/src/util/overrideCollection.d.ts +1 -1
  509. package/dist/src/util/overrideCollection.js +3 -1
  510. package/dist/src/util/overrideCollection.js.map +1 -1
  511. package/dist/src/util/projection.d.ts +1 -1
  512. package/dist/src/util/projection.js +2 -2
  513. package/dist/src/util/projection.js.map +1 -1
  514. package/dist/src/util/renderScreenshot.d.ts +1 -1
  515. package/dist/src/util/rotation.d.ts +4 -3
  516. package/dist/src/util/rotation.js +1 -1
  517. package/dist/src/util/rotation.js.map +1 -1
  518. package/dist/src/util/urlHelpers.js +0 -1
  519. package/dist/src/util/urlHelpers.js.map +1 -1
  520. package/dist/src/util/vcsTemplate.js +2 -4
  521. package/dist/src/util/vcsTemplate.js.map +1 -1
  522. package/dist/src/util/viewpoint.d.ts +6 -2
  523. package/dist/src/util/viewpoint.js +11 -1
  524. package/dist/src/util/viewpoint.js.map +1 -1
  525. package/dist/src/vcsApp.d.ts +7 -6
  526. package/dist/src/vcsApp.js +20 -14
  527. package/dist/src/vcsApp.js.map +1 -1
  528. package/dist/src/vcsEvent.js.map +1 -1
  529. package/dist/src/vcsModuleHelpers.js +3 -3
  530. package/dist/src/vcsModuleHelpers.js.map +1 -1
  531. package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +4 -4
  532. package/dist/src/vectorCluster/vectorClusterCesiumContext.js +1 -1
  533. package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -1
  534. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +9 -6
  535. package/dist/src/vectorCluster/vectorClusterGroup.js +17 -5
  536. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -1
  537. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +2 -2
  538. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +1 -1
  539. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -1
  540. package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +1 -1
  541. package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +5 -5
  542. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +2 -2
  543. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +1 -1
  544. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -1
  545. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +2 -2
  546. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +4 -3
  547. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -1
  548. package/dist/src/vectorCluster/vectorClusterSymbols.js +0 -1
  549. package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -1
  550. package/dist/src/workers/panoramaImageWorker.d.ts +1 -0
  551. package/dist/src/workers/panoramaImageWorker.js +34 -0
  552. package/dist/src/workers/panoramaImageWorker.js.map +1 -0
  553. package/dist/tests/data/panorama/badOrientation.tif +0 -0
  554. package/dist/tests/data/panorama/badPosition.tif +0 -0
  555. package/dist/tests/data/panorama/lowOverview.tif +0 -0
  556. package/dist/tests/data/panorama/noVersionDepth.tif +0 -0
  557. package/dist/tests/data/panorama/noVersionRgb.tif +0 -0
  558. package/dist/tests/data/panorama/testDepthGeotiff.tif +0 -0
  559. package/dist/tests/data/panorama/testRgbGeotiff.tif +0 -0
  560. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +6 -2
  561. package/dist/tests/unit/helpers/cesiumHelpers.js +15 -6
  562. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  563. package/dist/tests/unit/helpers/flatGeobufHelpers.d.ts +2 -0
  564. package/dist/tests/unit/helpers/flatGeobufHelpers.js +13 -0
  565. package/dist/tests/unit/helpers/flatGeobufHelpers.js.map +1 -0
  566. package/dist/tests/unit/helpers/helpers.d.ts +4 -0
  567. package/dist/tests/unit/helpers/helpers.js +26 -1
  568. package/dist/tests/unit/helpers/helpers.js.map +1 -1
  569. package/dist/tests/unit/helpers/panoramaHelpers.d.ts +30 -0
  570. package/dist/tests/unit/helpers/panoramaHelpers.js +76 -0
  571. package/dist/tests/unit/helpers/panoramaHelpers.js.map +1 -0
  572. package/index.ts +316 -279
  573. package/package.json +17 -49
  574. package/src/category/category.ts +9 -6
  575. package/src/category/categoryCollection.ts +4 -3
  576. package/src/cesium/cesium.d.ts +52 -18
  577. package/src/cesium/cesium3DTileFeature.ts +6 -7
  578. package/src/cesium/cesiumVcsCameraPrimitive.ts +6 -5
  579. package/src/cesium/entity.ts +1 -1
  580. package/src/classRegistry.ts +19 -18
  581. package/src/featureProvider/abstractFeatureProvider.ts +8 -4
  582. package/src/featureProvider/wmsFeatureProvider.ts +97 -23
  583. package/src/global.d.ts +6 -1
  584. package/src/interaction/abstractInteraction.ts +5 -5
  585. package/src/interaction/coordinateAtPixel.ts +37 -0
  586. package/src/interaction/eventHandler.ts +6 -8
  587. package/src/interaction/featureAtPixelInteraction.ts +24 -13
  588. package/src/interaction/featureProviderInteraction.ts +6 -7
  589. package/src/interaction/interactionType.ts +1 -0
  590. package/src/interaction/panoramaFeatureHighlight.ts +109 -0
  591. package/src/interaction/panoramaImageSelection.ts +37 -0
  592. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +14 -10
  593. package/src/layer/cesium/dataSourceCesiumImpl.ts +8 -6
  594. package/src/layer/cesium/resourceHelper.ts +0 -1
  595. package/src/layer/cesium/sourceVectorContextSync.ts +4 -4
  596. package/src/layer/cesium/terrainCesiumImpl.ts +1 -1
  597. package/src/layer/cesium/vcsTile/vcsChildTile.ts +3 -3
  598. package/src/layer/cesium/vcsTile/vcsDebugTile.ts +5 -10
  599. package/src/layer/cesium/vcsTile/vcsNoDataTile.ts +3 -3
  600. package/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.ts +19 -17
  601. package/src/layer/cesium/vcsTile/vcsTileHelpers.ts +10 -8
  602. package/src/layer/cesium/vcsTile/vcsVectorTile.ts +7 -11
  603. package/src/layer/cesium/vectorCesiumImpl.ts +2 -4
  604. package/src/layer/cesium/vectorContext.ts +32 -25
  605. package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +2 -2
  606. package/src/layer/cesium/vectorTileCesiumImpl.ts +5 -7
  607. package/src/layer/cesium/vectorTileImageryProvider.ts +4 -4
  608. package/src/layer/cesium/wmsCesiumImpl.ts +3 -2
  609. package/src/layer/cesiumTilesetLayer.ts +6 -8
  610. package/src/layer/czmlLayer.ts +2 -2
  611. package/src/layer/dataSourceLayer.ts +4 -6
  612. package/src/layer/featureLayer.ts +6 -4
  613. package/src/layer/featureStoreFeatureVisibility.ts +2 -1
  614. package/src/layer/featureStoreLayer.ts +18 -14
  615. package/src/layer/featureStoreLayerChanges.ts +7 -7
  616. package/src/layer/featureVisibility.ts +3 -2
  617. package/src/layer/flatGeobufHelpers.ts +46 -6
  618. package/src/layer/flatGeobufLayer.ts +2 -1
  619. package/src/layer/geojsonHelpers.ts +11 -8
  620. package/src/layer/geojsonLayer.ts +8 -5
  621. package/src/layer/globalHider.ts +5 -3
  622. package/src/layer/layer.ts +14 -14
  623. package/src/layer/oblique/obliqueHelpers.ts +2 -0
  624. package/src/layer/oblique/sourceObliqueSync.ts +9 -9
  625. package/src/layer/oblique/vectorObliqueImpl.ts +6 -8
  626. package/src/layer/openStreetMapLayer.ts +7 -8
  627. package/src/layer/openlayers/layerOpenlayersImpl.ts +2 -3
  628. package/src/layer/openlayers/loadFunctionHelpers.ts +0 -1
  629. package/src/layer/openlayers/tileDebugOpenlayersImpl.ts +3 -3
  630. package/src/layer/openlayers/vectorOpenlayersImpl.ts +1 -1
  631. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +3 -3
  632. package/src/layer/openlayers/wmsOpenlayersImpl.ts +1 -1
  633. package/src/layer/panorama/panoramaDatasetPanoramaImpl.ts +49 -0
  634. package/src/layer/panorama/vectorTilePanoramaImpl.ts +163 -0
  635. package/src/layer/panoramaDatasetLayer.ts +283 -0
  636. package/src/layer/pointCloudLayer.ts +9 -12
  637. package/src/layer/rasterLayer.ts +6 -5
  638. package/src/layer/singleImageLayer.ts +3 -2
  639. package/src/layer/terrainHelpers.ts +2 -1
  640. package/src/layer/terrainLayer.ts +3 -2
  641. package/src/layer/tileLoadedHelper.ts +2 -2
  642. package/src/layer/tileProvider/flatGeobufTileProvider.ts +22 -10
  643. package/src/layer/tileProvider/mvtTileProvider.ts +4 -6
  644. package/src/layer/tileProvider/staticFeatureTileProvider.ts +3 -3
  645. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +2 -2
  646. package/src/layer/tileProvider/tileProvider.ts +15 -10
  647. package/src/layer/tileProvider/urlTemplateTileProvider.ts +2 -1
  648. package/src/layer/tmsLayer.ts +3 -3
  649. package/src/layer/vectorHelpers.ts +3 -4
  650. package/src/layer/vectorLayer.ts +14 -15
  651. package/src/layer/vectorProperties.ts +27 -16
  652. package/src/layer/vectorSymbols.ts +10 -0
  653. package/src/layer/vectorTileLayer.ts +39 -29
  654. package/src/layer/wfsLayer.ts +10 -7
  655. package/src/layer/wmsHelpers.ts +2 -2
  656. package/src/layer/wmsLayer.ts +5 -5
  657. package/src/layer/wmtsLayer.ts +3 -3
  658. package/src/map/baseOLMap.ts +18 -9
  659. package/src/map/cameraLimiter.ts +1 -1
  660. package/src/map/cesiumMap.ts +49 -265
  661. package/src/map/cesiumMapHelpers.ts +219 -0
  662. package/src/map/navigation/cameraHelper.ts +2 -3
  663. package/src/map/navigation/cesiumNavigation.ts +5 -4
  664. package/src/map/navigation/controller/controller.ts +3 -6
  665. package/src/map/navigation/controller/keyboardController.ts +7 -7
  666. package/src/map/navigation/easingHelper.ts +2 -5
  667. package/src/map/navigation/navigation.ts +18 -14
  668. package/src/map/navigation/navigationImpl.ts +2 -2
  669. package/src/map/navigation/obliqueNavigation.ts +7 -6
  670. package/src/map/navigation/openlayersNavigation.ts +4 -3
  671. package/src/map/navigation/viewHelper.ts +2 -3
  672. package/src/map/obliqueMap.ts +7 -9
  673. package/src/map/panoramaMap.ts +410 -0
  674. package/src/map/vcsMap.ts +19 -16
  675. package/src/moduleIdSymbol.ts +0 -1
  676. package/src/oblique/defaultObliqueCollection.ts +1 -0
  677. package/src/oblique/helpers.ts +2 -4
  678. package/src/oblique/obliqueCollection.ts +7 -7
  679. package/src/oblique/obliqueDataSet.ts +7 -6
  680. package/src/oblique/obliqueImage.ts +1 -1
  681. package/src/oblique/obliqueProvider.ts +3 -3
  682. package/src/oblique/obliqueView.ts +1 -0
  683. package/src/oblique/parseImageJson.ts +11 -12
  684. package/src/ol/feature.ts +1 -0
  685. package/src/ol/geojson.d.ts +3 -2
  686. package/src/ol/geom/circle.ts +1 -1
  687. package/src/ol/ol.d.ts +27 -29
  688. package/src/ol/render/canvas/canvasTileRenderer.js +0 -1
  689. package/src/ol/source/ClusterEnhancedVectorSource.ts +1 -1
  690. package/src/ol/source/VcsCluster.ts +4 -4
  691. package/src/overrideClassRegistry.ts +14 -10
  692. package/src/panorama/fieldOfView.ts +254 -0
  693. package/src/panorama/panoramaCameraController.ts +206 -0
  694. package/src/panorama/panoramaImage.ts +531 -0
  695. package/src/panorama/panoramaImageCache.ts +19 -0
  696. package/src/panorama/panoramaImageView.ts +448 -0
  697. package/src/panorama/panoramaTile.ts +89 -0
  698. package/src/panorama/panoramaTileCache.ts +40 -0
  699. package/src/panorama/panoramaTileCoordinate.ts +166 -0
  700. package/src/panorama/panoramaTileMaterial.ts +323 -0
  701. package/src/panorama/panoramaTileMaterialFS.glsl +165 -0
  702. package/src/panorama/panoramaTilePrimitiveCollection.ts +158 -0
  703. package/src/panorama/panoramaTileProvider.ts +536 -0
  704. package/src/panorama/sphericalCoordinates.ts +96 -0
  705. package/src/style/arrowStyle.ts +1 -1
  706. package/src/style/declarativeStyleItem.ts +19 -19
  707. package/src/style/styleFactory.ts +6 -7
  708. package/src/style/styleHelpers.ts +9 -9
  709. package/src/style/styleItem.ts +8 -3
  710. package/src/style/vectorStyleItem.ts +24 -30
  711. package/src/style/writeStyle.ts +3 -2
  712. package/src/util/clipping/clippingObject.ts +2 -3
  713. package/src/util/clipping/clippingObjectManager.ts +3 -3
  714. package/src/util/clipping/clippingPolygonHelper.ts +1 -2
  715. package/src/util/clipping/clippingPolygonObject.ts +4 -3
  716. package/src/util/clipping/clippingPolygonObjectCollection.ts +43 -27
  717. package/src/util/collection.ts +1 -1
  718. package/src/util/createAbsoluteFeature.ts +155 -0
  719. package/src/util/displayQuality/displayQuality.ts +7 -8
  720. package/src/util/editor/createFeatureSession.ts +12 -12
  721. package/src/util/editor/editFeaturesSession.ts +6 -4
  722. package/src/util/editor/editGeometrySession.ts +4 -3
  723. package/src/util/editor/editorHelpers.ts +14 -12
  724. package/src/util/editor/editorSessionHelpers.ts +13 -12
  725. package/src/util/editor/interactions/createCircleInteraction.ts +2 -3
  726. package/src/util/editor/interactions/createLineStringInteraction.ts +3 -4
  727. package/src/util/editor/interactions/createPointInteraction.ts +3 -4
  728. package/src/util/editor/interactions/createPolygonInteraction.ts +3 -4
  729. package/src/util/editor/interactions/creationSnapping.ts +4 -7
  730. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +2 -3
  731. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +4 -4
  732. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +2 -3
  733. package/src/util/editor/interactions/insertVertexInteraction.ts +3 -4
  734. package/src/util/editor/interactions/layerSnapping.ts +6 -8
  735. package/src/util/editor/interactions/mapInteractionController.ts +5 -3
  736. package/src/util/editor/interactions/removeVertexInteraction.ts +4 -4
  737. package/src/util/editor/interactions/rightClickInteraction.ts +2 -3
  738. package/src/util/editor/interactions/segmentLengthInteraction.ts +2 -3
  739. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +15 -14
  740. package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +9 -9
  741. package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +5 -7
  742. package/src/util/editor/interactions/translateVertexInteraction.ts +4 -4
  743. package/src/util/editor/interactions/translationSnapping.ts +4 -7
  744. package/src/util/editor/selectFeaturesSession.ts +5 -8
  745. package/src/util/editor/snappingHelpers.ts +21 -20
  746. package/src/util/editor/transformation/create2DHandlers.ts +1 -1
  747. package/src/util/editor/transformation/create3DHandlers.ts +3 -3
  748. package/src/util/editor/transformation/extrudeInteraction.ts +5 -5
  749. package/src/util/editor/transformation/rotateInteraction.ts +7 -6
  750. package/src/util/editor/transformation/scaleInteraction.ts +7 -6
  751. package/src/util/editor/transformation/transformationHandler.ts +3 -3
  752. package/src/util/editor/transformation/translateInteraction.ts +7 -11
  753. package/src/util/exclusiveManager.ts +1 -1
  754. package/src/util/featureconverter/arcToCesium.ts +4 -6
  755. package/src/util/featureconverter/circleToCesium.ts +3 -5
  756. package/src/util/featureconverter/clampedPrimitive.ts +6 -5
  757. package/src/util/featureconverter/convert.ts +22 -24
  758. package/src/util/featureconverter/extent3D.ts +3 -3
  759. package/src/util/featureconverter/lineStringToCesium.ts +7 -7
  760. package/src/util/featureconverter/pointHelpers.ts +10 -11
  761. package/src/util/featureconverter/pointToCesium.ts +18 -44
  762. package/src/util/featureconverter/polygonToCesium.ts +3 -5
  763. package/src/util/featureconverter/storeyHelpers.ts +2 -2
  764. package/src/util/featureconverter/vectorGeometryFactory.ts +41 -39
  765. package/src/util/featureconverter/vectorHeightInfo.ts +60 -30
  766. package/src/util/flight/flightAnchor.ts +4 -3
  767. package/src/util/flight/flightCollection.ts +3 -2
  768. package/src/util/flight/flightHelpers.ts +1 -1
  769. package/src/util/flight/flightInstance.ts +7 -4
  770. package/src/util/flight/flightPlayer.ts +2 -2
  771. package/src/util/flight/flightVisualizer.ts +2 -2
  772. package/src/util/geometryHelpers.ts +3 -135
  773. package/src/util/hiddenObjects.ts +3 -4
  774. package/src/util/indexedCollection.ts +1 -1
  775. package/src/util/isMobile.ts +2 -1
  776. package/src/util/layerCollection.ts +7 -2
  777. package/src/util/locale.ts +0 -1
  778. package/src/util/mapCollection.ts +104 -47
  779. package/src/util/overrideCollection.ts +4 -5
  780. package/src/util/projection.ts +3 -7
  781. package/src/util/renderScreenshot.ts +2 -2
  782. package/src/util/rotation.ts +3 -4
  783. package/src/util/urlHelpers.ts +0 -1
  784. package/src/util/vcsTemplate.ts +6 -5
  785. package/src/util/viewpoint.ts +20 -3
  786. package/src/vcsApp.ts +42 -42
  787. package/src/vcsEvent.ts +1 -1
  788. package/src/vcsModuleHelpers.ts +4 -3
  789. package/src/vectorCluster/vectorClusterCesiumContext.ts +8 -9
  790. package/src/vectorCluster/vectorClusterGroup.ts +26 -16
  791. package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +10 -10
  792. package/src/vectorCluster/vectorClusterGroupCollection.ts +1 -1
  793. package/src/vectorCluster/vectorClusterGroupImpl.ts +5 -5
  794. package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +4 -6
  795. package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +2 -2
  796. package/src/vectorCluster/vectorClusterStyleItem.ts +5 -3
  797. package/src/vectorCluster/vectorClusterSymbols.ts +0 -1
  798. package/src/workers/panoramaImageWorker.ts +50 -0
@@ -0,0 +1,410 @@
1
+ import type { JulianDate, Cesium3DTileset, Scene } from '@vcmap-cesium/engine';
2
+ import {
3
+ Color,
4
+ PrimitiveCollection,
5
+ CesiumWidget,
6
+ ScreenSpaceEventHandler,
7
+ ShadowMode,
8
+ Math as CesiumMath,
9
+ } from '@vcmap-cesium/engine';
10
+ import type { Coordinate } from 'ol/coordinate.js';
11
+ import VcsMap, { type VcsMapOptions } from './vcsMap.js';
12
+ import type { PanoramaImage } from '../panorama/panoramaImage.js';
13
+ import { mapClassRegistry } from '../classRegistry.js';
14
+ import type { PanoramaImageView } from '../panorama/panoramaImageView.js';
15
+ import { createPanoramaImageView } from '../panorama/panoramaImageView.js';
16
+ import {
17
+ getViewpointFromScene,
18
+ setupCesiumInteractions,
19
+ } from './cesiumMapHelpers.js';
20
+ import VcsEvent from '../vcsEvent.js';
21
+ import type { PanoramaCameraController } from '../panorama/panoramaCameraController.js';
22
+ import { createPanoramaCameraController } from '../panorama/panoramaCameraController.js';
23
+ import type Viewpoint from '../util/viewpoint.js';
24
+ import { ensureInCollection, indexChangedOnPrimitive } from './cesiumMap.js';
25
+ import Projection from '../util/projection.js';
26
+ import type Layer from '../layer/layer.js';
27
+ import { defaultCursorColor } from '../panorama/panoramaTileMaterial.js';
28
+ import LayerState from '../layer/layerState.js';
29
+ import type PanoramaDatasetLayer from '../layer/panoramaDatasetLayer.js';
30
+
31
+ export type PanoramaMapOptions = VcsMapOptions & {
32
+ /**
33
+ * Css color string to use for the overlay NaN color.
34
+ */
35
+ overlayNaNColor?: string;
36
+ /**
37
+ * Css color string to use for the cursor color.
38
+ */
39
+ cursorColor?: string;
40
+ };
41
+
42
+ export default class PanoramaMap extends VcsMap {
43
+ static get className(): string {
44
+ return 'PanoramaMap';
45
+ }
46
+
47
+ static getDefaultOptions(): PanoramaMapOptions {
48
+ return {
49
+ ...VcsMap.getDefaultOptions(),
50
+ overlayNaNColor: 'rgba(255, 0, 0, 1)',
51
+ cursorColor: defaultCursorColor,
52
+ fallbackToCurrentMap: false,
53
+ };
54
+ }
55
+
56
+ /**
57
+ * The event raised when the current image changes. Can be raised with undefined if the current image is cleared
58
+ * or a viewpoint fails to load an image.
59
+ */
60
+ readonly currentImageChanged = new VcsEvent<PanoramaImage | undefined>();
61
+
62
+ private _cesiumWidget: CesiumWidget | undefined;
63
+
64
+ private _imageView: PanoramaImageView | undefined;
65
+
66
+ private _currentImage: PanoramaImage | undefined;
67
+
68
+ private _screenSpaceListener: (() => void) | undefined;
69
+
70
+ private _screenSpaceEventHandler: ScreenSpaceEventHandler | undefined;
71
+
72
+ private _cameraController: PanoramaCameraController | undefined;
73
+
74
+ private _listeners: (() => void)[] = [];
75
+
76
+ private _overlayNaNColor: string | undefined;
77
+
78
+ private _cursorColor: string | undefined;
79
+
80
+ constructor(options: PanoramaMapOptions) {
81
+ const defaultOptions = PanoramaMap.getDefaultOptions();
82
+ super({ ...defaultOptions, ...options });
83
+
84
+ this._overlayNaNColor =
85
+ options.overlayNaNColor ?? defaultOptions.overlayNaNColor;
86
+ this._cursorColor = options.cursorColor ?? defaultOptions.cursorColor;
87
+ }
88
+
89
+ /**
90
+ * Internal API. throws if not properly initialized
91
+ */
92
+ get screenSpaceEventHandler(): ScreenSpaceEventHandler {
93
+ if (!this._screenSpaceEventHandler) {
94
+ throw new Error('ScreenSpaceEventHandler not initialized');
95
+ }
96
+ return this._screenSpaceEventHandler;
97
+ }
98
+
99
+ get currentPanoramaImage(): PanoramaImage | undefined {
100
+ return this._currentImage;
101
+ }
102
+
103
+ /**
104
+ * The panorama image view controlling image loading and rendering.
105
+ * Throws if not properly initialized
106
+ */
107
+ get panoramaView(): PanoramaImageView {
108
+ if (!this._imageView) {
109
+ throw new Error('PanoramaImageView not initialized');
110
+ }
111
+ return this._imageView;
112
+ }
113
+
114
+ /**
115
+ * The panorama camera controller controlling the camera movement.
116
+ * Throws if not properly initialized
117
+ */
118
+ get panoramaCameraController(): PanoramaCameraController {
119
+ if (!this._cameraController) {
120
+ throw new Error('PanoramaCameraController not initialized');
121
+ }
122
+ return this._cameraController;
123
+ }
124
+
125
+ /**
126
+ * Access to the raw cesium widget for finer control. Throws if not properly initialized.
127
+ */
128
+ getCesiumWidget(): CesiumWidget {
129
+ if (!this._cesiumWidget) {
130
+ throw new Error('CesiumWidget not initialized');
131
+ }
132
+ return this._cesiumWidget;
133
+ }
134
+
135
+ override async initialize(): Promise<void> {
136
+ if (!this.initialized) {
137
+ this._cesiumWidget = new CesiumWidget(this.mapElement, {
138
+ requestRenderMode: false,
139
+ scene3DOnly: true,
140
+ baseLayer: false,
141
+ shadows: false,
142
+ skyBox: false,
143
+ skyAtmosphere: false,
144
+ globe: false,
145
+ terrainShadows: ShadowMode.DISABLED,
146
+ msaaSamples: 1,
147
+ });
148
+
149
+ this._cesiumWidget.scene.screenSpaceCameraController.enableInputs = false;
150
+ this._cesiumWidget.scene.primitives.destroyPrimitives = false;
151
+
152
+ this._screenSpaceEventHandler = new ScreenSpaceEventHandler(
153
+ this._cesiumWidget.canvas,
154
+ );
155
+
156
+ this._screenSpaceListener = setupCesiumInteractions(
157
+ this,
158
+ this._cesiumWidget.scene,
159
+ this.screenSpaceEventHandler,
160
+ );
161
+ this._imageView = createPanoramaImageView(this);
162
+
163
+ if (this._overlayNaNColor) {
164
+ this._imageView.tilePrimitiveCollection.overlayNaNColor =
165
+ Color.fromCssColorString(this._overlayNaNColor);
166
+ }
167
+
168
+ if (this._cursorColor) {
169
+ this._imageView.tilePrimitiveCollection.cursorColor =
170
+ Color.fromCssColorString(this._cursorColor);
171
+ }
172
+
173
+ this._cameraController = createPanoramaCameraController(this);
174
+ this.initialized = true;
175
+
176
+ this._listeners.push(
177
+ this._cesiumWidget.scene.postRender.addEventListener(
178
+ (eventScene: Scene, time: JulianDate) => {
179
+ this.postRender.raiseEvent({
180
+ map: this,
181
+ originalEvent: { scene: eventScene, time },
182
+ });
183
+ },
184
+ ),
185
+ );
186
+ }
187
+ await super.initialize();
188
+ }
189
+
190
+ override async activate(): Promise<void> {
191
+ await super.activate();
192
+ if (this.active && this._cesiumWidget) {
193
+ this._cesiumWidget.useDefaultRenderLoop = true;
194
+ this._cesiumWidget.resize();
195
+ }
196
+ }
197
+
198
+ override deactivate(): void {
199
+ super.deactivate();
200
+ if (this._cesiumWidget) {
201
+ this._cesiumWidget.useDefaultRenderLoop = false;
202
+ }
203
+ }
204
+
205
+ override getViewpoint(): Promise<null | Viewpoint> {
206
+ return Promise.resolve(this.getViewpointSync());
207
+ }
208
+
209
+ override getViewpointSync(): Viewpoint | null {
210
+ if (!this._cesiumWidget || !this._cesiumWidget.scene || !this.target) {
211
+ return null;
212
+ }
213
+ return getViewpointFromScene(this._cesiumWidget.scene);
214
+ }
215
+
216
+ /**
217
+ * Sets the current image to the closest image to the given coordinate. Unsets the
218
+ * current image, if there is no image within the default distance.
219
+ * @param viewpoint
220
+ */
221
+ override async gotoViewpoint(viewpoint: Viewpoint): Promise<void> {
222
+ if (
223
+ this.movementApiCallsDisabled ||
224
+ !viewpoint.isValid() ||
225
+ !this._cesiumWidget
226
+ ) {
227
+ return;
228
+ }
229
+
230
+ const position = viewpoint.groundPosition ?? viewpoint.cameraPosition;
231
+ if (!position) {
232
+ return;
233
+ }
234
+
235
+ const closestImage = await this.getClosestImageFromViewpoint(viewpoint);
236
+
237
+ if (closestImage) {
238
+ if (viewpoint.heading != null) {
239
+ this._cesiumWidget.camera.setView({
240
+ orientation: {
241
+ heading: CesiumMath.toRadians(viewpoint.heading),
242
+ },
243
+ });
244
+ }
245
+ }
246
+ this.setCurrentImage(closestImage);
247
+ }
248
+
249
+ /**
250
+ * {@link getClosestImage} for the given viewpoint. Prefers the ground position
251
+ * @param viewpoint
252
+ */
253
+ async getClosestImageFromViewpoint(
254
+ viewpoint: Viewpoint,
255
+ ): Promise<PanoramaImage | undefined> {
256
+ if (viewpoint.isValid()) {
257
+ const position = viewpoint.groundPosition ?? viewpoint.cameraPosition;
258
+ if (position) {
259
+ return this.getClosestImage(Projection.wgs84ToMercator(position), 200);
260
+ }
261
+ }
262
+ return undefined;
263
+ }
264
+
265
+ /**
266
+ * Returns the closest image to the given coordinate within the given distance from all the datasets in the panorama datasets collection.
267
+ * @param coordinate
268
+ * @param maxDistance
269
+ */
270
+ async getClosestImage(
271
+ coordinate: Coordinate,
272
+ maxDistance = 200,
273
+ ): Promise<PanoramaImage | undefined> {
274
+ const loadPromises = [...this.layerCollection]
275
+ .filter(
276
+ (dataset): dataset is PanoramaDatasetLayer =>
277
+ dataset.state !== LayerState.INACTIVE &&
278
+ dataset.className === 'PanoramaDatasetLayer',
279
+ )
280
+ .map(async (dataset) => {
281
+ const closesImage = await dataset.getClosestImage(
282
+ coordinate,
283
+ maxDistance,
284
+ );
285
+ if (closesImage) {
286
+ return {
287
+ ...closesImage,
288
+ dataset,
289
+ };
290
+ }
291
+
292
+ return undefined;
293
+ });
294
+
295
+ const images = await Promise.all(loadPromises);
296
+
297
+ let minDistanceSqrd = Infinity;
298
+ let closestIndex = -1;
299
+
300
+ images.forEach((image, index) => {
301
+ if (image && image.distanceSqrd < minDistanceSqrd) {
302
+ minDistanceSqrd = image.distanceSqrd;
303
+ closestIndex = index;
304
+ }
305
+ });
306
+
307
+ if (closestIndex !== -1) {
308
+ const { imageName, dataset } = images[closestIndex]!;
309
+ return dataset.createPanoramaImage(imageName); // XXX position is a HACK to support frankenstein datasets
310
+ }
311
+
312
+ return undefined;
313
+ }
314
+
315
+ /**
316
+ * Sets the current image to the given panorama image. If the image is undefined, the current image is cleared.
317
+ * @param image
318
+ */
319
+ setCurrentImage(image?: PanoramaImage): void {
320
+ if (this._currentImage !== image) {
321
+ this._currentImage = image;
322
+ this.currentImageChanged.raiseEvent(image);
323
+ }
324
+ }
325
+
326
+ override indexChanged(layer: Layer): void {
327
+ const viz = this.getVisualizationsForLayer(layer);
328
+ if (viz) {
329
+ viz.forEach((item) => {
330
+ if (item instanceof PrimitiveCollection) {
331
+ indexChangedOnPrimitive(
332
+ this.getCesiumWidget().scene.primitives,
333
+ item,
334
+ this.layerCollection,
335
+ );
336
+ }
337
+ });
338
+ }
339
+ }
340
+
341
+ /**
342
+ * Internal API used to register visualizations from layer implementations
343
+ * @param primitiveCollection
344
+ */
345
+ addPrimitiveCollection(
346
+ primitiveCollection: PrimitiveCollection | Cesium3DTileset,
347
+ ): void {
348
+ if (!this._cesiumWidget) {
349
+ throw new Error('Cannot add primitive to uninitialized map');
350
+ }
351
+ if (this.validateVisualization(primitiveCollection)) {
352
+ this.addVisualization(primitiveCollection);
353
+ ensureInCollection(
354
+ this._cesiumWidget.scene.primitives,
355
+ primitiveCollection,
356
+ this.layerCollection,
357
+ );
358
+ }
359
+ }
360
+
361
+ /**
362
+ * Internal API to unregister the visualization for a layers implementation
363
+ * @param primitiveCollection
364
+ */
365
+ removePrimitiveCollection(
366
+ primitiveCollection: PrimitiveCollection | Cesium3DTileset,
367
+ ): void {
368
+ this.removeVisualization(primitiveCollection);
369
+ this._cesiumWidget?.scene.primitives.remove(primitiveCollection);
370
+ }
371
+
372
+ override toJSON(): PanoramaMapOptions {
373
+ const config = super.toJSON() as Partial<PanoramaMapOptions>;
374
+ const defaultOptions = PanoramaMap.getDefaultOptions();
375
+
376
+ if (this._overlayNaNColor !== defaultOptions.overlayNaNColor) {
377
+ config.overlayNaNColor = this._overlayNaNColor;
378
+ }
379
+
380
+ if (this._cursorColor !== defaultOptions.cursorColor) {
381
+ config.cursorColor = this._cursorColor;
382
+ }
383
+
384
+ if (this.fallbackToCurrentMap !== defaultOptions.fallbackToCurrentMap) {
385
+ config.fallbackToCurrentMap = this.fallbackToCurrentMap;
386
+ } else {
387
+ delete config.fallbackToCurrentMap;
388
+ }
389
+
390
+ return config;
391
+ }
392
+
393
+ override destroy(): void {
394
+ this.currentImageChanged.destroy();
395
+ this._currentImage?.destroy();
396
+ this._cameraController?.destroy();
397
+ this._imageView?.destroy();
398
+ this._screenSpaceListener?.();
399
+ this._screenSpaceEventHandler?.destroy();
400
+ this._cesiumWidget?.destroy();
401
+ this._cesiumWidget = undefined;
402
+ this._listeners.forEach((cb) => {
403
+ cb();
404
+ });
405
+
406
+ super.destroy();
407
+ }
408
+ }
409
+
410
+ mapClassRegistry.registerClass(PanoramaMap.className, PanoramaMap);
package/src/map/vcsMap.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { getLogger as getLoggerByName, Logger } from '@vcsuite/logger';
1
+ import type { Logger } from '@vcsuite/logger';
2
+ import { getLogger as getLoggerByName } from '@vcsuite/logger';
2
3
  import { parseBoolean } from '@vcsuite/parsers';
3
4
  import { v4 as uuidv4 } from 'uuid';
4
5
  import type { MapEvent as OLMapEvent } from 'ol';
@@ -6,14 +7,14 @@ import type { Layer as OLLayer } from 'ol/layer.js';
6
7
  import type { Coordinate } from 'ol/coordinate.js';
7
8
 
8
9
  import { check, is, maybe, oneOf } from '@vcsuite/check';
9
- import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
10
+ import type { VcsObjectOptions } from '../vcsObject.js';
11
+ import VcsObject from '../vcsObject.js';
10
12
  import LayerCollection from '../util/layerCollection.js';
11
13
  import MapState from './mapState.js';
12
14
  import { vcsLayerName } from '../layer/layerSymbols.js';
13
15
  import VcsEvent from '../vcsEvent.js';
14
16
  import { mapClassRegistry } from '../classRegistry.js';
15
- import type { CesiumMapEvent } from './cesiumMap.js';
16
- import { CesiumVisualisationType } from './cesiumMap.js';
17
+ import type { CesiumMapEvent, CesiumVisualisationType } from './cesiumMap.js';
17
18
  import type Viewpoint from '../util/viewpoint.js';
18
19
  import type Layer from '../layer/layer.js';
19
20
  import type { MapEvent } from '../interaction/abstractInteraction.js';
@@ -275,12 +276,12 @@ class VcsMap<
275
276
 
276
277
  if (this.active) {
277
278
  [...this._layerCollection].forEach((l) => {
278
- l.mapActivated(this).catch((_e) => {
279
+ l.mapActivated(this).catch(() => {
279
280
  this.getLogger().error(`Failed to activate map on layer: ${l.name}`);
280
281
  });
281
282
  });
282
283
  [...this._layerCollection.vectorClusterGroups].forEach((g) => {
283
- g.mapActivated(this).catch((_e) => {
284
+ g.mapActivated(this).catch(() => {
284
285
  this.getLogger().error(
285
286
  `Failed to activate map on vector cluster group: ${g.name}`,
286
287
  );
@@ -321,7 +322,7 @@ class VcsMap<
321
322
 
322
323
  const added = (i: Layer | VectorClusterGroup): void => {
323
324
  if (this.active) {
324
- i.mapActivated(this).catch((_e) => {
325
+ i.mapActivated(this).catch(() => {
325
326
  this.getLogger().error(`Failed to activate map on layer: ${i.name}`);
326
327
  });
327
328
  }
@@ -347,7 +348,7 @@ class VcsMap<
347
348
  /**
348
349
  * Determines whether this map can show this viewpoint. Returns true in any other map then {@link ObliqueMap}
349
350
  */
350
- // eslint-disable-next-line class-methods-use-this
351
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
351
352
  canShowViewpoint(_viewpoint: Viewpoint): Promise<boolean> {
352
353
  return Promise.resolve(true);
353
354
  }
@@ -369,7 +370,7 @@ class VcsMap<
369
370
  }
370
371
  }
371
372
 
372
- // eslint-disable-next-line class-methods-use-this,no-empty-function
373
+ // eslint-disable-next-line class-methods-use-this
373
374
  async initialize(): Promise<void> {
374
375
  return Promise.resolve();
375
376
  }
@@ -377,7 +378,7 @@ class VcsMap<
377
378
  /**
378
379
  * is called if a layer changes its position in the layerCollection.
379
380
  */
380
- // eslint-disable-next-line no-unused-vars,class-methods-use-this
381
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
381
382
  indexChanged(_layer: Layer): void {}
382
383
 
383
384
  /**
@@ -518,9 +519,9 @@ class VcsMap<
518
519
  [...this.layerCollection].forEach((layer) => {
519
520
  layer.mapDeactivated(this);
520
521
  });
521
- [...this.layerCollection.vectorClusterGroups].forEach((clusterGroup) =>
522
- clusterGroup.mapDeactivated(this),
523
- );
522
+ [...this.layerCollection.vectorClusterGroups].forEach((clusterGroup) => {
523
+ clusterGroup.mapDeactivated(this);
524
+ });
524
525
  this.stateChanged.raiseEvent(this._state);
525
526
  }
526
527
  }
@@ -550,9 +551,11 @@ class VcsMap<
550
551
  * @param _optMaximumHeight during animation (can be used to get rid of the bunny hop)
551
552
  * gotoViewpoint
552
553
  */
553
- // eslint-disable-next-line no-unused-vars,class-methods-use-this
554
+ // eslint-disable-next-line class-methods-use-this
554
555
  gotoViewpoint(
556
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
555
557
  _viewpoint: Viewpoint,
558
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
556
559
  _optMaximumHeight?: number,
557
560
  ): Promise<void> {
558
561
  return Promise.resolve();
@@ -578,12 +581,12 @@ class VcsMap<
578
581
  * Resolution in meters per pixe
579
582
  * @param _coordinate - coordinate in mercator for which to determine resolution. only required in 3D
580
583
  */
581
- // eslint-disable-next-line class-methods-use-this,no-unused-vars
584
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
582
585
  getCurrentResolution(_coordinate: Coordinate): number {
583
586
  return 1;
584
587
  }
585
588
 
586
- // eslint-disable-next-line no-unused-vars,class-methods-use-this
589
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
587
590
  pointIsVisible(_coords: Coordinate): boolean {
588
591
  return false;
589
592
  }
@@ -1,2 +1 @@
1
- // eslint-disable-next-line import/prefer-default-export
2
1
  export const moduleIdSymbol: unique symbol = Symbol('moduleId');
@@ -26,6 +26,7 @@ class DefaultObliqueCollection extends ObliqueCollection {
26
26
 
27
27
  getImageForCoordinate(
28
28
  mercatorCoordinate: Coordinate,
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
30
  _viewDirection: ObliqueViewDirection,
30
31
  ): ObliqueImage {
31
32
  const groundCoordinates = [
@@ -17,10 +17,8 @@ import {
17
17
  cartesian2DDistance,
18
18
  cartesian2DDistanceSquared,
19
19
  } from '../util/math.js';
20
- import Projection, {
21
- mercatorProjection,
22
- wgs84Projection,
23
- } from '../util/projection.js';
20
+ import type Projection from '../util/projection.js';
21
+ import { mercatorProjection, wgs84Projection } from '../util/projection.js';
24
22
  import type ObliqueImage from './obliqueImage.js';
25
23
  import { isSameOrigin } from '../util/urlHelpers.js';
26
24
 
@@ -23,7 +23,8 @@ import ObliqueDataSet, {
23
23
  } from './obliqueDataSet.js';
24
24
  import { ObliqueViewDirection } from './obliqueViewDirection.js';
25
25
  import { mercatorProjection } from '../util/projection.js';
26
- import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
26
+ import type { VcsObjectOptions } from '../vcsObject.js';
27
+ import VcsObject from '../vcsObject.js';
27
28
  import type { TerrainProviderOptions } from '../layer/terrainHelpers.js';
28
29
  import type ObliqueImage from './obliqueImage.js';
29
30
  import type { ObliqueViewOptions } from './obliqueView.js';
@@ -140,15 +141,15 @@ class ObliqueCollection extends VcsObject {
140
141
  /**
141
142
  * Maps each direction to an RTree
142
143
  */
143
- private _directionTrees: Map<
144
+ private _directionTrees = new Map<
144
145
  ObliqueViewDirection,
145
146
  RBush<ObliqueImageRbushItem>
146
- > = new Map();
147
+ >();
147
148
 
148
149
  /**
149
150
  * Maps image name to image
150
151
  */
151
- private _images: Map<string, ObliqueImage> = new Map();
152
+ private _images = new Map<string, ObliqueImage>();
152
153
 
153
154
  /**
154
155
  * Maps urls to general infos & cameras
@@ -162,7 +163,7 @@ class ObliqueCollection extends VcsObject {
162
163
  /**
163
164
  * Event raised when images are loaded. Is passed an Array of ObliqueImages as its only argument.
164
165
  */
165
- imagesLoaded: VcsEvent<Array<ObliqueImage>> = new VcsEvent();
166
+ imagesLoaded = new VcsEvent<Array<ObliqueImage>>();
166
167
 
167
168
  private _tileFeatureSource: VectorSource | null = null;
168
169
 
@@ -327,8 +328,7 @@ class ObliqueCollection extends VcsObject {
327
328
  }
328
329
  }
329
330
 
330
- const directions: Map<ObliqueViewDirection, ObliqueImageRbushItem[]> =
331
- new Map();
331
+ const directions = new Map<ObliqueViewDirection, ObliqueImageRbushItem[]>();
332
332
  images.forEach((image) => {
333
333
  this._images.set(image.name, image);
334
334
  if (!directions.has(image.viewDirection)) {
@@ -12,7 +12,8 @@ import {
12
12
  } from './parseImageJson.js';
13
13
  import VcsEvent from '../vcsEvent.js';
14
14
  import { getTerrainProviderForUrl } from '../layer/terrainHelpers.js';
15
- import Projection, { ProjectionOptions } from '../util/projection.js';
15
+ import type { ProjectionOptions } from '../util/projection.js';
16
+ import Projection from '../util/projection.js';
16
17
  import { getInitForUrl, requestJson } from '../util/fetch.js';
17
18
  import type ObliqueImage from './obliqueImage.js';
18
19
  import type {
@@ -72,9 +73,9 @@ class ObliqueDataSet {
72
73
  */
73
74
  imagesLoaded = new VcsEvent<ObliqueDataSetImagesLoaded>();
74
75
 
75
- private _tiles: Map<string, DataState> = new Map();
76
+ private _tiles = new Map<string, DataState>();
76
77
 
77
- private _loadingPromises: Map<string, Promise<void>> = new Map();
78
+ private _loadingPromises = new Map<string, Promise<void>>();
78
79
 
79
80
  private _state = DataState.PENDING;
80
81
 
@@ -142,8 +143,8 @@ class ObliqueDataSet {
142
143
  .then((data) => {
143
144
  return this._initialize(data);
144
145
  })
145
- .catch((err) => {
146
- return Promise.reject(err);
146
+ .catch((err: unknown) => {
147
+ return Promise.reject(err as Error);
147
148
  });
148
149
  }
149
150
  return this._loadingPromise;
@@ -328,7 +329,7 @@ class ObliqueDataSet {
328
329
  });
329
330
  }
330
331
  })
331
- .catch((err) => {
332
+ .catch((err: unknown) => {
332
333
  // eslint-disable-next-line no-console
333
334
  console.error(err);
334
335
  })
@@ -2,7 +2,7 @@ import type { Coordinate } from 'ol/coordinate.js';
2
2
  import { Cartesian3, Cartesian4, Matrix3, Matrix4 } from '@vcmap-cesium/engine';
3
3
  import { transformCWIFC } from './helpers.js';
4
4
  import { getHeightFromTerrainProvider } from '../layer/terrainHelpers.js';
5
- import { ObliqueViewDirection } from './obliqueViewDirection.js';
5
+ import type { ObliqueViewDirection } from './obliqueViewDirection.js';
6
6
  import type ObliqueImageMeta from './obliqueImageMeta.js';
7
7
 
8
8
  export const isDefaultImageSymbol = Symbol('isDefaultImage');
@@ -13,9 +13,9 @@ import { mercatorProjection } from '../util/projection.js';
13
13
  import VcsEvent from '../vcsEvent.js';
14
14
  import type ObliqueImage from './obliqueImage.js';
15
15
  import { isDefaultImageSymbol } from './obliqueImage.js';
16
- import { ObliqueViewDirection } from './obliqueViewDirection.js';
16
+ import type { ObliqueViewDirection } from './obliqueViewDirection.js';
17
17
  import type ObliqueCollection from './obliqueCollection.js';
18
- import ObliqueImageMeta from './obliqueImageMeta.js';
18
+ import type ObliqueImageMeta from './obliqueImageMeta.js';
19
19
 
20
20
  export type ObliqueViewpoint = {
21
21
  /**
@@ -46,7 +46,7 @@ class ObliqueProvider {
46
46
 
47
47
  private _olMap: olMap;
48
48
 
49
- private _viewCache: Map<ObliqueImageMeta, ObliqueView> = new Map();
49
+ private _viewCache = new Map<ObliqueImageMeta, ObliqueView>();
50
50
 
51
51
  private _currentImage: ObliqueImage | null = null;
52
52
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-deprecated */
1
2
  import { v4 as uuidv4 } from 'uuid';
2
3
  import { TrustedServers } from '@vcmap-cesium/engine';
3
4
  import type { ImageTile } from 'ol';