@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,28 +1,30 @@
1
- import {
2
- Cartesian3,
3
- Event as CesiumEvent,
1
+ import type {
4
2
  FrameState,
5
- Intersect,
6
- Math as CesiumMath,
7
3
  PrimitiveCollection,
8
4
  QuadtreePrimitive,
9
5
  QuadtreeTile,
10
- QuadtreeTileLoadState,
11
- QuadtreeTileProvider,
12
6
  QuadtreeTileProviderInterface,
13
7
  SplitDirection,
14
8
  TilingScheme,
9
+ } from '@vcmap-cesium/engine';
10
+ import {
11
+ Cartesian3,
12
+ Event as CesiumEvent,
13
+ Intersect,
14
+ Math as CesiumMath,
15
+ QuadtreeTileLoadState,
16
+ QuadtreeTileProvider,
15
17
  Visibility,
16
18
  } from '@vcmap-cesium/engine';
17
- import { intersects, Extent as OLExtent } from 'ol/extent.js';
19
+ import type { Extent as OLExtent } from 'ol/extent.js';
20
+ import { intersects } from 'ol/extent.js';
18
21
  import { parseBoolean } from '@vcsuite/parsers';
19
22
  import { wgs84Projection } from '../../../util/projection.js';
23
+ import type { VcsTile, VcsTileOptions } from './vcsTileHelpers.js';
20
24
  import {
21
25
  getDataTiles,
22
26
  getTileHash,
23
27
  getTileWgs84Extent,
24
- VcsTile,
25
- VcsTileOptions,
26
28
  VcsTileState,
27
29
  VcsTileType,
28
30
  } from './vcsTileHelpers.js';
@@ -30,9 +32,9 @@ import VcsVectorTile from './vcsVectorTile.js';
30
32
  import VcsNoDataTile from './vcsNoDataTile.js';
31
33
  import VcsDebugTile from './vcsDebugTile.js';
32
34
  import VcsChildTile from './vcsChildTile.js';
33
- import { VectorTileImplementationOptions } from '../../vectorTileLayer.js';
34
- import CesiumMap from '../../../map/cesiumMap.js';
35
- import StyleItem from '../../../style/styleItem.js';
35
+ import type { VectorTileImplementationOptions } from '../../vectorTileLayer.js';
36
+ import type CesiumMap from '../../../map/cesiumMap.js';
37
+ import type StyleItem from '../../../style/styleItem.js';
36
38
 
37
39
  const tileDirectionScratch = new Cartesian3();
38
40
 
@@ -150,6 +152,7 @@ export default class VcsQuadtreeTileProvider
150
152
  this.quadtree?.endFrame(frameState);
151
153
  }
152
154
 
155
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
153
156
  endUpdate(_frameState: FrameState): void {
154
157
  this.quadtree?.forEachLoadedTile((t: QuadtreeTile<VcsTile>) => {
155
158
  if (t.data) {
@@ -240,7 +243,6 @@ export default class VcsQuadtreeTileProvider
240
243
  return visibility;
241
244
  }
242
245
 
243
- // eslint-disable-next-line class-methods-use-this
244
246
  showTileThisFrame(tile: QuadtreeTile<VcsTile>): void {
245
247
  let tileToShow: QuadtreeTile<VcsTile> | undefined = tile;
246
248
  while (tileToShow?.data?.type === VcsTileType.CHILD) {
@@ -274,13 +276,13 @@ export default class VcsQuadtreeTileProvider
274
276
  // eslint-disable-next-line class-methods-use-this
275
277
  cancelReprojections(): void {}
276
278
 
277
- // eslint-disable-next-line class-methods-use-this
279
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
278
280
  initialize(_f: FrameState): void {}
279
281
 
280
- // eslint-disable-next-line class-methods-use-this
282
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
281
283
  beginUpdate(_frameState: FrameState): void {}
282
284
 
283
- // eslint-disable-next-line class-methods-use-this
285
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
284
286
  updateForPick(_frameState: FrameState): void {}
285
287
 
286
288
  destroy(): void {
@@ -1,19 +1,21 @@
1
+ import type {
2
+ PrimitiveCollection,
3
+ QuadtreeTile,
4
+ SplitDirection,
5
+ TilingScheme,
6
+ } from '@vcmap-cesium/engine';
1
7
  import {
2
8
  HeightReference,
3
9
  Math as CesiumMath,
4
- PrimitiveCollection,
5
- QuadtreeTile,
6
10
  Rectangle,
7
- SplitDirection,
8
11
  TileBoundingRegion,
9
- TilingScheme,
10
12
  } from '@vcmap-cesium/engine';
11
- import { StyleLike } from 'ol/style/Style.js';
12
- import { Extent as OLExtent } from 'ol/extent.js';
13
+ import type { StyleLike } from 'ol/style/Style.js';
14
+ import type { Extent as OLExtent } from 'ol/extent.js';
13
15
  import type CesiumMap from '../../../map/cesiumMap.js';
14
16
  import Projection from '../../../util/projection.js';
15
- import TileProvider from '../../tileProvider/tileProvider.js';
16
- import VectorProperties from '../../vectorProperties.js';
17
+ import type TileProvider from '../../tileProvider/tileProvider.js';
18
+ import type VectorProperties from '../../vectorProperties.js';
17
19
 
18
20
  export enum VcsTileState {
19
21
  LOADING,
@@ -1,25 +1,21 @@
1
- import {
2
- PrimitiveCollection,
3
- QuadtreeTile,
4
- TileBoundingRegion,
5
- } from '@vcmap-cesium/engine';
1
+ import type { QuadtreeTile, TileBoundingRegion } from '@vcmap-cesium/engine';
2
+ import { PrimitiveCollection } from '@vcmap-cesium/engine';
6
3
  import { getLogger } from '@vcsuite/logger';
7
- import { EventsKey } from 'ol/events.js';
4
+ import type { EventsKey } from 'ol/events.js';
8
5
  import { unByKey } from 'ol/Observable.js';
9
6
  import { containsCoordinate, getCenter } from 'ol/extent.js';
10
- import { StyleLike } from 'ol/style/Style.js';
7
+ import type { StyleLike } from 'ol/style/Style.js';
11
8
  import VectorContext from '../vectorContext.js';
12
9
  import { vcsLayerName } from '../../layerSymbols.js';
10
+ import type { VcsTile, VcsTileOptions } from './vcsTileHelpers.js';
13
11
  import {
14
12
  getTileBoundingRegion,
15
13
  getTileWebMercatorExtent,
16
- VcsTile,
17
- VcsTileOptions,
18
14
  VcsTileState,
19
15
  VcsTileType,
20
16
  } from './vcsTileHelpers.js';
21
- import CesiumMap from '../../../map/cesiumMap.js';
22
- import VectorProperties from '../../vectorProperties.js';
17
+ import type CesiumMap from '../../../map/cesiumMap.js';
18
+ import type VectorProperties from '../../vectorProperties.js';
23
19
  import type TileProvider from '../../tileProvider/tileProvider.js';
24
20
 
25
21
  export default class VcsVectorTile implements VcsTile {
@@ -11,10 +11,8 @@ import type StyleItem from '../../style/styleItem.js';
11
11
  import type FeatureVisibility from '../featureVisibility.js';
12
12
  import type GlobalHider from '../globalHider.js';
13
13
  import VectorContext from './vectorContext.js';
14
- import {
15
- createSourceVectorContextSync,
16
- SourceVectorContextSync,
17
- } from './sourceVectorContextSync.js';
14
+ import type { SourceVectorContextSync } from './sourceVectorContextSync.js';
15
+ import { createSourceVectorContextSync } from './sourceVectorContextSync.js';
18
16
 
19
17
  /**
20
18
  * represents a specific vector layer for cesium.
@@ -1,29 +1,37 @@
1
+ import type {
2
+ Entity,
3
+ Label,
4
+ Primitive,
5
+ Scene,
6
+ SplitDirection,
7
+ } from '@vcmap-cesium/engine';
1
8
  import {
2
9
  Billboard,
3
10
  BillboardCollection,
4
11
  Cartesian3,
5
- type Entity,
6
- type Label,
7
12
  LabelCollection,
8
13
  Math as CesiumMath,
9
14
  Matrix4,
10
15
  Model,
11
- Primitive,
12
16
  PrimitiveCollection,
13
- Scene,
14
- SplitDirection,
15
17
  } from '@vcmap-cesium/engine';
16
- import { StyleLike } from 'ol/style/Style.js';
18
+ import type { StyleLike } from 'ol/style/Style.js';
17
19
  import type { Feature } from 'ol/index.js';
18
20
 
19
21
  import Viewpoint from '../../util/viewpoint.js';
20
22
  import type CesiumMap from '../../map/cesiumMap.js';
21
- import VectorProperties from '../vectorProperties.js';
22
- import convert, {
23
+ import type VectorProperties from '../vectorProperties.js';
24
+ import type {
23
25
  ConvertedItem,
24
26
  PrimitiveType,
25
27
  } from '../../util/featureconverter/convert.js';
26
- import { primitives as primitivesSymbol } from '../vectorSymbols.js';
28
+ import convert from '../../util/featureconverter/convert.js';
29
+ import {
30
+ primitives as primitivesSymbol,
31
+ scaleSymbol,
32
+ } from '../vectorSymbols.js';
33
+ import type PanoramaMap from '../../map/panoramaMap.js';
34
+ import { getResolution } from '../../map/cesiumMapHelpers.js';
27
35
 
28
36
  export function setReferenceForPicking(
29
37
  feature: Feature,
@@ -73,9 +81,10 @@ function addPrimitiveAtIndex(
73
81
  /**
74
82
  * Sets splitDirection on primitives. Currently only Model primitives support splitting.
75
83
  */
76
- export function setSplitDirectionOnPrimitives<
77
- T extends PrimitiveCollection | BillboardCollection,
78
- >(splitDirection: SplitDirection, primitives: T): void {
84
+ export function setSplitDirectionOnPrimitives(
85
+ splitDirection: SplitDirection,
86
+ primitives: PrimitiveCollection | BillboardCollection,
87
+ ): void {
79
88
  for (let i = 0; i < primitives.length; i++) {
80
89
  const p = primitives.get(i) as Primitive | Model | Billboard;
81
90
  if (p instanceof Model || p instanceof Billboard) {
@@ -84,8 +93,6 @@ export function setSplitDirectionOnPrimitives<
84
93
  }
85
94
  }
86
95
 
87
- export const scaleSymbol: unique symbol = Symbol('Scale');
88
-
89
96
  /**
90
97
  * self scaling scratch
91
98
  */
@@ -96,12 +103,13 @@ const scratchCenter = new Cartesian3();
96
103
  * in such a fashion, that the cartesian unit of 1 equals 1 pixel.
97
104
  */
98
105
  export function setupScalingPrimitiveCollection(
99
- map: CesiumMap,
106
+ map: CesiumMap | PanoramaMap,
100
107
  primitiveCollection: PrimitiveCollection,
101
108
  dirtyRef: { value: boolean },
102
109
  ): () => void {
103
110
  let cachedVP = new Viewpoint({});
104
- return map.getScene()!.postRender.addEventListener(() => {
111
+ const { scene } = map.getCesiumWidget()!;
112
+ return scene.postRender.addEventListener(() => {
105
113
  const { length } = primitiveCollection;
106
114
  if (length === 0) {
107
115
  return;
@@ -117,7 +125,7 @@ export function setupScalingPrimitiveCollection(
117
125
  if (!primitive.isDestroyed()) {
118
126
  const { modelMatrix } = primitive;
119
127
  const center = Matrix4.getTranslation(modelMatrix, scratchCenter);
120
- const res = map.getCurrentResolutionFromCartesian(center);
128
+ const res = getResolution(center, scene.camera, map.mapElement);
121
129
  if (primitive[scaleSymbol] !== res) {
122
130
  primitive.modelMatrix = Matrix4.setScale(
123
131
  modelMatrix,
@@ -170,11 +178,10 @@ export default class VectorContext implements CesiumVectorContext {
170
178
 
171
179
  private _featureItems = new Map<
172
180
  Feature,
173
- (() => ConvertedItemIndex | void)[]
181
+ ((() => ConvertedItemIndex) | (() => void))[]
174
182
  >();
175
183
 
176
- private _convertingFeatures: Map<Feature, (replace: boolean) => void> =
177
- new Map();
184
+ private _convertingFeatures = new Map<Feature, (replace: boolean) => void>();
178
185
 
179
186
  splitDirection: SplitDirection;
180
187
 
@@ -187,11 +194,11 @@ export default class VectorContext implements CesiumVectorContext {
187
194
  private _postRenderListener: () => void;
188
195
 
189
196
  constructor(
190
- map: CesiumMap,
197
+ map: CesiumMap | PanoramaMap,
191
198
  rootCollection: PrimitiveCollection,
192
199
  splitDirection: SplitDirection,
193
200
  ) {
194
- const scene = map.getScene()!;
201
+ const { scene } = map.getCesiumWidget()!;
195
202
  this.billboards = new BillboardCollection({ scene });
196
203
  this.labels = new LabelCollection({ scene });
197
204
  this.splitDirection = splitDirection;
@@ -219,7 +226,7 @@ export default class VectorContext implements CesiumVectorContext {
219
226
  const removeItems = items
220
227
  .map((item) => {
221
228
  let instance: PrimitiveType | Label | Billboard | undefined;
222
- let removeItem: (() => ConvertedItemIndex | void) | undefined;
229
+ let removeItem: (() => ConvertedItemIndex) | (() => void) | undefined;
223
230
  if (item.type === 'primitive') {
224
231
  if (item.autoScale) {
225
232
  instance = addPrimitiveAtIndex(
@@ -349,7 +356,7 @@ export default class VectorContext implements CesiumVectorContext {
349
356
  .get(feature)
350
357
  ?.map((removeItem) => removeItem())
351
358
  ?.filter((i) => i != null)
352
- ?.reduce((items, current) => {
359
+ ?.reduce<ConvertedIndices>((items, current) => {
353
360
  const minIndex = items[current.type];
354
361
  if (minIndex != null) {
355
362
  items[current.type] =
@@ -360,7 +367,7 @@ export default class VectorContext implements CesiumVectorContext {
360
367
  items[current.type] = current.index;
361
368
  }
362
369
  return items;
363
- }, {} as ConvertedIndices) ?? {};
370
+ }, {}) ?? {};
364
371
  this._featureItems.delete(feature);
365
372
 
366
373
  if (deleted) {
@@ -14,7 +14,7 @@ import {
14
14
  TilingScheme,
15
15
  } from '../rasterLayer.js';
16
16
  import type TileProvider from '../tileProvider/tileProvider.js';
17
- import StyleItem from '../../style/styleItem.js';
17
+ import type StyleItem from '../../style/styleItem.js';
18
18
 
19
19
  /**
20
20
  * represents a rasterized tiled vector layer implementation for cesium.
@@ -101,7 +101,7 @@ class VectorRasterTileCesiumImpl extends RasterLayerCesiumImpl {
101
101
  }
102
102
  }
103
103
 
104
- // eslint-disable-next-line no-unused-vars
104
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
105
  updateStyle(_style: StyleItem, _silent?: boolean): void {
106
106
  this._reloadTiles();
107
107
  }
@@ -1,12 +1,9 @@
1
- import {
2
- PrimitiveCollection,
3
- QuadtreePrimitive,
4
- SplitDirection,
5
- } from '@vcmap-cesium/engine';
6
- import StyleItem from '../../style/styleItem.js';
1
+ import type { SplitDirection } from '@vcmap-cesium/engine';
2
+ import { PrimitiveCollection, QuadtreePrimitive } from '@vcmap-cesium/engine';
3
+ import type StyleItem from '../../style/styleItem.js';
7
4
  import LayerImplementation from '../layerImplementation.js';
8
5
  import type CesiumMap from '../../map/cesiumMap.js';
9
- import {
6
+ import type {
10
7
  VectorTileImplementation,
11
8
  VectorTileImplementationOptions,
12
9
  } from '../vectorTileLayer.js';
@@ -65,6 +62,7 @@ export default class VectorTileCesiumImpl
65
62
  super.deactivate();
66
63
  }
67
64
 
65
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
68
66
  updateStyle(style: StyleItem, _silent?: boolean): void {
69
67
  this._quadtreeProvider.updateStyle(style);
70
68
  this._quadtreePrimitive.invalidateAllTiles();
@@ -16,9 +16,8 @@ import type { Size } from 'ol/size.js';
16
16
  import type { Feature } from 'ol/index.js';
17
17
  // eslint-disable-next-line import/no-named-default
18
18
  import type { default as Style, StyleFunction } from 'ol/style/Style.js';
19
- import TileProvider, {
20
- rectangleToExtent,
21
- } from '../tileProvider/tileProvider.js';
19
+ import type TileProvider from '../tileProvider/tileProvider.js';
20
+ import { rectangleToExtent } from '../tileProvider/tileProvider.js';
22
21
  import { wgs84ToMercatorTransformer } from '../../util/projection.js';
23
22
  import CanvasTileRenderer from '../../ol/render/canvas/canvasTileRenderer.js';
24
23
 
@@ -119,6 +118,7 @@ class VectorTileImageryProvider {
119
118
 
120
119
  maxLevel = 26;
121
120
 
121
+ // eslint-disable-next-line @typescript-eslint/naming-convention
122
122
  _reload: undefined | (() => void) = undefined;
123
123
 
124
124
  constructor(options: VectorTileImageryProviderOptions) {
@@ -133,7 +133,7 @@ class VectorTileImageryProvider {
133
133
  this.headers = options.headers;
134
134
  }
135
135
 
136
- // eslint-disable-next-line class-methods-use-this
136
+ // eslint-disable-next-line class-methods-use-this,@typescript-eslint/naming-convention
137
137
  get _ready(): boolean {
138
138
  return true;
139
139
  }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ImageryLayer as CesiumImageryLayer,
3
3
  Rectangle,
4
- WebMercatorTilingScheme,
5
4
  WebMapServiceImageryProvider,
5
+ WebMercatorTilingScheme,
6
6
  } from '@vcmap-cesium/engine';
7
7
  import type { Size } from 'ol/size.js';
8
8
 
@@ -11,6 +11,7 @@ import { wgs84Projection } from '../../util/projection.js';
11
11
  import type { WMSImplementationOptions } from '../wmsLayer.js';
12
12
  import type CesiumMap from '../../map/cesiumMap.js';
13
13
  import { getResourceOrUrl } from './resourceHelper.js';
14
+ import { TilingScheme } from '../rasterLayer.js';
14
15
 
15
16
  /**
16
17
  * represents a specific Cesium WmsCesiumImpl Layer class.
@@ -60,7 +61,7 @@ class WmsCesiumImpl extends RasterLayerCesiumImpl {
60
61
  );
61
62
  }
62
63
  }
63
- if (this.tilingSchema === 'mercator') {
64
+ if (this.tilingSchema === TilingScheme.MERCATOR) {
64
65
  options.tilingScheme = new WebMercatorTilingScheme();
65
66
  }
66
67
 
@@ -7,12 +7,10 @@ import {
7
7
  import { check, maybe } from '@vcsuite/check';
8
8
  import { parseInteger } from '@vcsuite/parsers';
9
9
  import type { Coordinate } from 'ol/coordinate.js';
10
- import VectorStyleItem, {
11
- VectorStyleItemOptions,
12
- } from '../style/vectorStyleItem.js';
13
- import FeatureLayer, {
14
- FeatureLayerImplementationOptions,
15
- } from './featureLayer.js';
10
+ import type { VectorStyleItemOptions } from '../style/vectorStyleItem.js';
11
+ import VectorStyleItem from '../style/vectorStyleItem.js';
12
+ import type { FeatureLayerImplementationOptions } from './featureLayer.js';
13
+ import FeatureLayer from './featureLayer.js';
16
14
  import CesiumTilesetCesiumImpl, {
17
15
  getExtentFromTileset,
18
16
  } from './cesium/cesiumTilesetCesiumImpl.js';
@@ -22,8 +20,8 @@ import { mercatorProjection } from '../util/projection.js';
22
20
  import { isMobile } from '../util/isMobile.js';
23
21
  import { layerClassRegistry } from '../classRegistry.js';
24
22
  import type { LayerOptions } from './layer.js';
25
- import FeatureVisibility from './featureVisibility.js';
26
- import VcsMap from '../map/vcsMap.js';
23
+ import type FeatureVisibility from './featureVisibility.js';
24
+ import type VcsMap from '../map/vcsMap.js';
27
25
  import { cesiumColorToColor, getStringColor } from '../style/styleHelpers.js';
28
26
 
29
27
  export type CesiumTilesetOptions = LayerOptions & {
@@ -0,0 +1,162 @@
1
+ import GeoTIFF, { type Options as GeoTIFFOptions } from 'ol/source/GeoTIFF.js';
2
+ import type { EventsKey } from 'ol/events.js';
3
+ import { unByKey } from 'ol/Observable.js';
4
+ import RasterLayer, {
5
+ type RasterLayerImplementationOptions,
6
+ type RasterLayerOptions,
7
+ TilingScheme,
8
+ } from './rasterLayer.js';
9
+ import OpenlayersMap from '../map/openlayersMap.js';
10
+ import CesiumMap from '../map/cesiumMap.js';
11
+ import { layerClassRegistry } from '../classRegistry.js';
12
+ import type VcsMap from '../map/vcsMap.js';
13
+ import COGOpenlayersImpl from './openlayers/cogOpenlayersImpl.js';
14
+ import COGCesiumImpl from './cesium/cogCesiumImpl.js';
15
+ import Extent from '../util/extent.js';
16
+ import { mercatorProjection } from '../util/projection.js';
17
+
18
+ export type COGLayerOptions = Omit<RasterLayerOptions, 'tilingSchema'> & {
19
+ /**
20
+ * Passed directly to the GeoTIFF source.
21
+ */
22
+ convertToRGB?: boolean | 'auto';
23
+ /**
24
+ * Passed directly to the GeoTIFF source.
25
+ */
26
+ normalize?: boolean;
27
+ /**
28
+ * Passed directly to the GeoTIFF source.
29
+ */
30
+ interpolate?: boolean;
31
+ };
32
+
33
+ export type COGLayerImplementationOptions = RasterLayerImplementationOptions & {
34
+ source: GeoTIFF;
35
+ };
36
+
37
+ function getTilingSchemaFromSource(source: GeoTIFF): Promise<TilingScheme> {
38
+ let key: EventsKey | undefined;
39
+ return new Promise<TilingScheme>((resolve, reject) => {
40
+ const handleChange = (): void => {
41
+ if (source.getState() === 'ready') {
42
+ if (key) {
43
+ unByKey(key);
44
+ }
45
+
46
+ const projection = source.getProjection();
47
+ if (!source.getTileGrid()) {
48
+ reject(new Error(`Missing tilegrid in GeoTIFF source not found.`));
49
+ } else if (projection?.getCode() === 'EPSG:4326') {
50
+ resolve(TilingScheme.GEOGRAPHIC);
51
+ } else if (projection?.getCode() === 'EPSG:3857') {
52
+ resolve(TilingScheme.MERCATOR);
53
+ } else {
54
+ reject(new Error(`Unexpected code projection`));
55
+ }
56
+ }
57
+ };
58
+
59
+ key = source.on('change', handleChange);
60
+ handleChange();
61
+ });
62
+ }
63
+
64
+ class COGLayer extends RasterLayer<COGOpenlayersImpl | COGCesiumImpl> {
65
+ static get className(): string {
66
+ return 'COGLayer';
67
+ }
68
+
69
+ static getDefaultOptions(): COGLayerOptions {
70
+ return {
71
+ ...RasterLayer.getDefaultOptions(),
72
+ convertToRGB: 'auto',
73
+ normalize: undefined,
74
+ interpolate: undefined,
75
+ };
76
+ }
77
+
78
+ private _sourceOptions: Partial<GeoTIFFOptions>;
79
+ private _source: GeoTIFF | undefined;
80
+
81
+ constructor(options: COGLayerOptions) {
82
+ super(options);
83
+ const defaultOptions = COGLayer.getDefaultOptions();
84
+ this._sourceOptions = {
85
+ convertToRGB: options.convertToRGB ?? defaultOptions.convertToRGB,
86
+ normalize: options.normalize,
87
+ interpolate: options.interpolate,
88
+ };
89
+
90
+ this._supportedMaps = [OpenlayersMap.className, CesiumMap.className];
91
+ }
92
+
93
+ async initialize(): Promise<void> {
94
+ if (!this.initialized) {
95
+ this._source = new GeoTIFF({
96
+ ...this._sourceOptions,
97
+ sources: [{ url: this.url }],
98
+ });
99
+ this.tilingSchema = await getTilingSchemaFromSource(this._source);
100
+ }
101
+ return super.initialize();
102
+ }
103
+
104
+ getImplementationOptions(): COGLayerImplementationOptions {
105
+ return {
106
+ ...super.getImplementationOptions(),
107
+ source: this._source!,
108
+ };
109
+ }
110
+
111
+ createImplementationsForMap(
112
+ map: VcsMap,
113
+ ): (COGOpenlayersImpl | COGCesiumImpl)[] {
114
+ if (map instanceof OpenlayersMap) {
115
+ return [new COGOpenlayersImpl(map, this.getImplementationOptions())];
116
+ } else if (map instanceof CesiumMap) {
117
+ return [new COGCesiumImpl(map, this.getImplementationOptions())];
118
+ }
119
+
120
+ return [];
121
+ }
122
+
123
+ toJSON(): COGLayerOptions {
124
+ const config: Partial<COGLayerOptions> & RasterLayerOptions =
125
+ super.toJSON();
126
+ const defaultOptions = COGLayer.getDefaultOptions();
127
+
128
+ delete config.tilingSchema;
129
+ if (this._sourceOptions.convertToRGB !== defaultOptions.convertToRGB) {
130
+ config.convertToRGB = this._sourceOptions.convertToRGB;
131
+ }
132
+
133
+ if (this._sourceOptions.normalize != null) {
134
+ config.normalize = this._sourceOptions.normalize;
135
+ }
136
+
137
+ if (this._sourceOptions.interpolate != null) {
138
+ config.interpolate = this._sourceOptions.interpolate;
139
+ }
140
+
141
+ return config;
142
+ }
143
+
144
+ destroy(): void {
145
+ this._source?.dispose();
146
+ super.destroy();
147
+ }
148
+
149
+ getZoomToExtent(): Extent | null {
150
+ const extent = this._source?.getTileGrid()?.getExtent();
151
+ if (extent) {
152
+ return new Extent({
153
+ coordinates: extent,
154
+ projection: mercatorProjection.toJSON(),
155
+ });
156
+ }
157
+ return super.getZoomToExtent();
158
+ }
159
+ }
160
+
161
+ layerClassRegistry.registerClass(COGLayer.className, COGLayer);
162
+ export default COGLayer;
@@ -38,7 +38,7 @@ class CzmlLayer extends DataSourceLayer {
38
38
  /**
39
39
  * A Promise resolving with the DataSourceLayer on load
40
40
  */
41
- loaded: Promise<void> = new Promise((resolve, reject) => {
41
+ loaded = new Promise<void>((resolve, reject) => {
42
42
  this._loadedResolve = resolve;
43
43
  this._loadedReject = reject;
44
44
  });
@@ -74,7 +74,7 @@ class CzmlLayer extends DataSourceLayer {
74
74
  .then(() => {
75
75
  this._loadedResolve();
76
76
  })
77
- .catch((err) => {
77
+ .catch((err: unknown) => {
78
78
  this._loadedReject(err as Error);
79
79
  });
80
80
  }
@@ -1,9 +1,7 @@
1
- import {
2
- DataSourceClock,
3
- Entity,
4
- EntityCollection,
5
- } from '@vcmap-cesium/engine';
6
- import Layer, { LayerImplementationOptions } from './layer.js';
1
+ import type { DataSourceClock, Entity } from '@vcmap-cesium/engine';
2
+ import { EntityCollection } from '@vcmap-cesium/engine';
3
+ import type { LayerImplementationOptions } from './layer.js';
4
+ import Layer from './layer.js';
7
5
  import CesiumMap from '../map/cesiumMap.js';
8
6
  import DataSourceCesiumImpl from './cesium/dataSourceCesiumImpl.js';
9
7
  import { vcsLayerName } from './layerSymbols.js';
@@ -3,12 +3,14 @@ import Style, { type StyleFunction } from 'ol/style/Style.js';
3
3
  import { check, oneOf } from '@vcsuite/check';
4
4
  import { parseInteger } from '@vcsuite/parsers';
5
5
  import { SplitDirection } from '@vcmap-cesium/engine';
6
- import Layer, {
6
+ import type {
7
7
  LayerImplementationOptions,
8
8
  LayerOptions,
9
9
  SplitLayer,
10
10
  } from './layer.js';
11
- import StyleItem, { StyleItemOptions } from '../style/styleItem.js';
11
+ import Layer from './layer.js';
12
+ import type { StyleItemOptions } from '../style/styleItem.js';
13
+ import StyleItem from '../style/styleItem.js';
12
14
  import VectorStyleItem, {
13
15
  type VectorStyleItemOptions,
14
16
  } from '../style/vectorStyleItem.js';
@@ -70,7 +72,7 @@ class FeatureLayer<
70
72
  /**
71
73
  * An event, called when the style of the layer changes. Is passed the new style item as its value.
72
74
  */
73
- readonly styleChanged: VcsEvent<StyleItem> = new VcsEvent();
75
+ readonly styleChanged = new VcsEvent<StyleItem>();
74
76
 
75
77
  /**
76
78
  * a height offset for rendering of a balloon for a feature of this layer.
@@ -82,7 +84,7 @@ class FeatureLayer<
82
84
  /**
83
85
  * raised if the split direction changes, is passed the split direction as its only argument
84
86
  */
85
- readonly splitDirectionChanged: VcsEvent<SplitDirection> = new VcsEvent();
87
+ readonly splitDirectionChanged = new VcsEvent<SplitDirection>();
86
88
 
87
89
  /**
88
90
  * FeatureVisibility tracks the highlighting and hiding of features on this layer