@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
@@ -8,12 +8,20 @@ import LayerCollection from './layerCollection.js';
8
8
  import ClippingObjectManager from './clipping/clippingObjectManager.js';
9
9
  import type OpenlayersMap from '../map/openlayersMap.js';
10
10
  import type CesiumMap from '../map/cesiumMap.js';
11
- // eslint-disable-next-line import/no-named-default
12
- import type { default as VcsMap, VcsMapRenderEvent } from '../map/vcsMap.js';
11
+ import type {
12
+ // eslint-disable-next-line import/no-named-default
13
+ default as VcsMap,
14
+ VcsMapRenderEvent,
15
+ VisualisationType,
16
+ } from '../map/vcsMap.js';
13
17
  import type Viewpoint from './viewpoint.js';
14
- import { VisualisationType } from '../map/vcsMap.js';
18
+ import { getViewpointForPanoramaImage } from './viewpoint.js';
15
19
  import Navigation from '../map/navigation/navigation.js';
16
20
  import KeyboardController from '../map/navigation/controller/keyboardController.js';
21
+ import PanoramaImageSelection from '../interaction/panoramaImageSelection.js';
22
+ import type { PanoramaImage } from '../panorama/panoramaImage.js';
23
+ import type PanoramaMap from '../map/panoramaMap.js';
24
+ import PanoramaFeatureHighlight from '../interaction/panoramaFeatureHighlight.js';
17
25
 
18
26
  export type MapCollectionInitializationError = {
19
27
  error: Error;
@@ -65,7 +73,6 @@ class MapCollection extends Collection<VcsMap> {
65
73
  const collection = new MapCollection();
66
74
 
67
75
  if (iterable) {
68
- // eslint-disable-next-line no-restricted-syntax
69
76
  for (const map of iterable) {
70
77
  collection.add(map);
71
78
  }
@@ -93,21 +100,25 @@ class MapCollection extends Collection<VcsMap> {
93
100
  */
94
101
  private _layerCollection = new LayerCollection();
95
102
 
103
+ private _panoramaImageSelection = new PanoramaImageSelection(this);
104
+
105
+ private _panoramaTileHighlight = new PanoramaFeatureHighlight();
106
+
96
107
  /**
97
108
  * Called, if a map fails to initialize. The map causing the error will be removed from the collection.
98
109
  */
99
- initializeError: VcsEvent<MapCollectionInitializationError> = new VcsEvent();
110
+ initializeError = new VcsEvent<MapCollectionInitializationError>();
100
111
 
101
112
  /**
102
113
  * Called, when a map (typically an oblique map) cannot show the current viewpoint. Is passed
103
114
  * the map which cannot show the current viewpoint.
104
115
  */
105
- fallbackMapActivated: VcsEvent<VcsMap> = new VcsEvent();
116
+ fallbackMapActivated = new VcsEvent<VcsMap>();
106
117
 
107
118
  /**
108
119
  * Called, when a map is activated. Is passed the activated map.
109
120
  */
110
- mapActivated: VcsEvent<VcsMap> = new VcsEvent();
121
+ mapActivated = new VcsEvent<VcsMap>();
111
122
 
112
123
  /**
113
124
  * Manages the clipping object for the maps in this collection.
@@ -126,7 +137,7 @@ class MapCollection extends Collection<VcsMap> {
126
137
  /**
127
138
  * Event raised when the maps split position changes. It passed the position as its only argument.
128
139
  */
129
- splitPositionChanged: VcsEvent<number> = new VcsEvent();
140
+ splitPositionChanged = new VcsEvent<number>();
130
141
 
131
142
  private _postRender = new VcsEvent<VcsMapRenderEvent<VisualisationType>>();
132
143
 
@@ -156,6 +167,9 @@ class MapCollection extends Collection<VcsMap> {
156
167
  this.navigation.addController(
157
168
  new KeyboardController({ id: 'keyboard', target: this._target }),
158
169
  );
170
+
171
+ this.eventHandler.addPersistentInteraction(this._panoramaImageSelection);
172
+ this.eventHandler.addPersistentInteraction(this._panoramaTileHighlight);
159
173
  }
160
174
 
161
175
  /**
@@ -322,6 +336,68 @@ class MapCollection extends Collection<VcsMap> {
322
336
  return fallbackMap || this.getByType('OpenlayersMap')[0] || this._array[0];
323
337
  }
324
338
 
339
+ private async _setActiveMap(
340
+ map: VcsMap,
341
+ viewpoint?: Viewpoint | null,
342
+ ): Promise<void> {
343
+ if (this._activeMap) {
344
+ this._activeMap.deactivate();
345
+ if (this._target) {
346
+ const mapClassName = this._activeMap.className;
347
+ this._target.classList.remove(mapClassName);
348
+ }
349
+ }
350
+
351
+ const previousMap = this._activeMap;
352
+ this._activeMap = map;
353
+ await this._activeMap.activate();
354
+ this._setActiveMapCSSClass();
355
+
356
+ if (viewpoint) {
357
+ await this._activeMap.gotoViewpoint(viewpoint);
358
+ }
359
+
360
+ const disableMapControlOptions: DisableMapControlOptions = {
361
+ apiCalls: !!previousMap?.movementApiCallsDisabled,
362
+ keyEvents: !!previousMap?.movementKeyEventsDisabled,
363
+ pointerEvents: !!previousMap?.movementPointerEventsDisabled,
364
+ };
365
+ map.disableMovement(disableMapControlOptions);
366
+ previousMap?.disableMovement(false);
367
+
368
+ this.clippingObjectManager.mapActivated(map);
369
+ this.navigation.mapActivated(map);
370
+ this._postRenderListener();
371
+ this._postRenderListener = this._activeMap.postRender.addEventListener(
372
+ (event) => {
373
+ this.postRender.raiseEvent(event);
374
+ },
375
+ );
376
+ this.mapActivated.raiseEvent(map);
377
+ }
378
+
379
+ async activatePanoramaMap(
380
+ map: PanoramaMap,
381
+ panoramaImage: PanoramaImage,
382
+ ): Promise<void> {
383
+ if (!this._array.includes(map)) {
384
+ getLogger('MapCollection').warning(
385
+ 'this map is not part of this collection',
386
+ );
387
+ return;
388
+ }
389
+
390
+ if (this._activeMap?.className === 'CesiumMap') {
391
+ const viewpoint = getViewpointForPanoramaImage(panoramaImage);
392
+ viewpoint.animate = true;
393
+ viewpoint.duration = 1;
394
+ await this._activeMap.gotoViewpoint(viewpoint);
395
+ }
396
+
397
+ map.setCurrentImage(panoramaImage);
398
+ await this._setActiveMap(map);
399
+ }
400
+
325
401
  /**
326
402
  * Sets the active map. This will 1. get the current viewpoint of an acitve map (if one is set) 2.
327
403
  * determine that the map to be activated can show this viewpoint or has no fallback map set and 3.
@@ -369,17 +445,28 @@ class MapCollection extends Collection<VcsMap> {
369
445
  throw new Error('cannot activate a single map');
370
446
  }
371
447
 
448
+ if (this._activeMap === map) {
449
+ return map.activate();
450
+ }
451
+
372
452
  let viewpoint;
373
453
  if (this._activeMap || this._cachedViewpoint) {
374
- if (this._activeMap === map) {
375
- return map.activate();
376
- }
377
-
378
454
  viewpoint = this._activeMap
379
455
  ? await this._activeMap.getViewpoint()
380
456
  : this._cachedViewpoint;
381
457
 
382
- const canShow = await map.canShowViewpoint(viewpoint as Viewpoint);
458
+ let canShow = false;
459
+ if (map.className === 'PanoramaMap' && viewpoint) {
460
+ const panoramaImage = await (
461
+ map as PanoramaMap
462
+ ).getClosestImageFromViewpoint(viewpoint);
463
+ if (panoramaImage) {
464
+ return this.activatePanoramaMap(map as PanoramaMap, panoramaImage);
465
+ }
466
+ } else {
467
+ canShow = await map.canShowViewpoint(viewpoint as Viewpoint);
468
+ }
469
+
383
470
  if (!canShow) {
384
471
  const fallbackMap = this._getFallbackMap(map);
385
472
  if (fallbackMap) {
@@ -391,43 +478,11 @@ class MapCollection extends Collection<VcsMap> {
391
478
  return Promise.resolve();
392
479
  }
393
480
  }
394
- this._cachedViewpoint = null;
395
- if (this._activeMap) {
396
- this._activeMap.deactivate();
397
- if (this._target) {
398
- const mapClassName = this._activeMap.className;
399
- this._target.classList.remove(mapClassName);
400
- }
401
- }
402
- }
403
481
 
404
- const previousMap = this._activeMap;
405
- this._activeMap = map;
406
- await this._activeMap.activate();
407
- this._setActiveMapCSSClass();
408
-
409
- if (viewpoint) {
410
- await this._activeMap.gotoViewpoint(viewpoint);
482
+ this._cachedViewpoint = null;
411
483
  }
412
484
 
413
- const disableMapControlOptions: DisableMapControlOptions = {
414
- apiCalls: !!previousMap?.movementApiCallsDisabled,
415
- keyEvents: !!previousMap?.movementKeyEventsDisabled,
416
- pointerEvents: !!previousMap?.movementPointerEventsDisabled,
417
- };
418
- map.disableMovement(disableMapControlOptions);
419
- previousMap?.disableMovement(false);
420
-
421
- this.clippingObjectManager.mapActivated(map);
422
- this.navigation.mapActivated(map);
423
- this._postRenderListener();
424
- this._postRenderListener = this._activeMap.postRender.addEventListener(
425
- (event) => {
426
- this.postRender.raiseEvent(event);
427
- },
428
- );
429
- this.mapActivated.raiseEvent(map);
430
- return Promise.resolve();
485
+ return this._setActiveMap(map, viewpoint);
431
486
  }
432
487
 
433
488
  /**
@@ -500,6 +555,8 @@ class MapCollection extends Collection<VcsMap> {
500
555
  l.destroy();
501
556
  });
502
557
  this._layerCollection.destroy();
558
+ this._panoramaImageSelection.destroy();
559
+ this._panoramaTileHighlight.destroy();
503
560
  this.eventHandler.destroy();
504
561
  this.mapActivated.destroy();
505
562
  this.clippingObjectManager.destroy();
@@ -51,7 +51,7 @@ export type OverrideCollectionInterface<T, S> = {
51
51
  ) => Promise<void>;
52
52
  getSerializedByKey: (key: string) => S | undefined;
53
53
  removeModule: (moduleId: string) => void;
54
- serializeModule: (moduleId: string) => object[];
54
+ serializeModule: (moduleId: string) => S[];
55
55
  [isOverrideCollection]: boolean;
56
56
  uniqueKey: keyof T;
57
57
  };
@@ -89,6 +89,7 @@ function makeOverrideCollection<
89
89
  getDynamicModuleId: () => string,
90
90
  serializeItem?: (item: T) => S & { [moduleIdSymbol]?: string },
91
91
  deserializeItem?: (item: S) => T | Promise<T> | null,
92
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
93
  ctor?: new (...args: any[]) => T,
93
94
  determineShadowIndex?: (
94
95
  item: T,
@@ -292,9 +293,7 @@ function makeOverrideCollection<
292
293
 
293
294
  overrideCollection.replaced = new VcsEvent();
294
295
 
295
- overrideCollection.serializeModule = function serializeModule(
296
- moduleId,
297
- ): object[] {
296
+ overrideCollection.serializeModule = function serializeModule(moduleId): S[] {
298
297
  return [...overrideCollection]
299
298
  .map((item) => {
300
299
  if (item[moduleIdSymbol] === moduleId) {
@@ -312,7 +311,7 @@ function makeOverrideCollection<
312
311
  }
313
312
  return null;
314
313
  })
315
- .filter((i) => i) as object[];
314
+ .filter((i) => i) as S[];
316
315
  };
317
316
 
318
317
  const originalDestroy = overrideCollection.destroy.bind(overrideCollection);
@@ -1,9 +1,5 @@
1
- import {
2
- getTransform,
3
- get as getProjection,
4
- equivalent,
5
- Projection as OLProjection,
6
- } from 'ol/proj.js';
1
+ import type { Projection as OLProjection } from 'ol/proj.js';
2
+ import { getTransform, get as getProjection, equivalent } from 'ol/proj.js';
7
3
  import { register } from 'ol/proj/proj4.js';
8
4
  import type { Coordinate } from 'ol/coordinate.js';
9
5
  import proj4 from 'proj4';
@@ -49,7 +45,7 @@ export function parseEPSGCode(
49
45
  ): string {
50
46
  if (value) {
51
47
  const regex = new RegExp(`^(?:${prefix})?:?(\\d+)`, 'i');
52
- const matches = `${value}`.match(regex);
48
+ const matches = String(value).match(regex);
53
49
  if (matches && matches[1]) {
54
50
  if (prefix) {
55
51
  if (prefix.endsWith(':')) {
@@ -1,9 +1,9 @@
1
- import { Size } from 'ol/size.js';
1
+ import type { Size } from 'ol/size.js';
2
2
  import { getLogger } from '@vcsuite/logger';
3
3
  import CesiumMap from '../map/cesiumMap.js';
4
4
  import OpenlayersMap from '../map/openlayersMap.js';
5
5
  import ObliqueMap from '../map/obliqueMap.js';
6
- import VcsApp from '../vcsApp.js';
6
+ import type VcsApp from '../vcsApp.js';
7
7
  /**
8
8
  * Prepares the cesium map for the screenshot
9
9
  * @param map - The cesium map
@@ -1,16 +1,15 @@
1
+ import type { JulianDate, HeadingPitchRollValues } from '@vcmap-cesium/engine';
1
2
  import {
2
3
  Camera,
3
4
  Cartesian2,
4
5
  Cartesian3,
5
6
  Cartographic,
6
7
  Math as CesiumMath,
7
- JulianDate,
8
- HeadingPitchRollValues,
9
8
  } from '@vcmap-cesium/engine';
10
9
  import Viewpoint from './viewpoint.js';
11
- import VcsApp from '../vcsApp.js';
12
- import { CesiumMap } from '../../index.js';
10
+ import type VcsApp from '../vcsApp.js';
13
11
  import Projection from './projection.js';
12
+ import CesiumMap from '../map/cesiumMap.js';
14
13
 
15
14
  /**
16
15
  * Unique symbol for rotation.
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line import/prefer-default-export
2
1
  export function isSameOrigin(source: string): boolean {
3
2
  const { location } = window;
4
3
  const url = new URL(
@@ -1,9 +1,9 @@
1
+ import type { LiteralValue } from 'ol/expr/expression.js';
1
2
  import {
2
3
  BooleanType,
3
4
  newParsingContext,
4
5
  StringType,
5
6
  NoneType,
6
- LiteralValue,
7
7
  } from 'ol/expr/expression.js';
8
8
  import { buildExpression, newEvaluationContext } from 'ol/expr/cpu.js';
9
9
  import { is } from '@vcsuite/check';
@@ -30,7 +30,8 @@ function evaluateExpression(
30
30
  evaluationType: number,
31
31
  ): LiteralValue {
32
32
  const parsed = expressionString.startsWith('[')
33
- ? (JSON.parse(expressionString) as any[])
33
+ ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ (JSON.parse(expressionString) as any[])
34
35
  : [
35
36
  'get',
36
37
  ...expressionString
@@ -81,7 +82,7 @@ function replaceAttributes(
81
82
  function regexHits(regexp: RegExp, string: string): RegExpExecArray[] {
82
83
  const hits = [];
83
84
  let hit;
84
- // eslint-disable-next-line no-cond-assign
85
+
85
86
  while ((hit = regexp.exec(string))) {
86
87
  hits.push(hit);
87
88
  }
@@ -340,7 +341,7 @@ function expandConditionalsAndLoops(
340
341
  .slice(0, 3);
341
342
 
342
343
  const blockTemplate = getSubTemplateForBlock(renderedTemplate, block);
343
- // eslint-disable-next-line no-restricted-syntax
344
+
344
345
  for (const args of keyValuePairs) {
345
346
  const forEachData = structuredClone(data);
346
347
  forEachData[valueName] = args[1];
@@ -382,7 +383,7 @@ function defaultTranslate(key: string): string {
382
383
  * 2. expand iterations. this will create new templates for each iteration and re-run the rendering for those blocks
383
384
  * 3. render attributes. this will add the attributes to all the blocks not within each blocks
384
385
  */
385
- // eslint-disable-next-line import/prefer-default-export
386
+
386
387
  export function renderTemplate(
387
388
  template: string | string[],
388
389
  data: Record<string, unknown>,
@@ -1,10 +1,14 @@
1
1
  import type { Coordinate } from 'ol/coordinate.js';
2
+ import type { Extent as OLExtent } from 'ol/extent.js';
2
3
  import { containsCoordinate } from 'ol/extent.js';
3
- import { EasingFunction } from '@vcmap-cesium/engine';
4
+ import { EasingFunction, Math as CesiumMath } from '@vcmap-cesium/engine';
4
5
  import { parseBoolean, parseNumber } from '@vcsuite/parsers';
5
6
  import Projection, { wgs84Projection } from './projection.js';
6
- import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
7
+ import type { VcsObjectOptions } from '../vcsObject.js';
8
+ import VcsObject from '../vcsObject.js';
7
9
  import Extent from './extent.js';
10
+ import type { PanoramaImage } from '../panorama/panoramaImage.js';
11
+ import { cartesianToMercator } from './math.js';
8
12
 
9
13
  /**
10
14
  * compares two numeric properties
@@ -263,7 +267,7 @@ class Viewpoint extends VcsObject {
263
267
  * @param extent
264
268
  */
265
269
  static createViewpointFromExtent(
266
- extent: import('ol/extent.js').Extent | Extent,
270
+ extent: OLExtent | Extent,
267
271
  ): Viewpoint | null {
268
272
  const extentCoordinates =
269
273
  extent instanceof Extent
@@ -412,3 +416,16 @@ class Viewpoint extends VcsObject {
412
416
  }
413
417
 
414
418
  export default Viewpoint;
419
+
420
+ export function getViewpointForPanoramaImage(image: PanoramaImage): Viewpoint {
421
+ const { heading, pitch, roll } = image.orientation;
422
+
423
+ return new Viewpoint({
424
+ cameraPosition: Projection.mercatorToWgs84(
425
+ cartesianToMercator(image.position),
426
+ ),
427
+ heading: CesiumMath.toDegrees(heading),
428
+ pitch: CesiumMath.toDegrees(pitch),
429
+ roll: CesiumMath.toDegrees(roll),
430
+ });
431
+ }
package/src/vcsApp.ts CHANGED
@@ -1,7 +1,10 @@
1
- import { getLogger as getLoggerByName, Logger } from '@vcsuite/logger';
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type { Logger } from '@vcsuite/logger';
3
+ import { getLogger as getLoggerByName } from '@vcsuite/logger';
2
4
  import { v4 as uuidv4 } from 'uuid';
3
5
  import { check } from '@vcsuite/check';
4
- import VcsModule, { VcsModuleConfig } from './vcsModule.js';
6
+ import type { VcsModuleConfig } from './vcsModule.js';
7
+ import VcsModule from './vcsModule.js';
5
8
  import {
6
9
  destroyCollection,
7
10
  deserializeViewpoint,
@@ -10,9 +13,8 @@ import {
10
13
  serializeLayer,
11
14
  deserializeLayer,
12
15
  } from './vcsModuleHelpers.js';
13
- import makeOverrideCollection, {
14
- OverrideCollection,
15
- } from './util/overrideCollection.js';
16
+ import type { OverrideCollection } from './util/overrideCollection.js';
17
+ import makeOverrideCollection from './util/overrideCollection.js';
16
18
  import CategoryCollection from './category/categoryCollection.js';
17
19
  import MapCollection from './util/mapCollection.js';
18
20
  import VcsMap from './map/vcsMap.js';
@@ -20,16 +22,16 @@ import Layer from './layer/layer.js';
20
22
  import Collection from './util/collection.js';
21
23
  import ObliqueCollection from './oblique/obliqueCollection.js';
22
24
  import Viewpoint from './util/viewpoint.js';
23
- import StyleItem, { StyleItemOptions } from './style/styleItem.js';
25
+ import type { StyleItemOptions } from './style/styleItem.js';
26
+ import StyleItem from './style/styleItem.js';
24
27
  import IndexedCollection from './util/indexedCollection.js';
25
28
  import VcsEvent from './vcsEvent.js';
26
29
  import { setDefaultProjectionOptions } from './util/projection.js';
27
30
  import ObliqueMap from './map/obliqueMap.js';
28
31
  import OverrideClassRegistry from './overrideClassRegistry.js';
32
+ import type { AbstractCtor, CtorType } from './classRegistry.js';
29
33
  import ClassRegistry, {
30
- AbstractCtor,
31
34
  categoryClassRegistry,
32
- Ctor,
33
35
  featureProviderClassRegistry,
34
36
  getObjectFromClassRegistry,
35
37
  layerClassRegistry,
@@ -43,20 +45,16 @@ import type LayerCollection from './util/layerCollection.js';
43
45
  import type Category from './category/category.js';
44
46
  import type TileProvider from './layer/tileProvider/tileProvider.js';
45
47
  import type AbstractFeatureProvider from './featureProvider/abstractFeatureProvider.js';
46
- import {
47
- createHiddenObjectsCollection,
48
- HiddenObject,
49
- } from './util/hiddenObjects.js';
50
- import FlightInstance, {
51
- FlightInstanceOptions,
52
- } from './util/flight/flightInstance.js';
48
+ import type { HiddenObject } from './util/hiddenObjects.js';
49
+ import { createHiddenObjectsCollection } from './util/hiddenObjects.js';
50
+ import type { FlightInstanceOptions } from './util/flight/flightInstance.js';
51
+ import FlightInstance from './util/flight/flightInstance.js';
53
52
  import FlightCollection from './util/flight/flightCollection.js';
54
53
  import DisplayQuality from './util/displayQuality/displayQuality.js';
55
54
  import VectorClusterGroup from './vectorCluster/vectorClusterGroup.js';
56
- import VectorClusterGroupCollection from './vectorCluster/vectorClusterGroupCollection.js';
57
- import ClippingPolygonObject, {
58
- ClippingPolygonObjectOptions,
59
- } from './util/clipping/clippingPolygonObject.js';
55
+ import type VectorClusterGroupCollection from './vectorCluster/vectorClusterGroupCollection.js';
56
+ import type { ClippingPolygonObjectOptions } from './util/clipping/clippingPolygonObject.js';
57
+ import ClippingPolygonObject from './util/clipping/clippingPolygonObject.js';
60
58
  import ClippingPolygonObjectCollection from './util/clipping/clippingPolygonObjectCollection.js';
61
59
 
62
60
  function getLogger(): Logger {
@@ -70,7 +68,7 @@ export type VcsAppOptions = {
70
68
  properties?: Record<string, unknown>;
71
69
  };
72
70
 
73
- const vcsApps: Map<string, VcsApp> = new Map();
71
+ const vcsApps = new Map<string, VcsApp>();
74
72
 
75
73
  export const defaultDynamicModuleId = '_defaultDynamicModule';
76
74
 
@@ -151,7 +149,7 @@ class VcsApp {
151
149
  }>;
152
150
  };
153
151
 
154
- private _categoryItemClassRegistry: OverrideClassRegistry<Ctor<any>>;
152
+ private _categoryItemClassRegistry: OverrideClassRegistry<CtorType<any>>;
155
153
 
156
154
  private _tileProviderClassRegistry: OverrideClassRegistry<
157
155
  typeof TileProvider
@@ -457,7 +455,7 @@ class VcsApp {
457
455
  .filter((l) => l[moduleIdSymbol] === module._id)
458
456
  .forEach((l) => {
459
457
  if (l.activeOnStartup) {
460
- l.activate().catch((err) => {
458
+ l.activate().catch((err: unknown) => {
461
459
  getLogger().error(
462
460
  `Failed to activate active on startup layer ${l.name}`,
463
461
  );
@@ -539,7 +537,7 @@ class VcsApp {
539
537
  });
540
538
  }
541
539
 
542
- _startModuleMutationChain(): void {
540
+ private _startModuleMutationChain(): void {
543
541
  if (!this._moduleMutationChain.running) {
544
542
  const item = this._moduleMutationChain.items.shift();
545
543
  if (item) {
@@ -547,8 +545,12 @@ class VcsApp {
547
545
  this._moduleMutationChain.running = true;
548
546
  item
549
547
  .mutation()
550
- .then(() => item.resolve())
551
- .catch((err) => item.reject(err))
548
+ .then(() => {
549
+ item.resolve();
550
+ })
551
+ .catch((err: unknown) => {
552
+ item.reject(err);
553
+ })
552
554
  .finally(() => {
553
555
  this._moduleMutationChain.running = false;
554
556
  this._startModuleMutationChain();
@@ -578,12 +580,8 @@ class VcsApp {
578
580
  this._obliqueCollections.serializeModule(moduleId);
579
581
  config.viewpoints = this._viewpoints.serializeModule(moduleId);
580
582
  config.styles = this._styles.serializeModule(moduleId);
581
- config.hiddenObjects = this._hiddenObjects.serializeModule(
582
- moduleId,
583
- ) as HiddenObject[];
584
- config.clippingPolygons = this._clippingPolygons.serializeModule(
585
- moduleId,
586
- ) as ClippingPolygonObjectOptions[];
583
+ config.hiddenObjects = this._hiddenObjects.serializeModule(moduleId);
584
+ config.clippingPolygons = this._clippingPolygons.serializeModule(moduleId);
587
585
  config.flights = this._flights.serializeModule(moduleId);
588
586
  config.categories = [...this._categories]
589
587
  .map((c) => c.serializeModule(moduleId))
@@ -616,17 +614,16 @@ class VcsApp {
616
614
  }
617
615
 
618
616
  protected async _removeModule(moduleId: string): Promise<void> {
619
- await Promise.all([
620
- this._maps.removeModule(moduleId),
621
- this._layers.removeModule(moduleId),
622
- this._viewpoints.removeModule(moduleId),
623
- this._styles.removeModule(moduleId),
624
- this._obliqueCollections.removeModule(moduleId),
625
- this._hiddenObjects.removeModule(moduleId),
626
- this._clippingPolygons.removeModule(moduleId),
627
- this._flights.removeModule(moduleId),
628
- this._vectorClusterGroups.removeModule(moduleId),
629
- ]);
617
+ this._maps.removeModule(moduleId);
618
+ this._layers.removeModule(moduleId);
619
+ this._viewpoints.removeModule(moduleId);
620
+ this._styles.removeModule(moduleId);
621
+ this._obliqueCollections.removeModule(moduleId);
622
+ this._hiddenObjects.removeModule(moduleId);
623
+ this._clippingPolygons.removeModule(moduleId);
624
+ this._flights.removeModule(moduleId);
625
+ this._vectorClusterGroups.removeModule(moduleId);
626
+ return Promise.resolve();
630
627
  }
631
628
 
632
629
  async removeModule(moduleId: string): Promise<void> {
@@ -693,6 +690,9 @@ export function getVcsAppById(id: string): VcsApp | undefined {
693
690
 
694
691
  window.vcs = window.vcs || {};
695
692
  window.vcs.apps = vcsApps;
693
+ window.vcs.getFirstApp = (): VcsApp | undefined => {
694
+ return vcsApps.values().next().value;
695
+ };
696
696
  window.vcs.createModuleFromConfig = (config: VcsModuleConfig): VcsModule =>
697
697
  new VcsModule(config);
698
698
 
package/src/vcsEvent.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  type Listener<T> = (event: T) => Promise<void> | void;
2
2
 
3
3
  class VcsEvent<T> {
4
- private _listeners: Set<Listener<T>> = new Set();
4
+ private _listeners = new Set<Listener<T>>();
5
5
 
6
6
  /**
7
7
  * The number of listeners
@@ -33,6 +33,7 @@ export function deserializeMap(
33
33
  if (map) {
34
34
  map.layerCollection = vcsApp.layers;
35
35
  }
36
+
36
37
  return map;
37
38
  }
38
39
 
@@ -40,7 +41,7 @@ export function deserializeViewpoint(
40
41
  viewpointObject: ViewpointOptions,
41
42
  ): null | Viewpoint {
42
43
  const viewpoint = new Viewpoint(viewpointObject);
43
- if (viewpoint && viewpoint.isValid()) {
44
+ if (viewpoint.isValid()) {
44
45
  return viewpoint;
45
46
  }
46
47
  getLogger().warning(`Viewpoint ${String(viewpointObject.name)} is not valid`);
@@ -108,13 +109,13 @@ export function serializeLayer(
108
109
  // @ts-ignore
109
110
  serializedLayer.zIndex = layer[vcsApp.layers.zIndexSymbol] as number;
110
111
  if (
111
- (serializedLayer?.style as StyleItemOptions)?.name &&
112
+ (serializedLayer.style as StyleItemOptions | undefined)?.name &&
112
113
  vcsApp.styles.hasKey((serializedLayer.style as StyleItemOptions).name)
113
114
  ) {
114
115
  serializedLayer.style = (serializedLayer.style as StyleItemOptions).name;
115
116
  }
116
117
  if (
117
- (serializedLayer?.highlightStyle as StyleItemOptions)?.name &&
118
+ (serializedLayer.highlightStyle as StyleItemOptions | undefined)?.name &&
118
119
  vcsApp.styles.hasKey(
119
120
  (serializedLayer.highlightStyle as StyleItemOptions).name,
120
121
  )
@@ -1,24 +1,23 @@
1
- import {
1
+ import type {
2
2
  CustomDataSource,
3
3
  EntityCollection,
4
4
  Entity,
5
5
  Scene,
6
6
  } from '@vcmap-cesium/engine';
7
- import { StyleLike } from 'ol/style/Style.js';
7
+ import type { StyleLike } from 'ol/style/Style.js';
8
8
  import type { Feature } from 'ol/index.js';
9
- import {
10
- CesiumVectorContext,
11
- setReferenceForPicking,
12
- } from '../layer/cesium/vectorContext.js';
13
- import VectorProperties from '../layer/vectorProperties.js';
14
- import convert, { ConvertedItem } from '../util/featureconverter/convert.js';
9
+ import type { CesiumVectorContext } from '../layer/cesium/vectorContext.js';
10
+ import { setReferenceForPicking } from '../layer/cesium/vectorContext.js';
11
+ import type VectorProperties from '../layer/vectorProperties.js';
12
+ import type { ConvertedItem } from '../util/featureconverter/convert.js';
13
+ import convert from '../util/featureconverter/convert.js';
15
14
 
16
15
  class VectorClusterCesiumContext implements CesiumVectorContext {
17
16
  entities: EntityCollection;
18
17
 
19
18
  private _featureItems = new Map<Feature, () => void>();
20
19
 
21
- private _convertingFeatures: Map<Feature, () => void> = new Map();
20
+ private _convertingFeatures = new Map<Feature, () => void>();
22
21
 
23
22
  constructor(dataSource: CustomDataSource) {
24
23
  this.entities = dataSource.entities;