@vcmap/core 6.1.11 → 6.2.0-rc.2

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 (821) 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 +57 -18
  5. package/dist/geojson.d.ts +3 -2
  6. package/dist/index.d.ts +244 -109
  7. package/dist/index.js +82 -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/cogCesiumImpl.d.ts +14 -0
  55. package/dist/src/layer/cesium/cogCesiumImpl.js +28 -0
  56. package/dist/src/layer/cesium/cogCesiumImpl.js.map +1 -0
  57. package/dist/src/layer/cesium/cogImageryProvider.d.ts +31 -0
  58. package/dist/src/layer/cesium/cogImageryProvider.js +258 -0
  59. package/dist/src/layer/cesium/cogImageryProvider.js.map +1 -0
  60. package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +3 -2
  61. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -1
  62. package/dist/src/layer/cesium/resourceHelper.js +0 -1
  63. package/dist/src/layer/cesium/resourceHelper.js.map +1 -1
  64. package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +2 -2
  65. package/dist/src/layer/cesium/sourceVectorContextSync.js +1 -1
  66. package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -1
  67. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +1 -1
  68. package/dist/src/layer/cesium/vcsTile/vcsChildTile.d.ts +3 -2
  69. package/dist/src/layer/cesium/vcsTile/vcsChildTile.js +1 -1
  70. package/dist/src/layer/cesium/vcsTile/vcsChildTile.js.map +1 -1
  71. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.d.ts +3 -2
  72. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js +1 -1
  73. package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js.map +1 -1
  74. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.d.ts +3 -2
  75. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js +1 -1
  76. package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js.map +1 -1
  77. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.d.ts +6 -5
  78. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js +4 -4
  79. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js.map +1 -1
  80. package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.d.ts +6 -5
  81. package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.js.map +1 -1
  82. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.d.ts +3 -2
  83. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js +1 -1
  84. package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js.map +1 -1
  85. package/dist/src/layer/cesium/vectorCesiumImpl.js +1 -1
  86. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  87. package/dist/src/layer/cesium/vectorContext.d.ts +9 -8
  88. package/dist/src/layer/cesium/vectorContext.js +6 -5
  89. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  90. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +1 -1
  91. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -1
  92. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
  93. package/dist/src/layer/cesium/vectorTileCesiumImpl.d.ts +3 -3
  94. package/dist/src/layer/cesium/vectorTileCesiumImpl.js +2 -1
  95. package/dist/src/layer/cesium/vectorTileCesiumImpl.js.map +1 -1
  96. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +1 -1
  97. package/dist/src/layer/cesium/vectorTileImageryProvider.js +3 -2
  98. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
  99. package/dist/src/layer/cesium/wmsCesiumImpl.js +3 -2
  100. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
  101. package/dist/src/layer/cesiumTilesetLayer.d.ts +6 -4
  102. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
  103. package/dist/src/layer/cogLayer.d.ts +37 -0
  104. package/dist/src/layer/cogLayer.js +119 -0
  105. package/dist/src/layer/cogLayer.js.map +1 -0
  106. package/dist/src/layer/czmlLayer.js.map +1 -1
  107. package/dist/src/layer/dataSourceLayer.d.ts +4 -2
  108. package/dist/src/layer/dataSourceLayer.js +1 -1
  109. package/dist/src/layer/dataSourceLayer.js.map +1 -1
  110. package/dist/src/layer/featureLayer.d.ts +4 -2
  111. package/dist/src/layer/featureLayer.js.map +1 -1
  112. package/dist/src/layer/featureStoreFeatureVisibility.d.ts +2 -1
  113. package/dist/src/layer/featureStoreFeatureVisibility.js.map +1 -1
  114. package/dist/src/layer/featureStoreLayer.d.ts +8 -6
  115. package/dist/src/layer/featureStoreLayer.js +2 -2
  116. package/dist/src/layer/featureStoreLayer.js.map +1 -1
  117. package/dist/src/layer/featureStoreLayerChanges.d.ts +1 -1
  118. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
  119. package/dist/src/layer/featureVisibility.d.ts +2 -1
  120. package/dist/src/layer/featureVisibility.js.map +1 -1
  121. package/dist/src/layer/flatGeobufHelpers.d.ts +18 -3
  122. package/dist/src/layer/flatGeobufHelpers.js +21 -1
  123. package/dist/src/layer/flatGeobufHelpers.js.map +1 -1
  124. package/dist/src/layer/flatGeobufLayer.d.ts +2 -1
  125. package/dist/src/layer/flatGeobufLayer.js.map +1 -1
  126. package/dist/src/layer/geojsonHelpers.d.ts +1 -1
  127. package/dist/src/layer/geojsonHelpers.js +8 -6
  128. package/dist/src/layer/geojsonHelpers.js.map +1 -1
  129. package/dist/src/layer/geojsonLayer.d.ts +2 -1
  130. package/dist/src/layer/geojsonLayer.js +3 -1
  131. package/dist/src/layer/geojsonLayer.js.map +1 -1
  132. package/dist/src/layer/globalHider.d.ts +1 -1
  133. package/dist/src/layer/globalHider.js.map +1 -1
  134. package/dist/src/layer/layer.d.ts +9 -7
  135. package/dist/src/layer/layer.js +1 -1
  136. package/dist/src/layer/layer.js.map +1 -1
  137. package/dist/src/layer/oblique/obliqueHelpers.js +2 -0
  138. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
  139. package/dist/src/layer/oblique/sourceObliqueSync.d.ts +1 -1
  140. package/dist/src/layer/oblique/sourceObliqueSync.js +7 -7
  141. package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -1
  142. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -2
  143. package/dist/src/layer/oblique/vectorObliqueImpl.js +3 -3
  144. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  145. package/dist/src/layer/openStreetMapLayer.d.ts +5 -4
  146. package/dist/src/layer/openStreetMapLayer.js +1 -1
  147. package/dist/src/layer/openStreetMapLayer.js.map +1 -1
  148. package/dist/src/layer/openlayers/cogOpenlayersImpl.d.ts +23 -0
  149. package/dist/src/layer/openlayers/cogOpenlayersImpl.js +54 -0
  150. package/dist/src/layer/openlayers/cogOpenlayersImpl.js.map +1 -0
  151. package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +4 -2
  152. package/dist/src/layer/openlayers/layerOpenlayersImpl.js +5 -4
  153. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -1
  154. package/dist/src/layer/openlayers/loadFunctionHelpers.js +0 -1
  155. package/dist/src/layer/openlayers/loadFunctionHelpers.js.map +1 -1
  156. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +1 -1
  157. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +2 -2
  158. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -1
  159. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +1 -1
  160. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -1
  161. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +1 -1
  162. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
  163. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +1 -1
  164. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.d.ts +13 -0
  165. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js +34 -0
  166. package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js.map +1 -0
  167. package/dist/src/layer/panorama/vectorTilePanoramaImpl.d.ts +28 -0
  168. package/dist/src/layer/panorama/vectorTilePanoramaImpl.js +114 -0
  169. package/dist/src/layer/panorama/vectorTilePanoramaImpl.js.map +1 -0
  170. package/dist/src/layer/panoramaDatasetLayer.d.ts +53 -0
  171. package/dist/src/layer/panoramaDatasetLayer.js +192 -0
  172. package/dist/src/layer/panoramaDatasetLayer.js.map +1 -0
  173. package/dist/src/layer/pointCloudLayer.d.ts +8 -5
  174. package/dist/src/layer/pointCloudLayer.js +1 -1
  175. package/dist/src/layer/pointCloudLayer.js.map +1 -1
  176. package/dist/src/layer/rasterLayer.d.ts +6 -4
  177. package/dist/src/layer/rasterLayer.js.map +1 -1
  178. package/dist/src/layer/singleImageLayer.d.ts +3 -2
  179. package/dist/src/layer/singleImageLayer.js.map +1 -1
  180. package/dist/src/layer/terrainHelpers.d.ts +1 -1
  181. package/dist/src/layer/terrainHelpers.js.map +1 -1
  182. package/dist/src/layer/terrainLayer.d.ts +3 -2
  183. package/dist/src/layer/terrainLayer.js.map +1 -1
  184. package/dist/src/layer/tileLoadedHelper.d.ts +2 -2
  185. package/dist/src/layer/tileProvider/flatGeobufTileProvider.d.ts +7 -4
  186. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js +10 -2
  187. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js.map +1 -1
  188. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +3 -2
  189. package/dist/src/layer/tileProvider/mvtTileProvider.js +3 -3
  190. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
  191. package/dist/src/layer/tileProvider/staticFeatureTileProvider.d.ts +3 -2
  192. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js +0 -1
  193. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js.map +1 -1
  194. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +2 -1
  195. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -1
  196. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
  197. package/dist/src/layer/tileProvider/tileProvider.d.ts +3 -2
  198. package/dist/src/layer/tileProvider/tileProvider.js +10 -3
  199. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
  200. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +2 -1
  201. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
  202. package/dist/src/layer/tmsLayer.d.ts +3 -2
  203. package/dist/src/layer/tmsLayer.js +1 -1
  204. package/dist/src/layer/tmsLayer.js.map +1 -1
  205. package/dist/src/layer/vectorHelpers.d.ts +2 -2
  206. package/dist/src/layer/vectorHelpers.js +1 -1
  207. package/dist/src/layer/vectorHelpers.js.map +1 -1
  208. package/dist/src/layer/vectorLayer.d.ts +12 -8
  209. package/dist/src/layer/vectorLayer.js +1 -1
  210. package/dist/src/layer/vectorLayer.js.map +1 -1
  211. package/dist/src/layer/vectorProperties.d.ts +3 -3
  212. package/dist/src/layer/vectorProperties.js +4 -0
  213. package/dist/src/layer/vectorProperties.js.map +1 -1
  214. package/dist/src/layer/vectorSymbols.d.ts +8 -0
  215. package/dist/src/layer/vectorSymbols.js +8 -0
  216. package/dist/src/layer/vectorSymbols.js.map +1 -1
  217. package/dist/src/layer/vectorTileLayer.d.ts +17 -10
  218. package/dist/src/layer/vectorTileLayer.js +8 -1
  219. package/dist/src/layer/vectorTileLayer.js.map +1 -1
  220. package/dist/src/layer/wfsLayer.d.ts +2 -1
  221. package/dist/src/layer/wfsLayer.js +6 -4
  222. package/dist/src/layer/wfsLayer.js.map +1 -1
  223. package/dist/src/layer/wmsHelpers.js +2 -2
  224. package/dist/src/layer/wmsHelpers.js.map +1 -1
  225. package/dist/src/layer/wmsLayer.d.ts +4 -3
  226. package/dist/src/layer/wmsLayer.js.map +1 -1
  227. package/dist/src/layer/wmtsLayer.d.ts +3 -2
  228. package/dist/src/layer/wmtsLayer.js +1 -1
  229. package/dist/src/layer/wmtsLayer.js.map +1 -1
  230. package/dist/src/map/baseOLMap.d.ts +1 -1
  231. package/dist/src/map/baseOLMap.js +17 -8
  232. package/dist/src/map/baseOLMap.js.map +1 -1
  233. package/dist/src/map/cameraLimiter.d.ts +2 -1
  234. package/dist/src/map/cameraLimiter.js.map +1 -1
  235. package/dist/src/map/cesiumMap.d.ts +5 -7
  236. package/dist/src/map/cesiumMap.js +27 -186
  237. package/dist/src/map/cesiumMap.js.map +1 -1
  238. package/dist/src/map/cesiumMapHelpers.d.ts +7 -0
  239. package/dist/src/map/cesiumMapHelpers.js +144 -0
  240. package/dist/src/map/cesiumMapHelpers.js.map +1 -0
  241. package/dist/src/map/navigation/cameraHelper.d.ts +3 -2
  242. package/dist/src/map/navigation/cameraHelper.js.map +1 -1
  243. package/dist/src/map/navigation/cesiumNavigation.d.ts +4 -3
  244. package/dist/src/map/navigation/cesiumNavigation.js.map +1 -1
  245. package/dist/src/map/navigation/controller/controller.d.ts +1 -1
  246. package/dist/src/map/navigation/controller/controller.js +2 -2
  247. package/dist/src/map/navigation/controller/controller.js.map +1 -1
  248. package/dist/src/map/navigation/controller/keyboardController.d.ts +3 -2
  249. package/dist/src/map/navigation/controller/keyboardController.js +4 -2
  250. package/dist/src/map/navigation/controller/keyboardController.js.map +1 -1
  251. package/dist/src/map/navigation/easingHelper.d.ts +1 -1
  252. package/dist/src/map/navigation/easingHelper.js +1 -1
  253. package/dist/src/map/navigation/easingHelper.js.map +1 -1
  254. package/dist/src/map/navigation/navigation.d.ts +6 -6
  255. package/dist/src/map/navigation/navigation.js +6 -2
  256. package/dist/src/map/navigation/navigation.js.map +1 -1
  257. package/dist/src/map/navigation/navigationImpl.d.ts +2 -2
  258. package/dist/src/map/navigation/obliqueNavigation.d.ts +4 -3
  259. package/dist/src/map/navigation/obliqueNavigation.js +3 -1
  260. package/dist/src/map/navigation/obliqueNavigation.js.map +1 -1
  261. package/dist/src/map/navigation/openlayersNavigation.d.ts +4 -3
  262. package/dist/src/map/navigation/openlayersNavigation.js.map +1 -1
  263. package/dist/src/map/navigation/viewHelper.d.ts +2 -2
  264. package/dist/src/map/navigation/viewHelper.js +0 -1
  265. package/dist/src/map/navigation/viewHelper.js.map +1 -1
  266. package/dist/src/map/obliqueMap.d.ts +3 -3
  267. package/dist/src/map/obliqueMap.js +1 -1
  268. package/dist/src/map/obliqueMap.js.map +1 -1
  269. package/dist/src/map/panoramaMap.d.ts +98 -0
  270. package/dist/src/map/panoramaMap.js +298 -0
  271. package/dist/src/map/panoramaMap.js.map +1 -0
  272. package/dist/src/map/vcsMap.d.ts +3 -3
  273. package/dist/src/map/vcsMap.js +17 -11
  274. package/dist/src/map/vcsMap.js.map +1 -1
  275. package/dist/src/moduleIdSymbol.js +0 -1
  276. package/dist/src/moduleIdSymbol.js.map +1 -1
  277. package/dist/src/oblique/defaultObliqueCollection.js +3 -1
  278. package/dist/src/oblique/defaultObliqueCollection.js.map +1 -1
  279. package/dist/src/oblique/helpers.d.ts +1 -1
  280. package/dist/src/oblique/helpers.js +1 -1
  281. package/dist/src/oblique/helpers.js.map +1 -1
  282. package/dist/src/oblique/obliqueCollection.d.ts +3 -2
  283. package/dist/src/oblique/obliqueCollection.js.map +1 -1
  284. package/dist/src/oblique/obliqueDataSet.d.ts +2 -1
  285. package/dist/src/oblique/obliqueDataSet.js.map +1 -1
  286. package/dist/src/oblique/obliqueImage.d.ts +1 -1
  287. package/dist/src/oblique/obliqueProvider.d.ts +1 -1
  288. package/dist/src/oblique/obliqueProvider.js.map +1 -1
  289. package/dist/src/oblique/obliqueView.js +1 -0
  290. package/dist/src/oblique/obliqueView.js.map +1 -1
  291. package/dist/src/oblique/parseImageJson.js +2 -3
  292. package/dist/src/oblique/parseImageJson.js.map +1 -1
  293. package/dist/src/ol/feature.js.map +1 -1
  294. package/dist/src/ol/geom/circle.js.map +1 -1
  295. package/dist/src/ol/render/canvas/canvasTileRenderer.js +0 -1
  296. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -1
  297. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +1 -1
  298. package/dist/src/ol/source/VcsCluster.d.ts +3 -3
  299. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  300. package/dist/src/overrideClassRegistry.d.ts +3 -3
  301. package/dist/src/overrideClassRegistry.js +1 -0
  302. package/dist/src/overrideClassRegistry.js.map +1 -1
  303. package/dist/src/panorama/fieldOfView.d.ts +57 -0
  304. package/dist/src/panorama/fieldOfView.js +135 -0
  305. package/dist/src/panorama/fieldOfView.js.map +1 -0
  306. package/dist/src/panorama/panoramaCameraController.d.ts +35 -0
  307. package/dist/src/panorama/panoramaCameraController.js +146 -0
  308. package/dist/src/panorama/panoramaCameraController.js.map +1 -0
  309. package/dist/src/panorama/panoramaImage.d.ts +135 -0
  310. package/dist/src/panorama/panoramaImage.js +269 -0
  311. package/dist/src/panorama/panoramaImage.js.map +1 -0
  312. package/dist/src/panorama/panoramaImageView.d.ts +25 -0
  313. package/dist/src/panorama/panoramaImageView.js +328 -0
  314. package/dist/src/panorama/panoramaImageView.js.map +1 -0
  315. package/dist/src/panorama/panoramaTile.d.ts +23 -0
  316. package/dist/src/panorama/panoramaTile.js +101 -0
  317. package/dist/src/panorama/panoramaTile.js.map +1 -0
  318. package/dist/src/panorama/panoramaTileCache.d.ts +16 -0
  319. package/dist/src/panorama/panoramaTileCache.js +34 -0
  320. package/dist/src/panorama/panoramaTileCache.js.map +1 -0
  321. package/dist/src/panorama/panoramaTileCoordinate.d.ts +56 -0
  322. package/dist/src/panorama/panoramaTileCoordinate.js +110 -0
  323. package/dist/src/panorama/panoramaTileCoordinate.js.map +1 -0
  324. package/dist/src/panorama/panoramaTileMaterial.d.ts +96 -0
  325. package/dist/src/panorama/panoramaTileMaterial.js +213 -0
  326. package/dist/src/panorama/panoramaTileMaterial.js.map +1 -0
  327. package/dist/src/panorama/panoramaTileMaterialFS.shader.d.ts +2 -0
  328. package/dist/src/panorama/panoramaTileMaterialFS.shader.js +170 -0
  329. package/dist/src/panorama/panoramaTileMaterialFS.shader.js.map +1 -0
  330. package/dist/src/panorama/panoramaTilePrimitiveCollection.d.ts +31 -0
  331. package/dist/src/panorama/panoramaTilePrimitiveCollection.js +113 -0
  332. package/dist/src/panorama/panoramaTilePrimitiveCollection.js.map +1 -0
  333. package/dist/src/panorama/panoramaTileProvider.d.ts +67 -0
  334. package/dist/src/panorama/panoramaTileProvider.js +312 -0
  335. package/dist/src/panorama/panoramaTileProvider.js.map +1 -0
  336. package/dist/src/panorama/sphericalCoordinates.d.ts +20 -0
  337. package/dist/src/panorama/sphericalCoordinates.js +78 -0
  338. package/dist/src/panorama/sphericalCoordinates.js.map +1 -0
  339. package/dist/src/style/arrowStyle.d.ts +1 -1
  340. package/dist/src/style/arrowStyle.js.map +1 -1
  341. package/dist/src/style/declarativeStyleItem.d.ts +1 -1
  342. package/dist/src/style/declarativeStyleItem.js +12 -14
  343. package/dist/src/style/declarativeStyleItem.js.map +1 -1
  344. package/dist/src/style/styleFactory.d.ts +2 -2
  345. package/dist/src/style/styleFactory.js +1 -2
  346. package/dist/src/style/styleFactory.js.map +1 -1
  347. package/dist/src/style/styleHelpers.d.ts +2 -2
  348. package/dist/src/style/styleHelpers.js +6 -6
  349. package/dist/src/style/styleHelpers.js.map +1 -1
  350. package/dist/src/style/styleItem.d.ts +4 -2
  351. package/dist/src/style/styleItem.js +3 -1
  352. package/dist/src/style/styleItem.js.map +1 -1
  353. package/dist/src/style/vectorStyleItem.d.ts +7 -5
  354. package/dist/src/style/vectorStyleItem.js +9 -19
  355. package/dist/src/style/vectorStyleItem.js.map +1 -1
  356. package/dist/src/style/writeStyle.d.ts +2 -2
  357. package/dist/src/style/writeStyle.js.map +1 -1
  358. package/dist/src/util/clipping/clippingObject.js.map +1 -1
  359. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
  360. package/dist/src/util/clipping/clippingPolygonHelper.d.ts +2 -1
  361. package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -1
  362. package/dist/src/util/clipping/clippingPolygonObject.d.ts +4 -3
  363. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -1
  364. package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +3 -4
  365. package/dist/src/util/clipping/clippingPolygonObjectCollection.js +37 -11
  366. package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -1
  367. package/dist/src/util/collection.js.map +1 -1
  368. package/dist/src/util/createAbsoluteFeature.d.ts +4 -0
  369. package/dist/src/util/createAbsoluteFeature.js +98 -0
  370. package/dist/src/util/createAbsoluteFeature.js.map +1 -0
  371. package/dist/src/util/displayQuality/displayQuality.d.ts +3 -5
  372. package/dist/src/util/displayQuality/displayQuality.js +4 -5
  373. package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
  374. package/dist/src/util/editor/createFeatureSession.d.ts +4 -3
  375. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  376. package/dist/src/util/editor/editFeaturesSession.d.ts +2 -1
  377. package/dist/src/util/editor/editFeaturesSession.js +3 -1
  378. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  379. package/dist/src/util/editor/editGeometrySession.d.ts +3 -2
  380. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  381. package/dist/src/util/editor/editorHelpers.d.ts +5 -4
  382. package/dist/src/util/editor/editorHelpers.js +4 -0
  383. package/dist/src/util/editor/editorHelpers.js.map +1 -1
  384. package/dist/src/util/editor/editorSessionHelpers.d.ts +3 -3
  385. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
  386. package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +2 -1
  387. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
  388. package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +3 -2
  389. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
  390. package/dist/src/util/editor/interactions/createPointInteraction.d.ts +3 -2
  391. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
  392. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +3 -2
  393. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
  394. package/dist/src/util/editor/interactions/creationSnapping.d.ts +2 -2
  395. package/dist/src/util/editor/interactions/creationSnapping.js +1 -1
  396. package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -1
  397. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +2 -1
  398. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -1
  399. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +2 -1
  400. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
  401. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +2 -1
  402. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
  403. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -2
  404. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
  405. package/dist/src/util/editor/interactions/layerSnapping.d.ts +4 -4
  406. package/dist/src/util/editor/interactions/layerSnapping.js +1 -1
  407. package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -1
  408. package/dist/src/util/editor/interactions/mapInteractionController.d.ts +2 -1
  409. package/dist/src/util/editor/interactions/mapInteractionController.js +1 -0
  410. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
  411. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +3 -2
  412. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
  413. package/dist/src/util/editor/interactions/rightClickInteraction.d.ts +2 -1
  414. package/dist/src/util/editor/interactions/rightClickInteraction.js.map +1 -1
  415. package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +2 -1
  416. package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -1
  417. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +3 -2
  418. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +13 -13
  419. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -1
  420. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +3 -3
  421. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +1 -1
  422. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -1
  423. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +2 -1
  424. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +1 -1
  425. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -1
  426. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +3 -2
  427. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
  428. package/dist/src/util/editor/interactions/translationSnapping.d.ts +2 -2
  429. package/dist/src/util/editor/interactions/translationSnapping.js +1 -1
  430. package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -1
  431. package/dist/src/util/editor/selectFeaturesSession.d.ts +3 -2
  432. package/dist/src/util/editor/selectFeaturesSession.js +1 -1
  433. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  434. package/dist/src/util/editor/snappingHelpers.d.ts +3 -3
  435. package/dist/src/util/editor/snappingHelpers.js.map +1 -1
  436. package/dist/src/util/editor/transformation/create2DHandlers.d.ts +2 -1
  437. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
  438. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +3 -2
  439. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
  440. package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +3 -2
  441. package/dist/src/util/editor/transformation/extrudeInteraction.js +1 -1
  442. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -1
  443. package/dist/src/util/editor/transformation/rotateInteraction.d.ts +4 -2
  444. package/dist/src/util/editor/transformation/rotateInteraction.js +1 -1
  445. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -1
  446. package/dist/src/util/editor/transformation/scaleInteraction.d.ts +3 -2
  447. package/dist/src/util/editor/transformation/scaleInteraction.js +1 -1
  448. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
  449. package/dist/src/util/editor/transformation/transformationHandler.d.ts +2 -1
  450. package/dist/src/util/editor/transformation/transformationHandler.js +1 -1
  451. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
  452. package/dist/src/util/editor/transformation/translateInteraction.d.ts +3 -2
  453. package/dist/src/util/editor/transformation/translateInteraction.js +2 -2
  454. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
  455. package/dist/src/util/exclusiveManager.d.ts +1 -1
  456. package/dist/src/util/exclusiveManager.js.map +1 -1
  457. package/dist/src/util/featureconverter/arcToCesium.d.ts +1 -1
  458. package/dist/src/util/featureconverter/arcToCesium.js +1 -2
  459. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
  460. package/dist/src/util/featureconverter/circleToCesium.d.ts +1 -1
  461. package/dist/src/util/featureconverter/circleToCesium.js +1 -1
  462. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
  463. package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -1
  464. package/dist/src/util/featureconverter/clampedPrimitive.js +0 -1
  465. package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -1
  466. package/dist/src/util/featureconverter/convert.d.ts +4 -3
  467. package/dist/src/util/featureconverter/convert.js +1 -1
  468. package/dist/src/util/featureconverter/convert.js.map +1 -1
  469. package/dist/src/util/featureconverter/extent3D.d.ts +2 -2
  470. package/dist/src/util/featureconverter/extent3D.js.map +1 -1
  471. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +5 -5
  472. package/dist/src/util/featureconverter/lineStringToCesium.js +1 -2
  473. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
  474. package/dist/src/util/featureconverter/pointHelpers.d.ts +6 -5
  475. package/dist/src/util/featureconverter/pointHelpers.js +2 -3
  476. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
  477. package/dist/src/util/featureconverter/pointToCesium.d.ts +6 -11
  478. package/dist/src/util/featureconverter/pointToCesium.js +3 -20
  479. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
  480. package/dist/src/util/featureconverter/polygonToCesium.d.ts +1 -1
  481. package/dist/src/util/featureconverter/polygonToCesium.js +1 -1
  482. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
  483. package/dist/src/util/featureconverter/storeyHelpers.d.ts +2 -2
  484. package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +2 -2
  485. package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -1
  486. package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +8 -2
  487. package/dist/src/util/featureconverter/vectorHeightInfo.js +17 -0
  488. package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -1
  489. package/dist/src/util/flight/flightAnchor.js +4 -3
  490. package/dist/src/util/flight/flightAnchor.js.map +1 -1
  491. package/dist/src/util/flight/flightCollection.d.ts +2 -2
  492. package/dist/src/util/flight/flightCollection.js.map +1 -1
  493. package/dist/src/util/flight/flightHelpers.d.ts +1 -1
  494. package/dist/src/util/flight/flightInstance.d.ts +3 -2
  495. package/dist/src/util/flight/flightInstance.js.map +1 -1
  496. package/dist/src/util/flight/flightPlayer.js +1 -1
  497. package/dist/src/util/flight/flightPlayer.js.map +1 -1
  498. package/dist/src/util/flight/flightRecorder.d.ts +10 -0
  499. package/dist/src/util/flight/flightRecorder.js +172 -0
  500. package/dist/src/util/flight/flightRecorder.js.map +1 -0
  501. package/dist/src/util/flight/flightVisualizer.d.ts +1 -1
  502. package/dist/src/util/flight/flightVisualizer.js.map +1 -1
  503. package/dist/src/util/geometryHelpers.d.ts +3 -5
  504. package/dist/src/util/geometryHelpers.js +0 -91
  505. package/dist/src/util/geometryHelpers.js.map +1 -1
  506. package/dist/src/util/hiddenObjects.d.ts +2 -2
  507. package/dist/src/util/hiddenObjects.js +0 -1
  508. package/dist/src/util/hiddenObjects.js.map +1 -1
  509. package/dist/src/util/indexedCollection.js.map +1 -1
  510. package/dist/src/util/isMobile.js +3 -2
  511. package/dist/src/util/isMobile.js.map +1 -1
  512. package/dist/src/util/layerCollection.d.ts +6 -1
  513. package/dist/src/util/layerCollection.js +5 -1
  514. package/dist/src/util/layerCollection.js.map +1 -1
  515. package/dist/src/util/locale.js +0 -1
  516. package/dist/src/util/locale.js.map +1 -1
  517. package/dist/src/util/mapCollection.d.ts +9 -4
  518. package/dist/src/util/mapCollection.js +67 -34
  519. package/dist/src/util/mapCollection.js.map +1 -1
  520. package/dist/src/util/math.d.ts +4 -1
  521. package/dist/src/util/math.js +20 -1
  522. package/dist/src/util/math.js.map +1 -1
  523. package/dist/src/util/overrideCollection.d.ts +1 -1
  524. package/dist/src/util/overrideCollection.js +3 -1
  525. package/dist/src/util/overrideCollection.js.map +1 -1
  526. package/dist/src/util/projection.d.ts +1 -1
  527. package/dist/src/util/projection.js +2 -2
  528. package/dist/src/util/projection.js.map +1 -1
  529. package/dist/src/util/renderScreenshot.d.ts +1 -1
  530. package/dist/src/util/rotation.d.ts +4 -3
  531. package/dist/src/util/rotation.js +1 -1
  532. package/dist/src/util/rotation.js.map +1 -1
  533. package/dist/src/util/urlHelpers.js +0 -1
  534. package/dist/src/util/urlHelpers.js.map +1 -1
  535. package/dist/src/util/vcsTemplate.js +2 -4
  536. package/dist/src/util/vcsTemplate.js.map +1 -1
  537. package/dist/src/util/viewpoint.d.ts +6 -2
  538. package/dist/src/util/viewpoint.js +11 -1
  539. package/dist/src/util/viewpoint.js.map +1 -1
  540. package/dist/src/vcsApp.d.ts +7 -6
  541. package/dist/src/vcsApp.js +20 -14
  542. package/dist/src/vcsApp.js.map +1 -1
  543. package/dist/src/vcsEvent.js.map +1 -1
  544. package/dist/src/vcsModuleHelpers.js +3 -3
  545. package/dist/src/vcsModuleHelpers.js.map +1 -1
  546. package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +4 -4
  547. package/dist/src/vectorCluster/vectorClusterCesiumContext.js +1 -1
  548. package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -1
  549. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +9 -6
  550. package/dist/src/vectorCluster/vectorClusterGroup.js +17 -5
  551. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -1
  552. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +2 -2
  553. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +1 -1
  554. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -1
  555. package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +1 -1
  556. package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +5 -5
  557. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +2 -2
  558. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +1 -1
  559. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -1
  560. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +2 -2
  561. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +4 -3
  562. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -1
  563. package/dist/src/vectorCluster/vectorClusterSymbols.js +0 -1
  564. package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -1
  565. package/dist/src/workers/panoramaImageWorker.d.ts +1 -0
  566. package/dist/src/workers/panoramaImageWorker.js +34 -0
  567. package/dist/src/workers/panoramaImageWorker.js.map +1 -0
  568. package/dist/tests/data/cog/test_grey_world.tif +0 -0
  569. package/dist/tests/data/cog/test_rgb.tif +0 -0
  570. package/dist/tests/data/cog/test_rgb_world.tif +0 -0
  571. package/dist/tests/data/panorama/badOrientation.tif +0 -0
  572. package/dist/tests/data/panorama/badPosition.tif +0 -0
  573. package/dist/tests/data/panorama/lowOverview.tif +0 -0
  574. package/dist/tests/data/panorama/noVersionDepth.tif +0 -0
  575. package/dist/tests/data/panorama/noVersionRgb.tif +0 -0
  576. package/dist/tests/data/panorama/testDepthGeotiff.tif +0 -0
  577. package/dist/tests/data/panorama/testRgbGeotiff.tif +0 -0
  578. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +6 -2
  579. package/dist/tests/unit/helpers/cesiumHelpers.js +15 -6
  580. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  581. package/dist/tests/unit/helpers/flatGeobufHelpers.d.ts +2 -0
  582. package/dist/tests/unit/helpers/flatGeobufHelpers.js +13 -0
  583. package/dist/tests/unit/helpers/flatGeobufHelpers.js.map +1 -0
  584. package/dist/tests/unit/helpers/helpers.d.ts +4 -0
  585. package/dist/tests/unit/helpers/helpers.js +26 -1
  586. package/dist/tests/unit/helpers/helpers.js.map +1 -1
  587. package/dist/tests/unit/helpers/panoramaHelpers.d.ts +30 -0
  588. package/dist/tests/unit/helpers/panoramaHelpers.js +76 -0
  589. package/dist/tests/unit/helpers/panoramaHelpers.js.map +1 -0
  590. package/index.ts +325 -279
  591. package/package.json +17 -49
  592. package/src/category/category.ts +9 -6
  593. package/src/category/categoryCollection.ts +4 -3
  594. package/src/cesium/cesium.d.ts +57 -18
  595. package/src/cesium/cesium3DTileFeature.ts +6 -7
  596. package/src/cesium/cesiumVcsCameraPrimitive.ts +6 -5
  597. package/src/cesium/entity.ts +1 -1
  598. package/src/classRegistry.ts +19 -18
  599. package/src/featureProvider/abstractFeatureProvider.ts +8 -4
  600. package/src/featureProvider/wmsFeatureProvider.ts +97 -23
  601. package/src/global.d.ts +6 -1
  602. package/src/interaction/abstractInteraction.ts +5 -5
  603. package/src/interaction/coordinateAtPixel.ts +37 -0
  604. package/src/interaction/eventHandler.ts +6 -8
  605. package/src/interaction/featureAtPixelInteraction.ts +24 -13
  606. package/src/interaction/featureProviderInteraction.ts +6 -7
  607. package/src/interaction/interactionType.ts +1 -0
  608. package/src/interaction/panoramaFeatureHighlight.ts +109 -0
  609. package/src/interaction/panoramaImageSelection.ts +37 -0
  610. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +14 -10
  611. package/src/layer/cesium/cogCesiumImpl.ts +36 -0
  612. package/src/layer/cesium/cogImageryProvider.ts +389 -0
  613. package/src/layer/cesium/dataSourceCesiumImpl.ts +8 -6
  614. package/src/layer/cesium/resourceHelper.ts +0 -1
  615. package/src/layer/cesium/sourceVectorContextSync.ts +4 -4
  616. package/src/layer/cesium/terrainCesiumImpl.ts +1 -1
  617. package/src/layer/cesium/vcsTile/vcsChildTile.ts +3 -3
  618. package/src/layer/cesium/vcsTile/vcsDebugTile.ts +5 -10
  619. package/src/layer/cesium/vcsTile/vcsNoDataTile.ts +3 -3
  620. package/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.ts +19 -17
  621. package/src/layer/cesium/vcsTile/vcsTileHelpers.ts +10 -8
  622. package/src/layer/cesium/vcsTile/vcsVectorTile.ts +7 -11
  623. package/src/layer/cesium/vectorCesiumImpl.ts +2 -4
  624. package/src/layer/cesium/vectorContext.ts +32 -25
  625. package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +2 -2
  626. package/src/layer/cesium/vectorTileCesiumImpl.ts +5 -7
  627. package/src/layer/cesium/vectorTileImageryProvider.ts +4 -4
  628. package/src/layer/cesium/wmsCesiumImpl.ts +3 -2
  629. package/src/layer/cesiumTilesetLayer.ts +6 -8
  630. package/src/layer/cogLayer.ts +162 -0
  631. package/src/layer/czmlLayer.ts +2 -2
  632. package/src/layer/dataSourceLayer.ts +4 -6
  633. package/src/layer/featureLayer.ts +6 -4
  634. package/src/layer/featureStoreFeatureVisibility.ts +2 -1
  635. package/src/layer/featureStoreLayer.ts +18 -14
  636. package/src/layer/featureStoreLayerChanges.ts +7 -7
  637. package/src/layer/featureVisibility.ts +3 -2
  638. package/src/layer/flatGeobufHelpers.ts +46 -6
  639. package/src/layer/flatGeobufLayer.ts +2 -1
  640. package/src/layer/geojsonHelpers.ts +11 -8
  641. package/src/layer/geojsonLayer.ts +8 -5
  642. package/src/layer/globalHider.ts +5 -3
  643. package/src/layer/layer.ts +14 -14
  644. package/src/layer/oblique/obliqueHelpers.ts +2 -0
  645. package/src/layer/oblique/sourceObliqueSync.ts +9 -9
  646. package/src/layer/oblique/vectorObliqueImpl.ts +6 -8
  647. package/src/layer/openStreetMapLayer.ts +7 -8
  648. package/src/layer/openlayers/cogOpenlayersImpl.ts +75 -0
  649. package/src/layer/openlayers/layerOpenlayersImpl.ts +9 -7
  650. package/src/layer/openlayers/loadFunctionHelpers.ts +0 -1
  651. package/src/layer/openlayers/tileDebugOpenlayersImpl.ts +3 -3
  652. package/src/layer/openlayers/vectorOpenlayersImpl.ts +1 -1
  653. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +3 -3
  654. package/src/layer/openlayers/wmsOpenlayersImpl.ts +1 -1
  655. package/src/layer/panorama/panoramaDatasetPanoramaImpl.ts +49 -0
  656. package/src/layer/panorama/vectorTilePanoramaImpl.ts +163 -0
  657. package/src/layer/panoramaDatasetLayer.ts +272 -0
  658. package/src/layer/pointCloudLayer.ts +9 -12
  659. package/src/layer/rasterLayer.ts +6 -5
  660. package/src/layer/singleImageLayer.ts +3 -2
  661. package/src/layer/terrainHelpers.ts +2 -1
  662. package/src/layer/terrainLayer.ts +3 -2
  663. package/src/layer/tileLoadedHelper.ts +2 -2
  664. package/src/layer/tileProvider/flatGeobufTileProvider.ts +22 -10
  665. package/src/layer/tileProvider/mvtTileProvider.ts +4 -6
  666. package/src/layer/tileProvider/staticFeatureTileProvider.ts +3 -3
  667. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +2 -2
  668. package/src/layer/tileProvider/tileProvider.ts +15 -10
  669. package/src/layer/tileProvider/urlTemplateTileProvider.ts +2 -1
  670. package/src/layer/tmsLayer.ts +3 -3
  671. package/src/layer/vectorHelpers.ts +3 -4
  672. package/src/layer/vectorLayer.ts +14 -15
  673. package/src/layer/vectorProperties.ts +27 -16
  674. package/src/layer/vectorSymbols.ts +10 -0
  675. package/src/layer/vectorTileLayer.ts +39 -29
  676. package/src/layer/wfsLayer.ts +10 -7
  677. package/src/layer/wmsHelpers.ts +2 -2
  678. package/src/layer/wmsLayer.ts +5 -5
  679. package/src/layer/wmtsLayer.ts +3 -3
  680. package/src/map/baseOLMap.ts +18 -9
  681. package/src/map/cameraLimiter.ts +1 -1
  682. package/src/map/cesiumMap.ts +49 -265
  683. package/src/map/cesiumMapHelpers.ts +219 -0
  684. package/src/map/navigation/cameraHelper.ts +2 -3
  685. package/src/map/navigation/cesiumNavigation.ts +5 -4
  686. package/src/map/navigation/controller/controller.ts +3 -6
  687. package/src/map/navigation/controller/keyboardController.ts +7 -7
  688. package/src/map/navigation/easingHelper.ts +2 -5
  689. package/src/map/navigation/navigation.ts +18 -14
  690. package/src/map/navigation/navigationImpl.ts +2 -2
  691. package/src/map/navigation/obliqueNavigation.ts +7 -6
  692. package/src/map/navigation/openlayersNavigation.ts +4 -3
  693. package/src/map/navigation/viewHelper.ts +2 -3
  694. package/src/map/obliqueMap.ts +7 -9
  695. package/src/map/panoramaMap.ts +415 -0
  696. package/src/map/vcsMap.ts +19 -16
  697. package/src/moduleIdSymbol.ts +0 -1
  698. package/src/oblique/defaultObliqueCollection.ts +1 -0
  699. package/src/oblique/helpers.ts +2 -4
  700. package/src/oblique/obliqueCollection.ts +7 -7
  701. package/src/oblique/obliqueDataSet.ts +7 -6
  702. package/src/oblique/obliqueImage.ts +1 -1
  703. package/src/oblique/obliqueProvider.ts +3 -3
  704. package/src/oblique/obliqueView.ts +1 -0
  705. package/src/oblique/parseImageJson.ts +11 -12
  706. package/src/ol/feature.ts +1 -0
  707. package/src/ol/geojson.d.ts +3 -2
  708. package/src/ol/geom/circle.ts +1 -1
  709. package/src/ol/ol.d.ts +27 -29
  710. package/src/ol/render/canvas/canvasTileRenderer.js +0 -1
  711. package/src/ol/source/ClusterEnhancedVectorSource.ts +1 -1
  712. package/src/ol/source/VcsCluster.ts +4 -4
  713. package/src/overrideClassRegistry.ts +14 -10
  714. package/src/panorama/fieldOfView.ts +254 -0
  715. package/src/panorama/panoramaCameraController.ts +206 -0
  716. package/src/panorama/panoramaImage.ts +531 -0
  717. package/src/panorama/panoramaImageView.ts +445 -0
  718. package/src/panorama/panoramaTile.ts +154 -0
  719. package/src/panorama/panoramaTileCache.ts +40 -0
  720. package/src/panorama/panoramaTileCoordinate.ts +166 -0
  721. package/src/panorama/panoramaTileMaterial.ts +309 -0
  722. package/src/panorama/panoramaTileMaterialFS.glsl +165 -0
  723. package/src/panorama/panoramaTilePrimitiveCollection.ts +158 -0
  724. package/src/panorama/panoramaTileProvider.ts +533 -0
  725. package/src/panorama/sphericalCoordinates.ts +96 -0
  726. package/src/style/arrowStyle.ts +1 -1
  727. package/src/style/declarativeStyleItem.ts +19 -19
  728. package/src/style/styleFactory.ts +6 -7
  729. package/src/style/styleHelpers.ts +9 -9
  730. package/src/style/styleItem.ts +8 -3
  731. package/src/style/vectorStyleItem.ts +24 -30
  732. package/src/style/writeStyle.ts +3 -2
  733. package/src/util/clipping/clippingObject.ts +2 -3
  734. package/src/util/clipping/clippingObjectManager.ts +3 -3
  735. package/src/util/clipping/clippingPolygonHelper.ts +1 -2
  736. package/src/util/clipping/clippingPolygonObject.ts +4 -3
  737. package/src/util/clipping/clippingPolygonObjectCollection.ts +43 -27
  738. package/src/util/collection.ts +1 -1
  739. package/src/util/createAbsoluteFeature.ts +155 -0
  740. package/src/util/displayQuality/displayQuality.ts +7 -8
  741. package/src/util/editor/createFeatureSession.ts +12 -12
  742. package/src/util/editor/editFeaturesSession.ts +6 -4
  743. package/src/util/editor/editGeometrySession.ts +4 -3
  744. package/src/util/editor/editorHelpers.ts +14 -12
  745. package/src/util/editor/editorSessionHelpers.ts +13 -12
  746. package/src/util/editor/interactions/createCircleInteraction.ts +2 -3
  747. package/src/util/editor/interactions/createLineStringInteraction.ts +3 -4
  748. package/src/util/editor/interactions/createPointInteraction.ts +3 -4
  749. package/src/util/editor/interactions/createPolygonInteraction.ts +3 -4
  750. package/src/util/editor/interactions/creationSnapping.ts +4 -7
  751. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +2 -3
  752. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +4 -4
  753. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +2 -3
  754. package/src/util/editor/interactions/insertVertexInteraction.ts +3 -4
  755. package/src/util/editor/interactions/layerSnapping.ts +6 -8
  756. package/src/util/editor/interactions/mapInteractionController.ts +5 -3
  757. package/src/util/editor/interactions/removeVertexInteraction.ts +4 -4
  758. package/src/util/editor/interactions/rightClickInteraction.ts +2 -3
  759. package/src/util/editor/interactions/segmentLengthInteraction.ts +2 -3
  760. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +15 -14
  761. package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +9 -9
  762. package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +5 -7
  763. package/src/util/editor/interactions/translateVertexInteraction.ts +4 -4
  764. package/src/util/editor/interactions/translationSnapping.ts +4 -7
  765. package/src/util/editor/selectFeaturesSession.ts +5 -8
  766. package/src/util/editor/snappingHelpers.ts +21 -20
  767. package/src/util/editor/transformation/create2DHandlers.ts +1 -1
  768. package/src/util/editor/transformation/create3DHandlers.ts +3 -3
  769. package/src/util/editor/transformation/extrudeInteraction.ts +5 -5
  770. package/src/util/editor/transformation/rotateInteraction.ts +7 -6
  771. package/src/util/editor/transformation/scaleInteraction.ts +7 -6
  772. package/src/util/editor/transformation/transformationHandler.ts +3 -3
  773. package/src/util/editor/transformation/translateInteraction.ts +7 -11
  774. package/src/util/exclusiveManager.ts +1 -1
  775. package/src/util/featureconverter/arcToCesium.ts +4 -6
  776. package/src/util/featureconverter/circleToCesium.ts +3 -5
  777. package/src/util/featureconverter/clampedPrimitive.ts +6 -5
  778. package/src/util/featureconverter/convert.ts +22 -24
  779. package/src/util/featureconverter/extent3D.ts +3 -3
  780. package/src/util/featureconverter/lineStringToCesium.ts +7 -7
  781. package/src/util/featureconverter/pointHelpers.ts +10 -11
  782. package/src/util/featureconverter/pointToCesium.ts +18 -44
  783. package/src/util/featureconverter/polygonToCesium.ts +3 -5
  784. package/src/util/featureconverter/storeyHelpers.ts +2 -2
  785. package/src/util/featureconverter/vectorGeometryFactory.ts +41 -39
  786. package/src/util/featureconverter/vectorHeightInfo.ts +60 -30
  787. package/src/util/flight/flightAnchor.ts +4 -3
  788. package/src/util/flight/flightCollection.ts +3 -2
  789. package/src/util/flight/flightHelpers.ts +1 -1
  790. package/src/util/flight/flightInstance.ts +7 -4
  791. package/src/util/flight/flightPlayer.ts +2 -2
  792. package/src/util/flight/flightRecorder.ts +234 -0
  793. package/src/util/flight/flightVisualizer.ts +2 -2
  794. package/src/util/geometryHelpers.ts +3 -135
  795. package/src/util/hiddenObjects.ts +3 -4
  796. package/src/util/indexedCollection.ts +1 -1
  797. package/src/util/isMobile.ts +2 -1
  798. package/src/util/layerCollection.ts +7 -2
  799. package/src/util/locale.ts +0 -1
  800. package/src/util/mapCollection.ts +104 -47
  801. package/src/util/math.ts +34 -0
  802. package/src/util/overrideCollection.ts +4 -5
  803. package/src/util/projection.ts +3 -7
  804. package/src/util/renderScreenshot.ts +2 -2
  805. package/src/util/rotation.ts +3 -4
  806. package/src/util/urlHelpers.ts +0 -1
  807. package/src/util/vcsTemplate.ts +6 -5
  808. package/src/util/viewpoint.ts +20 -3
  809. package/src/vcsApp.ts +42 -42
  810. package/src/vcsEvent.ts +1 -1
  811. package/src/vcsModuleHelpers.ts +4 -3
  812. package/src/vectorCluster/vectorClusterCesiumContext.ts +8 -9
  813. package/src/vectorCluster/vectorClusterGroup.ts +26 -16
  814. package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +10 -10
  815. package/src/vectorCluster/vectorClusterGroupCollection.ts +1 -1
  816. package/src/vectorCluster/vectorClusterGroupImpl.ts +5 -5
  817. package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +4 -6
  818. package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +2 -2
  819. package/src/vectorCluster/vectorClusterStyleItem.ts +5 -3
  820. package/src/vectorCluster/vectorClusterSymbols.ts +0 -1
  821. package/src/workers/panoramaImageWorker.ts +50 -0
@@ -1,4 +1,5 @@
1
- import FeatureVisibility, { HighlightStyleType } from './featureVisibility.js';
1
+ import type { HighlightStyleType } from './featureVisibility.js';
2
+ import FeatureVisibility from './featureVisibility.js';
2
3
  import type FeatureStoreLayerChanges from './featureStoreLayerChanges.js';
3
4
 
4
5
  export default class FeatureStoreFeatureVisibility extends FeatureVisibility {
@@ -3,13 +3,15 @@ import type { Feature as GeojsonFeature, FeatureCollection } from 'geojson';
3
3
  import { SplitDirection } from '@vcmap-cesium/engine';
4
4
  import VectorSource from 'ol/source/Vector.js';
5
5
  import { createEmpty, extend as extendExtent } from 'ol/extent.js';
6
- import Style, { StyleFunction } from 'ol/style/Style.js';
6
+ import type { StyleFunction } from 'ol/style/Style.js';
7
+ import type Style from 'ol/style/Style.js';
7
8
  import type { GeoJSONObject } from 'ol/format/GeoJSON.js';
8
9
 
9
- import VectorLayer, {
10
+ import type {
10
11
  VectorImplementationOptions,
11
12
  VectorOptions,
12
13
  } from './vectorLayer.js';
14
+ import VectorLayer from './vectorLayer.js';
13
15
  import { featureStoreStateSymbol } from './featureStoreLayerState.js';
14
16
  import { parseGeoJSON } from './geojsonHelpers.js';
15
17
  import { mercatorProjection } from '../util/projection.js';
@@ -30,10 +32,8 @@ import CesiumTilesetCesiumImpl, {
30
32
  import CesiumMap from '../map/cesiumMap.js';
31
33
  import OpenlayersMap from '../map/openlayersMap.js';
32
34
  import ObliqueMap from '../map/obliqueMap.js';
33
- import VectorProperties, {
34
- VcsMeta,
35
- vcsMetaVersion,
36
- } from './vectorProperties.js';
35
+ import type { VcsMeta } from './vectorProperties.js';
36
+ import VectorProperties, { vcsMetaVersion } from './vectorProperties.js';
37
37
  import VectorOpenlayersImpl from './openlayers/vectorOpenlayersImpl.js';
38
38
  import DeclarativeStyleItem from '../style/declarativeStyleItem.js';
39
39
  import VectorObliqueImpl from './oblique/vectorObliqueImpl.js';
@@ -42,9 +42,9 @@ import { isMobile } from '../util/isMobile.js';
42
42
  import { layerClassRegistry } from '../classRegistry.js';
43
43
  import { requestJson } from '../util/fetch.js';
44
44
  import { vcsLayerName } from './layerSymbols.js';
45
- import StyleItem from '../style/styleItem.js';
46
- import VcsMap from '../map/vcsMap.js';
47
- import VectorCesiumImpl from './cesium/vectorCesiumImpl.js';
45
+ import type StyleItem from '../style/styleItem.js';
46
+ import type VcsMap from '../map/vcsMap.js';
47
+ import type VectorCesiumImpl from './cesium/vectorCesiumImpl.js';
48
48
  import FeatureStoreFeatureVisibility from './featureStoreFeatureVisibility.js';
49
49
 
50
50
  export type FeatureStoreStaticRepresentation = {
@@ -460,7 +460,7 @@ class FeatureStoreLayer extends VectorLayer {
460
460
  }
461
461
  });
462
462
  })
463
- .catch((err) => {
463
+ .catch((err: unknown) => {
464
464
  this.getLogger().error(
465
465
  `failed to set two dims editing: ${String(err)}`,
466
466
  );
@@ -480,9 +480,13 @@ class FeatureStoreLayer extends VectorLayer {
480
480
  ? extent.getCoordinatesInProjection(mercatorProjection)
481
481
  : createEmpty();
482
482
  if (this.staticRepresentation.threeDim) {
483
- const threeDImpl = this.getImplementations().find((impl) => {
484
- return impl instanceof CesiumTilesetCesiumImpl && impl.cesium3DTileset;
485
- }) as CesiumTilesetCesiumImpl;
483
+ const threeDImpl = this.getImplementations().find(
484
+ (impl): impl is CesiumTilesetCesiumImpl => {
485
+ return !!(
486
+ impl instanceof CesiumTilesetCesiumImpl && impl.cesium3DTileset
487
+ );
488
+ },
489
+ );
486
490
 
487
491
  if (threeDImpl?.cesium3DTileset) {
488
492
  const threeDimExtent = getExtentFromTileset(threeDImpl.cesium3DTileset);
@@ -549,7 +553,7 @@ class FeatureStoreLayer extends VectorLayer {
549
553
  this.addFeatures(features);
550
554
  return features[0];
551
555
  })
552
- .catch((err) => {
556
+ .catch((err: unknown) => {
553
557
  this.getLogger().error((err as Error).message);
554
558
  }) as Promise<Feature>;
555
559
  }
@@ -1,6 +1,6 @@
1
1
  import { unByKey } from 'ol/Observable.js';
2
2
  import Feature from 'ol/Feature.js';
3
- import { EventsKey } from 'ol/events.js';
3
+ import type { EventsKey } from 'ol/events.js';
4
4
  import type { VectorSourceEvent } from 'ol/source/Vector.js';
5
5
  import type {
6
6
  Feature as GeojsonFeature,
@@ -120,13 +120,13 @@ class FeatureStoreLayerChanges extends VcsObject {
120
120
  removefeature: null,
121
121
  };
122
122
 
123
- private _addedFeatures: Set<Feature> = new Set();
123
+ private _addedFeatures = new Set<Feature>();
124
124
 
125
- private _editedFeatures: Set<Feature> = new Set();
125
+ private _editedFeatures = new Set<Feature>();
126
126
 
127
- private _removedFeatures: Set<Feature> = new Set();
127
+ private _removedFeatures = new Set<Feature>();
128
128
 
129
- private _convertedFeatures: Set<Feature> = new Set();
129
+ private _convertedFeatures = new Set<Feature>();
130
130
 
131
131
  changed = new VcsEvent<void>();
132
132
 
@@ -265,7 +265,7 @@ class FeatureStoreLayerChanges extends VcsObject {
265
265
  .then(() => {
266
266
  this._resetValues();
267
267
  })
268
- .catch((err) => {
268
+ .catch((err: unknown) => {
269
269
  this.getLogger().error(String(err));
270
270
  this._resetValues();
271
271
  });
@@ -291,7 +291,7 @@ class FeatureStoreLayerChanges extends VcsObject {
291
291
  this.layer.removeFeaturesById(idArray);
292
292
  this.layer.addFeatures(features);
293
293
  })
294
- .catch((err) => {
294
+ .catch((err: unknown) => {
295
295
  this.getLogger().error(
296
296
  'failed to reset feature, giving up',
297
297
  String(err),
@@ -6,7 +6,8 @@ import {
6
6
  } from '@vcmap-cesium/engine';
7
7
  import { is } from '@vcsuite/check';
8
8
  import Feature from 'ol/Feature.js';
9
- import Style, { StyleFunction } from 'ol/style/Style.js';
9
+ import type { StyleFunction } from 'ol/style/Style.js';
10
+ import Style from 'ol/style/Style.js';
10
11
 
11
12
  import VectorStyleItem, { fromCesiumColor } from '../style/vectorStyleItem.js';
12
13
  import VcsEvent from '../vcsEvent.js';
@@ -231,7 +232,7 @@ class FeatureVisibility {
231
232
  * An event raised when the hidden or highlighted ids change. Is called with
232
233
  * {@link FeatureVisibilityEvent} as its only argument
233
234
  */
234
- changed: VcsEvent<FeatureVisibilityEvent> = new VcsEvent();
235
+ changed = new VcsEvent<FeatureVisibilityEvent>();
235
236
 
236
237
  /**
237
238
  * highlights a number of features by ID (import("@vcmap-cesium/engine").Cesium3DTileFeature|ol/Feature) with the given color.
@@ -1,11 +1,10 @@
1
- import Feature from 'ol/Feature.js';
1
+ import type Feature from 'ol/Feature.js';
2
2
  import { fromFeature } from 'flatgeobuf/lib/mjs/ol/feature.js';
3
+ import { NODE_ITEM_BYTE_LEN } from 'flatgeobuf/lib/mjs/packedrtree.js';
3
4
  import { HttpReader } from 'flatgeobuf/lib/mjs/http-reader.js';
4
- import Projection, {
5
- mercatorProjection,
6
- parseEPSGCode,
7
- } from '../util/projection.js';
8
- import Extent from '../util/extent.js';
5
+ import type Projection from '../util/projection.js';
6
+ import { mercatorProjection, parseEPSGCode } from '../util/projection.js';
7
+ import type Extent from '../util/extent.js';
9
8
  import { alreadyTransformedToMercator } from './vectorSymbols.js';
10
9
 
11
10
  export async function getValidReader(
@@ -56,3 +55,44 @@ export async function getOlFeatures(
56
55
 
57
56
  return features;
58
57
  }
58
+
59
+ /**
60
+ * Values in data projection!
61
+ */
62
+ export type PackedRTreeNode = {
63
+ minX: number;
64
+ minY: number;
65
+ maxX: number;
66
+ maxY: number;
67
+ offset: number;
68
+ };
69
+
70
+ function readNode(dataView: DataView, offset: number): PackedRTreeNode {
71
+ const minX = dataView.getFloat64(offset, true);
72
+ const minY = dataView.getFloat64(offset + 8, true);
73
+ const maxX = dataView.getFloat64(offset + 16, true);
74
+ const maxY = dataView.getFloat64(offset + 24, true);
75
+ const nodeOffset = dataView.getUint32(offset + 32, true);
76
+
77
+ return { minX, minY, maxX, maxY, offset: nodeOffset };
78
+ }
79
+
80
+ /**
81
+ * Extracts the root node from the packed hilbert tree. The data is in data projection.
82
+ * @param reader
83
+ */
84
+ export async function getRootNode(
85
+ reader: HttpReader,
86
+ ): Promise<PackedRTreeNode> {
87
+ const lengthBeforeTree = reader.lengthBeforeTree();
88
+
89
+ // @ts-expect-error: not actually private
90
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
91
+ const buffer = (await reader.headerClient.getRange(
92
+ lengthBeforeTree,
93
+ NODE_ITEM_BYTE_LEN,
94
+ 0,
95
+ 'index',
96
+ )) as ArrayBuffer;
97
+ return readNode(new DataView(buffer), 0);
98
+ }
@@ -1,4 +1,5 @@
1
- import VectorLayer, { VectorOptions } from './vectorLayer.js';
1
+ import type { VectorOptions } from './vectorLayer.js';
2
+ import VectorLayer from './vectorLayer.js';
2
3
  import { wgs84Projection } from '../util/projection.js';
3
4
  import { layerClassRegistry } from '../classRegistry.js';
4
5
  import Extent from '../util/extent.js';
@@ -19,16 +19,17 @@ import Projection, {
19
19
  mercatorProjection,
20
20
  wgs84Projection,
21
21
  } from '../util/projection.js';
22
+ import type { VectorStyleItemOptions } from '../style/vectorStyleItem.js';
22
23
  import VectorStyleItem, {
23
24
  defaultVectorStyle,
24
- VectorStyleItemOptions,
25
25
  vectorStyleSymbol,
26
26
  } from '../style/vectorStyleItem.js';
27
27
  import { parseColor } from '../style/styleHelpers.js';
28
28
  import { featureStoreStateSymbol } from './featureStoreLayerState.js';
29
29
  import { embedIconsInStyle } from '../style/writeStyle.js';
30
30
  import DeclarativeStyleItem from '../style/declarativeStyleItem.js';
31
- import { VcsMeta, vcsMetaVersion } from './vectorProperties.js';
31
+ import type { VcsMeta } from './vectorProperties.js';
32
+ import { vcsMetaVersion } from './vectorProperties.js';
32
33
  import Extent3D from '../util/featureconverter/extent3D.js';
33
34
  import {
34
35
  circleFromCenterRadius,
@@ -159,6 +160,8 @@ function readGeometry(
159
160
  options: GeoJSONinternalReadOptions,
160
161
  ): Feature {
161
162
  const geometry = getFormat().readGeometry(geometryObj, options.formatOptions);
163
+ // fairly ugly code, but legacy
164
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
162
165
  if (String(options.formatOptions?.featureProjection) === 'EPSG:3857') {
163
166
  geometry[alreadyTransformedToMercator] = true;
164
167
  }
@@ -254,11 +257,12 @@ function readFeature(
254
257
  const coordinates = geometry.getCoordinates();
255
258
  geometry = circleFromCenterRadius(coordinates, radius);
256
259
  }
260
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
257
261
  if (String(options.formatOptions?.featureProjection) === 'EPSG:3857') {
258
262
  geometry[alreadyTransformedToMercator] = true;
259
263
  }
260
264
 
261
- featureObj.vcsMeta = featureObj.vcsMeta || ({} as VcsMeta);
265
+ featureObj.vcsMeta = featureObj.vcsMeta || { version: vcsMetaVersion };
262
266
  const { properties } = featureObj;
263
267
  if (
264
268
  properties &&
@@ -339,11 +343,10 @@ export function parseGeoJSON(
339
343
  }
340
344
 
341
345
  if (geoJSON.type === 'FeatureCollection') {
342
- geoJSON.vcsMeta =
343
- geoJSON.vcsMeta ||
344
- ({
345
- embeddedIcons: geoJSON.vcsEmbeddedIcons,
346
- } as VcsMeta);
346
+ geoJSON.vcsMeta = geoJSON.vcsMeta || {
347
+ version: vcsMetaVersion,
348
+ embeddedIcons: geoJSON.vcsEmbeddedIcons,
349
+ };
347
350
 
348
351
  let style;
349
352
  if (geoJSON.vcsMeta.embeddedIcons) {
@@ -1,6 +1,7 @@
1
1
  import type { GeoJSONFeature } from 'ol/format/GeoJSON.js';
2
- import { FeatureCollection } from 'geojson';
3
- import VectorLayer, { VectorOptions } from './vectorLayer.js';
2
+ import type { FeatureCollection } from 'geojson';
3
+ import type { VectorOptions } from './vectorLayer.js';
4
+ import VectorLayer from './vectorLayer.js';
4
5
  import { parseGeoJSON, writeGeoJSONFeature } from './geojsonHelpers.js';
5
6
  import Projection, { wgs84Projection } from '../util/projection.js';
6
7
  import { layerClassRegistry } from '../classRegistry.js';
@@ -88,12 +89,14 @@ class GeoJSONLayer extends VectorLayer {
88
89
  if (this.url) {
89
90
  const init = getInitForUrl(this.url, this.headers);
90
91
  this._dataFetchedPromise = requestJson(this.url, init)
91
- .then((data) => this._parseGeojsonData(data as FeatureCollection))
92
- .catch((err) => {
92
+ .then((data) => {
93
+ this._parseGeojsonData(data as FeatureCollection);
94
+ })
95
+ .catch((err: unknown) => {
93
96
  this.getLogger().warning(
94
97
  `Could not send request for loading layer content (${String(err)})`,
95
98
  );
96
- return Promise.reject(err);
99
+ return Promise.reject(err as Error);
97
100
  });
98
101
  } else {
99
102
  this._dataFetchedPromise = Promise.resolve();
@@ -1,12 +1,14 @@
1
1
  import { check } from '@vcsuite/check';
2
+ import type {
3
+ HighlightableFeature,
4
+ FeatureVisibilityEvent,
5
+ } from './featureVisibility.js';
2
6
  import {
3
7
  globalHidden,
4
8
  hideFeature,
5
9
  cacheOriginalStyle,
6
10
  showFeature,
7
11
  FeatureVisibilityAction,
8
- HighlightableFeature,
9
- FeatureVisibilityEvent,
10
12
  } from './featureVisibility.js';
11
13
  import VcsEvent from '../vcsEvent.js';
12
14
 
@@ -28,7 +30,7 @@ class GlobalHider {
28
30
  * An event raised when the hidden ids change. Is called with
29
31
  * {@link FeatureVisibilityEvent} as its only argument
30
32
  */
31
- changed: VcsEvent<FeatureVisibilityEvent> = new VcsEvent();
33
+ changed = new VcsEvent<FeatureVisibilityEvent>();
32
34
 
33
35
  /**
34
36
  * Add a tick to the hide count, hidding the features if they are not already hidden
@@ -1,15 +1,17 @@
1
+ import type { SplitDirection } from '@vcmap-cesium/engine';
1
2
  import deepEqual from 'fast-deep-equal';
2
3
  import { check, maybe, oneOf, optional, recordOf } from '@vcsuite/check';
3
4
  import { parseBoolean, parseInteger } from '@vcsuite/parsers';
4
- import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
5
+ import type { VcsObjectOptions } from '../vcsObject.js';
6
+ import VcsObject from '../vcsObject.js';
5
7
  import Extent, { type ExtentOptions } from '../util/extent.js';
6
8
  import LayerState from './layerState.js';
7
9
  import VcsEvent from '../vcsEvent.js';
8
10
  import { layerClassRegistry } from '../classRegistry.js';
9
11
  import GlobalHider from './globalHider.js';
10
- import VcsMap from '../map/vcsMap.js';
11
- import LayerImplementation from './layerImplementation.js';
12
- import AbstractFeatureProvider from '../featureProvider/abstractFeatureProvider.js';
12
+ import type VcsMap from '../map/vcsMap.js';
13
+ import type LayerImplementation from './layerImplementation.js';
14
+ import type AbstractFeatureProvider from '../featureProvider/abstractFeatureProvider.js';
13
15
 
14
16
  export type CopyrightOptions = {
15
17
  provider?: string;
@@ -277,7 +279,7 @@ class Layer<
277
279
  if (this._url !== url) {
278
280
  const currentValue = this._url;
279
281
  this._url = url;
280
- this.reload().catch((err) => {
282
+ this.reload().catch((err: unknown) => {
281
283
  this.getLogger().error('failed to reload after URL setting');
282
284
  this.getLogger().error(String(err));
283
285
  this._url = currentValue;
@@ -390,7 +392,7 @@ class Layer<
390
392
  typeof this._url === 'object' &&
391
393
  this._url[this._locale]
392
394
  ) {
393
- this.reload().catch((err) => {
395
+ this.reload().catch((err: unknown) => {
394
396
  this.getLogger().error('failed to reload after setting locale');
395
397
  this.getLogger().error(String(err));
396
398
  });
@@ -403,7 +405,7 @@ class Layer<
403
405
  * @param _map Map
404
406
  * @returns return the specific implementation
405
407
  */
406
- // eslint-disable-next-line class-methods-use-this,no-unused-vars
408
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
407
409
  createImplementationsForMap(_map: VcsMap): I[] {
408
410
  return [];
409
411
  }
@@ -413,7 +415,7 @@ class Layer<
413
415
  * @param map initialized Map
414
416
  * @returns return the specific implementation
415
417
  */
416
- getImplementationsForMap<T extends VcsMap>(map: T): I[] {
418
+ getImplementationsForMap(map: VcsMap): I[] {
417
419
  if (!this._implementations.has(map)) {
418
420
  if (this.isSupported(map)) {
419
421
  this._implementations.set(map, this.createImplementationsForMap(map));
@@ -611,9 +613,9 @@ class Layer<
611
613
  }
612
614
 
613
615
  if (this._state === LayerState.INACTIVE) {
614
- this._loadingPromise = this._activate().catch((err) => {
616
+ this._loadingPromise = this._activate().catch((err: unknown) => {
615
617
  this._state = LayerState.INACTIVE;
616
- return Promise.reject(err);
618
+ return Promise.reject(err as Error);
617
619
  });
618
620
  return this._loadingPromise;
619
621
  }
@@ -725,10 +727,8 @@ class Layer<
725
727
  }
726
728
 
727
729
  export interface SplitLayer {
728
- splitDirection: import('@vcmap-cesium/engine').SplitDirection;
729
- splitDirectionChanged: VcsEvent<
730
- import('@vcmap-cesium/engine').SplitDirection
731
- >;
730
+ splitDirection: SplitDirection;
731
+ splitDirectionChanged: VcsEvent<SplitDirection>;
732
732
  }
733
733
 
734
734
  layerClassRegistry.registerClass(Layer.className, Layer);
@@ -96,6 +96,7 @@ export async function mercatorGeometryToImageGeometry(
96
96
  inputSourceGeometry instanceof Circle
97
97
  ? fromCircle(inputSourceGeometry)
98
98
  : inputSourceGeometry;
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
100
  const coordinates = sourceGeometry.getCoordinates() as any[];
100
101
  const flattenCoordinates = getFlatCoordinateReferences(
101
102
  sourceGeometry,
@@ -150,6 +151,7 @@ export function imageGeometryToMercatorGeometry(
150
151
  destinationGeometry: Geometry,
151
152
  image: ObliqueImage,
152
153
  ): Promise<Geometry> {
154
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
155
  const coordinates = sourceGeometry.getCoordinates() as any[];
154
156
  const flattenCoordinates = getFlatCoordinateReferences(
155
157
  sourceGeometry,
@@ -2,10 +2,10 @@ import { getLogger } from '@vcsuite/logger';
2
2
  import VectorSource from 'ol/source/Vector.js';
3
3
  import { unByKey } from 'ol/Observable.js';
4
4
  import { Feature } from 'ol';
5
- import { Extent as OLExtent } from 'ol/extent.js';
5
+ import type { Extent as OLExtent } from 'ol/extent.js';
6
6
  import type { Geometry } from 'ol/geom.js';
7
7
  import type { EventsKey } from 'ol/events.js';
8
- import ObliqueMap from '../../map/obliqueMap.js';
8
+ import type ObliqueMap from '../../map/obliqueMap.js';
9
9
  import {
10
10
  actuallyIsCircle,
11
11
  alreadyTransformedToImage,
@@ -196,7 +196,7 @@ export function createSourceObliqueSync(
196
196
  }
197
197
  if (originalFeature.getGeometry()?.[alreadyTransformedToImage]) {
198
198
  convertToOblique(originalFeature, obliqueFeature)
199
- .catch((_e) => {
199
+ .catch(() => {
200
200
  getLogger('SourceObliqueSync').warning(
201
201
  `Failed to convert feature with id ${id} to oblique`,
202
202
  );
@@ -207,7 +207,7 @@ export function createSourceObliqueSync(
207
207
  } else {
208
208
  updatingOblique[id] = setTimeout(() => {
209
209
  convertToOblique(originalFeature, obliqueFeature)
210
- .catch((_e) => {
210
+ .catch(() => {
211
211
  getLogger('SourceObliqueSync').warning(
212
212
  `Failed to convert feature with id ${id} to oblique`,
213
213
  );
@@ -243,7 +243,7 @@ export function createSourceObliqueSync(
243
243
  originalGeometry,
244
244
  map.collection!.getImageByName(imageName as string) as ObliqueImage,
245
245
  )
246
- .catch((_e) => {
246
+ .catch(() => {
247
247
  getLogger('SourceObliqueSync').warning(
248
248
  `Failed to update feature with id ${id} mercator geometry`,
249
249
  );
@@ -315,7 +315,7 @@ export function createSourceObliqueSync(
315
315
  source.on('addfeature', (event) => {
316
316
  const f = event.feature as Feature;
317
317
  if (featureInExtent(f, currentExtent)) {
318
- addFeature(f).catch((_e) => {
318
+ addFeature(f).catch(() => {
319
319
  getLogger('SourceObliqueSync').warning(
320
320
  `Failed to add feature with id ${f.getId()!} to oblique source`,
321
321
  );
@@ -332,7 +332,7 @@ export function createSourceObliqueSync(
332
332
  !featureListeners.has(newFeatureId) &&
333
333
  featureInExtent(f, currentExtent)
334
334
  ) {
335
- addFeature(f).catch((_e) => {
335
+ addFeature(f).catch(() => {
336
336
  getLogger('SourceObliqueSync').warning(
337
337
  `Failed to add feature with id ${newFeatureId} to oblique source`,
338
338
  );
@@ -355,7 +355,7 @@ export function createSourceObliqueSync(
355
355
  .getExtentOfCurrentImage()
356
356
  .getCoordinatesInProjection(mercatorProjection);
357
357
  source.forEachFeatureInExtent(currentExtent, (feature) => {
358
- addFeature(feature).catch((_e) => {
358
+ addFeature(feature).catch(() => {
359
359
  getLogger('SourceObliqueSync').warning(
360
360
  `Failed to add feature with id ${feature.getId()!} to oblique source`,
361
361
  );
@@ -363,7 +363,7 @@ export function createSourceObliqueSync(
363
363
  });
364
364
  source.forEachFeature((feature) => {
365
365
  if (feature.getGeometry()?.[alreadyTransformedToImage]) {
366
- addFeature(feature).catch((_e) => {
366
+ addFeature(feature).catch(() => {
367
367
  getLogger('SourceObliqueSync').warning(
368
368
  `Failed to add feature with id ${feature.getId()!} to oblique source`,
369
369
  );
@@ -1,18 +1,16 @@
1
- import VectorSource from 'ol/source/Vector.js';
1
+ import type VectorSource from 'ol/source/Vector.js';
2
2
  import OLVectorLayer from 'ol/layer/Vector.js';
3
3
  import type { SplitDirection } from '@vcmap-cesium/engine';
4
4
  import LayerObliqueImpl from './layerObliqueImpl.js';
5
5
  import { synchronizeFeatureVisibilityWithSource } from '../vectorHelpers.js';
6
- import { FeatureLayerImplementation } from '../featureLayer.js';
6
+ import type { FeatureLayerImplementation } from '../featureLayer.js';
7
7
  import type { VectorImplementationOptions } from '../vectorLayer.js';
8
8
  import type ObliqueMap from '../../map/obliqueMap.js';
9
9
  import type GlobalHider from '../globalHider.js';
10
10
  import type StyleItem from '../../style/styleItem.js';
11
11
  import type FeatureVisibility from '../featureVisibility.js';
12
- import {
13
- createSourceObliqueSync,
14
- SourceObliqueSync,
15
- } from './sourceObliqueSync.js';
12
+ import type { SourceObliqueSync } from './sourceObliqueSync.js';
13
+ import { createSourceObliqueSync } from './sourceObliqueSync.js';
16
14
 
17
15
  /**
18
16
  * represents a specific vector layer for oblique.
@@ -60,7 +58,7 @@ class VectorObliqueImpl
60
58
  });
61
59
  }
62
60
 
63
- // eslint-disable-next-line no-unused-vars
61
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
62
  updateStyle(style: StyleItem, _silent?: boolean): void {
65
63
  this.style = style;
66
64
  if (this.initialized && this.olLayer) {
@@ -68,7 +66,7 @@ class VectorObliqueImpl
68
66
  }
69
67
  }
70
68
 
71
- // eslint-disable-next-line class-methods-use-this,no-unused-vars
69
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
72
70
  updateSplitDirection(_splitDirection: SplitDirection): void {}
73
71
 
74
72
  async activate(): Promise<void> {
@@ -1,18 +1,17 @@
1
- import { ImageryLayer, SplitDirection } from '@vcmap-cesium/engine';
1
+ import type { ImageryLayer } from '@vcmap-cesium/engine';
2
+ import { SplitDirection } from '@vcmap-cesium/engine';
2
3
 
3
4
  import { parseInteger, parseNumberRange } from '@vcsuite/parsers';
4
- import Layer, { type LayerOptions, SplitLayer } from './layer.js';
5
+ import Layer, { type SplitLayer, type LayerOptions } from './layer.js';
5
6
  import OpenlayersMap from '../map/openlayersMap.js';
6
7
  import CesiumMap from '../map/cesiumMap.js';
7
8
  import OpenStreetMapOpenlayersImpl from './openlayers/openStreetMapOpenlayersImpl.js';
8
9
  import OpenStreetMapCesiumImpl from './cesium/openStreetMapCesiumImpl.js';
9
10
  import VcsEvent from '../vcsEvent.js';
10
11
  import { layerClassRegistry } from '../classRegistry.js';
11
- import {
12
- RasterLayerImplementationOptions,
13
- TilingScheme,
14
- } from './rasterLayer.js';
15
- import VcsMap from '../map/vcsMap.js';
12
+ import type { RasterLayerImplementationOptions } from './rasterLayer.js';
13
+ import { TilingScheme } from './rasterLayer.js';
14
+ import type VcsMap from '../map/vcsMap.js';
16
15
 
17
16
  export type OpenStreetMapOptions = LayerOptions & {
18
17
  /**
@@ -76,7 +75,7 @@ class OpenStreetMapLayer
76
75
  /**
77
76
  * raised if the split direction changes, is passed the split direction as its only argument
78
77
  */
79
- splitDirectionChanged: VcsEvent<SplitDirection> = new VcsEvent();
78
+ splitDirectionChanged = new VcsEvent<SplitDirection>();
80
79
 
81
80
  /**
82
81
  * The maximum level to load.
@@ -0,0 +1,75 @@
1
+ import type GeoTIFFSource from 'ol/source/GeoTIFF.js';
2
+ import WebGLTile from 'ol/layer/WebGLTile.js';
3
+ import { getRenderPixel } from 'ol/render.js';
4
+ import type RenderEvent from 'ol/render/Event.js';
5
+ import { SplitDirection } from '@vcmap-cesium/engine';
6
+ import RasterLayerOpenlayersImpl from './rasterLayerOpenlayersImpl.js';
7
+ import type { COGLayerImplementationOptions } from '../cogLayer.js';
8
+ import type OpenlayersMap from '../../map/openlayersMap.js';
9
+
10
+ const vcsCleared = Symbol('vcsCleared');
11
+
12
+ declare global {
13
+ interface WebGL2RenderingContext {
14
+ [vcsCleared]: number;
15
+ }
16
+ }
17
+
18
+ /**
19
+ * COGLayer implementation for {@link OpenlayersMap}.
20
+ */
21
+ class COGOpenlayersImpl extends RasterLayerOpenlayersImpl {
22
+ static get className(): string {
23
+ return 'COGOpenlayersImpl';
24
+ }
25
+
26
+ private _source: GeoTIFFSource;
27
+
28
+ constructor(map: OpenlayersMap, options: COGLayerImplementationOptions) {
29
+ super(map, options);
30
+ this._source = options.source;
31
+ }
32
+
33
+ getOLLayer(): WebGLTile {
34
+ return new WebGLTile({
35
+ source: this._source,
36
+ opacity: this.opacity,
37
+ minZoom: this.minRenderingLevel,
38
+ maxZoom: this.maxRenderingLevel,
39
+ });
40
+ }
41
+
42
+ protected override _splitPreRender(event: RenderEvent): void {
43
+ const gl = event.context as WebGL2RenderingContext;
44
+ if (gl[vcsCleared] !== event.frameState?.time) {
45
+ gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
46
+ }
47
+ gl.enable(gl.SCISSOR_TEST);
48
+
49
+ const mapSize = this.map.olMap?.getSize();
50
+ if (!mapSize) {
51
+ throw new Error('Map size is not available for scissor test');
52
+ }
53
+
54
+ const bottomLeft = getRenderPixel(event, [0, mapSize[1]]);
55
+ const topRight = getRenderPixel(event, [mapSize[0], 0]);
56
+
57
+ const width = Math.round(
58
+ (topRight[0] - bottomLeft[0]) * this.map.splitPosition,
59
+ );
60
+ const height = topRight[1] - bottomLeft[1];
61
+ if (this.splitDirection === SplitDirection.LEFT) {
62
+ gl.scissor(bottomLeft[0], bottomLeft[1], width, height);
63
+ } else {
64
+ gl.scissor(bottomLeft[0] + width, bottomLeft[1], topRight[0], height);
65
+ }
66
+ }
67
+
68
+ // eslint-disable-next-line class-methods-use-this
69
+ protected override _splitPostReder(event: RenderEvent): void {
70
+ const gl = event.context as WebGL2RenderingContext;
71
+ gl.disable(gl.SCISSOR_TEST);
72
+ }
73
+ }
74
+
75
+ export default COGOpenlayersImpl;