@vcmap/core 5.0.0-rc.8 → 5.0.0

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 (887) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +107 -33
  3. package/build/postinstall.js +65 -18
  4. package/dist/index.d.ts +176 -0
  5. package/dist/index.js +177 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/category/category.d.ts +85 -0
  8. package/dist/src/category/category.js +287 -0
  9. package/dist/src/category/category.js.map +1 -0
  10. package/dist/src/category/categoryCollection.d.ts +35 -0
  11. package/dist/src/category/categoryCollection.js +110 -0
  12. package/dist/src/category/categoryCollection.js.map +1 -0
  13. package/dist/src/cesium/cesium3DTileFeature.d.ts +1 -0
  14. package/dist/src/cesium/cesium3DTileFeature.js +6 -0
  15. package/dist/src/cesium/cesium3DTileFeature.js.map +1 -0
  16. package/dist/src/cesium/cesium3DTilePointFeature.d.ts +1 -0
  17. package/dist/src/cesium/cesium3DTilePointFeature.js +6 -0
  18. package/dist/src/cesium/cesium3DTilePointFeature.js.map +1 -0
  19. package/dist/src/cesium/cesiumVcsCameraPrimitive.d.ts +21 -0
  20. package/dist/src/cesium/cesiumVcsCameraPrimitive.js +128 -0
  21. package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -0
  22. package/dist/src/cesium/entity.d.ts +1 -0
  23. package/dist/src/cesium/entity.js +18 -0
  24. package/dist/src/cesium/entity.js.map +1 -0
  25. package/dist/src/cesium/wallpaperMaterial.d.ts +1 -0
  26. package/dist/src/cesium/wallpaperMaterial.js +61 -0
  27. package/dist/src/cesium/wallpaperMaterial.js.map +1 -0
  28. package/dist/src/classRegistry.d.ts +40 -0
  29. package/dist/src/classRegistry.js +89 -0
  30. package/dist/src/classRegistry.js.map +1 -0
  31. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +76 -0
  32. package/dist/src/featureProvider/abstractFeatureProvider.js +133 -0
  33. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -0
  34. package/dist/src/featureProvider/featureProviderSymbols.d.ts +4 -0
  35. package/dist/src/featureProvider/featureProviderSymbols.js +6 -0
  36. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -0
  37. package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +19 -0
  38. package/dist/src/featureProvider/tileProviderFeatureProvider.js +30 -0
  39. package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -0
  40. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +91 -0
  41. package/dist/src/featureProvider/wmsFeatureProvider.js +214 -0
  42. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -0
  43. package/dist/src/interaction/abstractInteraction.d.ts +117 -0
  44. package/dist/src/interaction/abstractInteraction.js +102 -0
  45. package/dist/src/interaction/abstractInteraction.js.map +1 -0
  46. package/dist/src/interaction/coordinateAtPixel.d.ts +13 -0
  47. package/dist/src/interaction/coordinateAtPixel.js +75 -0
  48. package/dist/src/interaction/coordinateAtPixel.js.map +1 -0
  49. package/dist/src/interaction/eventHandler.d.ts +86 -0
  50. package/dist/src/interaction/eventHandler.js +325 -0
  51. package/dist/src/interaction/eventHandler.js.map +1 -0
  52. package/dist/src/interaction/featureAtPixelInteraction.d.ts +39 -0
  53. package/dist/src/interaction/featureAtPixelInteraction.js +203 -0
  54. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -0
  55. package/dist/src/interaction/featureProviderInteraction.d.ts +9 -0
  56. package/dist/src/interaction/featureProviderInteraction.js +34 -0
  57. package/dist/src/interaction/featureProviderInteraction.js.map +1 -0
  58. package/dist/src/interaction/interactionChain.d.ts +32 -0
  59. package/dist/src/interaction/interactionChain.js +83 -0
  60. package/dist/src/interaction/interactionChain.js.map +1 -0
  61. package/dist/src/interaction/interactionType.d.ts +42 -0
  62. package/dist/src/interaction/interactionType.js +47 -0
  63. package/dist/src/interaction/interactionType.js.map +1 -0
  64. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +45 -0
  65. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +295 -0
  66. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -0
  67. package/dist/src/layer/cesium/clusterContext.d.ts +24 -0
  68. package/dist/src/layer/cesium/clusterContext.js +61 -0
  69. package/dist/src/layer/cesium/clusterContext.js.map +1 -0
  70. package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +18 -0
  71. package/dist/src/layer/cesium/dataSourceCesiumImpl.js +115 -0
  72. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -0
  73. package/dist/src/layer/cesium/openStreetMapCesiumImpl.d.ts +10 -0
  74. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js +18 -0
  75. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js.map +1 -0
  76. package/dist/src/layer/cesium/rasterLayerCesiumImpl.d.ts +24 -0
  77. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js +73 -0
  78. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -0
  79. package/dist/src/layer/cesium/singleImageCesiumImpl.d.ts +14 -0
  80. package/dist/src/layer/cesium/singleImageCesiumImpl.js +35 -0
  81. package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -0
  82. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +19 -0
  83. package/dist/src/layer/cesium/terrainCesiumImpl.js +47 -0
  84. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -0
  85. package/dist/src/layer/cesium/tmsCesiumImpl.d.ts +14 -0
  86. package/dist/src/layer/cesium/tmsCesiumImpl.js +42 -0
  87. package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -0
  88. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +62 -0
  89. package/dist/src/layer/cesium/vectorCesiumImpl.js +190 -0
  90. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -0
  91. package/dist/src/layer/cesium/vectorContext.d.ts +90 -0
  92. package/dist/src/layer/cesium/vectorContext.js +281 -0
  93. package/dist/src/layer/cesium/vectorContext.js.map +1 -0
  94. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +31 -0
  95. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +77 -0
  96. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -0
  97. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +57 -0
  98. package/dist/src/layer/cesium/vectorTileImageryProvider.js +130 -0
  99. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -0
  100. package/dist/src/layer/cesium/wmsCesiumImpl.d.ts +17 -0
  101. package/dist/src/layer/cesium/wmsCesiumImpl.js +53 -0
  102. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -0
  103. package/dist/src/layer/cesium/wmtsCesiumImpl.d.ts +22 -0
  104. package/dist/src/layer/cesium/wmtsCesiumImpl.js +64 -0
  105. package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -0
  106. package/dist/src/layer/cesiumTilesetLayer.d.ts +82 -0
  107. package/dist/src/layer/cesiumTilesetLayer.js +176 -0
  108. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -0
  109. package/dist/src/layer/czmlLayer.d.ts +34 -0
  110. package/dist/src/layer/czmlLayer.js +115 -0
  111. package/dist/src/layer/czmlLayer.js.map +1 -0
  112. package/dist/src/layer/dataSourceLayer.d.ts +54 -0
  113. package/dist/src/layer/dataSourceLayer.js +132 -0
  114. package/dist/src/layer/dataSourceLayer.js.map +1 -0
  115. package/dist/src/layer/featureLayer.d.ts +85 -0
  116. package/dist/src/layer/featureLayer.js +155 -0
  117. package/dist/src/layer/featureLayer.js.map +1 -0
  118. package/dist/src/layer/featureStoreLayer.d.ts +123 -0
  119. package/dist/src/layer/featureStoreLayer.js +470 -0
  120. package/dist/src/layer/featureStoreLayer.js.map +1 -0
  121. package/dist/src/layer/featureStoreLayerChanges.d.ts +88 -0
  122. package/dist/src/layer/featureStoreLayerChanges.js +288 -0
  123. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -0
  124. package/dist/src/layer/featureStoreLayerState.d.ts +9 -0
  125. package/dist/src/layer/featureStoreLayerState.js +11 -0
  126. package/dist/src/layer/featureStoreLayerState.js.map +1 -0
  127. package/dist/src/layer/featureVisibility.d.ts +108 -0
  128. package/dist/src/layer/featureVisibility.js +335 -0
  129. package/dist/src/layer/featureVisibility.js.map +1 -0
  130. package/dist/src/layer/geojsonHelpers.d.ts +72 -0
  131. package/dist/src/layer/geojsonHelpers.js +339 -0
  132. package/dist/src/layer/geojsonHelpers.js.map +1 -0
  133. package/dist/src/layer/geojsonLayer.d.ts +29 -0
  134. package/dist/src/layer/geojsonLayer.js +121 -0
  135. package/dist/src/layer/geojsonLayer.js.map +1 -0
  136. package/dist/src/layer/globalHider.d.ts +31 -0
  137. package/dist/src/layer/globalHider.js +93 -0
  138. package/dist/src/layer/globalHider.js.map +1 -0
  139. package/dist/src/layer/layer.d.ts +227 -0
  140. package/dist/src/layer/layer.js +494 -0
  141. package/dist/src/layer/layer.js.map +1 -0
  142. package/dist/src/layer/layerImplementation.d.ts +41 -0
  143. package/dist/src/layer/layerImplementation.js +75 -0
  144. package/dist/src/layer/layerImplementation.js.map +1 -0
  145. package/dist/src/layer/layerState.d.ts +10 -0
  146. package/dist/src/layer/layerState.js +12 -0
  147. package/dist/src/layer/layerState.js.map +1 -0
  148. package/dist/src/layer/layerSymbols.d.ts +4 -0
  149. package/dist/src/layer/layerSymbols.js +6 -0
  150. package/dist/src/layer/layerSymbols.js.map +1 -0
  151. package/dist/src/layer/oblique/layerObliqueImpl.d.ts +15 -0
  152. package/dist/src/layer/oblique/layerObliqueImpl.js +41 -0
  153. package/dist/src/layer/oblique/layerObliqueImpl.js.map +1 -0
  154. package/dist/src/layer/oblique/obliqueHelpers.d.ts +40 -0
  155. package/dist/src/layer/oblique/obliqueHelpers.js +140 -0
  156. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -0
  157. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +70 -0
  158. package/dist/src/layer/oblique/vectorObliqueImpl.js +344 -0
  159. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -0
  160. package/dist/src/layer/openStreetMapLayer.d.ts +54 -0
  161. package/dist/src/layer/openStreetMapLayer.js +126 -0
  162. package/dist/src/layer/openStreetMapLayer.js.map +1 -0
  163. package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +31 -0
  164. package/dist/src/layer/openlayers/layerOpenlayersImpl.js +96 -0
  165. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -0
  166. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.d.ts +11 -0
  167. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js +21 -0
  168. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js.map +1 -0
  169. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.d.ts +15 -0
  170. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js +27 -0
  171. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -0
  172. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.d.ts +18 -0
  173. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +38 -0
  174. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -0
  175. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +15 -0
  176. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +23 -0
  177. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -0
  178. package/dist/src/layer/openlayers/tmsOpenlayersImpl.d.ts +21 -0
  179. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +55 -0
  180. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -0
  181. package/dist/src/layer/openlayers/vectorOpenlayersImpl.d.ts +31 -0
  182. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +81 -0
  183. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -0
  184. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +37 -0
  185. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +131 -0
  186. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -0
  187. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +18 -0
  188. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +38 -0
  189. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -0
  190. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.d.ts +24 -0
  191. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +99 -0
  192. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -0
  193. package/dist/src/layer/pointCloudLayer.d.ts +46 -0
  194. package/dist/src/layer/pointCloudLayer.js +93 -0
  195. package/dist/src/layer/pointCloudLayer.js.map +1 -0
  196. package/dist/src/layer/rasterLayer.d.ts +95 -0
  197. package/dist/src/layer/rasterLayer.js +197 -0
  198. package/dist/src/layer/rasterLayer.js.map +1 -0
  199. package/dist/src/layer/singleImageLayer.d.ts +30 -0
  200. package/dist/src/layer/singleImageLayer.js +79 -0
  201. package/dist/src/layer/singleImageLayer.js.map +1 -0
  202. package/dist/src/layer/terrainHelpers.d.ts +27 -0
  203. package/dist/src/layer/terrainHelpers.js +59 -0
  204. package/dist/src/layer/terrainHelpers.js.map +1 -0
  205. package/dist/src/layer/terrainLayer.d.ts +32 -0
  206. package/dist/src/layer/terrainLayer.js +68 -0
  207. package/dist/src/layer/terrainLayer.js.map +1 -0
  208. package/dist/src/layer/tileLoadedHelper.d.ts +5 -0
  209. package/dist/src/layer/tileLoadedHelper.js +52 -0
  210. package/dist/src/layer/tileLoadedHelper.js.map +1 -0
  211. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +31 -0
  212. package/dist/src/layer/tileProvider/mvtTileProvider.js +91 -0
  213. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -0
  214. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +17 -0
  215. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +43 -0
  216. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -0
  217. package/dist/src/layer/tileProvider/tileProvider.d.ts +174 -0
  218. package/dist/src/layer/tileProvider/tileProvider.js +444 -0
  219. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -0
  220. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +37 -0
  221. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +89 -0
  222. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -0
  223. package/dist/src/layer/tmsLayer.d.ts +27 -0
  224. package/dist/src/layer/tmsLayer.js +71 -0
  225. package/dist/src/layer/tmsLayer.js.map +1 -0
  226. package/dist/src/layer/vectorHelpers.d.ts +14 -0
  227. package/dist/src/layer/vectorHelpers.js +100 -0
  228. package/dist/src/layer/vectorHelpers.js.map +1 -0
  229. package/dist/src/layer/vectorLayer.d.ts +176 -0
  230. package/dist/src/layer/vectorLayer.js +384 -0
  231. package/dist/src/layer/vectorLayer.js.map +1 -0
  232. package/dist/src/layer/vectorProperties.d.ts +310 -0
  233. package/dist/src/layer/vectorProperties.js +999 -0
  234. package/dist/src/layer/vectorProperties.js.map +1 -0
  235. package/dist/src/layer/vectorSymbols.d.ts +31 -0
  236. package/{src → dist/src}/layer/vectorSymbols.js +7 -15
  237. package/dist/src/layer/vectorSymbols.js.map +1 -0
  238. package/dist/src/layer/vectorTileLayer.d.ts +93 -0
  239. package/dist/src/layer/vectorTileLayer.js +346 -0
  240. package/dist/src/layer/vectorTileLayer.js.map +1 -0
  241. package/dist/src/layer/wfsLayer.d.ts +45 -0
  242. package/dist/src/layer/wfsLayer.js +124 -0
  243. package/dist/src/layer/wfsLayer.js.map +1 -0
  244. package/dist/src/layer/wmsHelpers.d.ts +15 -0
  245. package/dist/src/layer/wmsHelpers.js +54 -0
  246. package/dist/src/layer/wmsHelpers.js.map +1 -0
  247. package/dist/src/layer/wmsLayer.d.ts +75 -0
  248. package/dist/src/layer/wmsLayer.js +206 -0
  249. package/dist/src/layer/wmsLayer.js.map +1 -0
  250. package/dist/src/layer/wmtsLayer.d.ts +51 -0
  251. package/dist/src/layer/wmtsLayer.js +144 -0
  252. package/dist/src/layer/wmtsLayer.js.map +1 -0
  253. package/dist/src/map/baseOLMap.d.ts +34 -0
  254. package/dist/src/map/baseOLMap.js +174 -0
  255. package/dist/src/map/baseOLMap.js.map +1 -0
  256. package/dist/src/map/cameraLimiter.d.ts +71 -0
  257. package/dist/src/map/cameraLimiter.js +136 -0
  258. package/dist/src/map/cameraLimiter.js.map +1 -0
  259. package/dist/src/map/cesiumMap.d.ts +255 -0
  260. package/dist/src/map/cesiumMap.js +956 -0
  261. package/dist/src/map/cesiumMap.js.map +1 -0
  262. package/dist/src/map/mapState.d.ts +10 -0
  263. package/dist/src/map/mapState.js +12 -0
  264. package/dist/src/map/mapState.js.map +1 -0
  265. package/dist/src/map/obliqueMap.d.ts +89 -0
  266. package/dist/src/map/obliqueMap.js +364 -0
  267. package/dist/src/map/obliqueMap.js.map +1 -0
  268. package/dist/src/map/openlayersMap.d.ts +26 -0
  269. package/dist/src/map/openlayersMap.js +169 -0
  270. package/dist/src/map/openlayersMap.js.map +1 -0
  271. package/dist/src/map/vcsMap.d.ts +203 -0
  272. package/dist/src/map/vcsMap.js +389 -0
  273. package/dist/src/map/vcsMap.js.map +1 -0
  274. package/dist/src/moduleIdSymbol.d.ts +1 -0
  275. package/dist/src/moduleIdSymbol.js +3 -0
  276. package/dist/src/moduleIdSymbol.js.map +1 -0
  277. package/dist/src/oblique/defaultObliqueCollection.d.ts +13 -0
  278. package/dist/src/oblique/defaultObliqueCollection.js +43 -0
  279. package/dist/src/oblique/defaultObliqueCollection.js.map +1 -0
  280. package/dist/src/oblique/helpers.d.ts +77 -0
  281. package/dist/src/oblique/helpers.js +404 -0
  282. package/dist/src/oblique/helpers.js.map +1 -0
  283. package/dist/src/oblique/obliqueCollection.d.ts +196 -0
  284. package/dist/src/oblique/obliqueCollection.js +446 -0
  285. package/dist/src/oblique/obliqueCollection.js.map +1 -0
  286. package/dist/src/oblique/obliqueDataSet.d.ts +91 -0
  287. package/dist/src/oblique/obliqueDataSet.js +270 -0
  288. package/dist/src/oblique/obliqueDataSet.js.map +1 -0
  289. package/dist/src/oblique/obliqueImage.d.ts +80 -0
  290. package/dist/src/oblique/obliqueImage.js +164 -0
  291. package/dist/src/oblique/obliqueImage.js.map +1 -0
  292. package/dist/src/oblique/obliqueImageMeta.d.ts +59 -0
  293. package/dist/src/oblique/obliqueImageMeta.js +81 -0
  294. package/dist/src/oblique/obliqueImageMeta.js.map +1 -0
  295. package/dist/src/oblique/obliqueProvider.d.ts +91 -0
  296. package/dist/src/oblique/obliqueProvider.js +337 -0
  297. package/dist/src/oblique/obliqueProvider.js.map +1 -0
  298. package/dist/src/oblique/obliqueView.d.ts +46 -0
  299. package/dist/src/oblique/obliqueView.js +139 -0
  300. package/dist/src/oblique/obliqueView.js.map +1 -0
  301. package/dist/src/oblique/obliqueViewDirection.d.ts +15 -0
  302. package/dist/src/oblique/obliqueViewDirection.js +20 -0
  303. package/dist/src/oblique/obliqueViewDirection.js.map +1 -0
  304. package/dist/src/oblique/parseImageJson.d.ts +17 -0
  305. package/dist/src/oblique/parseImageJson.js +227 -0
  306. package/dist/src/oblique/parseImageJson.js.map +1 -0
  307. package/dist/src/ol/feature.d.ts +1 -0
  308. package/dist/src/ol/feature.js +78 -0
  309. package/dist/src/ol/feature.js.map +1 -0
  310. package/dist/src/ol/geom/circle.d.ts +1 -0
  311. package/{src → dist/src}/ol/geom/circle.js +13 -10
  312. package/dist/src/ol/geom/circle.js.map +1 -0
  313. package/dist/src/ol/geom/geometryCollection.d.ts +1 -0
  314. package/dist/src/ol/geom/geometryCollection.js +31 -0
  315. package/dist/src/ol/geom/geometryCollection.js.map +1 -0
  316. package/dist/src/ol/render/canvas/canvasTileRenderer.d.ts +54 -0
  317. package/dist/src/ol/render/canvas/canvasTileRenderer.js +131 -0
  318. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -0
  319. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +18 -0
  320. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +38 -0
  321. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -0
  322. package/dist/src/ol/source/VcsCluster.d.ts +17 -0
  323. package/dist/src/ol/source/VcsCluster.js +32 -0
  324. package/dist/src/ol/source/VcsCluster.js.map +1 -0
  325. package/dist/src/overrideClassRegistry.d.ts +54 -0
  326. package/dist/src/overrideClassRegistry.js +151 -0
  327. package/dist/src/overrideClassRegistry.js.map +1 -0
  328. package/dist/src/style/arcStyle.d.ts +75 -0
  329. package/dist/src/style/arcStyle.js +256 -0
  330. package/dist/src/style/arcStyle.js.map +1 -0
  331. package/dist/src/style/arrowStyle.d.ts +67 -0
  332. package/dist/src/style/arrowStyle.js +188 -0
  333. package/dist/src/style/arrowStyle.js.map +1 -0
  334. package/dist/src/style/declarativeStyleItem.d.ts +75 -0
  335. package/dist/src/style/declarativeStyleItem.js +419 -0
  336. package/dist/src/style/declarativeStyleItem.js.map +1 -0
  337. package/dist/src/style/shapesCategory.d.ts +13 -0
  338. package/dist/src/style/shapesCategory.js +46 -0
  339. package/dist/src/style/shapesCategory.js.map +1 -0
  340. package/dist/src/style/styleFactory.d.ts +4 -0
  341. package/dist/src/style/styleFactory.js +25 -0
  342. package/dist/src/style/styleFactory.js.map +1 -0
  343. package/dist/src/style/styleHelpers.d.ts +132 -0
  344. package/dist/src/style/styleHelpers.js +552 -0
  345. package/dist/src/style/styleHelpers.js.map +1 -0
  346. package/dist/src/style/styleItem.d.ts +59 -0
  347. package/dist/src/style/styleItem.js +98 -0
  348. package/dist/src/style/styleItem.js.map +1 -0
  349. package/dist/src/style/vectorStyleItem.d.ts +126 -0
  350. package/dist/src/style/vectorStyleItem.js +703 -0
  351. package/dist/src/style/vectorStyleItem.js.map +1 -0
  352. package/dist/src/style/writeStyle.d.ts +6 -0
  353. package/dist/src/style/writeStyle.js +34 -0
  354. package/dist/src/style/writeStyle.js.map +1 -0
  355. package/dist/src/util/clipping/clippingObject.d.ts +100 -0
  356. package/dist/src/util/clipping/clippingObject.js +274 -0
  357. package/dist/src/util/clipping/clippingObject.js.map +1 -0
  358. package/dist/src/util/clipping/clippingObjectManager.d.ts +69 -0
  359. package/dist/src/util/clipping/clippingObjectManager.js +221 -0
  360. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -0
  361. package/dist/src/util/clipping/clippingPlaneHelper.d.ts +66 -0
  362. package/dist/src/util/clipping/clippingPlaneHelper.js +316 -0
  363. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -0
  364. package/dist/src/util/collection.d.ts +76 -0
  365. package/dist/src/util/collection.js +159 -0
  366. package/dist/src/util/collection.js.map +1 -0
  367. package/dist/src/util/editor/createFeatureSession.d.ts +39 -0
  368. package/dist/src/util/editor/createFeatureSession.js +171 -0
  369. package/dist/src/util/editor/createFeatureSession.js.map +1 -0
  370. package/dist/src/util/editor/editFeaturesSession.d.ts +30 -0
  371. package/dist/src/util/editor/editFeaturesSession.js +264 -0
  372. package/dist/src/util/editor/editFeaturesSession.js.map +1 -0
  373. package/dist/src/util/editor/editGeometrySession.d.ts +16 -0
  374. package/dist/src/util/editor/editGeometrySession.js +346 -0
  375. package/dist/src/util/editor/editGeometrySession.js.map +1 -0
  376. package/dist/src/util/editor/editorHelpers.d.ts +55 -0
  377. package/dist/src/util/editor/editorHelpers.js +160 -0
  378. package/dist/src/util/editor/editorHelpers.js.map +1 -0
  379. package/dist/src/util/editor/editorSessionHelpers.d.ts +49 -0
  380. package/dist/src/util/editor/editorSessionHelpers.js +92 -0
  381. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -0
  382. package/dist/src/util/editor/editorSymbols.d.ts +17 -0
  383. package/dist/src/util/editor/editorSymbols.js +18 -0
  384. package/dist/src/util/editor/editorSymbols.js.map +1 -0
  385. package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +27 -0
  386. package/dist/src/util/editor/interactions/createBBoxInteraction.js +107 -0
  387. package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -0
  388. package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +28 -0
  389. package/dist/src/util/editor/interactions/createCircleInteraction.js +77 -0
  390. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -0
  391. package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +28 -0
  392. package/dist/src/util/editor/interactions/createLineStringInteraction.js +79 -0
  393. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -0
  394. package/dist/src/util/editor/interactions/createPointInteraction.d.ts +21 -0
  395. package/dist/src/util/editor/interactions/createPointInteraction.js +47 -0
  396. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -0
  397. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +30 -0
  398. package/dist/src/util/editor/interactions/createPolygonInteraction.js +91 -0
  399. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -0
  400. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +19 -0
  401. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js +61 -0
  402. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -0
  403. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +35 -0
  404. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +89 -0
  405. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -0
  406. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +16 -0
  407. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js +37 -0
  408. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -0
  409. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +23 -0
  410. package/dist/src/util/editor/interactions/insertVertexInteraction.js +61 -0
  411. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -0
  412. package/dist/src/util/editor/interactions/mapInteractionController.d.ts +12 -0
  413. package/dist/src/util/editor/interactions/mapInteractionController.js +84 -0
  414. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -0
  415. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +14 -0
  416. package/dist/src/util/editor/interactions/removeVertexInteraction.js +27 -0
  417. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -0
  418. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +35 -0
  419. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +105 -0
  420. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -0
  421. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +36 -0
  422. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +96 -0
  423. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -0
  424. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +35 -0
  425. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +72 -0
  426. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -0
  427. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +15 -0
  428. package/dist/src/util/editor/interactions/translateVertexInteraction.js +41 -0
  429. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -0
  430. package/dist/src/util/editor/selectFeaturesSession.d.ts +31 -0
  431. package/dist/src/util/editor/selectFeaturesSession.js +228 -0
  432. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -0
  433. package/dist/src/util/editor/transformation/create2DHandlers.d.ts +12 -0
  434. package/dist/src/util/editor/transformation/create2DHandlers.js +295 -0
  435. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -0
  436. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +10 -0
  437. package/dist/src/util/editor/transformation/create3DHandlers.js +488 -0
  438. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -0
  439. package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +20 -0
  440. package/dist/src/util/editor/transformation/extrudeInteraction.js +55 -0
  441. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -0
  442. package/dist/src/util/editor/transformation/rotateInteraction.d.ts +25 -0
  443. package/dist/src/util/editor/transformation/rotateInteraction.js +106 -0
  444. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -0
  445. package/dist/src/util/editor/transformation/scaleInteraction.d.ts +26 -0
  446. package/dist/src/util/editor/transformation/scaleInteraction.js +118 -0
  447. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -0
  448. package/dist/src/util/editor/transformation/transformationHandler.d.ts +18 -0
  449. package/dist/src/util/editor/transformation/transformationHandler.js +133 -0
  450. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -0
  451. package/dist/src/util/editor/transformation/transformationTypes.d.ts +53 -0
  452. package/dist/src/util/editor/transformation/transformationTypes.js +30 -0
  453. package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -0
  454. package/dist/src/util/editor/transformation/translateInteraction.d.ts +29 -0
  455. package/dist/src/util/editor/transformation/translateInteraction.js +151 -0
  456. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -0
  457. package/dist/src/util/editor/validateGeoemetry.d.ts +2 -0
  458. package/dist/src/util/editor/validateGeoemetry.js +24 -0
  459. package/dist/src/util/editor/validateGeoemetry.js.map +1 -0
  460. package/dist/src/util/exclusiveManager.d.ts +39 -0
  461. package/dist/src/util/exclusiveManager.js +103 -0
  462. package/dist/src/util/exclusiveManager.js.map +1 -0
  463. package/dist/src/util/extent.d.ts +33 -0
  464. package/dist/src/util/extent.js +84 -0
  465. package/dist/src/util/extent.js.map +1 -0
  466. package/dist/src/util/featureconverter/arcToCesium.d.ts +22 -0
  467. package/dist/src/util/featureconverter/arcToCesium.js +57 -0
  468. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -0
  469. package/dist/src/util/featureconverter/circleToCesium.d.ts +30 -0
  470. package/dist/src/util/featureconverter/circleToCesium.js +128 -0
  471. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -0
  472. package/dist/src/util/featureconverter/convert.d.ts +16 -0
  473. package/dist/src/util/featureconverter/convert.js +76 -0
  474. package/dist/src/util/featureconverter/convert.js.map +1 -0
  475. package/dist/src/util/featureconverter/extent3D.d.ts +33 -0
  476. package/dist/src/util/featureconverter/extent3D.js +150 -0
  477. package/dist/src/util/featureconverter/extent3D.js.map +1 -0
  478. package/dist/src/util/featureconverter/featureconverterHelper.d.ts +35 -0
  479. package/dist/src/util/featureconverter/featureconverterHelper.js +403 -0
  480. package/dist/src/util/featureconverter/featureconverterHelper.js.map +1 -0
  481. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +41 -0
  482. package/dist/src/util/featureconverter/lineStringToCesium.js +172 -0
  483. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -0
  484. package/dist/src/util/featureconverter/pointHelpers.d.ts +13 -0
  485. package/dist/src/util/featureconverter/pointHelpers.js +254 -0
  486. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -0
  487. package/dist/src/util/featureconverter/pointToCesium.d.ts +36 -0
  488. package/dist/src/util/featureconverter/pointToCesium.js +258 -0
  489. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -0
  490. package/dist/src/util/featureconverter/polygonToCesium.d.ts +33 -0
  491. package/dist/src/util/featureconverter/polygonToCesium.js +161 -0
  492. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -0
  493. package/dist/src/util/fetch.d.ts +3 -0
  494. package/dist/src/util/fetch.js +16 -0
  495. package/dist/src/util/fetch.js.map +1 -0
  496. package/dist/src/util/geometryHelpers.d.ts +14 -0
  497. package/dist/src/util/geometryHelpers.js +132 -0
  498. package/dist/src/util/geometryHelpers.js.map +1 -0
  499. package/dist/src/util/indexedCollection.d.ts +63 -0
  500. package/dist/src/util/indexedCollection.js +137 -0
  501. package/dist/src/util/indexedCollection.js.map +1 -0
  502. package/dist/src/util/isMobile.d.ts +4 -0
  503. package/dist/src/util/isMobile.js +12 -0
  504. package/dist/src/util/isMobile.js.map +1 -0
  505. package/dist/src/util/layerCollection.d.ts +92 -0
  506. package/dist/src/util/layerCollection.js +247 -0
  507. package/dist/src/util/layerCollection.js.map +1 -0
  508. package/dist/src/util/locale.d.ts +4 -0
  509. package/dist/src/util/locale.js +12 -0
  510. package/dist/src/util/locale.js.map +1 -0
  511. package/dist/src/util/mapCollection.d.ts +112 -0
  512. package/dist/src/util/mapCollection.js +312 -0
  513. package/dist/src/util/mapCollection.js.map +1 -0
  514. package/dist/src/util/math.d.ts +45 -0
  515. package/dist/src/util/math.js +136 -0
  516. package/dist/src/util/math.js.map +1 -0
  517. package/dist/src/util/overrideCollection.d.ts +58 -0
  518. package/dist/src/util/overrideCollection.js +176 -0
  519. package/dist/src/util/overrideCollection.js.map +1 -0
  520. package/dist/src/util/projection.d.ts +98 -0
  521. package/dist/src/util/projection.js +207 -0
  522. package/dist/src/util/projection.js.map +1 -0
  523. package/dist/src/util/urlHelpers.d.ts +1 -0
  524. package/dist/src/util/urlHelpers.js +12 -0
  525. package/dist/src/util/urlHelpers.js.map +1 -0
  526. package/dist/src/util/viewpoint.d.ts +155 -0
  527. package/dist/src/util/viewpoint.js +263 -0
  528. package/dist/src/util/viewpoint.js.map +1 -0
  529. package/dist/src/vcsApp.d.ts +113 -0
  530. package/dist/src/vcsApp.js +344 -0
  531. package/dist/src/vcsApp.js.map +1 -0
  532. package/dist/src/vcsEvent.d.ts +32 -0
  533. package/dist/src/vcsEvent.js +60 -0
  534. package/dist/src/vcsEvent.js.map +1 -0
  535. package/dist/src/vcsModule.d.ts +67 -0
  536. package/dist/src/vcsModule.js +86 -0
  537. package/dist/src/vcsModule.js.map +1 -0
  538. package/dist/src/vcsModuleHelpers.d.ts +23 -0
  539. package/dist/src/vcsModuleHelpers.js +72 -0
  540. package/dist/src/vcsModuleHelpers.js.map +1 -0
  541. package/dist/src/vcsObject.d.ts +35 -0
  542. package/dist/src/vcsObject.js +45 -0
  543. package/dist/src/vcsObject.js.map +1 -0
  544. package/dist/tests/data/dynamicPointCzml.json +53 -0
  545. package/dist/tests/data/oblique/imageData/imagev34.json +136 -0
  546. package/dist/tests/data/oblique/imageData/imagev35.json +307 -0
  547. package/dist/tests/data/oblique/imageData/imagev35PerImageSize.json +333 -0
  548. package/dist/tests/data/oblique/tiledImageData/12/2199/1342.json +11056 -0
  549. package/dist/tests/data/oblique/tiledImageData/12/2199/1343.json +11236 -0
  550. package/dist/tests/data/oblique/tiledImageData/12/2199/1344.json +11077 -0
  551. package/dist/tests/data/oblique/tiledImageData/12/2200/1342.json +11036 -0
  552. package/dist/tests/data/oblique/tiledImageData/12/2200/1343.json +11277 -0
  553. package/dist/tests/data/oblique/tiledImageData/12/2200/1344.json +11131 -0
  554. package/dist/tests/data/oblique/tiledImageData/12/2201/1342.json +10870 -0
  555. package/dist/tests/data/oblique/tiledImageData/12/2201/1343.json +11492 -0
  556. package/dist/tests/data/oblique/tiledImageData/12/2201/1344.json +10909 -0
  557. package/dist/tests/data/oblique/tiledImageData/image.json +70 -0
  558. package/dist/tests/data/terrain/13/8800/6485.terrain +0 -0
  559. package/dist/tests/data/terrain/13/8800/6486.terrain +0 -0
  560. package/dist/tests/data/terrain/13/8801/6485.terrain +0 -0
  561. package/dist/tests/data/terrain/13/8801/6486.terrain +0 -0
  562. package/dist/tests/data/terrain/layer.json +127 -0
  563. package/dist/tests/data/testGeoJSON.json +149 -0
  564. package/dist/tests/data/tile.pbf +0 -0
  565. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +108 -0
  566. package/dist/tests/unit/helpers/cesiumHelpers.js +277 -0
  567. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -0
  568. package/dist/tests/unit/helpers/getFileNameFromUrl.d.ts +6 -0
  569. package/dist/tests/unit/helpers/getFileNameFromUrl.js +12 -0
  570. package/dist/tests/unit/helpers/getFileNameFromUrl.js.map +1 -0
  571. package/dist/tests/unit/helpers/helpers.d.ts +12 -0
  572. package/dist/tests/unit/helpers/helpers.js +23 -0
  573. package/dist/tests/unit/helpers/helpers.js.map +1 -0
  574. package/dist/tests/unit/helpers/imageHelpers.d.ts +20 -0
  575. package/dist/tests/unit/helpers/imageHelpers.js +21 -0
  576. package/dist/tests/unit/helpers/imageHelpers.js.map +1 -0
  577. package/dist/tests/unit/helpers/importJSON.d.ts +5 -0
  578. package/dist/tests/unit/helpers/importJSON.js +15 -0
  579. package/dist/tests/unit/helpers/importJSON.js.map +1 -0
  580. package/dist/tests/unit/helpers/obliqueData.d.ts +21 -0
  581. package/dist/tests/unit/helpers/obliqueData.js +76 -0
  582. package/dist/tests/unit/helpers/obliqueData.js.map +1 -0
  583. package/dist/tests/unit/helpers/obliqueHelpers.d.ts +33 -0
  584. package/dist/tests/unit/helpers/obliqueHelpers.js +97 -0
  585. package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -0
  586. package/dist/tests/unit/helpers/openlayersHelpers.d.ts +11 -0
  587. package/dist/tests/unit/helpers/openlayersHelpers.js +24 -0
  588. package/dist/tests/unit/helpers/openlayersHelpers.js.map +1 -0
  589. package/dist/tests/unit/helpers/terrain/terrainData.d.ts +10 -0
  590. package/dist/tests/unit/helpers/terrain/terrainData.js +40 -0
  591. package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -0
  592. package/index.ts +724 -0
  593. package/package.json +70 -36
  594. package/src/category/category.ts +414 -0
  595. package/src/category/categoryCollection.ts +142 -0
  596. package/src/cesium/cesium.d.ts +257 -0
  597. package/src/cesium/cesium3DTileFeature.ts +10 -0
  598. package/src/cesium/cesium3DTilePointFeature.ts +10 -0
  599. package/src/cesium/{cesiumVcsCameraPrimitive.js → cesiumVcsCameraPrimitive.ts} +58 -29
  600. package/src/cesium/entity.ts +26 -0
  601. package/src/cesium/wallpaperMaterial.js +5 -4
  602. package/src/classRegistry.ts +147 -0
  603. package/src/featureProvider/abstractFeatureProvider.ts +191 -0
  604. package/src/featureProvider/featureProviderSymbols.ts +5 -0
  605. package/src/featureProvider/tileProviderFeatureProvider.ts +55 -0
  606. package/src/featureProvider/wmsFeatureProvider.ts +330 -0
  607. package/src/global.d.ts +12 -0
  608. package/src/interaction/abstractInteraction.ts +192 -0
  609. package/src/interaction/coordinateAtPixel.ts +105 -0
  610. package/src/interaction/eventHandler.ts +434 -0
  611. package/src/interaction/featureAtPixelInteraction.ts +306 -0
  612. package/src/interaction/featureProviderInteraction.ts +60 -0
  613. package/src/interaction/{interactionChain.js → interactionChain.ts} +40 -42
  614. package/src/interaction/interactionType.ts +45 -0
  615. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +395 -0
  616. package/src/layer/cesium/clusterContext.ts +136 -0
  617. package/src/layer/cesium/{dataSourceCesiumImpl.js → dataSourceCesiumImpl.ts} +49 -67
  618. package/src/layer/cesium/openStreetMapCesiumImpl.ts +28 -0
  619. package/src/layer/cesium/rasterLayerCesiumImpl.ts +100 -0
  620. package/src/layer/cesium/singleImageCesiumImpl.ts +55 -0
  621. package/src/layer/cesium/terrainCesiumImpl.ts +63 -0
  622. package/src/layer/cesium/{tmsCesiumImpl.js → tmsCesiumImpl.ts} +28 -19
  623. package/src/layer/cesium/vectorCesiumImpl.ts +261 -0
  624. package/src/layer/cesium/vectorContext.ts +528 -0
  625. package/src/layer/cesium/{vectorRasterTileCesiumImpl.js → vectorRasterTileCesiumImpl.ts} +48 -55
  626. package/src/layer/cesium/vectorTileImageryProvider.ts +222 -0
  627. package/src/layer/cesium/{wmsCesiumImpl.js → wmsCesiumImpl.ts} +33 -27
  628. package/src/layer/cesium/{wmtsCesiumImpl.js → wmtsCesiumImpl.ts} +45 -52
  629. package/src/layer/cesiumTilesetLayer.ts +267 -0
  630. package/src/layer/czmlLayer.ts +144 -0
  631. package/src/layer/dataSourceLayer.ts +167 -0
  632. package/src/layer/featureLayer.ts +225 -0
  633. package/src/layer/featureStoreLayer.ts +628 -0
  634. package/src/layer/featureStoreLayerChanges.ts +392 -0
  635. package/src/layer/featureStoreLayerState.ts +10 -0
  636. package/src/layer/featureVisibility.ts +417 -0
  637. package/src/layer/geojsonHelpers.ts +489 -0
  638. package/src/layer/{geojsonLayer.js → geojsonLayer.ts} +41 -73
  639. package/src/layer/globalHider.ts +114 -0
  640. package/src/layer/layer.ts +688 -0
  641. package/src/layer/{layerImplementation.js → layerImplementation.ts} +38 -49
  642. package/src/layer/layerState.ts +11 -0
  643. package/src/layer/layerSymbols.ts +5 -0
  644. package/src/layer/oblique/layerObliqueImpl.ts +49 -0
  645. package/src/layer/oblique/obliqueHelpers.ts +216 -0
  646. package/src/layer/oblique/vectorObliqueImpl.ts +497 -0
  647. package/src/layer/openStreetMapLayer.ts +185 -0
  648. package/src/layer/openlayers/layerOpenlayersImpl.ts +133 -0
  649. package/src/layer/openlayers/{openStreetMapOpenlayersImpl.js → openStreetMapOpenlayersImpl.ts} +4 -8
  650. package/src/layer/openlayers/rasterLayerOpenlayersImpl.ts +45 -0
  651. package/src/layer/openlayers/{singleImageOpenlayersImpl.js → singleImageOpenlayersImpl.ts} +15 -17
  652. package/src/layer/openlayers/{tileDebugOpenlayersImpl.js → tileDebugOpenlayersImpl.ts} +12 -19
  653. package/src/layer/openlayers/{tmsOpenlayersImpl.js → tmsOpenlayersImpl.ts} +24 -21
  654. package/src/layer/openlayers/vectorOpenlayersImpl.ts +112 -0
  655. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +164 -0
  656. package/src/layer/openlayers/{wmsOpenlayersImpl.js → wmsOpenlayersImpl.ts} +16 -23
  657. package/src/layer/openlayers/{wmtsOpenlayersImpl.js → wmtsOpenlayersImpl.ts} +44 -60
  658. package/src/layer/pointCloudLayer.ts +137 -0
  659. package/src/layer/rasterLayer.ts +324 -0
  660. package/src/layer/singleImageLayer.ts +110 -0
  661. package/src/layer/terrainHelpers.ts +95 -0
  662. package/src/layer/terrainLayer.ts +108 -0
  663. package/src/layer/tileLoadedHelper.ts +70 -0
  664. package/src/layer/tileProvider/mvtTileProvider.ts +121 -0
  665. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +60 -0
  666. package/src/layer/tileProvider/tileProvider.ts +625 -0
  667. package/src/layer/tileProvider/urlTemplateTileProvider.ts +120 -0
  668. package/src/layer/tmsLayer.ts +105 -0
  669. package/src/layer/vectorHelpers.ts +127 -0
  670. package/src/layer/vectorLayer.ts +595 -0
  671. package/src/layer/vectorProperties.ts +1592 -0
  672. package/src/layer/vectorSymbols.ts +41 -0
  673. package/src/layer/vectorTileLayer.ts +479 -0
  674. package/src/layer/wfsLayer.ts +169 -0
  675. package/src/layer/{wmsHelpers.js → wmsHelpers.ts} +33 -26
  676. package/src/layer/{wmsLayer.js → wmsLayer.ts} +119 -93
  677. package/src/layer/wmtsLayer.ts +240 -0
  678. package/src/map/baseOLMap.ts +241 -0
  679. package/src/map/cameraLimiter.ts +229 -0
  680. package/src/map/cesiumMap.ts +1382 -0
  681. package/src/map/mapState.ts +11 -0
  682. package/src/map/{obliqueMap.js → obliqueMap.ts} +188 -223
  683. package/src/map/openlayersMap.ts +206 -0
  684. package/src/map/vcsMap.ts +504 -0
  685. package/src/moduleIdSymbol.ts +2 -0
  686. package/src/oblique/{defaultObliqueCollection.js → defaultObliqueCollection.ts} +6 -16
  687. package/src/oblique/{helpers.js → helpers.ts} +322 -148
  688. package/src/oblique/obliqueCollection.ts +634 -0
  689. package/src/oblique/obliqueDataSet.ts +373 -0
  690. package/src/oblique/obliqueImage.ts +259 -0
  691. package/src/oblique/obliqueImageMeta.ts +125 -0
  692. package/src/oblique/{obliqueProvider.js → obliqueProvider.ts} +182 -170
  693. package/src/oblique/{obliqueView.js → obliqueView.ts} +94 -74
  694. package/src/oblique/obliqueViewDirection.ts +25 -0
  695. package/src/oblique/parseImageJson.ts +337 -0
  696. package/src/ol/feature.ts +93 -0
  697. package/src/ol/geojson.d.ts +28 -0
  698. package/src/ol/geom/circle.ts +41 -0
  699. package/src/ol/geom/geometryCollection.js +14 -8
  700. package/src/ol/ol.d.ts +138 -0
  701. package/src/ol/render/canvas/canvasTileRenderer.js +11 -13
  702. package/src/overrideClassRegistry.ts +193 -0
  703. package/src/style/arcStyle.ts +434 -0
  704. package/src/style/arrowStyle.ts +303 -0
  705. package/src/style/declarativeStyleItem.ts +562 -0
  706. package/src/style/{shapesCategory.js → shapesCategory.ts} +17 -28
  707. package/src/style/styleFactory.ts +38 -0
  708. package/src/style/styleHelpers.ts +671 -0
  709. package/src/style/styleItem.ts +134 -0
  710. package/src/style/vectorStyleItem.ts +856 -0
  711. package/src/style/writeStyle.ts +41 -0
  712. package/src/util/clipping/{clippingObject.js → clippingObject.ts} +149 -178
  713. package/src/util/clipping/{clippingObjectManager.js → clippingObjectManager.ts} +108 -136
  714. package/src/util/clipping/{clippingPlaneHelper.js → clippingPlaneHelper.ts} +199 -134
  715. package/src/util/{collection.js → collection.ts} +66 -78
  716. package/src/util/editor/createFeatureSession.ts +241 -0
  717. package/src/util/editor/editFeaturesSession.ts +360 -0
  718. package/src/util/editor/editGeometrySession.ts +469 -0
  719. package/src/util/editor/editorHelpers.ts +328 -0
  720. package/src/util/editor/editorSessionHelpers.ts +137 -0
  721. package/src/util/editor/editorSymbols.ts +17 -0
  722. package/src/util/editor/interactions/createBBoxInteraction.ts +135 -0
  723. package/src/util/editor/interactions/createCircleInteraction.ts +102 -0
  724. package/src/util/editor/interactions/createLineStringInteraction.ts +103 -0
  725. package/src/util/editor/interactions/createPointInteraction.ts +62 -0
  726. package/src/util/editor/interactions/createPolygonInteraction.ts +115 -0
  727. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +74 -0
  728. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +106 -0
  729. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +52 -0
  730. package/src/util/editor/interactions/insertVertexInteraction.ts +91 -0
  731. package/src/util/editor/interactions/mapInteractionController.ts +119 -0
  732. package/src/util/editor/interactions/removeVertexInteraction.ts +37 -0
  733. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +132 -0
  734. package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +135 -0
  735. package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +108 -0
  736. package/src/util/editor/interactions/translateVertexInteraction.ts +51 -0
  737. package/src/util/editor/selectFeaturesSession.ts +314 -0
  738. package/src/util/editor/transformation/create2DHandlers.ts +368 -0
  739. package/src/util/editor/transformation/create3DHandlers.ts +664 -0
  740. package/src/util/editor/transformation/extrudeInteraction.ts +87 -0
  741. package/src/util/editor/transformation/rotateInteraction.ts +177 -0
  742. package/src/util/editor/transformation/scaleInteraction.ts +185 -0
  743. package/src/util/editor/transformation/transformationHandler.ts +174 -0
  744. package/src/util/editor/transformation/transformationTypes.ts +71 -0
  745. package/src/util/editor/transformation/translateInteraction.ts +248 -0
  746. package/src/util/editor/validateGeoemetry.ts +22 -0
  747. package/src/util/{exclusiveManager.js → exclusiveManager.ts} +26 -42
  748. package/src/util/extent.ts +114 -0
  749. package/src/util/featureconverter/arcToCesium.ts +126 -0
  750. package/src/util/featureconverter/circleToCesium.ts +211 -0
  751. package/src/util/featureconverter/convert.ts +178 -0
  752. package/src/util/featureconverter/extent3D.ts +217 -0
  753. package/src/util/featureconverter/featureconverterHelper.ts +670 -0
  754. package/src/util/featureconverter/lineStringToCesium.ts +306 -0
  755. package/src/util/featureconverter/pointHelpers.ts +429 -0
  756. package/src/util/featureconverter/pointToCesium.ts +403 -0
  757. package/src/util/featureconverter/polygonToCesium.ts +249 -0
  758. package/src/util/fetch.ts +28 -0
  759. package/src/util/geometryHelpers.ts +170 -0
  760. package/src/util/indexedCollection.ts +157 -0
  761. package/src/util/{isMobile.js → isMobile.ts} +12 -6
  762. package/src/util/layerCollection.ts +293 -0
  763. package/src/util/locale.ts +11 -0
  764. package/src/util/mapCollection.ts +393 -0
  765. package/src/util/math.ts +180 -0
  766. package/src/util/overrideCollection.ts +286 -0
  767. package/src/util/projection.ts +288 -0
  768. package/src/util/{urlHelpers.js → urlHelpers.ts} +6 -8
  769. package/src/util/viewpoint.ts +394 -0
  770. package/src/vcsApp.ts +518 -0
  771. package/src/{vcsEvent.js → vcsEvent.ts} +17 -37
  772. package/src/vcsModule.ts +127 -0
  773. package/src/vcsModuleHelpers.ts +128 -0
  774. package/src/vcsObject.ts +72 -0
  775. package/index.d.ts +0 -7591
  776. package/index.js +0 -147
  777. package/src/category/appBackedCategory.js +0 -41
  778. package/src/category/category.js +0 -374
  779. package/src/category/categoryCollection.js +0 -145
  780. package/src/cesium/cesium3DTileFeature.js +0 -9
  781. package/src/cesium/cesium3DTilePointFeature.js +0 -9
  782. package/src/classRegistry.js +0 -89
  783. package/src/context.js +0 -73
  784. package/src/featureProvider/abstractFeatureProvider.js +0 -196
  785. package/src/featureProvider/featureProviderHelpers.js +0 -50
  786. package/src/featureProvider/featureProviderSymbols.js +0 -11
  787. package/src/featureProvider/tileProviderFeatureProvider.js +0 -62
  788. package/src/featureProvider/wmsFeatureProvider.js +0 -286
  789. package/src/globalCollections.js +0 -7
  790. package/src/interaction/abstractInteraction.js +0 -151
  791. package/src/interaction/coordinateAtPixel.js +0 -99
  792. package/src/interaction/eventHandler.js +0 -425
  793. package/src/interaction/featureAtPixelInteraction.js +0 -273
  794. package/src/interaction/featureProviderInteraction.js +0 -43
  795. package/src/interaction/interactionType.js +0 -114
  796. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +0 -359
  797. package/src/layer/cesium/clusterContext.js +0 -95
  798. package/src/layer/cesium/openStreetMapCesiumImpl.js +0 -29
  799. package/src/layer/cesium/pointCloudCesiumImpl.js +0 -58
  800. package/src/layer/cesium/rasterLayerCesiumImpl.js +0 -110
  801. package/src/layer/cesium/singleImageCesiumImpl.js +0 -49
  802. package/src/layer/cesium/terrainCesiumImpl.js +0 -80
  803. package/src/layer/cesium/vectorCesiumImpl.js +0 -255
  804. package/src/layer/cesium/vectorContext.js +0 -167
  805. package/src/layer/cesium/vectorTileImageryProvider.js +0 -246
  806. package/src/layer/cesium/x3dmHelper.js +0 -22
  807. package/src/layer/cesiumTilesetLayer.js +0 -376
  808. package/src/layer/czmlLayer.js +0 -141
  809. package/src/layer/dataSourceLayer.js +0 -259
  810. package/src/layer/featureLayer.js +0 -261
  811. package/src/layer/featureStoreLayer.js +0 -647
  812. package/src/layer/featureStoreLayerChanges.js +0 -376
  813. package/src/layer/featureStoreLayerState.js +0 -19
  814. package/src/layer/featureVisibility.js +0 -436
  815. package/src/layer/geojsonHelpers.js +0 -445
  816. package/src/layer/globalHider.js +0 -147
  817. package/src/layer/layer.js +0 -752
  818. package/src/layer/layerState.js +0 -17
  819. package/src/layer/layerSymbols.js +0 -6
  820. package/src/layer/oblique/layerObliqueImpl.js +0 -76
  821. package/src/layer/oblique/obliqueHelpers.js +0 -175
  822. package/src/layer/oblique/vectorObliqueImpl.js +0 -469
  823. package/src/layer/openStreetMapLayer.js +0 -194
  824. package/src/layer/openlayers/layerOpenlayersImpl.js +0 -79
  825. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +0 -122
  826. package/src/layer/openlayers/vectorOpenlayersImpl.js +0 -118
  827. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +0 -177
  828. package/src/layer/pointCloudLayer.js +0 -162
  829. package/src/layer/rasterLayer.js +0 -294
  830. package/src/layer/singleImageLayer.js +0 -120
  831. package/src/layer/terrainHelpers.js +0 -119
  832. package/src/layer/terrainLayer.js +0 -122
  833. package/src/layer/tileLoadedHelper.js +0 -72
  834. package/src/layer/tileProvider/mvtTileProvider.js +0 -104
  835. package/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -67
  836. package/src/layer/tileProvider/tileProvider.js +0 -584
  837. package/src/layer/tileProvider/tileProviderFactory.js +0 -28
  838. package/src/layer/tileProvider/urlTemplateTileProvider.js +0 -106
  839. package/src/layer/tmsLayer.js +0 -121
  840. package/src/layer/vectorHelpers.js +0 -206
  841. package/src/layer/vectorLayer.js +0 -632
  842. package/src/layer/vectorProperties.js +0 -1391
  843. package/src/layer/vectorTileLayer.js +0 -480
  844. package/src/layer/wfsLayer.js +0 -165
  845. package/src/layer/wmtsLayer.js +0 -235
  846. package/src/map/baseOLMap.js +0 -257
  847. package/src/map/cameraLimiter.js +0 -219
  848. package/src/map/cesiumMap.js +0 -1177
  849. package/src/map/mapState.js +0 -17
  850. package/src/map/openlayersMap.js +0 -208
  851. package/src/map/vcsMap.js +0 -526
  852. package/src/oblique/obliqueCollection.js +0 -653
  853. package/src/oblique/obliqueDataSet.js +0 -400
  854. package/src/oblique/obliqueImage.js +0 -247
  855. package/src/oblique/obliqueImageMeta.js +0 -126
  856. package/src/oblique/obliqueViewDirection.js +0 -40
  857. package/src/oblique/parseImageJson.js +0 -256
  858. package/src/ol/feature.js +0 -47
  859. package/src/style/declarativeStyleItem.js +0 -633
  860. package/src/style/styleFactory.js +0 -48
  861. package/src/style/styleHelpers.js +0 -555
  862. package/src/style/styleItem.js +0 -245
  863. package/src/style/vectorStyleItem.js +0 -929
  864. package/src/style/writeStyle.js +0 -48
  865. package/src/util/dateTime.js +0 -60
  866. package/src/util/extent.js +0 -131
  867. package/src/util/featureconverter/circleToCesium.js +0 -215
  868. package/src/util/featureconverter/convert.js +0 -83
  869. package/src/util/featureconverter/extent3D.js +0 -181
  870. package/src/util/featureconverter/featureconverterHelper.js +0 -591
  871. package/src/util/featureconverter/lineStringToCesium.js +0 -171
  872. package/src/util/featureconverter/pointToCesium.js +0 -359
  873. package/src/util/featureconverter/polygonToCesium.js +0 -229
  874. package/src/util/fetch.js +0 -32
  875. package/src/util/geometryHelpers.js +0 -172
  876. package/src/util/indexedCollection.js +0 -181
  877. package/src/util/layerCollection.js +0 -221
  878. package/src/util/locale.js +0 -53
  879. package/src/util/mapCollection.js +0 -405
  880. package/src/util/math.js +0 -71
  881. package/src/util/overrideCollection.js +0 -224
  882. package/src/util/projection.js +0 -366
  883. package/src/util/splitScreen.js +0 -233
  884. package/src/util/viewpoint.js +0 -336
  885. package/src/vcsApp.js +0 -373
  886. package/src/vcsAppContextHelpers.js +0 -108
  887. package/src/vcsObject.js +0 -84
@@ -1,38 +1,44 @@
1
1
  /* eslint no-underscore-dangle: ["error", { "allow": ["_listeners", "_scopes", "_toRemove"] }] */
2
2
  /* eslint-disable no-continue */
3
- import { boundingExtent, getBottomLeft, getBottomRight, getTopLeft, getTopRight } from 'ol/extent.js';
3
+ import {
4
+ boundingExtent,
5
+ getBottomLeft,
6
+ getBottomRight,
7
+ getTopLeft,
8
+ getTopRight,
9
+ } from 'ol/extent.js';
10
+ import type { Coordinate } from 'ol/coordinate.js';
4
11
  import { transform } from 'ol/proj.js';
5
- import { Cartesian2 } from '@vcmap/cesium';
12
+ import { Cartesian2, type CesiumTerrainProvider } from '@vcmap-cesium/engine';
6
13
  import { ObliqueViewDirection } from './obliqueViewDirection.js';
7
14
  import { getHeightFromTerrainProvider } from '../layer/terrainHelpers.js';
8
15
  import { cartesian2DDistance } from '../util/math.js';
9
- import { mercatorProjection, wgs84Projection } from '../util/projection.js';
16
+ import Projection, {
17
+ mercatorProjection,
18
+ wgs84Projection,
19
+ } from '../util/projection.js';
20
+ import type ObliqueImage from './obliqueImage.js';
10
21
 
11
- /**
12
- * @type {import("@vcmap/cesium").Cartesian2}
13
- */
14
22
  let scratchCartesian2A = new Cartesian2();
15
- /**
16
- * @type {import("@vcmap/cesium").Cartesian2}
17
- */
18
23
  let scratchCartesian2B = new Cartesian2();
19
24
 
20
- /**
21
- * @typedef {Object} PickTerrainReturn
22
- * @property {boolean} estimate
23
- * @property {import("ol/coordinate").Coordinate} coords
24
- */
25
+ type PickTerrainReturn = {
26
+ estimate: boolean;
27
+ coords: Coordinate;
28
+ };
25
29
 
26
30
  /**
27
31
  * sorts the corner points of the json after [lower left, lower right, upper right, upper left]
28
32
  * 3----2 ^
29
33
  * | | |
30
34
  * 0----1 north
31
- * @param {Array<import("ol/coordinate").Coordinate>} inputCornerPoints
32
- * @param {(ObliqueViewDirection|boolean)=} [sortDirection=false]
33
- * @returns {Array<import("ol/coordinate").Coordinate>}
35
+ * @param inputCornerPoints
36
+ * @param [sortDirection=false]
34
37
  */
35
- export function sortRealWordEdgeCoordinates(inputCornerPoints, sortDirection = false) {
38
+ export function sortRealWordEdgeCoordinates(
39
+ inputCornerPoints: Coordinate[],
40
+ sortDirection: ObliqueViewDirection | false = false,
41
+ ): Coordinate[] {
36
42
  const cornerPoints = inputCornerPoints.slice();
37
43
  const extent = boundingExtent(cornerPoints);
38
44
  const extentPoints = [
@@ -65,31 +71,48 @@ export function sortRealWordEdgeCoordinates(inputCornerPoints, sortDirection = f
65
71
  }
66
72
 
67
73
  /**
68
- * @param {import("ol/coordinate").Coordinate} v1
69
- * @param {import("ol/coordinate").Coordinate} v2
70
- * @returns {number|null}
74
+ * @param v1
75
+ * @param v2
71
76
  */
72
- function angleBetweenTwo2DVectors(v1, v2) {
73
- scratchCartesian2A = Cartesian2.fromElements(v1[0], v1[1], scratchCartesian2A);
74
- scratchCartesian2B = Cartesian2.fromElements(v2[0], v2[1], scratchCartesian2B);
77
+ function angleBetweenTwo2DVectors(
78
+ v1: Coordinate,
79
+ v2: Coordinate,
80
+ ): number | null {
81
+ scratchCartesian2A = Cartesian2.fromElements(
82
+ v1[0],
83
+ v1[1],
84
+ scratchCartesian2A,
85
+ );
86
+ scratchCartesian2B = Cartesian2.fromElements(
87
+ v2[0],
88
+ v2[1],
89
+ scratchCartesian2B,
90
+ );
75
91
  return Cartesian2.angleBetween(scratchCartesian2A, scratchCartesian2B);
76
92
  }
77
93
 
94
+ export type LineIntersectionResult = {
95
+ x: number | null;
96
+ y: number | null;
97
+ onLine1: boolean;
98
+ onLine2: boolean;
99
+ };
78
100
  /**
79
101
  * taken from http://jsfiddle.net/justin_c_rounds/Gd2S2/
80
- * @param {Array<import("ol/coordinate").Coordinate>} segment1
81
- * @param {Array<import("ol/coordinate").Coordinate>} segment2
82
- * @returns {{x: (number|null), y:(number|null), onLine1: boolean, onLine2: boolean}}
83
- * @export
102
+ * @param segment1
103
+ * @param segment2
84
104
  */
85
- export function checkLineIntersection(segment1, segment2) {
105
+ export function checkLineIntersection(
106
+ segment1: Coordinate[],
107
+ segment2: Coordinate[],
108
+ ): LineIntersectionResult {
86
109
  // if the lines intersect, the result contains the x and y of the intersection (treating the lines as infinite) and booleans for whether line segment 1 or line segment 2 contain the point
87
110
  const [[line1StartX, line1StartY], [line1EndX, line1EndY]] = segment1;
88
111
  const [[line2StartX, line2StartY], [line2EndX, line2EndY]] = segment2;
89
112
  let a;
90
113
  let b;
91
114
 
92
- const result = {
115
+ const result: LineIntersectionResult = {
93
116
  x: null,
94
117
  y: null,
95
118
  onLine1: false,
@@ -97,22 +120,24 @@ export function checkLineIntersection(segment1, segment2) {
97
120
  };
98
121
 
99
122
  const denominator =
100
- ((line2EndY - line2StartY) * (line1EndX - line1StartX)) -
101
- ((line2EndX - line2StartX) * (line1EndY - line1StartY));
123
+ (line2EndY - line2StartY) * (line1EndX - line1StartX) -
124
+ (line2EndX - line2StartX) * (line1EndY - line1StartY);
102
125
 
103
126
  if (denominator === 0) {
104
127
  return result;
105
128
  }
106
129
  a = line1StartY - line2StartY;
107
130
  b = line1StartX - line2StartX;
108
- const numerator1 = ((line2EndX - line2StartX) * a) - ((line2EndY - line2StartY) * b);
109
- const numerator2 = ((line1EndX - line1StartX) * a) - ((line1EndY - line1StartY) * b);
131
+ const numerator1 =
132
+ (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;
133
+ const numerator2 =
134
+ (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;
110
135
  a = numerator1 / denominator;
111
136
  b = numerator2 / denominator;
112
137
 
113
138
  // if we cast these lines infinitely in both directions, they intersect here:
114
- result.x = line1StartX + (a * (line1EndX - line1StartX));
115
- result.y = line1StartY + (a * (line1EndY - line1StartY));
139
+ result.x = line1StartX + a * (line1EndX - line1StartX);
140
+ result.y = line1StartY + a * (line1EndY - line1StartY);
116
141
  /*
117
142
  // it is worth noting that this should be the same as:
118
143
  x = line2StartX + (b * (line2EndX - line2StartX));
@@ -132,16 +157,28 @@ export function checkLineIntersection(segment1, segment2) {
132
157
 
133
158
  /**
134
159
  * transforms coordinate with intersection from corner
135
- * @param {Array<import("ol/coordinate").Coordinate>} inputOrigin
136
- * @param {Array<import("ol/coordinate").Coordinate>} inputTarget
137
- * @param {boolean} originIsImage
138
- * @param {import("ol/coordinate").Coordinate} coordinate2Transform
139
- * @param {ObliqueViewDirection} viewDirection
140
- * @returns {{x: (number|null), y:(number|null), onLine1: boolean, onLine2: boolean}|null}
160
+ * @param inputOrigin
161
+ * @param inputTarget
162
+ * @param originIsImage
163
+ * @param coordinate2Transform
164
+ * @param viewDirection
165
+ * @returns |null}
141
166
  */
142
- export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordinate2Transform, viewDirection) {
143
- const origin = sortRealWordEdgeCoordinates(inputOrigin, originIsImage ? false : viewDirection);
144
- const target = sortRealWordEdgeCoordinates(inputTarget, originIsImage ? viewDirection : false);
167
+ export function transformCWIFC(
168
+ inputOrigin: Coordinate[],
169
+ inputTarget: Coordinate[],
170
+ originIsImage: boolean,
171
+ coordinate2Transform: Coordinate,
172
+ viewDirection: ObliqueViewDirection,
173
+ ): LineIntersectionResult | null {
174
+ const origin = sortRealWordEdgeCoordinates(
175
+ inputOrigin,
176
+ originIsImage ? false : viewDirection,
177
+ );
178
+ const target = sortRealWordEdgeCoordinates(
179
+ inputTarget,
180
+ originIsImage ? viewDirection : false,
181
+ );
145
182
 
146
183
  // test intersections from all corner points over coordinate to all non neighbouring borders
147
184
  // and non side borders too - so actually remains only upper and lower border
@@ -152,59 +189,119 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
152
189
  // - as well as edge (ccw) and
153
190
  // - distance ratio while negative means negative direction
154
191
  // to be able to recreate the situation in the target system
155
- const intersections = [];
156
- for (let cp = 0; cp < origin.length; ++cp) { // TODO write into a proper map and function
192
+ const intersections: {
193
+ cornerPoint: number;
194
+ intrX: number;
195
+ intrY: number;
196
+ angle: number;
197
+ edgeStart: number;
198
+ edgeEnd: number;
199
+ ratioStart2End: number;
200
+ }[] = [];
201
+ for (let cp = 0; cp < origin.length; ++cp) {
202
+ // TODO write into a proper map and function
157
203
  const intrCurrCP = [];
158
204
 
159
205
  for (let sp = 0; sp < origin.length; ++sp) {
160
206
  const ep = sp === origin.length - 1 ? 0 : sp + 1; // end point of edge
161
207
 
162
208
  // skip if cp is sp or ep - neighbouring edge
163
- if (cp === sp || cp === ep) { continue; }
209
+ if (cp === sp || cp === ep) {
210
+ continue;
211
+ }
164
212
 
165
213
  // skip also if sp is 3 and ep is 0 and also skip sp is 1 and ep is 2 since does only work over the upper and lower boundary
166
- if ((sp === 3 && ep === 0) || (sp === 1 && ep === 2)) { continue; }
214
+ if ((sp === 3 && ep === 0) || (sp === 1 && ep === 2)) {
215
+ continue;
216
+ }
167
217
 
168
218
  // get intersection from cp over coordinate2Transform to current border edge
169
- const currIntr = checkLineIntersection([origin[cp], coordinate2Transform], [origin[sp], origin[ep]]);
170
- if (currIntr.x == null || currIntr.y == null) { continue; }
219
+ const currIntr = checkLineIntersection(
220
+ [origin[cp], coordinate2Transform],
221
+ [origin[sp], origin[ep]],
222
+ );
223
+ if (currIntr.x == null || currIntr.y == null) {
224
+ continue;
225
+ }
171
226
 
172
227
  // get vector from current cp to coordinate2Transform to be able to determine if the intersection is in same direction
173
228
  // might be in different direction when point is outside - then we dont need this data
174
- const vectorCP2Coordinate = [coordinate2Transform[0] - origin[cp][0], coordinate2Transform[1] - origin[cp][1]];
175
- const vectorCP2Intr = [currIntr.x - origin[cp][0], currIntr.y - origin[cp][1]];
176
- const angleDirectionCheck = angleBetweenTwo2DVectors(vectorCP2Coordinate, vectorCP2Intr);
177
- if (angleDirectionCheck == null) { continue; }
229
+ const vectorCP2Coordinate = [
230
+ coordinate2Transform[0] - origin[cp][0],
231
+ coordinate2Transform[1] - origin[cp][1],
232
+ ];
233
+ const vectorCP2Intr = [
234
+ currIntr.x - origin[cp][0],
235
+ currIntr.y - origin[cp][1],
236
+ ];
237
+ const angleDirectionCheck = angleBetweenTwo2DVectors(
238
+ vectorCP2Coordinate,
239
+ vectorCP2Intr,
240
+ );
241
+ if (angleDirectionCheck == null) {
242
+ continue;
243
+ }
178
244
 
179
- if (angleDirectionCheck / (Math.PI * 180.0) > 5) { continue; }
245
+ if (angleDirectionCheck / (Math.PI * 180.0) > 5) {
246
+ continue;
247
+ }
180
248
 
181
- const sp2ep = [origin[sp][0] - origin[ep][0], origin[sp][1] - origin[ep][1]];
182
- const ep2sp = [origin[ep][0] - origin[sp][0], origin[ep][1] - origin[sp][1]];
249
+ const sp2ep = [
250
+ origin[sp][0] - origin[ep][0],
251
+ origin[sp][1] - origin[ep][1],
252
+ ];
253
+ const ep2sp = [
254
+ origin[ep][0] - origin[sp][0],
255
+ origin[ep][1] - origin[sp][1],
256
+ ];
183
257
  // regarding the angle find the smallest
184
- const angleStart2End = angleBetweenTwo2DVectors(vectorCP2Coordinate, sp2ep);
185
- if (angleStart2End == null) { continue; }
258
+ const angleStart2End = angleBetweenTwo2DVectors(
259
+ vectorCP2Coordinate,
260
+ sp2ep,
261
+ );
262
+ if (angleStart2End == null) {
263
+ continue;
264
+ }
186
265
 
187
- const angleEnd2Start = angleBetweenTwo2DVectors(vectorCP2Coordinate, ep2sp);
188
- if (angleEnd2Start == null) { continue; }
266
+ const angleEnd2Start = angleBetweenTwo2DVectors(
267
+ vectorCP2Coordinate,
268
+ ep2sp,
269
+ );
270
+ if (angleEnd2Start == null) {
271
+ continue;
272
+ }
189
273
 
190
274
  // regarding ratioStart2End get ratio and then direction
191
275
  const distStartEnd = cartesian2DDistance(origin[sp], origin[ep]);
192
- if (distStartEnd === 0) { continue; }
193
- const tempRatioStartEnd = cartesian2DDistance(origin[sp], [currIntr.x, currIntr.y]) / distStartEnd;
194
- let angleEdge2Intr = 0;
276
+ if (distStartEnd === 0) {
277
+ continue;
278
+ }
279
+ const tempRatioStartEnd =
280
+ cartesian2DDistance(origin[sp], [currIntr.x, currIntr.y]) /
281
+ distStartEnd;
282
+ let angleEdge2Intr: null | number = 0;
195
283
  if (tempRatioStartEnd !== 0) {
196
- angleEdge2Intr = angleBetweenTwo2DVectors(ep2sp, [currIntr.x - origin[sp][0], currIntr.y - origin[sp][1]]);
197
- if (angleEdge2Intr == null) { continue; }
284
+ angleEdge2Intr = angleBetweenTwo2DVectors(ep2sp, [
285
+ currIntr.x - origin[sp][0],
286
+ currIntr.y - origin[sp][1],
287
+ ]);
288
+ if (angleEdge2Intr == null) {
289
+ continue;
290
+ }
198
291
  }
199
292
 
200
293
  intrCurrCP.push({
201
294
  cornerPoint: cp,
202
295
  intrX: currIntr.x,
203
296
  intrY: currIntr.y,
204
- angle: angleStart2End <= angleEnd2Start ? angleStart2End : angleEnd2Start,
297
+ angle:
298
+ angleStart2End <= angleEnd2Start ? angleStart2End : angleEnd2Start,
205
299
  edgeStart: sp,
206
300
  edgeEnd: ep,
207
- ratioStart2End: (angleEdge2Intr / Math.PI) * 180.0 > 5 ? tempRatioStartEnd * (-1) : tempRatioStartEnd,
301
+ ratioStart2End:
302
+ (angleEdge2Intr / Math.PI) * 180.0 > 5
303
+ ? tempRatioStartEnd * -1
304
+ : tempRatioStartEnd,
208
305
  });
209
306
  }
210
307
 
@@ -217,11 +314,15 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
217
314
  indLargestAngle = i;
218
315
  }
219
316
  }
220
- if (indLargestAngle !== -1) { intersections.push(intrCurrCP[indLargestAngle]); }
317
+ if (indLargestAngle !== -1) {
318
+ intersections.push(intrCurrCP[indLargestAngle]);
319
+ }
221
320
  }
222
321
 
223
322
  // if we don not have enough data to recreate the situation in target system stop
224
- if (intersections.length < 2) { return null; }
323
+ if (intersections.length < 2) {
324
+ return null;
325
+ }
225
326
 
226
327
  // make list with intersection combinations and sort after strength (add angles together)
227
328
  const intrCombis = []; // will contain [addedAngle, intersectionsIndex_i, intersectionsIndex_j]
@@ -236,7 +337,10 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
236
337
  .sort()
237
338
  .reverse()
238
339
  .find((intersection) => {
239
- const intersectionsSorted = [intersections[intersection[1]], intersections[intersection[2]]];
340
+ const intersectionsSorted = [
341
+ intersections[intersection[1]],
342
+ intersections[intersection[2]],
343
+ ];
240
344
 
241
345
  const targetEdgeEnd0 = target[intersectionsSorted[0].edgeEnd];
242
346
  const targetEdgeStart0 = target[intersectionsSorted[0].edgeStart];
@@ -247,17 +351,24 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
247
351
  ];
248
352
 
249
353
  const intrFor0InTarget = [
250
- targetEdgeStart0[0] + (targetEdgeVectorFor0[0] * intersectionsSorted[0].ratioStart2End),
251
- targetEdgeStart0[1] + (targetEdgeVectorFor0[1] * intersectionsSorted[0].ratioStart2End),
354
+ targetEdgeStart0[0] +
355
+ targetEdgeVectorFor0[0] * intersectionsSorted[0].ratioStart2End,
356
+ targetEdgeStart0[1] +
357
+ targetEdgeVectorFor0[1] * intersectionsSorted[0].ratioStart2End,
252
358
  ];
253
359
 
254
360
  const targetEdgeEnd1 = target[intersectionsSorted[1].edgeEnd];
255
361
  const targetEdgeStart1 = target[intersectionsSorted[1].edgeStart];
256
362
 
257
- const targetEdgeVectorFor1 = [targetEdgeEnd1[0] - targetEdgeStart1[0], targetEdgeEnd1[1] - targetEdgeStart1[1]];
363
+ const targetEdgeVectorFor1 = [
364
+ targetEdgeEnd1[0] - targetEdgeStart1[0],
365
+ targetEdgeEnd1[1] - targetEdgeStart1[1],
366
+ ];
258
367
  const intrFor1InTarget = [
259
- targetEdgeStart1[0] + (targetEdgeVectorFor1[0] * intersectionsSorted[1].ratioStart2End),
260
- targetEdgeStart1[1] + (targetEdgeVectorFor1[1] * intersectionsSorted[1].ratioStart2End),
368
+ targetEdgeStart1[0] +
369
+ targetEdgeVectorFor1[0] * intersectionsSorted[1].ratioStart2End,
370
+ targetEdgeStart1[1] +
371
+ targetEdgeVectorFor1[1] * intersectionsSorted[1].ratioStart2End,
261
372
  ];
262
373
 
263
374
  const vecCP0ToIntr0 = [
@@ -270,7 +381,9 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
270
381
  ];
271
382
 
272
383
  const angleCross = angleBetweenTwo2DVectors(vecCP0ToIntr0, vecCP1ToIntr1);
273
- if (angleCross == null) { return false; }
384
+ if (angleCross == null) {
385
+ return false;
386
+ }
274
387
  /* var thresholdInDegree = 3;
275
388
  if (angleCross/Math.PI*180.0 < thresholdInDegree || angleCross/Math.PI*180.0 > 180-thresholdInDegree)
276
389
  continue; */
@@ -290,53 +403,101 @@ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordina
290
403
  return intrCross;
291
404
  }
292
405
 
293
- /**
294
- * @typedef {Object} ImageTransformationOptions
295
- * @property {boolean|undefined} [dontUseTerrain]
296
- * @property {import("@vcmap/core").Projection|undefined} [dataProjection] - the projection of the input/output coordinates, assumes image source projection
297
- * @property {number|undefined} [terrainErrorThreshold=1] - the transformToWorld process iterativly calculates a new Height Value from the terrainProvider until the difference to the new height value is smaller
298
- * @property {number|undefined} [terrainErrorCountThreshold=3] - how often the transformToWorld process iterativly calculates a new Height Value from the terrainProvider
299
- * @api
300
- */
406
+ export type ImageTransformationOptions = {
407
+ dontUseTerrain?: boolean;
408
+ /**
409
+ * the projection of the input/output coordinates, assumes image source projection
410
+ */
411
+ dataProjection?: Projection;
412
+ /**
413
+ * the transformToWorld process iterativly calculates a new Height Value from the terrainProvider until the difference to the new height value is smaller
414
+ */
415
+ terrainErrorThreshold?: number;
416
+ /**
417
+ * how often the transformToWorld process iterativly calculates a new Height Value from the terrainProvider
418
+ */
419
+ terrainErrorCountThreshold?: number;
420
+ };
301
421
 
302
422
  /**
303
423
  * Always returns a Promise. When the input coordinates contain a height, it will use this height to compute the image coordinates
304
424
  * When not, it will try to get the terrainHeight in case a terrain is defined and use the height from there, to compute the image coordinates
305
- * @param {import("@vcmap/core").ObliqueImage} image
306
- * @param {import("ol/coordinate").Coordinate} worldCoordinate if not in web mercatpr, specify data-projection in options
307
- * @param {ImageTransformationOptions=} options
308
- * @returns {Promise<{coords: import("ol/coordinate").Coordinate, height: number, estimate: (boolean|undefined)}>}
309
- * @export
425
+ * @param image
426
+ * @param worldCoordinate if not in web mercatpr, specify data-projection in options
427
+ * @param options
310
428
  */
311
- export function transformToImage(image, worldCoordinate, options = {}) {
312
- let gpInternalCoordinates;
313
- if (options.dataProjection && options.dataProjection === image.meta.projection) {
429
+ export function transformToImage(
430
+ image: ObliqueImage,
431
+ worldCoordinate: Coordinate,
432
+ options: ImageTransformationOptions = {},
433
+ ): Promise<{
434
+ coords: Coordinate;
435
+ height: number;
436
+ estimate: boolean | undefined;
437
+ }> {
438
+ let gpInternalCoordinates: Coordinate;
439
+ if (
440
+ options.dataProjection &&
441
+ options.dataProjection === image.meta.projection
442
+ ) {
314
443
  gpInternalCoordinates = worldCoordinate;
315
444
  } else {
316
- gpInternalCoordinates = options.dataProjection ?
317
- transform(worldCoordinate, options.dataProjection.proj, image.meta.projection.proj) :
318
- transform(worldCoordinate, mercatorProjection.proj, image.meta.projection.proj);
445
+ gpInternalCoordinates = options.dataProjection
446
+ ? transform(
447
+ worldCoordinate,
448
+ options.dataProjection.proj,
449
+ image.meta.projection.proj,
450
+ )
451
+ : transform(
452
+ worldCoordinate,
453
+ mercatorProjection.proj,
454
+ image.meta.projection.proj,
455
+ );
319
456
  }
320
457
 
321
- function useAverageHeight() {
458
+ function useAverageHeight(): {
459
+ coords: Coordinate;
460
+ height: number;
461
+ estimate: boolean;
462
+ } {
322
463
  const coords = image.transformRealWorld2Image(gpInternalCoordinates);
323
464
  return { coords, height: image.averageHeight, estimate: true };
324
465
  }
325
466
 
326
467
  if (worldCoordinate[2]) {
327
- const coords = image.transformRealWorld2Image(gpInternalCoordinates, worldCoordinate[2]);
328
- return Promise.resolve({ coords, height: worldCoordinate[2], estimate: false });
468
+ const coords = image.transformRealWorld2Image(
469
+ gpInternalCoordinates,
470
+ worldCoordinate[2],
471
+ );
472
+ return Promise.resolve({
473
+ coords,
474
+ height: worldCoordinate[2],
475
+ estimate: false,
476
+ });
329
477
  }
330
478
 
331
479
  if (!options.dontUseTerrain && image.meta.terrainProvider) {
332
- return getHeightFromTerrainProvider(image.meta.terrainProvider, [gpInternalCoordinates], image.meta.projection)
480
+ return getHeightFromTerrainProvider(
481
+ image.meta.terrainProvider,
482
+ [gpInternalCoordinates],
483
+ image.meta.projection,
484
+ )
333
485
  .then(([gpWithHeight]) => {
334
486
  if (gpWithHeight[2]) {
335
- const imageCoordinates = image.transformRealWorld2Image(gpInternalCoordinates, gpWithHeight[2]);
336
- return { coords: imageCoordinates, height: gpInternalCoordinates[2], estimate: false };
487
+ const imageCoordinates = image.transformRealWorld2Image(
488
+ gpInternalCoordinates,
489
+ gpWithHeight[2],
490
+ );
491
+ return {
492
+ coords: imageCoordinates,
493
+ height: gpInternalCoordinates[2],
494
+ estimate: false,
495
+ };
337
496
  }
338
497
  // eslint-disable-next-line no-console
339
- console.warn('The configured terrain on the oblique layer could not be queried, position might be inaccurate');
498
+ console.warn(
499
+ 'The configured terrain on the oblique layer could not be queried, position might be inaccurate',
500
+ );
340
501
  return useAverageHeight();
341
502
  })
342
503
  .catch(() => useAverageHeight());
@@ -344,22 +505,19 @@ export function transformToImage(image, worldCoordinate, options = {}) {
344
505
  return Promise.resolve(useAverageHeight());
345
506
  }
346
507
 
347
- /**
348
- * @typedef {Object} PickTerrainOptions
349
- * @property {import("@vcmap/core").ObliqueImage} image
350
- * @property {import("ol/coordinate").Coordinate} worldCoordinate
351
- * @property {import("ol/coordinate").Coordinate} imageCoordinate
352
- * @property {number} height
353
- * @property {number} terrainErrorThreshold
354
- * @property {number} terrainErrorCountThreshold
355
- * @property {number} count
356
- */
357
-
358
- /**
359
- * @param {PickTerrainOptions} pickTerrainOptions
360
- * @returns {Promise<PickTerrainReturn>}
361
- */
362
- function pickTerrain(pickTerrainOptions) {
508
+ type PickTerrainOptions = {
509
+ image: ObliqueImage;
510
+ worldCoordinate: Coordinate;
511
+ imageCoordinate: Coordinate;
512
+ height: number;
513
+ terrainErrorThreshold: number;
514
+ terrainErrorCountThreshold: number;
515
+ count: number;
516
+ };
517
+
518
+ function pickTerrain(
519
+ pickTerrainOptions: PickTerrainOptions,
520
+ ): Promise<PickTerrainReturn> {
363
521
  pickTerrainOptions.count += 1;
364
522
  const {
365
523
  image,
@@ -371,18 +529,25 @@ function pickTerrain(pickTerrainOptions) {
371
529
  height,
372
530
  } = pickTerrainOptions;
373
531
 
374
- return getHeightFromTerrainProvider(image.meta.terrainProvider, [worldCoordinate])
532
+ return getHeightFromTerrainProvider(
533
+ image.meta.terrainProvider as CesiumTerrainProvider,
534
+ [worldCoordinate],
535
+ )
375
536
  .then(([worldCoordinateWithHeights]) => {
376
537
  if (worldCoordinateWithHeights[2] != null) {
377
538
  const newWorldCoords = transform(
378
- image.transformImage2RealWorld(imageCoordinate, worldCoordinateWithHeights[2]),
539
+ image.transformImage2RealWorld(
540
+ imageCoordinate,
541
+ worldCoordinateWithHeights[2],
542
+ ),
379
543
  image.meta.projection.proj,
380
544
  wgs84Projection.proj,
381
545
  );
382
546
  newWorldCoords[2] = worldCoordinateWithHeights[2];
383
547
  if (
384
- Math.abs(height - worldCoordinateWithHeights[2]) < terrainErrorThreshold ||
385
- (count > terrainErrorCountThreshold)
548
+ Math.abs(height - worldCoordinateWithHeights[2]) <
549
+ terrainErrorThreshold ||
550
+ count > terrainErrorCountThreshold
386
551
  ) {
387
552
  return { coords: newWorldCoords, estimate: false };
388
553
  }
@@ -391,7 +556,9 @@ function pickTerrain(pickTerrainOptions) {
391
556
  return pickTerrain(pickTerrainOptions);
392
557
  }
393
558
  // eslint-disable-next-line no-console
394
- console.log('The configured terrain on the oblique layer could not be queried, position might be inaccurate');
559
+ console.log(
560
+ 'The configured terrain on the oblique layer could not be queried, position might be inaccurate',
561
+ );
395
562
  return { coords: worldCoordinateWithHeights, estimate: true };
396
563
  })
397
564
  .catch(() => ({ coords: worldCoordinate, estimate: true }));
@@ -400,13 +567,16 @@ function pickTerrain(pickTerrainOptions) {
400
567
  /**
401
568
  * Always returns a deferred.
402
569
  * it will try to get the terrainHeight in case a terrain is defined.
403
- * @param {import("@vcmap/core").ObliqueImage} image
404
- * @param {import("ol/coordinate").Coordinate} imageCoordinate
405
- * @param {ImageTransformationOptions=} options
406
- * @returns {Promise<PickTerrainReturn>} return coordinates are in mercator if not specified in options
407
- * @export
570
+ * @param image
571
+ * @param imageCoordinate
572
+ * @param options
573
+ * @returns return coordinates are in mercator if not specified in options
408
574
  */
409
- export async function transformFromImage(image, imageCoordinate, options = {}) {
575
+ export async function transformFromImage(
576
+ image: ObliqueImage,
577
+ imageCoordinate: Coordinate,
578
+ options: ImageTransformationOptions = {},
579
+ ): Promise<PickTerrainReturn> {
410
580
  const initialWorldCoords = transform(
411
581
  image.transformImage2RealWorld(imageCoordinate, image.averageHeight),
412
582
  image.meta.projection.proj,
@@ -429,27 +599,31 @@ export async function transformFromImage(image, imageCoordinate, options = {}) {
429
599
  });
430
600
  }
431
601
 
432
- coordsObj.coords = options.dataProjection ?
433
- transform(coordsObj.coords, wgs84Projection.proj, options.dataProjection.proj) :
434
- transform(coordsObj.coords, wgs84Projection.proj, mercatorProjection.proj);
602
+ coordsObj.coords = options.dataProjection
603
+ ? transform(
604
+ coordsObj.coords,
605
+ wgs84Projection.proj,
606
+ options.dataProjection.proj,
607
+ )
608
+ : transform(
609
+ coordsObj.coords,
610
+ wgs84Projection.proj,
611
+ mercatorProjection.proj,
612
+ );
435
613
  return coordsObj;
436
614
  }
437
615
 
438
- /**
439
- * @param {string} url
440
- * @returns {boolean}
441
- */
442
- export function hasSameOrigin(url) {
443
- // relative Url, return true;
444
- if (!/^[a-z][a-z0-9+.-]*:/.test(url)) {
445
- return true;
446
- }
447
- // data uri, return true
448
- if (/^data:/.test(url)) {
616
+ export function hasSameOrigin(url: string): boolean {
617
+ const windowUrl = new URL(window.location.href);
618
+ const parsedUrl = new URL(url, window.location.href);
619
+
620
+ if (parsedUrl.protocol === 'data:') {
449
621
  return true;
450
622
  }
451
623
 
452
- const currentUri = new URL(window.location.href);
453
- const uri = new URL(url);
454
- return currentUri.host.toLowerCase() === uri.host.toLocaleLowerCase();
624
+ return (
625
+ windowUrl.origin === parsedUrl.origin &&
626
+ windowUrl.port === parsedUrl.port &&
627
+ windowUrl.protocol === parsedUrl.protocol
628
+ );
455
629
  }