@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
@@ -0,0 +1,170 @@
1
+ import { offset as offsetSphere } from 'ol/sphere.js';
2
+ import type { Coordinate } from 'ol/coordinate.js';
3
+ import { fromCircle } from 'ol/geom/Polygon.js';
4
+ import {
5
+ SimpleGeometry,
6
+ type Geometry,
7
+ GeometryCollection,
8
+ MultiPolygon,
9
+ MultiLineString,
10
+ MultiPoint,
11
+ Point,
12
+ Circle,
13
+ Polygon,
14
+ LineString,
15
+ } from 'ol/geom.js';
16
+ import Projection from './projection.js';
17
+
18
+ export function getFlatCoordinatesFromSimpleGeometry(
19
+ geometry: SimpleGeometry,
20
+ ): Coordinate[] {
21
+ const stride = geometry.getStride();
22
+ const flatCoordinates = geometry.getFlatCoordinates();
23
+ if (flatCoordinates.length > 0) {
24
+ const numberOfCoordinates = Math.floor(flatCoordinates.length / stride);
25
+ const coordinates: Coordinate[] = new Array(
26
+ numberOfCoordinates,
27
+ ) as Coordinate[];
28
+ for (let i = 0; i < numberOfCoordinates; i++) {
29
+ const flatIndex = i * stride;
30
+ coordinates[i] = new Array(stride) as Coordinate;
31
+ for (let j = 0; j < stride; j++) {
32
+ coordinates[i][j] = flatCoordinates[flatIndex + j];
33
+ }
34
+ }
35
+ return coordinates;
36
+ }
37
+ return [];
38
+ }
39
+
40
+ export function getFlatCoordinatesFromGeometry(
41
+ geometry: Geometry,
42
+ inputCoordinates?: any[],
43
+ ): Coordinate[] {
44
+ if (!inputCoordinates && geometry instanceof SimpleGeometry) {
45
+ return getFlatCoordinatesFromSimpleGeometry(geometry);
46
+ }
47
+ const coordinates: any[] | undefined = inputCoordinates;
48
+ let flattenCoordinates = null;
49
+ if (geometry instanceof Point) {
50
+ flattenCoordinates = [coordinates];
51
+ } else if (geometry instanceof LineString) {
52
+ flattenCoordinates = coordinates;
53
+ } else if (geometry instanceof Polygon) {
54
+ flattenCoordinates = coordinates!.reduce(
55
+ (current: Coordinate[], next: Coordinate[]) => current.concat(next),
56
+ ) as Coordinate[];
57
+ } else if (geometry instanceof MultiPoint) {
58
+ flattenCoordinates = coordinates;
59
+ } else if (geometry instanceof MultiLineString) {
60
+ flattenCoordinates = coordinates!.reduce(
61
+ (current: Coordinate[], next: Coordinate[]) => current.concat(next),
62
+ ) as Coordinate[];
63
+ } else if (geometry instanceof MultiPolygon) {
64
+ flattenCoordinates = (
65
+ coordinates!.reduce((current: Coordinate[][], next: Coordinate[][]) =>
66
+ current.concat(next),
67
+ ) as Coordinate[][]
68
+ ).reduce((current, next) => current.concat(next));
69
+ } else if (geometry instanceof Circle) {
70
+ flattenCoordinates = coordinates;
71
+ } else if (geometry instanceof GeometryCollection) {
72
+ flattenCoordinates = geometry
73
+ .getGeometries()
74
+ .map((g, i) =>
75
+ getFlatCoordinatesFromGeometry(g, coordinates?.[i] as any[]),
76
+ )
77
+ .reduce((current, next) => current.concat(next));
78
+ }
79
+ return flattenCoordinates as Coordinate[];
80
+ }
81
+
82
+ export function circleFromCenterRadius(
83
+ center: Coordinate,
84
+ radius: number,
85
+ ): Circle {
86
+ const offsetWGS84 = offsetSphere(
87
+ Projection.mercatorToWgs84(center),
88
+ radius,
89
+ Math.PI / 2,
90
+ );
91
+ const of = Projection.wgs84ToMercator(offsetWGS84);
92
+ const dx = center[0] - of[0];
93
+ const dy = center[1] - of[1];
94
+ const dx2 = dx * dx;
95
+ const dy2 = dy * dy;
96
+ const radiusProjected = Math.sqrt(dx2 + dy2);
97
+ return new Circle(center, radiusProjected, 'XYZ');
98
+ }
99
+
100
+ export function convertGeometryToPolygon(geometry: Geometry): Geometry {
101
+ if (geometry instanceof Circle) {
102
+ return fromCircle(geometry);
103
+ } else if (geometry instanceof Polygon) {
104
+ geometry.unset('_vcsGeomType');
105
+ }
106
+ return geometry;
107
+ }
108
+
109
+ export function enforceEndingVertex(linearRing: Coordinate[]): void {
110
+ const [lastX, lastY] = linearRing[linearRing.length - 1];
111
+ if (!(linearRing[0][0] === lastX && linearRing[0][1] === lastY)) {
112
+ linearRing.push(linearRing[0].slice());
113
+ }
114
+ }
115
+
116
+ export function removeEndingVertex(linearRing: Coordinate[]): void {
117
+ const [lastX, lastY] = linearRing[linearRing.length - 1];
118
+ if (linearRing[0][0] === lastX && linearRing[0][1] === lastY) {
119
+ linearRing.pop();
120
+ }
121
+ }
122
+
123
+ export function removeEndingVertexFromGeometry(geometry: Geometry): void {
124
+ if (geometry instanceof Polygon) {
125
+ const coordinates = geometry.getCoordinates();
126
+ coordinates.forEach((ring) => {
127
+ removeEndingVertex(ring);
128
+ });
129
+ geometry.setCoordinates(coordinates);
130
+ } else if (geometry instanceof MultiPolygon) {
131
+ const coordinates = geometry.getCoordinates();
132
+ coordinates.forEach((poly) => {
133
+ poly.forEach((ring) => {
134
+ removeEndingVertex(ring);
135
+ });
136
+ });
137
+ geometry.setCoordinates(coordinates);
138
+ }
139
+ }
140
+
141
+ /**
142
+ * from @mapbox/geojson-area
143
+ * @param ring
144
+ */
145
+ function ringArea(ring: Coordinate[]): number {
146
+ let area = 0;
147
+ const positions = ring.length;
148
+
149
+ for (let i = 0; i <= positions - 2; i++) {
150
+ const p1 = ring[i];
151
+ const p2 = ring[i + 1];
152
+ area += p1[0] * p2[1] - p1[1] * p2[0];
153
+ }
154
+
155
+ area /= 2;
156
+ return area;
157
+ }
158
+
159
+ /**
160
+ * enforce a ring to be counter-clockwise
161
+ * @param ring
162
+ */
163
+ export function enforceRightHand(ring: Coordinate[]): Coordinate[] {
164
+ const area = ringArea(ring);
165
+ if (area < 0) {
166
+ ring.reverse();
167
+ }
168
+
169
+ return ring;
170
+ }
@@ -0,0 +1,157 @@
1
+ import VcsEvent from '../vcsEvent.js';
2
+ import Collection from './collection.js';
3
+
4
+ /**
5
+ * A generic array based collection. Implements the Symbol.iterator (e.g. [...collection])
6
+ */
7
+ class IndexedCollection<T> extends Collection<T> {
8
+ static from<F>(
9
+ iterable: Iterable<F>,
10
+ uniqueKey?: keyof F | false,
11
+ ): IndexedCollection<F> {
12
+ const collection: IndexedCollection<F> = new IndexedCollection(uniqueKey);
13
+
14
+ if (iterable) {
15
+ for (const i of iterable) {
16
+ collection.add(i);
17
+ }
18
+ }
19
+ return collection;
20
+ }
21
+
22
+ /**
23
+ * Event raised if an item is relocated within the collection. Is passed the moved item.
24
+ */
25
+ moved: VcsEvent<T>;
26
+
27
+ private _previousIndexSymbol: symbol;
28
+
29
+ /**
30
+ * @param [uniqueKey='name'] - a key to maintain uniquely within the collection. passing false disables uniqueness.
31
+ */
32
+ constructor(uniqueKey?: keyof T | false) {
33
+ super(uniqueKey);
34
+
35
+ this.moved = new VcsEvent();
36
+
37
+ this._previousIndexSymbol = Symbol('previousIndex');
38
+ }
39
+
40
+ /**
41
+ * Get the symbol which is attached to an item prior to its removal. If an item is removed, the current index of the item
42
+ * is set on the item with this symbol.
43
+ */
44
+ get previousIndexSymbol(): symbol {
45
+ return this._previousIndexSymbol;
46
+ }
47
+
48
+ /**
49
+ * Returns an item at index.
50
+ * @param index
51
+ */
52
+ get(index: number): T {
53
+ return this._array[index];
54
+ }
55
+
56
+ /**
57
+ * Adds an item to the collection. Can optionally be passed an index at which to insert the item.
58
+ * @param item - the item to be inserted
59
+ * @param index - an optional index at which to insert the item. clipped to the last entry
60
+ * @returns the index at which the item was inserted
61
+ */
62
+ add(item: T, index?: number | null): number | null {
63
+ if (this._checkUniqueness(item)) {
64
+ let actualIndex = this._array.length;
65
+ if (index != null && index < this._array.length) {
66
+ actualIndex = index >= 0 ? index : 0;
67
+ this._array.splice(actualIndex, 0, item);
68
+ } else {
69
+ this._array.push(item);
70
+ }
71
+ this.added.raiseEvent(item);
72
+ return actualIndex;
73
+ }
74
+ return null;
75
+ }
76
+
77
+ remove(item: T): void {
78
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
79
+ // @ts-ignore
80
+ item[this._previousIndexSymbol] = this._array.indexOf(item);
81
+ super.remove(item);
82
+ }
83
+
84
+ protected _move(item: T, itemIndex: number, targetIndex: number): number {
85
+ let target = targetIndex;
86
+ target = target >= 0 ? target : 0;
87
+ target = target < this._array.length ? target : this._array.length - 1;
88
+ if (itemIndex !== target) {
89
+ this._array.splice(itemIndex, 1);
90
+ this._array.splice(target, 0, item);
91
+ this.moved.raiseEvent(item);
92
+ }
93
+ return target;
94
+ }
95
+
96
+ /**
97
+ * Moves an item to a provided index
98
+ * @returns the new index of the item
99
+ */
100
+ moveTo(item: T, targetIndex: number): number | null {
101
+ const index = this._array.indexOf(item);
102
+ if (index > -1) {
103
+ return this._move(item, index, targetIndex);
104
+ }
105
+ return null;
106
+ }
107
+
108
+ /**
109
+ * Lowers an item within the array
110
+ * @param [steps=1] - an integer number to lower by
111
+ * @returns the new index of the item
112
+ */
113
+ lower(item: T, steps = 1): number | null {
114
+ const index = this._array.indexOf(item);
115
+ if (index > -1) {
116
+ return this._move(item, index, index - Math.ceil(steps));
117
+ }
118
+ return null;
119
+ }
120
+
121
+ /**
122
+ * Raises an item within the array
123
+ * @param [steps=1] - an integer number to lower by
124
+ * @returns the new index of the item
125
+ */
126
+ raise(item: T, steps = 1): number | null {
127
+ const index = this._array.indexOf(item);
128
+ if (index > -1) {
129
+ return this._move(item, index, index + Math.ceil(steps));
130
+ }
131
+ return null;
132
+ }
133
+
134
+ /**
135
+ * Returns the index of an item or -1 if it is not part of this collection
136
+ */
137
+ indexOf(item: T): number {
138
+ return this._array.indexOf(item);
139
+ }
140
+
141
+ /**
142
+ * Returns the index of a key. Returns undefined, if there is no uniqueness constraint
143
+ */
144
+ indexOfKey(value: unknown): number | undefined {
145
+ if (!this.uniqueKey) {
146
+ return undefined;
147
+ }
148
+ return this._array.findIndex((e) => e[this.uniqueKey as keyof T] === value);
149
+ }
150
+
151
+ destroy(): void {
152
+ super.destroy();
153
+ this.moved.destroy();
154
+ }
155
+ }
156
+
157
+ export default IndexedCollection;
@@ -1,12 +1,18 @@
1
1
  /**
2
2
  * returns true if we are on a mobile device including tablets
3
- * @returns {boolean}
4
- * @api
5
3
  */
6
4
  // eslint-disable-next-line import/prefer-default-export
7
- export function isMobile() {
5
+ export function isMobile(): boolean {
6
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
7
  // @ts-ignore
9
- const agent = navigator.userAgent || navigator.vendor || window.opera;
10
- return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) ||
11
- /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent.substr(0, 4));
8
+ const agent =
9
+ navigator.userAgent || navigator.vendor || (window.opera as string);
10
+ return (
11
+ /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(
12
+ agent,
13
+ ) ||
14
+ /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(
15
+ agent.substring(0, 4),
16
+ )
17
+ );
12
18
  }
@@ -0,0 +1,293 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
2
+ import { check } from '@vcsuite/check';
3
+ import IndexedCollection from './indexedCollection.js';
4
+ import ExclusiveManager from './exclusiveManager.js';
5
+ import LayerState from '../layer/layerState.js';
6
+ import VcsEvent from '../vcsEvent.js';
7
+ import GlobalHider from '../layer/globalHider.js';
8
+ // eslint-disable-next-line import/no-named-default
9
+ import type { default as Layer, SplitLayer } from '../layer/layer.js';
10
+
11
+ /**
12
+ * The largest integer zindex which can be safely assigned to a layer (equal to Number.MAX_SAFE_INTEGER)
13
+ * You should use this to ensure layers are always rendered on top.
14
+ */
15
+ export const maxZIndex = Number.MAX_SAFE_INTEGER;
16
+
17
+ /**
18
+ * A collection of layers. Manages rendering order and layer exclusivity. Emits state changes for convenience. Passed to
19
+ * {@link Map} for layers available to said map. Layers must have unique names.
20
+ */
21
+ // ignored do to static issues, see https://github.com/microsoft/TypeScript/issues/4628
22
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
+ // @ts-ignore
24
+ class LayerCollection extends IndexedCollection<Layer> {
25
+ /**
26
+ * Creates a LayerCollection from an iterable of layers, such as an Array.
27
+ * @param iterable
28
+ */
29
+ static from(iterable: Iterable<Layer>): LayerCollection {
30
+ const collection = new LayerCollection();
31
+
32
+ if (iterable) {
33
+ // eslint-disable-next-line no-restricted-syntax
34
+ for (const layer of iterable) {
35
+ collection.add(layer);
36
+ }
37
+ }
38
+ return collection;
39
+ }
40
+
41
+ private _layerEventListeners: Record<string, (() => void)[]>;
42
+
43
+ private _zIndexSymbol: symbol;
44
+
45
+ /**
46
+ * Event raised, when a layer of this collection changes its state. Passed the layer.
47
+ */
48
+ stateChanged: VcsEvent<Layer>;
49
+
50
+ /**
51
+ * The exclusive manager for this collection. Layers within this collection are automatically added and tracked.
52
+ */
53
+ exclusiveManager: ExclusiveManager;
54
+
55
+ /**
56
+ * The global hider for this collection.
57
+ */
58
+ private _globalHider: GlobalHider;
59
+
60
+ /**
61
+ * Locale for this layerCollection, will be synchronized by the vcsApp, if part of an vcsApp.
62
+ * This Locale will be set on all Member Layers. On setting the Locale this will trigger a reload of all locale
63
+ * aware layers.
64
+ */
65
+ private _locale: string;
66
+
67
+ constructor() {
68
+ super();
69
+
70
+ this._layerEventListeners = {};
71
+ this._zIndexSymbol = Symbol('zIndex');
72
+ this.stateChanged = new VcsEvent();
73
+ this.exclusiveManager = new ExclusiveManager();
74
+ this._globalHider = new GlobalHider();
75
+ this._locale = 'en';
76
+ }
77
+
78
+ /**
79
+ * A symbol to describe the local z index of a layer. The local z index must not equal the layers z index, but is
80
+ * always consistent in comparison to the neighbouring layers. If a layer is moved other then by z index, the collection
81
+ * ensures consistency by setting a new local z index if needed.
82
+ */
83
+ get zIndexSymbol(): symbol {
84
+ return this._zIndexSymbol;
85
+ }
86
+
87
+ /**
88
+ * The current global hider of these layers
89
+ */
90
+ get globalHider(): GlobalHider {
91
+ return this._globalHider;
92
+ }
93
+
94
+ /**
95
+ * The current global hider of these layers
96
+ * @param globalHider
97
+ */
98
+ set globalHider(globalHider: GlobalHider) {
99
+ check(globalHider, GlobalHider);
100
+
101
+ this._globalHider = globalHider;
102
+ this._array.forEach((layer) => {
103
+ layer.setGlobalHider(this._globalHider);
104
+ });
105
+ }
106
+
107
+ get locale(): string {
108
+ return this._locale;
109
+ }
110
+
111
+ set locale(value: string) {
112
+ check(value, String);
113
+
114
+ if (this._locale !== value) {
115
+ this._locale = value;
116
+ [...this].forEach((layer) => {
117
+ layer.locale = this._locale;
118
+ });
119
+ }
120
+ }
121
+
122
+ private _listenToLayerEvents(layer: Layer): void {
123
+ const stateListener = layer.stateChanged.addEventListener(
124
+ (state: LayerState) => {
125
+ if (state === LayerState.ACTIVE) {
126
+ this.exclusiveManager.handleLayerActivated(layer);
127
+ }
128
+ this.stateChanged.raiseEvent(layer);
129
+ },
130
+ );
131
+
132
+ const zIndexListener = layer.zIndexChanged.addEventListener(() => {
133
+ this._zIndexChanged(layer);
134
+ });
135
+
136
+ const exclusiveGroupsListener =
137
+ layer.exclusiveGroupsChanged.addEventListener(() => {
138
+ this.exclusiveManager.handleExclusiveGroupsChanged(layer);
139
+ });
140
+
141
+ const listeners = [stateListener, zIndexListener, exclusiveGroupsListener];
142
+ if ((layer as Layer & SplitLayer).splitDirectionChanged) {
143
+ listeners.push(
144
+ (layer as Layer & SplitLayer).splitDirectionChanged.addEventListener(
145
+ () => {
146
+ this.exclusiveManager.handleSplitDirectionChanged(layer);
147
+ },
148
+ ),
149
+ );
150
+ }
151
+ this._layerEventListeners[layer.name] = listeners;
152
+ }
153
+
154
+ /**
155
+ * Determines the location in the array before the first entry with a higher local z index or null if there is no such position
156
+ * @param zIndex
157
+ * @private
158
+ */
159
+ private _findZIndexPosition(zIndex: number): number | null {
160
+ const usedIndex = this._array.findIndex(
161
+ // @ts-ignore
162
+ (l) => l[this._zIndexSymbol] > zIndex,
163
+ );
164
+ return usedIndex > -1 ? usedIndex : null;
165
+ }
166
+
167
+ /**
168
+ * This is callback for a layers zIndex changed. It reevaluates the array given the new zIndex
169
+ * an moves the specified layer to its new location determined by findeZIndexPosition or the end of the array failing that.
170
+ * @param layer
171
+ * @private
172
+ */
173
+ private _zIndexChanged(layer: Layer): void {
174
+ const currentIndex = this.indexOf(layer);
175
+ if (currentIndex > -1) {
176
+ // @ts-ignore
177
+ layer[this._zIndexSymbol] = layer.zIndex;
178
+ let zIndexPosition = this._findZIndexPosition(layer.zIndex);
179
+ if (
180
+ zIndexPosition != null &&
181
+ zIndexPosition > 0 &&
182
+ zIndexPosition > currentIndex
183
+ ) {
184
+ zIndexPosition -= 1; // remove self from count
185
+ }
186
+ zIndexPosition =
187
+ zIndexPosition != null ? zIndexPosition : this._array.length - 1;
188
+ this._move(layer, currentIndex, zIndexPosition);
189
+ this._ensureLocalZIndex(layer);
190
+ }
191
+ }
192
+
193
+ /**
194
+ * Ensures the local z index is consistent with the neighbours of a given layer.
195
+ * e.g. the layer on elower must have a lower or equal zIndex
196
+ * and the one higher a higher or equal zIndex.
197
+ */
198
+ private _ensureLocalZIndex(layer: Layer): void {
199
+ const currentIndex = this.indexOf(layer);
200
+ // @ts-ignore
201
+ const currentLayerZIndex = layer[this._zIndexSymbol] as number;
202
+ if (currentIndex > 0) {
203
+ // @ts-ignore
204
+ const below: number = this._array[currentIndex - 1][
205
+ this._zIndexSymbol
206
+ ] as number;
207
+ if (below > currentLayerZIndex) {
208
+ // @ts-ignore
209
+ layer[this._zIndexSymbol] = below;
210
+ }
211
+ }
212
+
213
+ if (currentIndex < this._array.length - 1) {
214
+ // @ts-ignore
215
+ const above = this._array[currentIndex + 1][this._zIndexSymbol] as number;
216
+ if (above < currentLayerZIndex) {
217
+ // @ts-ignore
218
+ layer[this._zIndexSymbol] = above;
219
+ }
220
+ }
221
+ }
222
+
223
+ /**
224
+ * Adds a layer to the collection. Can optionally be passed an index at which to insert the layer.
225
+ * The layer locale will be set to the same locale of the layerCollection. This will trigger a forceRedraw
226
+ * of the layer if the layer locale is different and the layer is locale aware.
227
+ * @param layer
228
+ * @param index
229
+ * @returns returns the layer index or null, if the layers name is not unique
230
+ */
231
+ add(layer: Layer, index?: number): number | null {
232
+ let usedIndex: number | null | undefined = index;
233
+ if (index == null) {
234
+ usedIndex = this._findZIndexPosition(layer.zIndex);
235
+ }
236
+ const insertedAt = super.add(layer, usedIndex);
237
+ if (insertedAt != null) {
238
+ // @ts-ignore
239
+ layer[this._zIndexSymbol] = layer.zIndex;
240
+ layer.setGlobalHider(this._globalHider);
241
+ layer.locale = this.locale;
242
+ this._ensureLocalZIndex(layer);
243
+ this._listenToLayerEvents(layer);
244
+ this.exclusiveManager.registerLayer(layer);
245
+ }
246
+ return insertedAt;
247
+ }
248
+
249
+ protected _remove(layer: Layer): number {
250
+ if (this._layerEventListeners[layer.name]) {
251
+ this._layerEventListeners[layer.name].forEach((cb) => {
252
+ cb();
253
+ });
254
+ delete this._layerEventListeners[layer.name];
255
+ }
256
+ // @ts-ignore
257
+ delete layer[this._zIndexSymbol];
258
+ layer.setGlobalHider();
259
+ this.exclusiveManager.unregisterLayer(layer);
260
+ return super._remove(layer);
261
+ }
262
+
263
+ clear(): void {
264
+ Object.values(this._layerEventListeners)
265
+ .flat()
266
+ .forEach((r) => {
267
+ r();
268
+ });
269
+ this._array.forEach((l) => {
270
+ // @ts-ignore
271
+ delete l[this._zIndexSymbol];
272
+ });
273
+
274
+ this.exclusiveManager.clear();
275
+ this._layerEventListeners = {};
276
+ super.clear();
277
+ }
278
+
279
+ destroy(): void {
280
+ Object.values(this._layerEventListeners)
281
+ .flat()
282
+ .forEach((r) => {
283
+ r();
284
+ });
285
+
286
+ this._layerEventListeners = {};
287
+ this.exclusiveManager.destroy();
288
+ this._globalHider.destroy();
289
+ super.destroy();
290
+ }
291
+ }
292
+
293
+ export default LayerCollection;
@@ -0,0 +1,11 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ /**
3
+ * returns the default browserLocale, if not possible 'en'
4
+ */
5
+ export function detectBrowserLocale(): string {
6
+ if (navigator.language) {
7
+ const lang = navigator.language;
8
+ return lang.substring(0, 2);
9
+ }
10
+ return 'en';
11
+ }