@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
@@ -19,11 +19,11 @@ class ClippingPolygonObjectCollection extends Collection<ClippingPolygonObject>
19
19
 
20
20
  private _listener: Array<() => void>;
21
21
 
22
- private _mapListener: Map<string, () => void> = new Map();
22
+ private _mapListener = new Map<string, () => void>();
23
23
 
24
- private _itemListener: Map<string, () => void> = new Map();
24
+ private _itemListener = new Map<string, () => void>();
25
25
 
26
- stateChanged: VcsEvent<ClippingPolygonObject> = new VcsEvent();
26
+ stateChanged = new VcsEvent<ClippingPolygonObject>();
27
27
 
28
28
  constructor(app: VcsApp) {
29
29
  super();
@@ -94,13 +94,13 @@ class ClippingPolygonObjectCollection extends Collection<ClippingPolygonObject>
94
94
  ];
95
95
  }
96
96
 
97
- _getActiveCesiumMaps(): CesiumMap[] {
97
+ private _getActiveCesiumMaps(): CesiumMap[] {
98
98
  return this._app.maps
99
99
  .getByType(CesiumMap.className)
100
100
  .filter((map) => map.active) as CesiumMap[];
101
101
  }
102
102
 
103
- _setMapListener(map: CesiumMap): () => void {
103
+ private _setMapListener(map: CesiumMap): () => void {
104
104
  const listener = [
105
105
  map.stateChanged.addEventListener((state) => {
106
106
  if (state === MapState.INACTIVE) {
@@ -154,52 +154,56 @@ class ClippingPolygonObjectCollection extends Collection<ClippingPolygonObject>
154
154
  }),
155
155
  ];
156
156
 
157
- return () => listener.forEach((cb) => cb());
157
+ return () => {
158
+ listener.forEach((cb) => {
159
+ cb();
160
+ });
161
+ };
158
162
  }
159
163
 
160
- _setItemListener(item: ClippingPolygonObject): () => void {
164
+ private _setItemListener(item: ClippingPolygonObject): () => void {
161
165
  const listener = [
162
166
  item.stateChanged.addEventListener(() => {
163
167
  const maps = this._getActiveCesiumMaps();
164
168
  if (item.active) {
165
- maps.forEach((map) =>
169
+ maps.forEach((map) => {
166
170
  addClippingPolygonObjectToMap(
167
171
  map,
168
172
  item.clippingPolygon,
169
173
  item.terrain,
170
174
  item.layerNames,
171
- ),
172
- );
175
+ );
176
+ });
173
177
  } else {
174
- maps.forEach((map) =>
178
+ maps.forEach((map) => {
175
179
  removeClippingPolygonFromMap(
176
180
  map,
177
181
  item.clippingPolygon,
178
182
  item.terrain,
179
183
  item.layerNames,
180
- ),
181
- );
184
+ );
185
+ });
182
186
  }
183
187
  }),
184
188
  item.clippingPolygonChanged.addEventListener(({ oldValue, newValue }) => {
185
189
  if (item.active) {
186
190
  const maps = this._getActiveCesiumMaps();
187
- maps.forEach((map) =>
191
+ maps.forEach((map) => {
188
192
  removeClippingPolygonFromMap(
189
193
  map,
190
194
  oldValue,
191
195
  item.terrain,
192
196
  item.layerNames,
193
- ),
194
- );
195
- maps.forEach((map) =>
197
+ );
198
+ });
199
+ maps.forEach((map) => {
196
200
  addClippingPolygonObjectToMap(
197
201
  map,
198
202
  newValue,
199
203
  item.terrain,
200
204
  item.layerNames,
201
- ),
202
- );
205
+ );
206
+ });
203
207
  }
204
208
  }),
205
209
  item.terrainChanged.addEventListener(() => {
@@ -208,11 +212,13 @@ class ClippingPolygonObjectCollection extends Collection<ClippingPolygonObject>
208
212
  .map((map) => map.getScene()?.globe)
209
213
  .filter((g) => !!g);
210
214
  if (item.terrain) {
211
- globes.forEach((g) => addClippingPolygon(g, item.clippingPolygon));
215
+ globes.forEach((g) => {
216
+ addClippingPolygon(g, item.clippingPolygon);
217
+ });
212
218
  } else {
213
- globes.forEach((g) =>
214
- removeClippingPolygon(g, item.clippingPolygon),
215
- );
219
+ globes.forEach((g) => {
220
+ removeClippingPolygon(g, item.clippingPolygon);
221
+ });
216
222
  }
217
223
  }
218
224
  }),
@@ -235,13 +241,23 @@ class ClippingPolygonObjectCollection extends Collection<ClippingPolygonObject>
235
241
  }),
236
242
  ];
237
243
 
238
- return () => listener.forEach((cb) => cb());
244
+ return () => {
245
+ listener.forEach((cb) => {
246
+ cb();
247
+ });
248
+ };
239
249
  }
240
250
 
241
251
  destroy(): void {
242
- this._listener.forEach((cb) => cb());
243
- this._mapListener.forEach((cb) => cb());
244
- this._itemListener.forEach((cb) => cb());
252
+ this._listener.forEach((cb) => {
253
+ cb();
254
+ });
255
+ this._mapListener.forEach((cb) => {
256
+ cb();
257
+ });
258
+ this._itemListener.forEach((cb) => {
259
+ cb();
260
+ });
245
261
  super.destroy();
246
262
  }
247
263
  }
@@ -14,7 +14,7 @@ class Collection<T> {
14
14
  iterable: Iterable<F>,
15
15
  uniqueKey?: keyof F | false,
16
16
  ): Collection<F> {
17
- const collection: Collection<F> = new Collection(uniqueKey);
17
+ const collection = new Collection<F>(uniqueKey);
18
18
  if (iterable) {
19
19
  for (const i of iterable) {
20
20
  collection.add(i);
@@ -0,0 +1,155 @@
1
+ import type { Geometry } from 'ol/geom.js';
2
+ import {
3
+ GeometryCollection,
4
+ MultiLineString,
5
+ MultiPoint,
6
+ MultiPolygon,
7
+ } from 'ol/geom.js';
8
+ import type { Feature } from 'ol';
9
+ import type { Coordinate } from 'ol/coordinate.js';
10
+ import type { Scene } from '@vcmap-cesium/engine';
11
+ import {
12
+ HeightReference,
13
+ sampleTerrainMostDetailed,
14
+ } from '@vcmap-cesium/engine';
15
+ import type VectorProperties from '../layer/vectorProperties.js';
16
+ import {
17
+ getHeightInfo,
18
+ isClampedHeightReference,
19
+ isRelativeHeightReference,
20
+ type RelativeHeightReference,
21
+ type VectorHeightInfo,
22
+ } from './featureconverter/vectorHeightInfo.js';
23
+ import { getSingleGeometriesFromGeometry } from './featureconverter/convert.js';
24
+ import { mercatorToCartographic } from './math.js';
25
+ import {
26
+ drapeGeometryOnSurface,
27
+ from2Dto3DLayout,
28
+ getFlatCoordinateReferences,
29
+ is2DLayout,
30
+ } from './geometryHelpers.js';
31
+
32
+ function setZCoordinate(geometry: Geometry, z: number): void {
33
+ const layout = geometry.getLayout();
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ const coordinates = geometry.getCoordinates() as any[];
36
+ const flatCoordinates = getFlatCoordinateReferences(geometry, coordinates);
37
+
38
+ flatCoordinates.forEach((c) => {
39
+ if (layout === 'XYM') {
40
+ c[3] = c[2];
41
+ c[2] = z;
42
+ } else {
43
+ c[2] = z;
44
+ }
45
+ });
46
+
47
+ geometry.setCoordinates(
48
+ coordinates,
49
+ layout === 'XYM' || layout === 'XYZM' ? 'XYZM' : 'XYZ',
50
+ );
51
+ }
52
+
53
+ export async function createAbsoluteFeature(
54
+ feature: Feature,
55
+ vectorProperties: VectorProperties,
56
+ scene: Scene,
57
+ ): Promise<Feature | null> {
58
+ const clone = feature.clone();
59
+ const geometry = clone.getGeometry();
60
+ if (!geometry) {
61
+ return null;
62
+ }
63
+
64
+ const altitudeMode = vectorProperties.getAltitudeMode(clone);
65
+ let groundLevel = vectorProperties.getGroundLevel(clone);
66
+
67
+ if (altitudeMode === HeightReference.NONE) {
68
+ if (groundLevel != null) {
69
+ setZCoordinate(geometry, groundLevel);
70
+ } else if (is2DLayout(geometry.getLayout())) {
71
+ await from2Dto3DLayout(geometry, scene, HeightReference.CLAMP_TO_GROUND);
72
+ }
73
+ } else if (isClampedHeightReference(altitudeMode)) {
74
+ if (groundLevel != null) {
75
+ setZCoordinate(geometry, groundLevel);
76
+ } else {
77
+ await drapeGeometryOnSurface(
78
+ geometry,
79
+ scene,
80
+ altitudeMode !== HeightReference.CLAMP_TO_TERRAIN
81
+ ? HeightReference.CLAMP_TO_GROUND
82
+ : HeightReference.CLAMP_TO_TERRAIN,
83
+ );
84
+ }
85
+ } else if (isRelativeHeightReference(altitudeMode)) {
86
+ const singleGeometries = getSingleGeometriesFromGeometry(geometry);
87
+ await Promise.all(
88
+ singleGeometries.map(async (singleGeometry) => {
89
+ const heightInfo = getHeightInfo(
90
+ clone,
91
+ singleGeometry,
92
+ vectorProperties,
93
+ ) as VectorHeightInfo<RelativeHeightReference>;
94
+
95
+ ({ groundLevel } = heightInfo);
96
+ if (heightInfo.clampOrigin) {
97
+ const cartographics = [
98
+ mercatorToCartographic(heightInfo.clampOrigin),
99
+ ];
100
+ if (
101
+ heightInfo.heightReference === HeightReference.RELATIVE_TO_TERRAIN
102
+ ) {
103
+ await sampleTerrainMostDetailed(
104
+ scene.terrainProvider,
105
+ cartographics,
106
+ );
107
+ } else {
108
+ await scene.sampleHeightMostDetailed(cartographics);
109
+ }
110
+ groundLevel = cartographics[0].height;
111
+ }
112
+
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ const coordinates = singleGeometry.getCoordinates() as any[];
115
+ const flatCoordinates = getFlatCoordinateReferences(
116
+ singleGeometry,
117
+ coordinates,
118
+ );
119
+ const { heightAboveGround } = heightInfo;
120
+ const setCoordinate =
121
+ heightAboveGround == null
122
+ ? (c: Coordinate): void => {
123
+ c[2] += groundLevel as number;
124
+ }
125
+ : (c: Coordinate): void => {
126
+ c[2] = (groundLevel as number) + heightAboveGround;
127
+ };
128
+ flatCoordinates.forEach(setCoordinate);
129
+ singleGeometry.setCoordinates(coordinates, 'XYZ');
130
+ }),
131
+ );
132
+
133
+ if (geometry instanceof MultiPoint) {
134
+ geometry.setCoordinates(
135
+ singleGeometries.map((g) => g.getCoordinates() as Coordinate),
136
+ );
137
+ } else if (geometry instanceof MultiPolygon) {
138
+ geometry.setCoordinates(
139
+ singleGeometries.map((g) => g.getCoordinates() as Coordinate[][]),
140
+ );
141
+ } else if (geometry instanceof MultiLineString) {
142
+ geometry.setCoordinates(
143
+ singleGeometries.map((g) => g.getCoordinates() as Coordinate[]),
144
+ );
145
+ } else if (geometry instanceof GeometryCollection) {
146
+ geometry.setGeometries(singleGeometries);
147
+ }
148
+ }
149
+
150
+ clone.set('olcs_altitudeMode', 'absolute');
151
+ clone.unset('olcs_groundLevel');
152
+ clone.unset('olcs_heightAboveGround');
153
+
154
+ return clone;
155
+ }
@@ -1,5 +1,5 @@
1
1
  import { check, oneOf } from '@vcsuite/check';
2
- import VcsApp from '../../vcsApp.js';
2
+ import type VcsApp from '../../vcsApp.js';
3
3
  import FeatureStoreLayer from '../../layer/featureStoreLayer.js';
4
4
  import CesiumMap from '../../map/cesiumMap.js';
5
5
  import { isMobile } from '../isMobile.js';
@@ -146,9 +146,8 @@ class DisplayQuality {
146
146
 
147
147
  /**
148
148
  * The current quality view model
149
- * @private
150
149
  */
151
- get _viewModel(): DisplayQualityViewModelOptions | undefined {
150
+ private get _viewModel(): DisplayQualityViewModelOptions | undefined {
152
151
  if (this._currentQualityLevel) {
153
152
  return this._viewModelSettings[this._currentQualityLevel]!;
154
153
  }
@@ -167,10 +166,11 @@ class DisplayQuality {
167
166
  Object.entries(options as Record<string, unknown>)
168
167
  .filter(([, value]) => value != null)
169
168
  .map(([key, value]) => {
169
+ const enumKey = key as DisplayQualityLevel;
170
170
  if (
171
- key === DisplayQualityLevel.LOW ||
172
- key === DisplayQualityLevel.MEDIUM ||
173
- key === DisplayQualityLevel.HIGH
171
+ enumKey === DisplayQualityLevel.LOW ||
172
+ enumKey === DisplayQualityLevel.MEDIUM ||
173
+ enumKey === DisplayQualityLevel.HIGH
174
174
  ) {
175
175
  return [
176
176
  key,
@@ -267,9 +267,8 @@ class DisplayQuality {
267
267
  /**
268
268
  * Set layer quality
269
269
  * @param layerName
270
- * @private
271
270
  */
272
- _setLayerQuality(layerName: string | undefined): void {
271
+ private _setLayerQuality(layerName: string | undefined): void {
273
272
  check(layerName, String);
274
273
 
275
274
  const layer = this._app.layers.getByKey(layerName);
@@ -3,10 +3,9 @@ import { Feature } from 'ol';
3
3
  import type { Geometry, LineString, Polygon } from 'ol/geom.js';
4
4
  import { unByKey } from 'ol/Observable.js';
5
5
  import VcsEvent from '../../vcsEvent.js';
6
+ import type { EditorSession, GeometryToType } from './editorSessionHelpers.js';
6
7
  import {
7
8
  setupPickingBehavior,
8
- EditorSession,
9
- GeometryToType,
10
9
  GeometryType,
11
10
  SessionType,
12
11
  setupInteractionChain,
@@ -23,11 +22,12 @@ import { createSync } from '../../layer/vectorSymbols.js';
23
22
  import geometryIsValid from './validateGeoemetry.js';
24
23
  import ObliqueMap from '../../map/obliqueMap.js';
25
24
  import { cursorMap } from './interactions/editGeometryMouseOverInteraction.js';
26
- import { AltitudeModeType } from '../../layer/vectorProperties.js';
25
+ import type { AltitudeModeType } from '../../layer/vectorProperties.js';
27
26
  import CreationSnapping from './interactions/creationSnapping.js';
28
27
  import { syncScratchLayerVectorProperties } from './editorHelpers.js';
29
28
  import LayerSnapping from './interactions/layerSnapping.js';
30
- import { SnapType, snapTypes } from './snappingHelpers.js';
29
+ import type { SnapType } from './snappingHelpers.js';
30
+ import { snapTypes } from './snappingHelpers.js';
31
31
  import SegmentLengthInteraction from './interactions/segmentLengthInteraction.js';
32
32
 
33
33
  export type CreateFeatureSession<T extends GeometryType> =
@@ -45,14 +45,14 @@ type InteractionOfGeometryType<T extends GeometryType> =
45
45
  T extends GeometryType.Point
46
46
  ? CreatePointInteraction
47
47
  : T extends GeometryType.Polygon
48
- ? CreatePolygonInteraction
49
- : T extends GeometryType.LineString
50
- ? CreateLineStringInteraction
51
- : T extends GeometryType.BBox
52
- ? CreateBBoxInteraction
53
- : T extends GeometryType.Circle
54
- ? CreateCircleInteraction
55
- : never;
48
+ ? CreatePolygonInteraction
49
+ : T extends GeometryType.LineString
50
+ ? CreateLineStringInteraction
51
+ : T extends GeometryType.BBox
52
+ ? CreateBBoxInteraction
53
+ : T extends GeometryType.Circle
54
+ ? CreateCircleInteraction
55
+ : never;
56
56
 
57
57
  function createInteractionForGeometryType<T extends GeometryType>(
58
58
  geometryType: T,
@@ -11,16 +11,16 @@ import { getLogger } from '@vcsuite/logger';
11
11
  import { Math as CesiumMath } from '@vcmap-cesium/engine';
12
12
 
13
13
  import VcsEvent from '../../vcsEvent.js';
14
+ import type { EditorSession } from './editorSessionHelpers.js';
14
15
  import {
15
16
  setupInteractionChain,
16
17
  SessionType,
17
18
  setupScratchLayer,
18
- EditorSession,
19
19
  } from './editorSessionHelpers.js';
20
20
  import createTransformationHandler from './transformation/transformationHandler.js';
21
+ import type { TransformationHandler } from './transformation/transformationTypes.js';
21
22
  import {
22
23
  AxisAndPlanes,
23
- TransformationHandler,
24
24
  TransformationMode,
25
25
  } from './transformation/transformationTypes.js';
26
26
  import MapInteractionController from './interactions/mapInteractionController.js';
@@ -154,7 +154,7 @@ function startEditFeaturesSession(
154
154
  const currentFeatures: Feature[] = [];
155
155
 
156
156
  // The allow picking prop needs to be set false for the selected features to make sure that the transformation handler can always be selected.
157
- const allowPickingMap: Map<string | number, boolean | undefined> = new Map();
157
+ const allowPickingMap = new Map<string | number, boolean | undefined>();
158
158
  let modificationKey: ModificationKeyType;
159
159
  /** Callback to remove the modifier changed listener. */
160
160
  const modifierChangedListener =
@@ -194,7 +194,9 @@ function startEditFeaturesSession(
194
194
  const { exclusiveInteractionId } = app.maps.eventHandler;
195
195
  const removeRightClickStart = app.maps.eventHandler.addExclusiveInteraction(
196
196
  rightClickStart,
197
- () => interactionRemoved.raiseEvent(),
197
+ () => {
198
+ interactionRemoved.raiseEvent();
199
+ },
198
200
  0,
199
201
  exclusiveInteractionId,
200
202
  );
@@ -9,10 +9,10 @@ import type {
9
9
  Point,
10
10
  Polygon,
11
11
  } from 'ol/geom.js';
12
- import { EventsKey } from 'ol/events.js';
12
+ import type { EventsKey } from 'ol/events.js';
13
+ import type { EditorSession } from './editorSessionHelpers.js';
13
14
  import {
14
15
  setupPickingBehavior,
15
- EditorSession,
16
16
  GeometryType,
17
17
  SessionType,
18
18
  setupInteractionChain,
@@ -44,7 +44,8 @@ import TranslationSnapping from './interactions/translationSnapping.js';
44
44
  import { vertexIndexSymbol } from './editorSymbols.js';
45
45
  import LayerSnapping from './interactions/layerSnapping.js';
46
46
  import { EventType } from '../../interaction/interactionType.js';
47
- import { SnapType, snapTypes } from './snappingHelpers.js';
47
+ import type { SnapType } from './snappingHelpers.js';
48
+ import { snapTypes } from './snappingHelpers.js';
48
49
  import SegmentLengthInteraction from './interactions/segmentLengthInteraction.js';
49
50
 
50
51
  export type EditGeometrySession = EditorSession<SessionType.EDIT_GEOMETRY> & {
@@ -2,8 +2,9 @@ import Point from 'ol/geom/Point.js';
2
2
  import Feature from 'ol/Feature.js';
3
3
  import type { Coordinate } from 'ol/coordinate.js';
4
4
  import type { Geometry } from 'ol/geom.js';
5
- import { GeometryLayout } from 'ol/geom/Geometry.js';
5
+ import type { GeometryLayout } from 'ol/geom/Geometry.js';
6
6
 
7
+ import type { Cesium3DTileFeature, Scene, Camera } from '@vcmap-cesium/engine';
7
8
  import {
8
9
  Cartesian2,
9
10
  Cartesian3,
@@ -12,9 +13,6 @@ import {
12
13
  Ray,
13
14
  IntersectionTests,
14
15
  Cartographic,
15
- Cesium3DTileFeature,
16
- type Scene,
17
- type Camera,
18
16
  } from '@vcmap-cesium/engine';
19
17
 
20
18
  import { getLogger } from '@vcsuite/logger';
@@ -28,10 +26,9 @@ import {
28
26
  doNotTransform,
29
27
  } from '../../layer/vectorSymbols.js';
30
28
  import type VcsMap from '../../map/vcsMap.js';
31
- import VectorProperties, {
32
- PropertyChangedKey,
33
- } from '../../layer/vectorProperties.js';
34
- import VectorLayer from '../../layer/vectorLayer.js';
29
+ import type { PropertyChangedKey } from '../../layer/vectorProperties.js';
30
+ import type VectorProperties from '../../layer/vectorProperties.js';
31
+ import type VectorLayer from '../../layer/vectorLayer.js';
35
32
 
36
33
  export type Vertex = Feature<Point> & { [vertexIndexSymbol]: number };
37
34
 
@@ -56,10 +53,11 @@ export const vectorPropertyChangeKeys: PropertyChangedKey[] = [
56
53
  'heightAboveGround',
57
54
  ];
58
55
 
59
- function assignVectorProperty<
60
- K extends PropertyChangedKey,
61
- V extends VectorProperties[K],
62
- >(props: VectorProperties, key: K, value: V): void {
56
+ function assignVectorProperty<K extends PropertyChangedKey>(
57
+ props: VectorProperties,
58
+ key: K,
59
+ value: VectorProperties[K],
60
+ ): void {
63
61
  props[key] = value;
64
62
  }
65
63
 
@@ -373,6 +371,8 @@ export async function drapeGeometryOnTerrain(
373
371
  'drapeGeometryOnTerrain is deprecated and will be removed in 6.1. Use drapeGeometryOnSurface instead.',
374
372
  );
375
373
  if (map instanceof CesiumMap) {
374
+ // oll type
375
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
376
376
  const coordinates = geometry.getCoordinates() as any[];
377
377
  const flats = getFlatCoordinateReferences(geometry, coordinates);
378
378
  await map.getHeightFromTerrain(flats);
@@ -394,6 +394,8 @@ export async function placeGeometryOnTerrain(
394
394
  'place geometry on terrain is deprecated and will be removed in 6.1. Use placeGeometryOnSurface instead.',
395
395
  );
396
396
  if (map instanceof CesiumMap) {
397
+ // ol type
398
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
397
399
  const coordinates = geometry.getCoordinates() as any[];
398
400
  const flats = getFlatCoordinateReferences(geometry, coordinates);
399
401
  await map.getHeightFromTerrain(flats);
@@ -6,12 +6,13 @@ import { mercatorProjection } from '../projection.js';
6
6
  import InteractionChain from '../../interaction/interactionChain.js';
7
7
  import VcsEvent from '../../vcsEvent.js';
8
8
  import { EventType } from '../../interaction/interactionType.js';
9
- import LayerCollection, { maxZIndex } from '../layerCollection.js';
9
+ import type LayerCollection from '../layerCollection.js';
10
+ import { maxZIndex } from '../layerCollection.js';
10
11
  import { markVolatile } from '../../vcsModule.js';
11
12
  import { PrimitiveOptionsType } from '../../layer/vectorProperties.js';
12
- import EventHandler from '../../interaction/eventHandler.js';
13
+ import type EventHandler from '../../interaction/eventHandler.js';
13
14
  import type VcsApp from '../../vcsApp.js';
14
- import { InteractionEvent } from '../../interaction/abstractInteraction.js';
15
+ import type { InteractionEvent } from '../../interaction/abstractInteraction.js';
15
16
  import type FeatureAtPixelInteraction from '../../interaction/featureAtPixelInteraction.js';
16
17
 
17
18
  export const alreadySnapped = Symbol('alreadySnapped');
@@ -79,7 +80,7 @@ export function setupScratchLayer(
79
80
  });
80
81
  markVolatile(layer);
81
82
  layerCollection.add(layer);
82
- layer.activate().catch((e) => {
83
+ layer.activate().catch((e: unknown) => {
83
84
  getLogger('Editor').error('Failed to activate scratch layer', e);
84
85
  });
85
86
 
@@ -160,14 +161,14 @@ export type GeometryToType<T extends GeometryType> =
160
161
  T extends GeometryType.Point
161
162
  ? Point
162
163
  : T extends GeometryType.Polygon
163
- ? Polygon
164
- : T extends GeometryType.BBox
165
- ? Polygon
166
- : T extends GeometryType.LineString
167
- ? LineString
168
- : T extends GeometryType.Circle
169
- ? Circle
170
- : never;
164
+ ? Polygon
165
+ : T extends GeometryType.BBox
166
+ ? Polygon
167
+ : T extends GeometryType.LineString
168
+ ? LineString
169
+ : T extends GeometryType.Circle
170
+ ? Circle
171
+ : never;
171
172
 
172
173
  export function setupPickingBehavior(app: VcsApp): () => void {
173
174
  const initialPickPosition =
@@ -1,8 +1,7 @@
1
1
  import Circle from 'ol/geom/Circle.js';
2
2
  import type { Coordinate } from 'ol/coordinate.js';
3
- import AbstractInteraction, {
4
- EventAfterEventHandler,
5
- } from '../../../interaction/abstractInteraction.js';
3
+ import type { EventAfterEventHandler } from '../../../interaction/abstractInteraction.js';
4
+ import AbstractInteraction from '../../../interaction/abstractInteraction.js';
6
5
  import { EventType } from '../../../interaction/interactionType.js';
7
6
  import VcsEvent from '../../../vcsEvent.js';
8
7
  import {
@@ -1,8 +1,7 @@
1
1
  import LineString from 'ol/geom/LineString.js';
2
2
  import type { Coordinate } from 'ol/coordinate.js';
3
- import AbstractInteraction, {
4
- EventAfterEventHandler,
5
- } from '../../../interaction/abstractInteraction.js';
3
+ import type { EventAfterEventHandler } from '../../../interaction/abstractInteraction.js';
4
+ import AbstractInteraction from '../../../interaction/abstractInteraction.js';
6
5
  import {
7
6
  EventType,
8
7
  ModificationKeyType,
@@ -13,7 +12,7 @@ import {
13
12
  alreadyTransformedToMercator,
14
13
  } from '../../../layer/vectorSymbols.js';
15
14
  import ObliqueMap from '../../../map/obliqueMap.js';
16
- import { CreateInteraction } from '../createFeatureSession.js';
15
+ import type { CreateInteraction } from '../createFeatureSession.js';
17
16
 
18
17
  /**
19
18
  * @extends {AbstractInteraction}
@@ -1,7 +1,6 @@
1
1
  import Point from 'ol/geom/Point.js';
2
- import AbstractInteraction, {
3
- EventAfterEventHandler,
4
- } from '../../../interaction/abstractInteraction.js';
2
+ import type { EventAfterEventHandler } from '../../../interaction/abstractInteraction.js';
3
+ import AbstractInteraction from '../../../interaction/abstractInteraction.js';
5
4
  import VcsEvent from '../../../vcsEvent.js';
6
5
  import { EventType } from '../../../interaction/interactionType.js';
7
6
  import {
@@ -9,7 +8,7 @@ import {
9
8
  alreadyTransformedToMercator,
10
9
  } from '../../../layer/vectorSymbols.js';
11
10
  import ObliqueMap from '../../../map/obliqueMap.js';
12
- import { CreateInteraction } from '../createFeatureSession.js';
11
+ import type { CreateInteraction } from '../createFeatureSession.js';
13
12
 
14
13
  /**
15
14
  * @extends {AbstractInteraction}
@@ -1,8 +1,7 @@
1
1
  import { Polygon } from 'ol/geom.js';
2
2
  import type { Coordinate } from 'ol/coordinate.js';
3
- import AbstractInteraction, {
4
- EventAfterEventHandler,
5
- } from '../../../interaction/abstractInteraction.js';
3
+ import type { EventAfterEventHandler } from '../../../interaction/abstractInteraction.js';
4
+ import AbstractInteraction from '../../../interaction/abstractInteraction.js';
6
5
  import {
7
6
  EventType,
8
7
  ModificationKeyType,
@@ -13,7 +12,7 @@ import {
13
12
  alreadyTransformedToMercator,
14
13
  } from '../../../layer/vectorSymbols.js';
15
14
  import ObliqueMap from '../../../map/obliqueMap.js';
16
- import { CreateInteraction } from '../createFeatureSession.js';
15
+ import type { CreateInteraction } from '../createFeatureSession.js';
17
16
 
18
17
  /**
19
18
  * Set on polygon geometries which have a validity placeholder active