@vcmap/core 5.0.2 → 5.1.0-rc.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 (309) hide show
  1. package/dist/cesium.d.ts +257 -0
  2. package/dist/geojson.d.ts +27 -0
  3. package/dist/index.d.ts +15 -2
  4. package/dist/index.js +9 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/ol.d.ts +138 -0
  7. package/dist/src/classRegistry.js +2 -2
  8. package/dist/src/classRegistry.js.map +1 -1
  9. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +2 -1
  10. package/dist/src/featureProvider/abstractFeatureProvider.js +2 -1
  11. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
  12. package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +1 -1
  13. package/dist/src/featureProvider/tileProviderFeatureProvider.js +2 -2
  14. package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -1
  15. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +1 -1
  16. package/dist/src/featureProvider/wmsFeatureProvider.js +4 -3
  17. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
  18. package/dist/src/interaction/eventHandler.js +3 -3
  19. package/dist/src/interaction/eventHandler.js.map +1 -1
  20. package/dist/src/interaction/featureProviderInteraction.js +1 -1
  21. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  22. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +4 -1
  23. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +31 -2
  24. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
  25. package/dist/src/layer/cesium/resourceHelper.d.ts +2 -0
  26. package/dist/src/layer/cesium/resourceHelper.js +12 -0
  27. package/dist/src/layer/cesium/resourceHelper.js.map +1 -0
  28. package/dist/src/layer/cesium/singleImageCesiumImpl.js +2 -1
  29. package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -1
  30. package/dist/src/layer/cesium/terrainCesiumImpl.js +1 -1
  31. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
  32. package/dist/src/layer/cesium/tmsCesiumImpl.js +2 -1
  33. package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -1
  34. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -0
  35. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
  36. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +2 -0
  37. package/dist/src/layer/cesium/vectorTileImageryProvider.js +3 -1
  38. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
  39. package/dist/src/layer/cesium/wmsCesiumImpl.js +2 -1
  40. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
  41. package/dist/src/layer/cesium/wmtsCesiumImpl.js +2 -1
  42. package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -1
  43. package/dist/src/layer/cesiumTilesetLayer.d.ts +5 -1
  44. package/dist/src/layer/cesiumTilesetLayer.js +17 -7
  45. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
  46. package/dist/src/layer/czmlLayer.js +2 -1
  47. package/dist/src/layer/czmlLayer.js.map +1 -1
  48. package/dist/src/layer/featureLayer.js +2 -2
  49. package/dist/src/layer/featureLayer.js.map +1 -1
  50. package/dist/src/layer/featureStoreLayer.js +8 -5
  51. package/dist/src/layer/featureStoreLayer.js.map +1 -1
  52. package/dist/src/layer/featureStoreLayerChanges.d.ts +20 -8
  53. package/dist/src/layer/featureStoreLayerChanges.js +26 -26
  54. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
  55. package/dist/src/layer/featureStoreLayerState.d.ts +1 -5
  56. package/dist/src/layer/featureStoreLayerState.js +0 -9
  57. package/dist/src/layer/featureStoreLayerState.js.map +1 -1
  58. package/dist/src/layer/geojsonLayer.js +3 -2
  59. package/dist/src/layer/geojsonLayer.js.map +1 -1
  60. package/dist/src/layer/layer.d.ts +15 -0
  61. package/dist/src/layer/layer.js +30 -4
  62. package/dist/src/layer/layer.js.map +1 -1
  63. package/dist/src/layer/layerImplementation.d.ts +1 -0
  64. package/dist/src/layer/layerImplementation.js +2 -0
  65. package/dist/src/layer/layerImplementation.js.map +1 -1
  66. package/dist/src/layer/oblique/vectorObliqueImpl.js +9 -6
  67. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  68. package/dist/src/layer/openlayers/loadFunctionHelpers.d.ts +2 -0
  69. package/dist/src/layer/openlayers/loadFunctionHelpers.js +20 -0
  70. package/dist/src/layer/openlayers/loadFunctionHelpers.js.map +1 -0
  71. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +25 -1
  72. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -1
  73. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +9 -1
  74. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -1
  75. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +1 -1
  76. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
  77. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +4 -1
  78. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +20 -1
  79. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -1
  80. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +9 -1
  81. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -1
  82. package/dist/src/layer/pointCloudLayer.js +2 -2
  83. package/dist/src/layer/pointCloudLayer.js.map +1 -1
  84. package/dist/src/layer/terrainHelpers.d.ts +3 -3
  85. package/dist/src/layer/terrainHelpers.js +12 -7
  86. package/dist/src/layer/terrainHelpers.js.map +1 -1
  87. package/dist/src/layer/terrainLayer.js +1 -1
  88. package/dist/src/layer/terrainLayer.js.map +1 -1
  89. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +1 -1
  90. package/dist/src/layer/tileProvider/mvtTileProvider.js +4 -3
  91. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
  92. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +1 -1
  93. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +4 -3
  94. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
  95. package/dist/src/layer/tileProvider/tileProvider.d.ts +14 -11
  96. package/dist/src/layer/tileProvider/tileProvider.js +23 -20
  97. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
  98. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +1 -1
  99. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +4 -3
  100. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
  101. package/dist/src/layer/vectorLayer.d.ts +1 -2
  102. package/dist/src/layer/vectorLayer.js +3 -3
  103. package/dist/src/layer/vectorLayer.js.map +1 -1
  104. package/dist/src/layer/vectorProperties.d.ts +11 -16
  105. package/dist/src/layer/vectorProperties.js +16 -13
  106. package/dist/src/layer/vectorProperties.js.map +1 -1
  107. package/dist/src/layer/wfsLayer.js +9 -6
  108. package/dist/src/layer/wfsLayer.js.map +1 -1
  109. package/dist/src/layer/wmsHelpers.d.ts +10 -0
  110. package/dist/src/layer/wmsHelpers.js +53 -12
  111. package/dist/src/layer/wmsHelpers.js.map +1 -1
  112. package/dist/src/layer/wmsLayer.d.ts +6 -0
  113. package/dist/src/layer/wmsLayer.js +5 -2
  114. package/dist/src/layer/wmsLayer.js.map +1 -1
  115. package/dist/src/map/cameraLimiter.d.ts +5 -0
  116. package/dist/src/map/cameraLimiter.js +11 -4
  117. package/dist/src/map/cameraLimiter.js.map +1 -1
  118. package/dist/src/map/cesiumMap.d.ts +20 -1
  119. package/dist/src/map/cesiumMap.js +51 -2
  120. package/dist/src/map/cesiumMap.js.map +1 -1
  121. package/dist/src/map/vcsMap.js +2 -2
  122. package/dist/src/map/vcsMap.js.map +1 -1
  123. package/dist/src/oblique/helpers.d.ts +1 -1
  124. package/dist/src/oblique/helpers.js +5 -9
  125. package/dist/src/oblique/helpers.js.map +1 -1
  126. package/dist/src/oblique/obliqueCollection.d.ts +1 -0
  127. package/dist/src/oblique/obliqueCollection.js +1 -1
  128. package/dist/src/oblique/obliqueCollection.js.map +1 -1
  129. package/dist/src/oblique/obliqueDataSet.d.ts +3 -1
  130. package/dist/src/oblique/obliqueDataSet.js +13 -6
  131. package/dist/src/oblique/obliqueDataSet.js.map +1 -1
  132. package/dist/src/oblique/obliqueImageMeta.d.ts +2 -0
  133. package/dist/src/oblique/obliqueImageMeta.js +2 -0
  134. package/dist/src/oblique/obliqueImageMeta.js.map +1 -1
  135. package/dist/src/oblique/obliqueView.d.ts +1 -0
  136. package/dist/src/oblique/obliqueView.js +12 -2
  137. package/dist/src/oblique/obliqueView.js.map +1 -1
  138. package/dist/src/oblique/parseImageJson.d.ts +6 -5
  139. package/dist/src/oblique/parseImageJson.js +7 -5
  140. package/dist/src/oblique/parseImageJson.js.map +1 -1
  141. package/dist/src/ol/geom/circle.js.map +1 -1
  142. package/dist/src/style/declarativeStyleItem.js +10 -2
  143. package/dist/src/style/declarativeStyleItem.js.map +1 -1
  144. package/dist/src/style/styleFactory.js +2 -2
  145. package/dist/src/style/styleFactory.js.map +1 -1
  146. package/dist/src/style/styleHelpers.js +13 -3
  147. package/dist/src/style/styleHelpers.js.map +1 -1
  148. package/dist/src/style/vectorStyleItem.js +29 -16
  149. package/dist/src/style/vectorStyleItem.js.map +1 -1
  150. package/dist/src/util/clipping/clippingPlaneHelper.js +3 -3
  151. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
  152. package/dist/src/util/editor/createFeatureSession.d.ts +2 -2
  153. package/dist/src/util/editor/createFeatureSession.js +2 -2
  154. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  155. package/dist/src/util/editor/editFeaturesSession.d.ts +2 -2
  156. package/dist/src/util/editor/editGeometrySession.d.ts +2 -2
  157. package/dist/src/util/editor/editorSessionHelpers.d.ts +2 -2
  158. package/dist/src/util/editor/selectFeaturesSession.d.ts +2 -2
  159. package/dist/src/util/editor/selectFeaturesSession.js +2 -2
  160. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  161. package/dist/src/util/featureconverter/arcToCesium.d.ts +1 -1
  162. package/dist/src/util/featureconverter/arcToCesium.js +5 -2
  163. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
  164. package/dist/src/util/featureconverter/circleToCesium.d.ts +4 -2
  165. package/dist/src/util/featureconverter/circleToCesium.js +8 -3
  166. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
  167. package/dist/src/util/featureconverter/extent3D.js.map +1 -1
  168. package/dist/src/util/featureconverter/featureconverterHelper.js +2 -2
  169. package/dist/src/util/featureconverter/featureconverterHelper.js.map +1 -1
  170. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +3 -1
  171. package/dist/src/util/featureconverter/lineStringToCesium.js +7 -2
  172. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
  173. package/dist/src/util/featureconverter/pointToCesium.js +1 -1
  174. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
  175. package/dist/src/util/featureconverter/polygonToCesium.d.ts +3 -3
  176. package/dist/src/util/featureconverter/polygonToCesium.js +9 -15
  177. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
  178. package/dist/src/util/fetch.d.ts +2 -0
  179. package/dist/src/util/fetch.js +16 -0
  180. package/dist/src/util/fetch.js.map +1 -1
  181. package/dist/src/util/flight/flightAnchor.d.ts +23 -0
  182. package/dist/src/util/flight/flightAnchor.js +152 -0
  183. package/dist/src/util/flight/flightAnchor.js.map +1 -0
  184. package/dist/src/util/flight/flightCollection.d.ts +25 -0
  185. package/dist/src/util/flight/flightCollection.js +63 -0
  186. package/dist/src/util/flight/flightCollection.js.map +1 -0
  187. package/dist/src/util/flight/flightHelpers.d.ts +29 -0
  188. package/dist/src/util/flight/flightHelpers.js +134 -0
  189. package/dist/src/util/flight/flightHelpers.js.map +1 -0
  190. package/dist/src/util/flight/flightInstance.d.ts +57 -0
  191. package/dist/src/util/flight/flightInstance.js +166 -0
  192. package/dist/src/util/flight/flightInstance.js.map +1 -0
  193. package/dist/src/util/flight/flightPlayer.d.ts +30 -0
  194. package/dist/src/util/flight/flightPlayer.js +247 -0
  195. package/dist/src/util/flight/flightPlayer.js.map +1 -0
  196. package/dist/src/util/flight/flightVisualizer.d.ts +18 -0
  197. package/dist/src/util/flight/flightVisualizer.js +151 -0
  198. package/dist/src/util/flight/flightVisualizer.js.map +1 -0
  199. package/dist/src/util/hiddenObjects.d.ts +8 -0
  200. package/dist/src/util/hiddenObjects.js +17 -0
  201. package/dist/src/util/hiddenObjects.js.map +1 -0
  202. package/dist/src/util/mapCollection.js +2 -2
  203. package/dist/src/util/mapCollection.js.map +1 -1
  204. package/dist/src/util/overrideCollection.d.ts +8 -3
  205. package/dist/src/util/overrideCollection.js +17 -0
  206. package/dist/src/util/overrideCollection.js.map +1 -1
  207. package/dist/src/util/projection.js +5 -2
  208. package/dist/src/util/projection.js.map +1 -1
  209. package/dist/src/util/viewpoint.d.ts +1 -0
  210. package/dist/src/util/viewpoint.js +24 -7
  211. package/dist/src/util/viewpoint.js.map +1 -1
  212. package/dist/src/vcsApp.d.ts +10 -3
  213. package/dist/src/vcsApp.js +34 -15
  214. package/dist/src/vcsApp.js.map +1 -1
  215. package/dist/src/vcsModule.d.ts +4 -0
  216. package/dist/src/vcsModule.js.map +1 -1
  217. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +2 -2
  218. package/dist/tests/unit/helpers/cesiumHelpers.js +2 -1
  219. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  220. package/dist/tests/unit/helpers/terrain/terrainData.d.ts +7 -0
  221. package/dist/tests/unit/helpers/terrain/terrainData.js +2 -2
  222. package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -1
  223. package/index.ts +39 -1
  224. package/package.json +4 -2
  225. package/src/classRegistry.ts +2 -2
  226. package/src/featureProvider/abstractFeatureProvider.ts +2 -0
  227. package/src/featureProvider/tileProviderFeatureProvider.ts +2 -0
  228. package/src/featureProvider/wmsFeatureProvider.ts +4 -2
  229. package/src/interaction/eventHandler.ts +3 -3
  230. package/src/interaction/featureProviderInteraction.ts +1 -0
  231. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +44 -5
  232. package/src/layer/cesium/resourceHelper.ts +15 -0
  233. package/src/layer/cesium/singleImageCesiumImpl.ts +2 -1
  234. package/src/layer/cesium/terrainCesiumImpl.ts +2 -1
  235. package/src/layer/cesium/tmsCesiumImpl.ts +2 -1
  236. package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +1 -0
  237. package/src/layer/cesium/vectorTileImageryProvider.ts +10 -1
  238. package/src/layer/cesium/wmsCesiumImpl.ts +2 -1
  239. package/src/layer/cesium/wmtsCesiumImpl.ts +4 -2
  240. package/src/layer/cesiumTilesetLayer.ts +25 -7
  241. package/src/layer/czmlLayer.ts +2 -1
  242. package/src/layer/featureLayer.ts +2 -2
  243. package/src/layer/featureStoreLayer.ts +8 -8
  244. package/src/layer/featureStoreLayerChanges.ts +63 -45
  245. package/src/layer/featureStoreLayerState.ts +6 -5
  246. package/src/layer/geojsonLayer.ts +3 -3
  247. package/src/layer/layer.ts +41 -4
  248. package/src/layer/layerImplementation.ts +3 -0
  249. package/src/layer/oblique/vectorObliqueImpl.ts +9 -8
  250. package/src/layer/openlayers/loadFunctionHelpers.ts +24 -0
  251. package/src/layer/openlayers/singleImageOpenlayersImpl.ts +25 -1
  252. package/src/layer/openlayers/tmsOpenlayersImpl.ts +8 -1
  253. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +1 -0
  254. package/src/layer/openlayers/wmsOpenlayersImpl.ts +23 -2
  255. package/src/layer/openlayers/wmtsOpenlayersImpl.ts +8 -1
  256. package/src/layer/pointCloudLayer.ts +2 -2
  257. package/src/layer/terrainHelpers.ts +19 -6
  258. package/src/layer/terrainLayer.ts +8 -4
  259. package/src/layer/tileProvider/mvtTileProvider.ts +9 -3
  260. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +9 -3
  261. package/src/layer/tileProvider/tileProvider.ts +49 -13
  262. package/src/layer/tileProvider/urlTemplateTileProvider.ts +10 -3
  263. package/src/layer/vectorLayer.ts +9 -9
  264. package/src/layer/vectorProperties.ts +46 -22
  265. package/src/layer/wfsLayer.ts +9 -6
  266. package/src/layer/wmsHelpers.ts +78 -10
  267. package/src/layer/wmsLayer.ts +11 -2
  268. package/src/map/cameraLimiter.ts +21 -2
  269. package/src/map/cesiumMap.ts +67 -2
  270. package/src/map/vcsMap.ts +2 -2
  271. package/src/oblique/helpers.ts +5 -13
  272. package/src/oblique/obliqueCollection.ts +2 -0
  273. package/src/oblique/obliqueDataSet.ts +16 -2
  274. package/src/oblique/obliqueImageMeta.ts +4 -0
  275. package/src/oblique/obliqueView.ts +12 -2
  276. package/src/oblique/parseImageJson.ts +7 -4
  277. package/src/ol/geojson.d.ts +1 -2
  278. package/src/ol/geom/circle.ts +1 -1
  279. package/src/style/declarativeStyleItem.ts +10 -2
  280. package/src/style/styleFactory.ts +2 -2
  281. package/src/style/styleHelpers.ts +13 -4
  282. package/src/style/vectorStyleItem.ts +32 -20
  283. package/src/util/clipping/clippingPlaneHelper.ts +3 -3
  284. package/src/util/editor/createFeatureSession.ts +9 -8
  285. package/src/util/editor/editFeaturesSession.ts +1 -1
  286. package/src/util/editor/editGeometrySession.ts +1 -1
  287. package/src/util/editor/editorSessionHelpers.ts +2 -2
  288. package/src/util/editor/selectFeaturesSession.ts +3 -3
  289. package/src/util/featureconverter/arcToCesium.ts +5 -1
  290. package/src/util/featureconverter/circleToCesium.ts +8 -2
  291. package/src/util/featureconverter/extent3D.ts +1 -1
  292. package/src/util/featureconverter/featureconverterHelper.ts +3 -5
  293. package/src/util/featureconverter/lineStringToCesium.ts +8 -1
  294. package/src/util/featureconverter/pointToCesium.ts +1 -1
  295. package/src/util/featureconverter/polygonToCesium.ts +6 -15
  296. package/src/util/fetch.ts +25 -0
  297. package/src/util/flight/flightAnchor.ts +195 -0
  298. package/src/util/flight/flightCollection.ts +78 -0
  299. package/src/util/flight/flightHelpers.ts +208 -0
  300. package/src/util/flight/flightInstance.ts +240 -0
  301. package/src/util/flight/flightPlayer.ts +326 -0
  302. package/src/util/flight/flightVisualizer.ts +202 -0
  303. package/src/util/hiddenObjects.ts +35 -0
  304. package/src/util/mapCollection.ts +2 -2
  305. package/src/util/overrideCollection.ts +26 -3
  306. package/src/util/projection.ts +5 -2
  307. package/src/util/viewpoint.ts +27 -7
  308. package/src/vcsApp.ts +56 -15
  309. package/src/vcsModule.ts +4 -0
@@ -0,0 +1,247 @@
1
+ import { HeadingPitchRoll, } from '@vcmap-cesium/engine';
2
+ import { getLogger } from '@vcsuite/logger';
3
+ import { check } from '@vcsuite/check';
4
+ import CesiumMap from '../../map/cesiumMap.js';
5
+ import { getSplineAndTimesForInstance } from './flightHelpers.js';
6
+ import FlightInstance from './flightInstance.js';
7
+ import VcsEvent from '../../vcsEvent.js';
8
+ import VcsApp from '../../vcsApp.js';
9
+ function getDefaultFlightPlayerClock() {
10
+ return {
11
+ startTime: 0,
12
+ endTime: 0,
13
+ currentTime: 0,
14
+ times: [],
15
+ };
16
+ }
17
+ export async function createFlightPlayer(instance, app) {
18
+ check(instance, FlightInstance);
19
+ check(app, VcsApp);
20
+ let cesiumMap = app.maps.activeMap instanceof CesiumMap
21
+ ? app.maps.activeMap
22
+ : app.maps.getByType(CesiumMap.className)[0];
23
+ if (!cesiumMap) {
24
+ throw new Error('Cannot start a flight player without a cesium map');
25
+ }
26
+ await instance.initialize();
27
+ const clock = getDefaultFlightPlayerClock();
28
+ let playerState = 'stopped';
29
+ const stateChanged = new VcsEvent();
30
+ const setState = (state) => {
31
+ playerState = state;
32
+ stateChanged.raiseEvent(playerState);
33
+ };
34
+ let destinationSpline;
35
+ let quaternionSpline;
36
+ let postRenderListener;
37
+ let backedBeforeTimeout;
38
+ let screenSpaceCameraController;
39
+ const stop = () => {
40
+ if (playerState !== 'stopped') {
41
+ if (postRenderListener) {
42
+ postRenderListener();
43
+ postRenderListener = undefined;
44
+ }
45
+ if (screenSpaceCameraController) {
46
+ screenSpaceCameraController.enableInputs = true;
47
+ }
48
+ setState('stopped');
49
+ clock.currentTime = 0;
50
+ clock.currentSystemTime = undefined;
51
+ }
52
+ };
53
+ const updateSplines = () => {
54
+ if (!instance.isValid()) {
55
+ stop();
56
+ Object.assign(clock, getDefaultFlightPlayerClock());
57
+ }
58
+ else {
59
+ const splines = getSplineAndTimesForInstance(instance);
60
+ ({ destinationSpline, quaternionSpline } = splines);
61
+ const { times } = splines;
62
+ clock.endTime = times[times.length - 1];
63
+ clock.times = times;
64
+ }
65
+ };
66
+ updateSplines();
67
+ const listeners = [
68
+ instance.anchorsChanged.addEventListener(updateSplines),
69
+ instance.propertyChanged.addEventListener((property) => {
70
+ if (property === 'interpolation' || property === 'loop') {
71
+ updateSplines();
72
+ }
73
+ }),
74
+ app.maps.mapActivated.addEventListener(() => {
75
+ stop();
76
+ if (app.maps.activeMap instanceof CesiumMap) {
77
+ cesiumMap = app.maps.activeMap;
78
+ }
79
+ }),
80
+ ];
81
+ const cesiumPostRender = (scene) => {
82
+ const time = Date.now() / 1000;
83
+ if (!clock.currentSystemTime) {
84
+ clock.currentSystemTime = time;
85
+ }
86
+ const seconds = time - clock.currentSystemTime;
87
+ clock.currentSystemTime = time;
88
+ if (playerState === 'paused') {
89
+ if (screenSpaceCameraController) {
90
+ screenSpaceCameraController.enableInputs = true;
91
+ }
92
+ return;
93
+ }
94
+ clock.currentTime += seconds * instance.multiplier;
95
+ if (clock.currentTime > clock.endTime) {
96
+ if (instance.loop && clock.endTime > 0) {
97
+ while (clock.currentTime > clock.endTime) {
98
+ clock.currentTime -= clock.endTime;
99
+ }
100
+ }
101
+ else {
102
+ stop();
103
+ }
104
+ }
105
+ else if (clock.currentTime < clock.startTime) {
106
+ if (instance.loop) {
107
+ clock.currentTime = clock.endTime + clock.currentTime;
108
+ }
109
+ else {
110
+ clock.currentTime = clock.startTime;
111
+ return;
112
+ }
113
+ }
114
+ const view = {
115
+ destination: destinationSpline.evaluate(clock.currentTime),
116
+ orientation: HeadingPitchRoll.fromQuaternion(quaternionSpline.evaluate(clock.currentTime)),
117
+ };
118
+ scene.camera.setView(view);
119
+ if (playerState === 'playing') {
120
+ if (screenSpaceCameraController) {
121
+ screenSpaceCameraController.enableInputs = false;
122
+ }
123
+ }
124
+ };
125
+ const play = () => {
126
+ if (playerState === 'playing') {
127
+ return;
128
+ }
129
+ if (!(app.maps.activeMap instanceof CesiumMap)) {
130
+ getLogger('FlightPlayer').warning('cannot play without a cesium map active');
131
+ return;
132
+ }
133
+ if (playerState === 'paused') {
134
+ setState('playing');
135
+ return;
136
+ }
137
+ if (postRenderListener) {
138
+ postRenderListener();
139
+ postRenderListener = undefined;
140
+ }
141
+ const scene = cesiumMap.getScene();
142
+ if (!scene) {
143
+ return;
144
+ }
145
+ ({ screenSpaceCameraController } = scene);
146
+ postRenderListener = scene.postRender.addEventListener(cesiumPostRender);
147
+ clock.currentSystemTime = undefined;
148
+ setState('playing');
149
+ };
150
+ const goToTime = (time) => {
151
+ if (time > clock.endTime) {
152
+ getLogger('FlightPlayer').warning(`time: ${time} out of range`);
153
+ return;
154
+ }
155
+ clock.currentTime = time;
156
+ clock.currentSystemTime = undefined;
157
+ if (playerState !== 'playing') {
158
+ const view = {
159
+ destination: destinationSpline.evaluate(clock.currentTime),
160
+ orientation: HeadingPitchRoll.fromQuaternion(quaternionSpline.evaluate(clock.currentTime)),
161
+ };
162
+ cesiumMap.getScene()?.camera.setView(view);
163
+ }
164
+ };
165
+ const destroyed = new VcsEvent();
166
+ const destroy = () => {
167
+ if (postRenderListener) {
168
+ postRenderListener();
169
+ postRenderListener = undefined;
170
+ }
171
+ if (screenSpaceCameraController) {
172
+ screenSpaceCameraController.enableInputs = true;
173
+ screenSpaceCameraController = undefined;
174
+ }
175
+ if (backedBeforeTimeout != null) {
176
+ clearTimeout(backedBeforeTimeout);
177
+ }
178
+ listeners.forEach((cb) => {
179
+ cb();
180
+ });
181
+ stateChanged.destroy();
182
+ destroyed.raiseEvent();
183
+ destroyed.destroy();
184
+ };
185
+ listeners.push(app.flights.removed.addEventListener((flight) => {
186
+ if (flight === instance) {
187
+ destroy();
188
+ }
189
+ }), app.flights.added.addEventListener((flight) => {
190
+ if (flight.name === instance.name) {
191
+ destroy();
192
+ }
193
+ }));
194
+ return {
195
+ clock,
196
+ get flightInstanceName() {
197
+ return instance.name;
198
+ },
199
+ get state() {
200
+ return playerState;
201
+ },
202
+ get stateChanged() {
203
+ return stateChanged;
204
+ },
205
+ get destroyed() {
206
+ return destroyed;
207
+ },
208
+ play,
209
+ stop,
210
+ pause() {
211
+ if (playerState === 'playing') {
212
+ setState('paused');
213
+ }
214
+ },
215
+ goToTime,
216
+ /**
217
+ * forwards the currentTime to the next anchor
218
+ */
219
+ forward() {
220
+ const seconds = clock.currentTime;
221
+ const newTime = clock.times.find((t) => t > seconds) ||
222
+ clock.times[clock.times.length - 1];
223
+ goToTime(newTime);
224
+ },
225
+ /**
226
+ * resets the currentTime to the previous anchor
227
+ */
228
+ backward() {
229
+ const seconds = clock.currentTime;
230
+ let index = clock.times.findIndex((t) => t >= seconds) - 1;
231
+ if (backedBeforeTimeout != null) {
232
+ index -= 1;
233
+ clearTimeout(backedBeforeTimeout);
234
+ }
235
+ if (index < 0) {
236
+ index = 0;
237
+ }
238
+ const newTime = clock.times[index];
239
+ goToTime(newTime);
240
+ backedBeforeTimeout = window.setTimeout(() => {
241
+ backedBeforeTimeout = undefined;
242
+ }, 700);
243
+ },
244
+ destroy,
245
+ };
246
+ }
247
+ //# sourceMappingURL=flightPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flightPlayer.js","sourceRoot":"","sources":["../../../../src/util/flight/flightPlayer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import FlightInstance from './flightInstance.js';
2
+ import type VcsApp from '../../vcsApp.js';
3
+ import LayerState from '../../layer/layerState.js';
4
+ import VcsEvent from '../../vcsEvent.js';
5
+ export type FlightVisualization = {
6
+ readonly state: LayerState;
7
+ readonly stateChanged: VcsEvent<LayerState>;
8
+ readonly destroyed: VcsEvent<void>;
9
+ deactivate(): void;
10
+ activate(): Promise<void>;
11
+ destroy(): void;
12
+ zoomToExtent(): Promise<void>;
13
+ };
14
+ declare const flightVisualizationSymbol: unique symbol;
15
+ export declare function createFlightVisualization(instance: FlightInstance & {
16
+ [flightVisualizationSymbol]?: FlightVisualization;
17
+ }, app: VcsApp): Promise<FlightVisualization>;
18
+ export {};
@@ -0,0 +1,151 @@
1
+ import { PrimitiveCollection, Camera, Cartesian3, HeadingPitchRoll, } from '@vcmap-cesium/engine';
2
+ import { createEmpty, isEmpty } from 'ol/extent.js';
3
+ import Feature from 'ol/Feature.js';
4
+ import { Point, LineString } from 'ol/geom.js';
5
+ import { check } from '@vcsuite/check';
6
+ import { mercatorToWgs84Transformer, wgs84Projection } from '../projection.js';
7
+ import VectorLayer from '../../layer/vectorLayer.js';
8
+ import Viewpoint from '../viewpoint.js';
9
+ import CesiumMap from '../../map/cesiumMap.js';
10
+ import VcsCameraPrimitive from '../../cesium/cesiumVcsCameraPrimitive.js';
11
+ import FlightInstance from './flightInstance.js';
12
+ import { getFlightPathCoordinatesFromInstance } from './flightHelpers.js';
13
+ import VcsEvent from '../../vcsEvent.js';
14
+ import DeclarativeStyleItem from '../../style/declarativeStyleItem.js';
15
+ import { markVolatile } from '../../vcsModule.js';
16
+ const flightVisualizationSymbol = Symbol('flightVisualization');
17
+ export async function createFlightVisualization(instance, app) {
18
+ check(instance, FlightInstance);
19
+ if (instance[flightVisualizationSymbol]) {
20
+ return instance[flightVisualizationSymbol];
21
+ }
22
+ await instance.initialize();
23
+ let extent = createEmpty();
24
+ const primitives = new PrimitiveCollection();
25
+ primitives.show = false;
26
+ const layer = new VectorLayer({
27
+ projection: wgs84Projection.toJSON(),
28
+ name: `flightLayer-${instance.name}`,
29
+ style: {
30
+ type: DeclarativeStyleItem.className,
31
+ declarativeStyle: {
32
+ // eslint-disable-next-line no-template-curly-in-string
33
+ labelText: '${title}',
34
+ image: 'false',
35
+ color: 'color("#333333")',
36
+ strokeWidth: '2',
37
+ },
38
+ },
39
+ vectorProperties: {
40
+ altitudeMode: 'absolute',
41
+ },
42
+ });
43
+ markVolatile(layer);
44
+ let scene;
45
+ const [cesiumMap] = app.maps.getByType(CesiumMap.className);
46
+ if (cesiumMap) {
47
+ scene = cesiumMap.getScene();
48
+ if (scene && !scene.primitives.contains(primitives)) {
49
+ scene.primitives.add(primitives);
50
+ }
51
+ }
52
+ app.layers.add(layer);
53
+ const setFeatures = () => {
54
+ layer.removeAllFeatures();
55
+ primitives.removeAll();
56
+ const features = [];
57
+ for (const anchor of instance.anchors) {
58
+ if (scene) {
59
+ const camera = new Camera(scene);
60
+ camera.frustum.far = 200;
61
+ camera.frustum.near = 10;
62
+ camera.setView({
63
+ destination: Cartesian3.fromDegrees(anchor.coordinate[0], anchor.coordinate[1], anchor.coordinate[2]),
64
+ orientation: HeadingPitchRoll.fromDegrees(anchor.heading, anchor.pitch, anchor.roll),
65
+ });
66
+ primitives.add(new VcsCameraPrimitive({ camera, allowPicking: false }));
67
+ }
68
+ features.push(new Feature({
69
+ geometry: new Point(anchor.coordinate, 'XYZ'),
70
+ title: anchor.title ?? anchor.name,
71
+ duration: anchor.duration,
72
+ }));
73
+ }
74
+ if (instance.isValid()) {
75
+ const pathCoordinates = getFlightPathCoordinatesFromInstance(instance);
76
+ const flightPath = new Feature({
77
+ geometry: new LineString(pathCoordinates, 'XYZ'),
78
+ });
79
+ flightPath.setId('flightPathGeom');
80
+ features.push(flightPath);
81
+ }
82
+ layer.addFeatures(features);
83
+ const mercatorExtent = layer.getSource().getExtent();
84
+ extent = mercatorToWgs84Transformer(mercatorExtent, mercatorExtent, 2);
85
+ };
86
+ setFeatures();
87
+ const changeListeners = [
88
+ instance.anchorsChanged.addEventListener(setFeatures),
89
+ instance.propertyChanged.addEventListener((property) => {
90
+ if (property === 'loop' || property === 'interpolation') {
91
+ setFeatures();
92
+ }
93
+ }),
94
+ ];
95
+ const destroyed = new VcsEvent();
96
+ const destroy = () => {
97
+ layer.deactivate();
98
+ app.layers.remove(layer);
99
+ layer.destroy();
100
+ if (scene && scene.primitives.contains(primitives)) {
101
+ scene.primitives.remove(primitives);
102
+ }
103
+ changeListeners.forEach((cb) => {
104
+ cb();
105
+ });
106
+ destroyed.raiseEvent();
107
+ destroyed.destroy();
108
+ delete instance[flightVisualizationSymbol];
109
+ };
110
+ changeListeners.push(app.flights.removed.addEventListener((flight) => {
111
+ if (flight === instance) {
112
+ destroy();
113
+ }
114
+ }), app.flights.added.addEventListener((flight) => {
115
+ if (flight.name === instance.name) {
116
+ destroy();
117
+ }
118
+ }));
119
+ const visualization = {
120
+ get state() {
121
+ return layer.state;
122
+ },
123
+ get stateChanged() {
124
+ return layer.stateChanged;
125
+ },
126
+ get destroyed() {
127
+ return destroyed;
128
+ },
129
+ async activate() {
130
+ await layer.activate();
131
+ primitives.show = true;
132
+ },
133
+ deactivate() {
134
+ layer.deactivate();
135
+ primitives.show = false;
136
+ },
137
+ destroy,
138
+ async zoomToExtent() {
139
+ if (!instance.isValid() || isEmpty(extent)) {
140
+ return;
141
+ }
142
+ const viewpoint = Viewpoint.createViewpointFromExtent(extent);
143
+ if (viewpoint) {
144
+ await app.maps.activeMap?.gotoViewpoint(viewpoint);
145
+ }
146
+ },
147
+ };
148
+ instance[flightVisualizationSymbol] = visualization;
149
+ return visualization;
150
+ }
151
+ //# sourceMappingURL=flightVisualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flightVisualizer.js","sourceRoot":"","sources":["../../../../src/util/flight/flightVisualizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type GlobalHider from '../layer/globalHider.js';
2
+ import { OverrideCollection } from './overrideCollection.js';
3
+ import { moduleIdSymbol } from '../moduleIdSymbol.js';
4
+ export type HiddenObject = {
5
+ id: string;
6
+ [moduleIdSymbol]?: string;
7
+ };
8
+ export declare function createHiddenObjectsCollection(getDynamicModuleId: () => string, globalHider: GlobalHider): OverrideCollection<HiddenObject>;
@@ -0,0 +1,17 @@
1
+ import makeOverrideCollection from './overrideCollection.js';
2
+ import Collection from './collection.js';
3
+ import { moduleIdSymbol } from '../moduleIdSymbol.js';
4
+ export function createHiddenObjectsCollection(getDynamicModuleId, globalHider) {
5
+ const collection = makeOverrideCollection(new Collection('id'), getDynamicModuleId);
6
+ collection.added.addEventListener(({ id }) => {
7
+ globalHider.hideObjects([id]);
8
+ });
9
+ collection.replaced.addEventListener(({ new: item }) => {
10
+ globalHider.showObjects([item.id]);
11
+ });
12
+ collection.removed.addEventListener(({ id }) => {
13
+ globalHider.showObjects([id]);
14
+ });
15
+ return collection;
16
+ }
17
+ //# sourceMappingURL=hiddenObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hiddenObjects.js","sourceRoot":"","sources":["../../../src/util/hiddenObjects.ts"],"names":[],"mappings":"AACA,OAAO,sBAEN,MAAM,yBAAyB,CAAC;AACjC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,MAAM,UAAU,6BAA6B,CAC3C,kBAAgC,EAChC,WAAwB;IAExB,MAAM,UAAU,GAAG,sBAAsB,CAGvC,IAAI,UAAU,CAAe,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE1D,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC3C,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QACrD,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC7C,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { check, checkMaybe } from '@vcsuite/check';
1
+ import { check, maybe, oneOf } from '@vcsuite/check';
2
2
  import { getLogger } from '@vcsuite/logger';
3
3
  import VcsEvent from '../vcsEvent.js';
4
4
  import Collection from './collection.js';
@@ -185,7 +185,7 @@ class MapCollection extends Collection {
185
185
  * Set the target for these maps.
186
186
  */
187
187
  setTarget(target) {
188
- checkMaybe(target, [String, HTMLElement]);
188
+ check(target, maybe(oneOf(String, HTMLElement)));
189
189
  this._target =
190
190
  typeof target === 'string' ? document.getElementById(target) : target;
191
191
  this._array.forEach((map) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,19 @@ export type OverrideCollectionItem = {
19
19
  /**
20
20
  * The override collection adds the ability to override a unique item and re-creating it, should the override
21
21
  * be removed. This does change some flow of called events. 1) if you override an item, removed is not called for the
22
- * removed current item. 2) added can be called more the once for the same unique id. 3) replaced is called for items
23
- * which where replaced. replaced is called after added has been called for the item.
22
+ * removed current item. 2) replaced is called for items which where replaced. 3) added can be called more the once for the same unique id.
23
+ * Replaced is called before added has been called for the item.
24
24
  */
25
25
  export type OverrideCollectionInterface<T> = {
26
26
  /**
27
- * replaced is called after added
27
+ * replaced is called before added
28
28
  */
29
29
  replaced: VcsEvent<ReplacedEvent<T>>;
30
+ /**
31
+ * Replacement is only supported for items of the dynamic module. For other items you may use override instead.
32
+ * Returns the replaced item or null if the item could not be inserted
33
+ */
34
+ replace: (item: T) => T | null;
30
35
  shadowMap: Map<string, (object & {
31
36
  [moduleIdSymbol]?: string;
32
37
  })[]>;
@@ -31,6 +31,23 @@ function makeOverrideCollection(collection, getDynamicModuleId, serializeItem, d
31
31
  const getShadowIndex = determineShadowIndex ||
32
32
  ((_item, _shadow, currentIndex) => currentIndex);
33
33
  overrideCollection.shadowMap = new Map();
34
+ overrideCollection.replace = function replace(item) {
35
+ const itemId = item[overrideCollection.uniqueKey];
36
+ const old = overrideCollection.getByKey(itemId);
37
+ if (old?.[moduleIdSymbol] === getDynamicModuleId()) {
38
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
+ // @ts-ignore
40
+ // eslint-disable-next-line no-underscore-dangle
41
+ const index = overrideCollection._remove(old);
42
+ overrideCollection.replaced.raiseEvent({ old, new: item });
43
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
44
+ // @ts-ignore
45
+ if (overrideCollection.add(item, index) >= 0) {
46
+ return item;
47
+ }
48
+ }
49
+ return null;
50
+ };
34
51
  overrideCollection.override = function override(item) {
35
52
  let shadow;
36
53
  let index;
@@ -1 +1 @@
1
- {"version":3,"file":"overrideCollection.js","sourceRoot":"","sources":["../../../src/util/overrideCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrideCollection.js","sourceRoot":"","sources":["../../../src/util/overrideCollection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getTransform, get as getProjection, equivalent, } from 'ol/proj.js';
2
2
  import { register } from 'ol/proj/proj4.js';
3
3
  import proj4 from 'proj4';
4
- import { check } from '@vcsuite/check';
4
+ import { check, maybe, oneOf } from '@vcsuite/check';
5
5
  export const wgs84ToMercatorTransformer = getTransform('EPSG:4326', 'EPSG:3857');
6
6
  export const mercatorToWgs84Transformer = getTransform('EPSG:3857', 'EPSG:4326');
7
7
  let defaultProjectionOption = {
@@ -65,7 +65,10 @@ function registerProjection(options) {
65
65
  * projection created prior to this functions call.
66
66
  */
67
67
  export function setDefaultProjectionOptions(options) {
68
- check(options, { epsg: [String, Number], proj4: [String, undefined, null] });
68
+ check(options, {
69
+ epsg: oneOf(String, Number),
70
+ proj4: maybe(String),
71
+ });
69
72
  if (!validateProjectionOptions(options)) {
70
73
  throw new Error('Cannot set invalid projection options as default options');
71
74
  }