@vcmap/core 5.0.0-rc.9 → 5.0.1

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 (879) 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 +959 -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 +69 -35
  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 +61 -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.js → geojsonHelpers.ts} +229 -168
  638. package/src/layer/{geojsonLayer.js → geojsonLayer.ts} +39 -71
  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.js → singleImageLayer.ts} +40 -50
  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.js → mvtTileProvider.ts} +56 -57
  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.js → tmsLayer.ts} +39 -55
  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} +117 -91
  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 +1388 -0
  681. package/src/map/mapState.ts +11 -0
  682. package/src/map/{obliqueMap.js → obliqueMap.ts} +186 -221
  683. package/src/map/{openlayersMap.js → openlayersMap.ts} +91 -93
  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.js → overrideClassRegistry.ts} +72 -83
  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.js → vectorStyleItem.ts} +311 -374
  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 -7599
  776. package/index.js +0 -146
  777. package/src/category/appBackedCategory.js +0 -76
  778. package/src/category/category.js +0 -401
  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 -168
  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 -64
  788. package/src/featureProvider/wmsFeatureProvider.js +0 -288
  789. package/src/interaction/abstractInteraction.js +0 -151
  790. package/src/interaction/coordinateAtPixel.js +0 -99
  791. package/src/interaction/eventHandler.js +0 -425
  792. package/src/interaction/featureAtPixelInteraction.js +0 -273
  793. package/src/interaction/featureProviderInteraction.js +0 -43
  794. package/src/interaction/interactionType.js +0 -114
  795. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +0 -359
  796. package/src/layer/cesium/clusterContext.js +0 -95
  797. package/src/layer/cesium/openStreetMapCesiumImpl.js +0 -29
  798. package/src/layer/cesium/pointCloudCesiumImpl.js +0 -58
  799. package/src/layer/cesium/rasterLayerCesiumImpl.js +0 -110
  800. package/src/layer/cesium/singleImageCesiumImpl.js +0 -49
  801. package/src/layer/cesium/terrainCesiumImpl.js +0 -80
  802. package/src/layer/cesium/vectorCesiumImpl.js +0 -255
  803. package/src/layer/cesium/vectorContext.js +0 -167
  804. package/src/layer/cesium/vectorTileImageryProvider.js +0 -246
  805. package/src/layer/cesium/x3dmHelper.js +0 -22
  806. package/src/layer/cesiumTilesetLayer.js +0 -373
  807. package/src/layer/czmlLayer.js +0 -141
  808. package/src/layer/dataSourceLayer.js +0 -259
  809. package/src/layer/featureLayer.js +0 -248
  810. package/src/layer/featureStoreLayer.js +0 -647
  811. package/src/layer/featureStoreLayerChanges.js +0 -376
  812. package/src/layer/featureStoreLayerState.js +0 -19
  813. package/src/layer/featureVisibility.js +0 -436
  814. package/src/layer/globalHider.js +0 -147
  815. package/src/layer/layer.js +0 -752
  816. package/src/layer/layerState.js +0 -17
  817. package/src/layer/layerSymbols.js +0 -6
  818. package/src/layer/oblique/layerObliqueImpl.js +0 -76
  819. package/src/layer/oblique/obliqueHelpers.js +0 -175
  820. package/src/layer/oblique/vectorObliqueImpl.js +0 -469
  821. package/src/layer/openStreetMapLayer.js +0 -194
  822. package/src/layer/openlayers/layerOpenlayersImpl.js +0 -79
  823. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +0 -122
  824. package/src/layer/openlayers/vectorOpenlayersImpl.js +0 -118
  825. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +0 -177
  826. package/src/layer/pointCloudLayer.js +0 -162
  827. package/src/layer/rasterLayer.js +0 -294
  828. package/src/layer/terrainHelpers.js +0 -119
  829. package/src/layer/terrainLayer.js +0 -122
  830. package/src/layer/tileLoadedHelper.js +0 -72
  831. package/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -82
  832. package/src/layer/tileProvider/tileProvider.js +0 -593
  833. package/src/layer/tileProvider/urlTemplateTileProvider.js +0 -121
  834. package/src/layer/vectorHelpers.js +0 -206
  835. package/src/layer/vectorLayer.js +0 -623
  836. package/src/layer/vectorProperties.js +0 -1391
  837. package/src/layer/vectorTileLayer.js +0 -471
  838. package/src/layer/wfsLayer.js +0 -165
  839. package/src/layer/wmtsLayer.js +0 -235
  840. package/src/map/baseOLMap.js +0 -257
  841. package/src/map/cameraLimiter.js +0 -219
  842. package/src/map/cesiumMap.js +0 -1177
  843. package/src/map/mapState.js +0 -17
  844. package/src/map/vcsMap.js +0 -526
  845. package/src/oblique/obliqueCollection.js +0 -653
  846. package/src/oblique/obliqueDataSet.js +0 -400
  847. package/src/oblique/obliqueImage.js +0 -247
  848. package/src/oblique/obliqueImageMeta.js +0 -126
  849. package/src/oblique/obliqueViewDirection.js +0 -40
  850. package/src/oblique/parseImageJson.js +0 -256
  851. package/src/ol/feature.js +0 -47
  852. package/src/style/declarativeStyleItem.js +0 -632
  853. package/src/style/styleFactory.js +0 -29
  854. package/src/style/styleHelpers.js +0 -555
  855. package/src/style/styleItem.js +0 -164
  856. package/src/style/writeStyle.js +0 -45
  857. package/src/util/dateTime.js +0 -60
  858. package/src/util/extent.js +0 -131
  859. package/src/util/featureconverter/circleToCesium.js +0 -215
  860. package/src/util/featureconverter/convert.js +0 -83
  861. package/src/util/featureconverter/extent3D.js +0 -181
  862. package/src/util/featureconverter/featureconverterHelper.js +0 -591
  863. package/src/util/featureconverter/lineStringToCesium.js +0 -171
  864. package/src/util/featureconverter/pointToCesium.js +0 -359
  865. package/src/util/featureconverter/polygonToCesium.js +0 -229
  866. package/src/util/fetch.js +0 -32
  867. package/src/util/geometryHelpers.js +0 -172
  868. package/src/util/indexedCollection.js +0 -181
  869. package/src/util/layerCollection.js +0 -221
  870. package/src/util/locale.js +0 -53
  871. package/src/util/mapCollection.js +0 -405
  872. package/src/util/math.js +0 -71
  873. package/src/util/overrideCollection.js +0 -224
  874. package/src/util/projection.js +0 -363
  875. package/src/util/splitScreen.js +0 -233
  876. package/src/util/viewpoint.js +0 -333
  877. package/src/vcsApp.js +0 -471
  878. package/src/vcsAppContextHelpers.js +0 -121
  879. package/src/vcsObject.js +0 -84
@@ -1,205 +1,158 @@
1
- /* eslint-disable no-template-curly-in-string */
2
- import Stroke from 'ol/style/Stroke.js';
3
- import { Color, VerticalOrigin } from '@vcmap/cesium';
4
- import Icon from 'ol/style/Icon.js';
5
- import Style from 'ol/style/Style.js';
1
+ /* eslint-disable no-template-curly-in-string,@typescript-eslint/ban-ts-comment */
2
+ import Stroke, { Options as StrokeOptions } from 'ol/style/Stroke.js';
3
+ import { Color, VerticalOrigin } from '@vcmap-cesium/engine';
4
+ import Icon, { type Options as IconOptions } from 'ol/style/Icon.js';
5
+ import Style, { type StyleFunction } from 'ol/style/Style.js';
6
6
  import OLText from 'ol/style/Text.js';
7
7
  import OLImage from 'ol/style/Image.js';
8
- import Fill from 'ol/style/Fill.js';
8
+ import type { Size } from 'ol/size.js';
9
+ import Fill, { type Options as FillOptions } from 'ol/style/Fill.js';
9
10
  import Circle from 'ol/style/Circle.js';
10
11
  import RegularShape from 'ol/style/RegularShape.js';
12
+ import { Color as OLColor } from 'ol/color.js';
13
+ import { ColorLike as OLColorLike } from 'ol/colorlike.js';
14
+ import type { Feature } from 'ol/index.js';
11
15
 
12
16
  import { check, checkMaybe } from '@vcsuite/check';
13
- import StyleItem from './styleItem.js';
17
+ import StyleItem, { StyleItemOptions } from './styleItem.js';
14
18
  import {
15
19
  parseColor,
16
20
  PatternType,
17
21
  createPattern,
18
- getFillOptions,
19
22
  getStrokeOptions,
20
23
  getTextOptions,
21
24
  getTextFromOptions,
22
25
  getStringColor,
23
26
  getDefaultCondition,
24
27
  getDefaultVectorStyleItemOptions,
28
+ type FontObject,
29
+ olColorToCesiumColor,
30
+ getStrokeFromOptions,
31
+ getImageStyleOptions,
25
32
  } from './styleHelpers.js';
26
33
  import { getShapeFromOptions } from './shapesCategory.js';
27
34
  import { styleClassRegistry } from '../classRegistry.js';
28
35
 
29
- /**
30
- * @typedef {Object} VectorStyleItemPattern
31
- * @property {PatternType} type
32
- * @property {import("ol/color").Color|import("ol/colorlike").ColorLike} color
33
- * @property {number} width
34
- * @property {number} size
35
- * @api
36
- */
36
+ export type ColorType = OLColor | OLColorLike;
37
+ export type VectorStyleItemPattern = {
38
+ type: PatternType;
39
+ color: ColorType;
40
+ width: number;
41
+ size: number;
42
+ };
37
43
 
38
- /**
39
- * @typedef {Object} VectorStyleItemFill
40
- * @property {import("ol/color").Color|import("ol/colorlike").ColorLike} color
41
- * @property {VectorStyleItemPattern|undefined} pattern
42
- * @api
43
- */
44
+ export type VectorStyleItemFill = {
45
+ color: ColorType;
46
+ pattern?: VectorStyleItemPattern;
47
+ };
44
48
 
45
- /**
46
- * This is either <b>olx.style.IconOptions</b> or <b>olx.style.CircleOptions</b>
47
- * @typedef {Object} VectorStyleItemImage
48
- * @property {string|undefined} src
49
- * @property {number|import("ol/size").Size|undefined} scale
50
- * @property {number|undefined} opacity
51
- * @property {import("ol/color").Color|import("ol/colorlike").ColorLike|undefined} color
52
- * @property {import("ol/style/Fill").Options|import("ol/style/Fill").default|undefined} fill
53
- * @property {import("ol/style/Stroke").Options|import("ol/style/Stroke").default|undefined} stroke
54
- * @property {number|undefined} radius
55
- * @property {number|undefined} points
56
- * @property {number|undefined} angle
57
- * @property {Array<number>|undefined} anchor
58
- * @property {VectorStyleItemImage|undefined} circle - vcs:undocumented legacy
59
- * @property {VectorStyleItemImage|undefined} icon - vcs:undocumented legacy
60
- * @property {string|undefined} currentImage - vcs:undocumented styleEditor
61
- * @api
62
- */
49
+ export type VectorStyleItemImage = {
50
+ src?: string;
51
+ scale?: number | Size;
52
+ opacity?: number;
53
+ color?: ColorType;
54
+ fill?: FillOptions | Fill;
55
+ stroke?: StrokeOptions | Stroke;
56
+ radius?: number;
57
+ points?: number;
58
+ angle?: number;
59
+ anchor?: number[];
60
+ circle?: VectorStyleItemImage;
61
+ icon?: VectorStyleItemImage;
62
+ currentImage?: string;
63
+ };
63
64
 
64
- /**
65
- * @typedef {Object} VectorStyleItemText
66
- * @property {string|undefined} text
67
- * @property {string|FontObject|undefined} font
68
- * @property {import("ol/style/Fill").Options|import("ol/style/Fill").default|undefined} fill
69
- * @property {import("ol/style/Stroke").Options|import("ol/style/Stroke").default|undefined} stroke
70
- * @property {string|undefined} textBaseline
71
- * @property {number|undefined} offsetX
72
- * @property {number|undefined} offsetY
73
- * @api
74
- */
65
+ export type VectorStyleItemText = {
66
+ text?: string | string[];
67
+ font?: string | FontObject;
68
+ fill?: FillOptions | Fill;
69
+ stroke?: StrokeOptions | Stroke;
70
+ textBaseline?: string;
71
+ offsetX?: number;
72
+ offsetY?: number;
73
+ };
75
74
 
76
- /**
77
- * @typedef {Object} VectorStyleItemExclusion
78
- * @property {boolean} fill
79
- * @property {boolean} stroke
80
- * @property {boolean} image
81
- * @api
82
- */
75
+ export type VectorStyleItemExclusion = {
76
+ fill: boolean;
77
+ stroke: boolean;
78
+ image: boolean;
79
+ };
83
80
 
84
- /**
85
- * @typedef {StyleItemSections} VectorStyleItemSections
86
- * @property {boolean|undefined} fill
87
- * @property {boolean|undefined} stroke
88
- * @property {boolean|undefined} text
89
- * @property {boolean|undefined} image
90
- * @property {boolean|undefined} label
91
- * @api
92
- */
81
+ export enum OlcsGeometryType {
82
+ POLYGON = 1,
83
+ POLYLINE = 2,
84
+ POINT = 3,
85
+ }
93
86
 
94
- /**
95
- * @enum {number}
96
- * @property {number} POLYGON
97
- * @property {number} POLYLINE
98
- * @property {number} POINT
99
- */
100
- export const OlcsGeometryType = {
101
- POLYGON: 1,
102
- POLYLINE: 2,
103
- POINT: 3,
87
+ export type VectorStyleItemOptions = StyleItemOptions & {
88
+ fill?: VectorStyleItemFill | false;
89
+ stroke?: StrokeOptions | false;
90
+ image?: VectorStyleItemImage | false;
91
+ text?: VectorStyleItemText;
92
+ label?: string;
104
93
  };
105
94
 
106
- /**
107
- * @typedef {StyleItemOptions} VectorStyleItemOptions
108
- * @property {VectorStyleItemFill|false|undefined} fill
109
- * @property {import("ol/style/Stroke").Options|false|undefined} stroke
110
- * @property {VectorStyleItemImage|false|undefined} image
111
- * @property {VectorStyleItemText|undefined} text
112
- * @property {string|undefined} label
113
- * @api
114
- */
115
-
116
95
  /**
117
96
  * Is set on a feature and is used to signal that the feature has a specific vectorStyleItem.
118
97
  * Is set by the Editor if the layerStyle is overwritten. The VectorLayer layer assures this style is set, if
119
98
  * the style on the layer is not a DeclarativeStyle
120
- * @type {symbol}
121
- * @export
122
99
  */
123
- export const vectorStyleSymbol = Symbol('VcsVectorStyleItem');
100
+ export const vectorStyleSymbol: unique symbol = Symbol('VcsVectorStyleItem');
124
101
 
125
102
  /**
126
- * @class
127
- * @extends {StyleItem}
128
- * @export
129
- * @api
103
+ * @group Style
130
104
  */
131
105
  class VectorStyleItem extends StyleItem {
132
- static get className() { return 'VectorStyleItem'; }
106
+ static get className(): string {
107
+ return 'VectorStyleItem';
108
+ }
133
109
 
134
- /**
135
- * @param {VectorStyleItemOptions} options
136
- */
137
- constructor(options) {
110
+ exclude: VectorStyleItemExclusion;
111
+
112
+ private _fillOptions: VectorStyleItemFill | null;
113
+
114
+ private _fill: Fill | undefined;
115
+
116
+ private _stroke: Stroke | undefined;
117
+
118
+ private _text: OLText | undefined;
119
+
120
+ private _label: string | undefined;
121
+
122
+ private _cesiumColor: Color;
123
+
124
+ private _image: OLImage | undefined;
125
+
126
+ constructor(options: VectorStyleItemOptions) {
138
127
  super(options);
139
128
 
140
129
  this.validateOptions(options);
141
- /**
142
- * @type {VectorStyleItemExclusion}
143
- * @api
144
- */
145
130
  this.exclude = {
146
131
  fill: options.fill === false,
147
132
  stroke: options.stroke === false,
148
133
  image: options.image === false,
149
134
  };
150
- /**
151
- * @type {VectorStyleItemFill|null}
152
- * @private
153
- */
154
135
  this._fillOptions = null;
155
- /**
156
- * @type {import("ol/style/Fill").default|undefined}
157
- * @private
158
- */
159
136
  this._fill = undefined;
160
137
 
161
- /**
162
- * @type {import("ol/style/Stroke").default|undefined}
163
- * @private
164
- */
165
- this._stroke = options.stroke ? new Stroke(options.stroke) : undefined;
166
-
167
- /**
168
- * @type {import("ol/style/Text").default|undefined}
169
- * @private
170
- */
138
+ this._stroke = options.stroke
139
+ ? getStrokeFromOptions(options.stroke)
140
+ : undefined;
171
141
  this._text = undefined;
172
142
  if (options.text) {
173
143
  this._text = getTextFromOptions(options.text);
174
144
  }
175
-
176
- /**
177
- * @type {string|undefined}
178
- * @private
179
- */
180
145
  this._label = options.label;
181
146
  this.label = this._label;
182
147
 
183
- /**
184
- * @type {import("@vcmap/cesium").Color}
185
- * @private
186
- */
187
148
  this._cesiumColor = new Color();
188
-
189
- /**
190
- * @type {import("ol/style/Icon").default|import("ol/style/RegularShape").default|undefined}
191
- * @private
192
- */
193
149
  this._image = undefined;
194
150
  if (options.image) {
195
- this._image = options.image.radius ?
196
- getShapeFromOptions({ ...options.image }) :
197
- new Icon(/** @type {import("ol/style/Icon").Options} */ (options.image));
151
+ this._image = options.image.radius
152
+ ? getShapeFromOptions({ ...options.image })
153
+ : new Icon(options.image as IconOptions);
198
154
  }
199
155
 
200
- /**
201
- * @type {import("ol/style/Style").default|import("ol/style/Style").StyleFunction}
202
- */
203
156
  this._style = new Style({
204
157
  image: this._image,
205
158
  stroke: this._stroke,
@@ -214,22 +167,22 @@ class VectorStyleItem extends StyleItem {
214
167
  }
215
168
  }
216
169
 
217
- /**
218
- * @param {VectorStyleItemOptions} options
219
- */
220
- validateOptions(options) {
221
- const checkColor = (option) => {
170
+ validateOptions(options: VectorStyleItemOptions): void {
171
+ const checkColor = (option: { color?: ColorType | null }): void => {
222
172
  try {
223
- option.color = parseColor(option.color);
173
+ option.color = parseColor(option.color as ColorType);
224
174
  check(option.color, [Number]);
225
175
  check(option.color.length, [3, 4]);
226
176
  } catch (e) {
227
- this.getLogger().error(e.message);
228
- option.color = /** @type {import("ol/color").Color} */ ([255, 255, 255, 0.4]);
177
+ this.getLogger().error((e as Error).message);
178
+ option.color = [255, 255, 255, 0.4];
229
179
  }
230
180
  };
231
181
 
232
- const checkStroke = (option) => {
182
+ const checkStroke = (option: {
183
+ color?: ColorType | null;
184
+ width?: number;
185
+ }): void => {
233
186
  checkColor(option);
234
187
  if (!option.width) {
235
188
  this.getLogger().error('missing width for stroke, setting to 1.5');
@@ -241,8 +194,15 @@ class VectorStyleItem extends StyleItem {
241
194
  checkColor(options.fill);
242
195
  if (options.fill.pattern) {
243
196
  checkStroke(options.fill.pattern);
244
- if (!(options.fill.pattern.type && Object.values(PatternType).includes(options.fill.pattern.type))) {
245
- this.getLogger().error(`Cannot find pattern ${options.fill.pattern.type}`);
197
+ if (
198
+ !(
199
+ options.fill.pattern.type &&
200
+ Object.values(PatternType).includes(options.fill.pattern.type)
201
+ )
202
+ ) {
203
+ this.getLogger().error(
204
+ `Cannot find pattern ${options.fill.pattern.type}`,
205
+ );
246
206
  options.fill.pattern.type = PatternType.NWSE;
247
207
  }
248
208
  }
@@ -261,7 +221,9 @@ class VectorStyleItem extends StyleItem {
261
221
  }
262
222
 
263
223
  if (!(options.image.src || options.image.radius)) {
264
- this.getLogger().error('missing source or label in style, setting default circle');
224
+ this.getLogger().error(
225
+ 'missing source or label in style, setting default circle',
226
+ );
265
227
  options.image = {
266
228
  fill: {
267
229
  color: 'rgba(255,255,255,0.4)',
@@ -280,11 +242,11 @@ class VectorStyleItem extends StyleItem {
280
242
  this.getLogger().error('radius must be a number');
281
243
  options.image.radius = 5;
282
244
  }
283
- if (options.image.fill) {
284
- checkColor(options.image.fill);
245
+ if ((options.image.fill as FillOptions)?.color) {
246
+ checkColor(options.image.fill as FillOptions);
285
247
  }
286
- if (options.image.stroke) {
287
- checkStroke(options.image.stroke);
248
+ if ((options.image.stroke as StrokeOptions)?.color) {
249
+ checkStroke(options.image.stroke as StrokeOptions);
288
250
  }
289
251
  }
290
252
  }
@@ -293,39 +255,19 @@ class VectorStyleItem extends StyleItem {
293
255
 
294
256
  /**
295
257
  * the current fill color, not the pattern
296
- * @type {import("ol/color").Color|null}
297
- * @api
298
258
  */
299
- get fillColor() {
300
- return this._fillOptions ? /** @type {import("ol/color").Color} */ (this._fillOptions.color) : null;
259
+ get fillColor(): OLColor | undefined {
260
+ return this._fillOptions ? (this._fillOptions.color as OLColor) : undefined;
301
261
  }
302
262
 
303
- /**
304
- * the current fill color as a cesium color
305
- * @readonly
306
- * @type {import("@vcmap/cesium").Color}
307
- * @api
308
- */
309
- get cesiumFillColor() {
310
- const fillColor = this.fillColor ? this.fillColor.slice() : null;
311
- if (fillColor) {
312
- fillColor[3] = fillColor[3] || 1;
313
- fillColor[3] *= 255; // cesium alpha range between 0 and 255
314
- // @ts-ignore
315
- return Color.fromBytes(...fillColor, this._cesiumColor);
316
- }
317
- return Color.RED.clone(this._cesiumColor); // TODO should not be red - transparent?
318
- }
319
-
320
- /**
321
- * @param {(import("ol/color").Color|import("ol/colorlike").ColorLike)=} color
322
- */
323
- set fillColor(color) {
263
+ set fillColor(color: ColorType | undefined) {
324
264
  this.exclude.fill = false;
325
265
  if (this._style instanceof Style) {
326
266
  if (!color) {
327
267
  this._fillOptions = null;
328
268
  this._fill = undefined;
269
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
270
+ // @ts-ignore // bug in ol def. you can set fill undefined
329
271
  this._style.setFill(this._fill);
330
272
  this.updateCesiumStyleColor(true);
331
273
  } else {
@@ -342,28 +284,38 @@ class VectorStyleItem extends StyleItem {
342
284
  }
343
285
 
344
286
  /**
345
- * @type {VectorStyleItemPattern}
346
- * @api
287
+ * the current fill color as a cesium color
347
288
  */
348
- get pattern() {
349
- return this._fillOptions && this._fillOptions.pattern ? this._fillOptions.pattern : null;
289
+ get cesiumFillColor(): Color | null {
290
+ const fillColor = this.fillColor ? this.fillColor.slice() : null;
291
+ if (fillColor) {
292
+ return olColorToCesiumColor(fillColor, this._cesiumColor);
293
+ }
294
+ return Color.RED.clone(this._cesiumColor); // TODO should not be red - transparent?
350
295
  }
351
296
 
352
- /**
353
- * @param {VectorStyleItemPattern} patternOptions
354
- */
355
- set pattern(patternOptions) {
297
+ get pattern(): VectorStyleItemPattern | undefined {
298
+ return this._fillOptions && this._fillOptions.pattern
299
+ ? this._fillOptions.pattern
300
+ : undefined;
301
+ }
302
+
303
+ set pattern(patternOptions: VectorStyleItemPattern | undefined) {
356
304
  if (!this._fillOptions) {
357
305
  this.getLogger().error('Missing fill color');
358
306
  return;
359
307
  }
360
308
  if (patternOptions) {
361
- checkMaybe(patternOptions, {
362
- color: [String, [Number]],
363
- width: Number,
364
- type: Number,
365
- size: [Number, undefined, null],
366
- }, true);
309
+ checkMaybe(
310
+ patternOptions,
311
+ {
312
+ color: [String, [Number]],
313
+ width: Number,
314
+ type: Number,
315
+ size: [Number, undefined, null],
316
+ },
317
+ true,
318
+ );
367
319
  this._fillOptions.pattern = patternOptions;
368
320
  } else {
369
321
  this._fillOptions.pattern = undefined;
@@ -371,19 +323,16 @@ class VectorStyleItem extends StyleItem {
371
323
  this._setFill();
372
324
  }
373
325
 
374
- /**
375
- * @type {import("ol/style/Stroke").default}
376
- * @api
377
- */
378
- get stroke() { return this._stroke; }
326
+ get stroke(): Stroke | undefined {
327
+ return this._stroke;
328
+ }
379
329
 
380
- /**
381
- * @param {import("ol/style/Stroke").default=} stroke
382
- */
383
- set stroke(stroke) {
330
+ set stroke(stroke: Stroke | undefined) {
384
331
  this.exclude.stroke = false;
385
332
  if (this._style instanceof Style) {
386
333
  checkMaybe(stroke, Stroke);
334
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
335
+ // @ts-ignore // bug in ol
387
336
  this._style.setStroke(stroke);
388
337
  this._stroke = stroke;
389
338
  this.updateCesiumStyleColor(true);
@@ -392,16 +341,11 @@ class VectorStyleItem extends StyleItem {
392
341
  }
393
342
  }
394
343
 
395
- /**
396
- * @type {string}
397
- * @api
398
- */
399
- get label() { return this._label; }
344
+ get label(): string | undefined {
345
+ return this._label;
346
+ }
400
347
 
401
- /**
402
- * @param {string} label
403
- */
404
- set label(label) {
348
+ set label(label: string | undefined) {
405
349
  checkMaybe(label, String);
406
350
  if (!label) {
407
351
  this._label = undefined;
@@ -413,40 +357,34 @@ class VectorStyleItem extends StyleItem {
413
357
  }
414
358
  }
415
359
 
416
- /**
417
- * @type {import("ol/style/Text").default}
418
- * @api
419
- */
420
- get text() { return this._text; }
360
+ get text(): OLText | undefined {
361
+ return this._text;
362
+ }
421
363
 
422
- /**
423
- * @param {import("ol/style/Text").default=} text
424
- */
425
- set text(text) {
364
+ set text(text: OLText | undefined) {
426
365
  if (this._style instanceof Style) {
427
366
  checkMaybe(text, OLText);
428
367
  this._text = text;
429
- this._text.setText(this._label);
368
+ this._text?.setText?.(this._label);
369
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
370
+ // @ts-ignore // bug in ol
430
371
  this._style.setText(this._text);
431
372
  } else {
432
373
  this.getLogger().info('trying to set text on a style function');
433
374
  }
434
375
  }
435
376
 
436
- /**
437
- * @type {(import("ol/style/Icon").default|import("ol/style/RegularShape").default)}
438
- * @api
439
- */
440
- get image() { return this._image; }
377
+ get image(): OLImage | undefined {
378
+ return this._image;
379
+ }
441
380
 
442
- /**
443
- * @param {(import("ol/style/Icon").default|import("ol/style/RegularShape").default)=} image
444
- */
445
- set image(image) {
381
+ set image(image: OLImage | undefined) {
446
382
  this.exclude.image = false;
447
383
  if (this._style instanceof Style) {
448
384
  checkMaybe(image, OLImage);
449
385
  this._image = image;
386
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
387
+ // @ts-ignore // bug in ol
450
388
  this._style.setImage(this._image);
451
389
  this.updateCesiumStyle();
452
390
  } else {
@@ -454,22 +392,17 @@ class VectorStyleItem extends StyleItem {
454
392
  }
455
393
  }
456
394
 
457
- /**
458
- * @type {import("ol/style/Style").default|import("ol/style/Style").StyleFunction}
459
- * @api
460
- */
461
- get style() { return this._style; }
395
+ get style(): Style | StyleFunction {
396
+ return this._style;
397
+ }
462
398
 
463
- /**
464
- * @param {import("ol/style/Style").default|import("ol/style/Style").StyleFunction} style
465
- */
466
- set style(style) {
399
+ set style(style: Style | StyleFunction) {
467
400
  checkMaybe(style, [Style, Function]);
468
401
  if (style instanceof Style) {
469
402
  this._stroke = style.getStroke();
470
403
  this._fill = style.getFill();
471
404
  this._text = style.getText();
472
- this._image = /** @type {import("ol/style/Icon").default|import("ol/style/Circle").default} */ (style.getImage());
405
+ this._image = style.getImage();
473
406
  } else {
474
407
  this._stroke = undefined;
475
408
  this._fill = undefined;
@@ -478,7 +411,9 @@ class VectorStyleItem extends StyleItem {
478
411
  }
479
412
  this._style = style;
480
413
  if (this._fill && this._fill.getColor()) {
481
- this._fillOptions = { color: parseColor(this._fill.getColor()) };
414
+ this._fillOptions = {
415
+ color: parseColor(this._fill.getColor() as OLColor),
416
+ };
482
417
  }
483
418
  if (this._text) {
484
419
  this._text.setText(this._label);
@@ -486,14 +421,16 @@ class VectorStyleItem extends StyleItem {
486
421
  this.updateCesiumStyle();
487
422
  }
488
423
 
489
- /**
490
- * @private
491
- */
492
- _setFill() {
424
+ private _setFill(): void {
493
425
  if (this._style instanceof Style) {
494
- const color = this._fillOptions.pattern ?
495
- createPattern(this._fillOptions) :
496
- this._fillOptions.color;
426
+ const color = this._fillOptions?.pattern
427
+ ? createPattern(this._fillOptions as Required<VectorStyleItemFill>)
428
+ : this._fillOptions?.color;
429
+
430
+ if (!color) {
431
+ return;
432
+ }
433
+
497
434
  if (this._fill) {
498
435
  this._fill.setColor(color);
499
436
  } else {
@@ -501,38 +438,38 @@ class VectorStyleItem extends StyleItem {
501
438
  this._style.setFill(this._fill);
502
439
  }
503
440
 
504
- if (this._fillOptions.pattern) {
441
+ if (this._fillOptions?.pattern) {
505
442
  this._fill.fallBackColor = this._fillOptions.color;
506
443
  }
507
444
  this.updateCesiumStyle();
508
445
  }
509
446
  }
510
447
 
511
- updateCesiumStyle() {
448
+ updateCesiumStyle(): void {
512
449
  this.updateCesiumStyleColor(true);
513
450
  this.updateCesiumStyleImage(true);
514
451
  this.updateCesiumStyleText(true);
515
452
  this._styleChanged();
516
453
  }
517
454
 
518
- /**
519
- *
520
- * @param {boolean} silent
521
- */
522
- updateCesiumStyleColor(silent) {
455
+ updateCesiumStyleColor(silent: boolean): void {
523
456
  const colorConditions = getDefaultCondition('olcs_color', true);
524
457
  if (this.stroke && this.stroke.getColor()) {
525
- colorConditions.splice(1, 0, [`\${olcs_geometryType}===${OlcsGeometryType.POLYLINE}`, getStringColor(this.stroke.getColor())]);
458
+ colorConditions.splice(1, 0, [
459
+ `\${olcs_geometryType}===${OlcsGeometryType.POLYLINE}`,
460
+ getStringColor(this.stroke.getColor()),
461
+ ]);
526
462
  }
527
463
  if (this._image instanceof Circle && this._image.getFill()) {
528
- colorConditions.splice(
529
- 1, 0,
530
- [`\${olcs_geometryType}===${OlcsGeometryType.POINT}`, getStringColor(this._image.getFill().getColor())],
531
- );
464
+ colorConditions.splice(1, 0, [
465
+ `\${olcs_geometryType}===${OlcsGeometryType.POINT}`,
466
+ getStringColor(this._image.getFill().getColor() as OLColor),
467
+ ]);
532
468
  }
533
469
  if (this.fillColor) {
534
470
  colorConditions.splice(-1, 1, ['true', getStringColor(this.fillColor)]);
535
471
  }
472
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
536
473
  // @ts-ignore
537
474
  this.cesiumStyle.color = { conditions: colorConditions };
538
475
 
@@ -541,7 +478,7 @@ class VectorStyleItem extends StyleItem {
541
478
  }
542
479
  }
543
480
 
544
- updateCesiumStyleImage(silent) {
481
+ updateCesiumStyleImage(silent: boolean): void {
545
482
  /* this.cesiumStyle.show = {
546
483
  conditions: [
547
484
  ['${olcs_color}===false', false],
@@ -549,8 +486,12 @@ class VectorStyleItem extends StyleItem {
549
486
  ],
550
487
  } */
551
488
  const scaleConditions = getDefaultCondition('olcs_scale');
552
- const pointOutlineWidthConditions = getDefaultCondition('olcs_outlineWidth');
553
- const pointOutlineColorConditions = getDefaultCondition('olcs_outlineColor', true);
489
+ const pointOutlineWidthConditions =
490
+ getDefaultCondition('olcs_outlineWidth');
491
+ const pointOutlineColorConditions = getDefaultCondition(
492
+ 'olcs_outlineColor',
493
+ true,
494
+ );
554
495
  const pointSizeConditions = getDefaultCondition('olcs_pointSize');
555
496
  const imageConditions = getDefaultCondition('olcs_image');
556
497
  /* commented out, because we simulate the anchorline via a line in the tileset, TODO Evaluate again
@@ -566,25 +507,34 @@ class VectorStyleItem extends StyleItem {
566
507
  */
567
508
  if (this._image) {
568
509
  if (this._image.getScale() != null) {
569
- scaleConditions.splice(1, 1, ['true', `${this._image.getScale()}`]);
510
+ scaleConditions.splice(1, 1, [
511
+ 'true',
512
+ `${String(this._image.getScale())}`,
513
+ ]);
570
514
  }
571
515
  if (this._image instanceof Circle) {
572
516
  const stroke = this._image.getStroke();
573
517
  let size = this._image.getRadius() * 2;
574
518
  if (stroke) {
575
519
  if (this._image.getStroke().getColor()) {
576
- pointOutlineColorConditions.splice(1, 1, ['true', getStringColor(this._image.getStroke().getColor())]);
520
+ pointOutlineColorConditions.splice(1, 1, [
521
+ 'true',
522
+ getStringColor(this._image.getStroke().getColor()),
523
+ ]);
577
524
  }
578
- const width = this._image.getStroke().getWidth();
525
+ const width = this._image.getStroke().getWidth() as number;
579
526
  pointOutlineWidthConditions.splice(1, 1, ['true', `${width}`]);
580
527
  size -= width;
581
528
  }
582
529
  pointSizeConditions.splice(1, 1, ['true', `${size}`]);
583
530
  } else if (this._image instanceof RegularShape) {
584
- const dataUrl = /** @type {HTMLCanvasElement} */ (this._image.getImage(1)).toDataURL();
531
+ const dataUrl = this._image.getImage(1).toDataURL();
585
532
  imageConditions.splice(1, 1, ['true', `"${dataUrl}"`]);
586
533
  } else if (this._image instanceof Icon) {
587
- imageConditions.splice(1, 1, ['true', `"${this._image.getSrc()}"`]);
534
+ imageConditions.splice(1, 1, [
535
+ 'true',
536
+ `"${String(this._image.getSrc())}"`,
537
+ ]);
588
538
  }
589
539
  }
590
540
  /*
@@ -594,10 +544,14 @@ class VectorStyleItem extends StyleItem {
594
544
  */
595
545
  // @ts-ignore
596
546
  this.cesiumStyle.scale = { conditions: scaleConditions };
597
- // @ts-ignore
598
- this.cesiumStyle.pointOutlineWidth = { conditions: pointOutlineWidthConditions };
599
- // @ts-ignore
600
- this.cesiumStyle.pointOutlineColor = { conditions: pointOutlineColorConditions };
547
+ this.cesiumStyle.pointOutlineWidth = {
548
+ // @ts-ignore
549
+ conditions: pointOutlineWidthConditions,
550
+ };
551
+ this.cesiumStyle.pointOutlineColor = {
552
+ // @ts-ignore
553
+ conditions: pointOutlineColorConditions,
554
+ };
601
555
  // @ts-ignore
602
556
  this.cesiumStyle.pointSize = { conditions: pointSizeConditions };
603
557
  // @ts-ignore
@@ -619,27 +573,47 @@ class VectorStyleItem extends StyleItem {
619
573
  }
620
574
  }
621
575
 
622
- updateCesiumStyleText(silent) {
576
+ updateCesiumStyleText(silent: boolean): void {
623
577
  const fontConditions = getDefaultCondition('olcs_font');
624
578
  const labelTextConditions = getDefaultCondition('olcs_labelText');
625
579
  const labelColorConditions = getDefaultCondition('olcs_fontColor', true);
626
- const labelOutlineWidthConditions = getDefaultCondition('olcs_fontOutlineWidth');
627
- const labelOutlineColorConditions = getDefaultCondition('olcs_fontOutlineColor', true);
580
+ const labelOutlineWidthConditions = getDefaultCondition(
581
+ 'olcs_fontOutlineWidth',
582
+ );
583
+ const labelOutlineColorConditions = getDefaultCondition(
584
+ 'olcs_fontOutlineColor',
585
+ true,
586
+ );
628
587
 
629
588
  if (this._text) {
630
589
  if (this._text.getFont()) {
631
- fontConditions.splice(1, 1, ['true', `'${this._text.getFont()}'`]);
590
+ fontConditions.splice(1, 1, [
591
+ 'true',
592
+ `'${String(this._text.getFont())}'`,
593
+ ]);
632
594
  }
633
595
  if (this._text.getText()) {
634
- labelTextConditions.splice(1, 1, ['true', `'${this._text.getText()}'`]);
596
+ labelTextConditions.splice(1, 1, [
597
+ 'true',
598
+ `'${String(this._text.getText())}'`,
599
+ ]);
635
600
  }
636
601
  if (this._text.getFill() && this._text.getFill().getColor()) {
637
- labelColorConditions.splice(1, 1, ['true', getStringColor(this._text.getFill().getColor())]);
602
+ labelColorConditions.splice(1, 1, [
603
+ 'true',
604
+ getStringColor(this._text.getFill().getColor() as OLColor),
605
+ ]);
638
606
  }
639
607
 
640
608
  if (this._text.getStroke() && this._text.getStroke().getColor()) {
641
- labelOutlineColorConditions.splice(1, 1, ['true', getStringColor(this._text.getStroke().getColor())]);
642
- labelOutlineWidthConditions.splice(1, 1, ['true', `${this._text.getStroke().getWidth() || 1.25}`]);
609
+ labelOutlineColorConditions.splice(1, 1, [
610
+ 'true',
611
+ getStringColor(this._text.getStroke().getColor()),
612
+ ]);
613
+ labelOutlineWidthConditions.splice(1, 1, [
614
+ 'true',
615
+ `${this._text.getStroke().getWidth() || 1.25}`,
616
+ ]);
643
617
  }
644
618
  }
645
619
 
@@ -650,12 +624,17 @@ class VectorStyleItem extends StyleItem {
650
624
  // @ts-ignore
651
625
  this.cesiumStyle.labelColor = { conditions: labelColorConditions };
652
626
 
627
+ this.cesiumStyle.labelOutlineWidth = {
628
+ // @ts-ignore
629
+ conditions: labelOutlineWidthConditions,
630
+ };
631
+ this.cesiumStyle.labelOutlineColor = {
632
+ // @ts-ignore
633
+ conditions: labelOutlineColorConditions,
634
+ };
653
635
  // @ts-ignore
654
- this.cesiumStyle.labelOutlineWidth = { conditions: labelOutlineWidthConditions };
655
- // @ts-ignore
656
- this.cesiumStyle.labelOutlineColor = { conditions: labelOutlineColorConditions };
657
- // @ts-ignore
658
- this.cesiumStyle.labelStyle = 'Boolean(${olcs_fontOutlineWidth}) === true ? 2 : 0';
636
+ this.cesiumStyle.labelStyle =
637
+ 'Boolean(${olcs_fontOutlineWidth}) === true ? 2 : 0';
659
638
  // @ts-ignore
660
639
  this.cesiumStyle.labelHorizontalOrigin = '0';
661
640
 
@@ -689,24 +668,20 @@ class VectorStyleItem extends StyleItem {
689
668
  }
690
669
  }
691
670
 
692
- /**
693
- * @param {VectorStyleItem=} result
694
- * @returns {VectorStyleItem}
695
- * @api
696
- */
697
- clone(result) {
671
+ clone(result?: VectorStyleItem): VectorStyleItem {
698
672
  if (result) {
699
- result.style = this._style instanceof Style ? this._style.clone() : this._style;
673
+ result.style =
674
+ this._style instanceof Style ? this._style.clone() : this._style;
700
675
  if (this._fillOptions && this._fillOptions.color) {
701
- result.fillColor = /** @type {import("ol/color").Color} */ (this._fillOptions.color).slice();
676
+ result.fillColor = (this._fillOptions.color as OLColor).slice();
702
677
  if (this._fillOptions.pattern) {
703
678
  result.pattern = { ...this._fillOptions.pattern };
704
679
  }
705
680
  }
706
681
 
707
682
  Object.keys(this.exclude).forEach((section) => {
708
- if (this.exclude[section]) {
709
- result.unset(section);
683
+ if (this.exclude[section as keyof VectorStyleItemExclusion]) {
684
+ result.unset(section as keyof VectorStyleItemExclusion);
710
685
  }
711
686
  });
712
687
  return result;
@@ -716,12 +691,7 @@ class VectorStyleItem extends StyleItem {
716
691
  return new VectorStyleItem(config);
717
692
  }
718
693
 
719
- /**
720
- * @param {VectorStyleItem} result
721
- * @returns {VectorStyleItem}
722
- * @api
723
- */
724
- assign(result) {
694
+ assign(result: VectorStyleItem): VectorStyleItem {
725
695
  super.assign(result);
726
696
  if (result.fillColor) {
727
697
  this.fillColor = result.fillColor.slice();
@@ -750,24 +720,20 @@ class VectorStyleItem extends StyleItem {
750
720
  }
751
721
 
752
722
  Object.keys(result.exclude).forEach((section) => {
753
- if (result.exclude[section]) {
754
- this.unset(section);
723
+ if (result.exclude[section as keyof VectorStyleItemExclusion]) {
724
+ this.unset(section as keyof VectorStyleItemExclusion);
755
725
  }
756
726
  });
757
727
 
758
728
  return this;
759
729
  }
760
730
 
761
- /**
762
- * @returns {VectorStyleItemOptions}
763
- * @api
764
- */
765
- toJSON() {
731
+ toJSON(): VectorStyleItemOptions {
766
732
  // TODO clean default, only copy relevant keys
767
- const options = /** @type {VectorStyleItemOptions} */ (super.toJSON());
733
+ const options: VectorStyleItemOptions = super.toJSON();
768
734
  if (this._fillOptions) {
769
735
  options.fill = {
770
- color: /** @type {import("ol/color").Color} */ (parseColor(this._fillOptions.color).slice()),
736
+ color: parseColor(this._fillOptions.color).slice(),
771
737
  };
772
738
  if (this._fillOptions.pattern) {
773
739
  options.fill.pattern = { ...this._fillOptions.pattern };
@@ -790,28 +756,11 @@ class VectorStyleItem extends StyleItem {
790
756
  options.label = this._label;
791
757
  }
792
758
 
793
- if (this._image instanceof Icon) {
794
- options.image = {
795
- src: this._image.getSrc(), // XXX this is an issue... we dont want a data URI in the geoJSON
796
- scale: this._image.getScale(),
797
- opacity: this._image.getOpacity(),
798
- };
799
- } else if (this._image instanceof Circle) {
800
- options.image = {
801
- scale: this._image.getScale(),
802
- fill: getFillOptions(this._image),
803
- radius: this._image.getRadius(),
804
- stroke: this._image.getStroke() ? getStrokeOptions(this._image.getStroke()) : undefined,
805
- };
806
- } else if (this._image instanceof RegularShape) {
807
- options.image = {
808
- scale: this._image.getScale(),
809
- fill: getFillOptions(this._image),
810
- points: this._image.getPoints(),
811
- angle: this._image.getAngle(),
812
- radius: this._image.getRadius(),
813
- stroke: this._image.getStroke() ? getStrokeOptions(this._image.getStroke()) : undefined,
814
- };
759
+ const imageOptions = this._image
760
+ ? getImageStyleOptions(this._image)
761
+ : undefined;
762
+ if (imageOptions) {
763
+ options.image = imageOptions;
815
764
  } else if (this.exclude.image) {
816
765
  options.image = false;
817
766
  }
@@ -819,18 +768,13 @@ class VectorStyleItem extends StyleItem {
819
768
  return options;
820
769
  }
821
770
 
822
- /**
823
- * @param {import("ol").Feature<import("ol/geom/Geometry").default>} feature
824
- * @returns {VectorStyleItemOptions}
825
- */
826
- getOptionsForFeature(feature) {
827
- const type = feature.getGeometry().getType();
828
- const extrusion = feature.get('olcs_extrudedHeight') ||
829
- (feature.get('olcs_storeyHeight') && feature.get('olcs_storeyNumber'));
830
- const sections = new Set();
771
+ getOptionsForFeature(feature: Feature): VectorStyleItemOptions {
772
+ const type = feature.getGeometry()?.getType();
773
+ const extrusion = !!feature.get('olcs_extrudedHeight');
774
+ const sections: Set<keyof VectorStyleItemOptions> = new Set();
831
775
 
832
776
  if (type === 'Point' || type === 'MultiPoint') {
833
- if (feature[vectorStyleSymbol].label != null) {
777
+ if (feature[vectorStyleSymbol]?.label != null) {
834
778
  sections.add('text');
835
779
  sections.add('label');
836
780
  }
@@ -844,7 +788,11 @@ class VectorStyleItem extends StyleItem {
844
788
  if (extrusion) {
845
789
  sections.add('fill');
846
790
  }
847
- } else if (type === 'Polygon' || type === 'MultiPolygon' || type === 'Circle') {
791
+ } else if (
792
+ type === 'Polygon' ||
793
+ type === 'MultiPolygon' ||
794
+ type === 'Circle'
795
+ ) {
848
796
  sections.add('stroke');
849
797
  sections.add('fill');
850
798
  } else if (type === 'GeometryCollection') {
@@ -854,8 +802,9 @@ class VectorStyleItem extends StyleItem {
854
802
  sections.add('text');
855
803
  }
856
804
  const config = this.toJSON();
857
- const options = {};
805
+ const options: VectorStyleItemOptions = {};
858
806
  sections.forEach((key) => {
807
+ // @ts-ignore
859
808
  options[key] = config[key];
860
809
  });
861
810
  return options;
@@ -864,10 +813,9 @@ class VectorStyleItem extends StyleItem {
864
813
  /**
865
814
  * Exclude a section from this style. Excluded section are not returned and cannot be assigned via .assign.
866
815
  * Setting the section over a property will remove it from the excluded sections.
867
- * @param {string} section - one of fill, stroke, image
868
- * @api
816
+ * @param section - one of fill, stroke, image
869
817
  */
870
- unset(section) {
818
+ unset(section: keyof VectorStyleItemExclusion): void {
871
819
  check(section, Object.keys(this.exclude));
872
820
  if (section === 'fill') {
873
821
  this.fillColor = undefined;
@@ -877,43 +825,32 @@ class VectorStyleItem extends StyleItem {
877
825
  this.exclude[section] = true;
878
826
  }
879
827
 
880
- /**
881
- * @inheritDoc
882
- */
883
- destroy() {
884
- this._image = null;
885
- this._stroke = null;
886
- this._fill = null;
887
- this._label = null;
888
- this._text = null;
889
- this._style = null;
828
+ destroy(): void {
829
+ this._image = undefined;
830
+ this._stroke = undefined;
831
+ this._fill = undefined;
832
+ this._label = undefined;
833
+ this._text = undefined;
834
+ this._style = (): void => {};
890
835
  super.destroy();
891
836
  }
892
837
  }
893
838
 
894
839
  export default VectorStyleItem;
895
840
 
896
- /**
897
- * @type {VectorStyleItem}
898
- * @export
899
- */
900
- export const defaultVectorStyle = new VectorStyleItem(getDefaultVectorStyleItemOptions());
841
+ export const defaultVectorStyle = new VectorStyleItem(
842
+ getDefaultVectorStyleItemOptions(),
843
+ );
901
844
  styleClassRegistry.registerClass(VectorStyleItem.className, VectorStyleItem);
902
845
 
903
- /**
904
- * @param {import("@vcmap/cesium").Color} cesiumColor
905
- * @returns {VectorStyleItem}
906
- * @export
907
- */
908
- export function fromCesiumColor(cesiumColor) {
909
- const color = /** @type {import("ol/color").Color} */ (cesiumColor.toBytes());
846
+ export function fromCesiumColor(cesiumColor: Color): VectorStyleItem {
847
+ const color = cesiumColor.toBytes();
910
848
  color[3] /= 255;
911
849
  return new VectorStyleItem({
912
850
  fill: { color },
913
851
  stroke: {
914
852
  color,
915
- width: defaultVectorStyle.stroke.getWidth(),
853
+ width: defaultVectorStyle.stroke?.getWidth() as number,
916
854
  },
917
855
  });
918
856
  }
919
-