@vcmap/core 5.0.0-rc.27 → 5.0.0-rc.29

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 (195) hide show
  1. package/README.md +9 -3
  2. package/build/postinstall.js +13 -2
  3. package/index.d.ts +414 -217
  4. package/index.js +6 -4
  5. package/package.json +9 -4
  6. package/src/category/category.js +84 -45
  7. package/src/category/categoryCollection.js +34 -25
  8. package/src/cesium/cesiumVcsCameraPrimitive.js +13 -5
  9. package/src/cesium/entity.js +3 -1
  10. package/src/cesium/wallpaperMaterial.js +4 -2
  11. package/src/classRegistry.js +11 -4
  12. package/src/featureProvider/abstractFeatureProvider.js +43 -22
  13. package/src/featureProvider/tileProviderFeatureProvider.js +11 -5
  14. package/src/featureProvider/wmsFeatureProvider.js +37 -15
  15. package/src/interaction/abstractInteraction.js +5 -1
  16. package/src/interaction/coordinateAtPixel.js +34 -12
  17. package/src/interaction/eventHandler.js +67 -27
  18. package/src/interaction/featureAtPixelInteraction.js +96 -32
  19. package/src/interaction/featureProviderInteraction.js +23 -8
  20. package/src/interaction/interactionChain.js +19 -9
  21. package/src/interaction/interactionType.js +23 -26
  22. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +45 -15
  23. package/src/layer/cesium/clusterContext.js +10 -3
  24. package/src/layer/cesium/dataSourceCesiumImpl.js +13 -4
  25. package/src/layer/cesium/openStreetMapCesiumImpl.js +7 -3
  26. package/src/layer/cesium/rasterLayerCesiumImpl.js +6 -2
  27. package/src/layer/cesium/singleImageCesiumImpl.js +14 -3
  28. package/src/layer/cesium/terrainCesiumImpl.js +3 -2
  29. package/src/layer/cesium/tmsCesiumImpl.js +15 -3
  30. package/src/layer/cesium/vectorCesiumImpl.js +69 -25
  31. package/src/layer/cesium/vectorContext.js +25 -5
  32. package/src/layer/cesium/vectorRasterTileCesiumImpl.js +15 -5
  33. package/src/layer/cesium/vectorTileImageryProvider.js +51 -13
  34. package/src/layer/cesium/wmsCesiumImpl.js +15 -3
  35. package/src/layer/cesium/wmtsCesiumImpl.js +18 -6
  36. package/src/layer/cesium/x3dmHelper.js +4 -1
  37. package/src/layer/cesiumTilesetLayer.js +55 -26
  38. package/src/layer/czmlLayer.js +11 -5
  39. package/src/layer/dataSourceLayer.js +25 -17
  40. package/src/layer/featureLayer.js +33 -18
  41. package/src/layer/featureStoreLayer.js +161 -99
  42. package/src/layer/featureStoreLayerChanges.js +57 -17
  43. package/src/layer/featureVisibility.js +92 -63
  44. package/src/layer/geojsonHelpers.js +70 -29
  45. package/src/layer/geojsonLayer.js +17 -11
  46. package/src/layer/globalHider.js +15 -5
  47. package/src/layer/layer.js +79 -45
  48. package/src/layer/layerImplementation.js +12 -4
  49. package/src/layer/oblique/layerObliqueImpl.js +3 -1
  50. package/src/layer/oblique/obliqueHelpers.js +75 -30
  51. package/src/layer/oblique/vectorObliqueImpl.js +175 -69
  52. package/src/layer/openStreetMapLayer.js +34 -20
  53. package/src/layer/openlayers/layerOpenlayersImpl.js +37 -15
  54. package/src/layer/openlayers/openStreetMapOpenlayersImpl.js +3 -1
  55. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +3 -1
  56. package/src/layer/openlayers/singleImageOpenlayersImpl.js +3 -1
  57. package/src/layer/openlayers/tileDebugOpenlayersImpl.js +3 -1
  58. package/src/layer/openlayers/tmsOpenlayersImpl.js +6 -3
  59. package/src/layer/openlayers/vectorOpenlayersImpl.js +14 -4
  60. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +12 -5
  61. package/src/layer/openlayers/wmsOpenlayersImpl.js +3 -1
  62. package/src/layer/openlayers/wmtsOpenlayersImpl.js +12 -5
  63. package/src/layer/pointCloudLayer.js +21 -10
  64. package/src/layer/rasterLayer.js +73 -22
  65. package/src/layer/singleImageLayer.js +10 -7
  66. package/src/layer/terrainHelpers.js +30 -19
  67. package/src/layer/terrainLayer.js +16 -7
  68. package/src/layer/tileLoadedHelper.js +9 -4
  69. package/src/layer/tileProvider/mvtTileProvider.js +10 -4
  70. package/src/layer/tileProvider/staticGeojsonTileProvider.js +10 -4
  71. package/src/layer/tileProvider/tileProvider.js +163 -87
  72. package/src/layer/tileProvider/urlTemplateTileProvider.js +10 -4
  73. package/src/layer/tmsLayer.js +7 -6
  74. package/src/layer/vectorHelpers.js +34 -25
  75. package/src/layer/vectorLayer.js +84 -36
  76. package/src/layer/vectorProperties.js +245 -74
  77. package/src/layer/vectorSymbols.js +3 -1
  78. package/src/layer/vectorTileLayer.js +121 -70
  79. package/src/layer/wfsLayer.js +19 -8
  80. package/src/layer/wmsHelpers.js +11 -6
  81. package/src/layer/wmsLayer.js +36 -14
  82. package/src/layer/wmtsLayer.js +35 -20
  83. package/src/map/baseOLMap.js +57 -31
  84. package/src/map/cameraLimiter.js +67 -18
  85. package/src/map/cesiumMap.js +307 -95
  86. package/src/map/obliqueMap.js +84 -34
  87. package/src/map/openlayersMap.js +40 -19
  88. package/src/map/vcsMap.js +21 -8
  89. package/src/oblique/helpers.js +217 -71
  90. package/src/oblique/obliqueCollection.js +111 -48
  91. package/src/oblique/obliqueDataSet.js +53 -21
  92. package/src/oblique/obliqueImage.js +50 -17
  93. package/src/oblique/obliqueImageMeta.js +7 -6
  94. package/src/oblique/obliqueProvider.js +75 -27
  95. package/src/oblique/obliqueView.js +18 -7
  96. package/src/oblique/obliqueViewDirection.js +3 -2
  97. package/src/oblique/parseImageJson.js +57 -23
  98. package/src/ol/feature.js +34 -1
  99. package/src/ol/geom/circle.js +12 -3
  100. package/src/ol/geom/geometryCollection.js +11 -4
  101. package/src/ol/render/canvas/canvasTileRenderer.js +11 -9
  102. package/src/overrideClassRegistry.js +29 -19
  103. package/src/style/arcStyle.js +129 -36
  104. package/src/style/arrowStyle.js +57 -22
  105. package/src/style/declarativeStyleItem.js +109 -65
  106. package/src/style/shapesCategory.js +8 -6
  107. package/src/style/styleFactory.js +4 -1
  108. package/src/style/styleHelpers.js +17 -8
  109. package/src/style/styleItem.js +28 -10
  110. package/src/style/vectorStyleItem.js +160 -74
  111. package/src/style/writeStyle.js +5 -7
  112. package/src/util/clipping/clippingObject.js +72 -38
  113. package/src/util/clipping/clippingObjectManager.js +53 -19
  114. package/src/util/clipping/clippingPlaneHelper.js +120 -53
  115. package/src/util/collection.js +12 -6
  116. package/src/util/editor/createFeatureSession.js +21 -6
  117. package/src/util/editor/editFeaturesSession.js +177 -167
  118. package/src/util/editor/editGeometrySession.js +115 -68
  119. package/src/util/editor/editorHelpers.js +115 -28
  120. package/src/util/editor/editorSessionHelpers.js +18 -5
  121. package/src/util/editor/editorSymbols.js +5 -0
  122. package/src/util/editor/interactions/createBBoxInteraction.js +11 -3
  123. package/src/util/editor/interactions/createCircleInteraction.js +7 -2
  124. package/src/util/editor/interactions/createLineStringInteraction.js +7 -2
  125. package/src/util/editor/interactions/createPolygonInteraction.js +7 -2
  126. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.js +20 -52
  127. package/src/util/editor/interactions/editGeometryMouseOverInteraction.js +23 -35
  128. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.js +9 -7
  129. package/src/util/editor/interactions/insertVertexInteraction.js +17 -6
  130. package/src/util/editor/interactions/mapInteractionController.js +31 -14
  131. package/src/util/editor/interactions/removeVertexInteraction.js +4 -1
  132. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +152 -0
  133. package/src/util/editor/interactions/selectMultiFeatureInteraction.js +48 -29
  134. package/src/util/editor/interactions/selectSingleFeatureInteraction.js +40 -15
  135. package/src/util/editor/interactions/translateVertexInteraction.js +2 -3
  136. package/src/util/editor/selectFeaturesSession.js +303 -0
  137. package/src/util/editor/transformation/create2DHandlers.js +82 -37
  138. package/src/util/editor/transformation/create3DHandlers.js +187 -84
  139. package/src/util/editor/transformation/extrudeInteraction.js +20 -5
  140. package/src/util/editor/transformation/rotateInteraction.js +29 -16
  141. package/src/util/editor/transformation/scaleInteraction.js +31 -15
  142. package/src/util/editor/transformation/transformationHandler.js +26 -16
  143. package/src/util/editor/transformation/transformationTypes.js +9 -4
  144. package/src/util/editor/transformation/translateInteraction.js +86 -32
  145. package/src/util/editor/validateGeoemetry.js +3 -1
  146. package/src/util/exclusiveManager.js +6 -3
  147. package/src/util/extent.js +20 -10
  148. package/src/util/featureconverter/arcToCesium.js +46 -12
  149. package/src/util/featureconverter/circleToCesium.js +61 -27
  150. package/src/util/featureconverter/convert.js +86 -14
  151. package/src/util/featureconverter/extent3D.js +69 -28
  152. package/src/util/featureconverter/featureconverterHelper.js +232 -79
  153. package/src/util/featureconverter/lineStringToCesium.js +107 -35
  154. package/src/util/featureconverter/pointHelpers.js +117 -45
  155. package/src/util/featureconverter/pointToCesium.js +128 -31
  156. package/src/util/featureconverter/polygonToCesium.js +50 -16
  157. package/src/util/fetch.js +3 -1
  158. package/src/util/geometryHelpers.js +15 -10
  159. package/src/util/indexedCollection.js +26 -6
  160. package/src/util/isMobile.js +8 -2
  161. package/src/util/layerCollection.js +32 -14
  162. package/src/util/mapCollection.js +37 -18
  163. package/src/util/math.js +35 -19
  164. package/src/util/overrideCollection.js +72 -47
  165. package/src/util/projection.js +21 -5
  166. package/src/util/urlHelpers.js +5 -3
  167. package/src/util/viewpoint.js +66 -33
  168. package/src/vcsApp.js +215 -129
  169. package/src/vcsModule.js +130 -0
  170. package/src/{vcsAppContextHelpers.js → vcsModuleHelpers.js} +29 -14
  171. package/src/vcsObject.js +3 -2
  172. package/tests/data/dynamicPointCzml.json +24 -35
  173. package/tests/data/oblique/imageData/imagev34.json +56 -272
  174. package/tests/data/oblique/imageData/imagev35.json +272 -19
  175. package/tests/data/oblique/imageData/imagev35PerImageSize.json +299 -19
  176. package/tests/data/oblique/tiledImageData/12/2199/1342.json +11056 -1
  177. package/tests/data/oblique/tiledImageData/12/2199/1343.json +11236 -1
  178. package/tests/data/oblique/tiledImageData/12/2199/1344.json +11077 -1
  179. package/tests/data/oblique/tiledImageData/12/2200/1342.json +11036 -1
  180. package/tests/data/oblique/tiledImageData/12/2200/1343.json +11277 -1
  181. package/tests/data/oblique/tiledImageData/12/2200/1344.json +11131 -1
  182. package/tests/data/oblique/tiledImageData/12/2201/1342.json +10870 -1
  183. package/tests/data/oblique/tiledImageData/12/2201/1343.json +11492 -1
  184. package/tests/data/oblique/tiledImageData/12/2201/1344.json +10909 -1
  185. package/tests/data/oblique/tiledImageData/image.json +70 -1
  186. package/tests/data/terrain/layer.json +121 -130
  187. package/tests/data/testGeoJSON.json +4 -16
  188. package/tests/unit/helpers/cesiumHelpers.js +58 -33
  189. package/tests/unit/helpers/helpers.js +10 -2
  190. package/tests/unit/helpers/imageHelpers.js +8 -4
  191. package/tests/unit/helpers/obliqueData.js +39 -13
  192. package/tests/unit/helpers/obliqueHelpers.js +12 -9
  193. package/tests/unit/helpers/openlayersHelpers.js +4 -1
  194. package/tests/unit/helpers/terrain/terrainData.js +8 -7
  195. package/src/context.js +0 -89
package/README.md CHANGED
@@ -3,11 +3,14 @@
3
3
  > Part of the [VC Map Project](https://github.com/virtualcitySYSTEMS/map-ui)
4
4
 
5
5
  ## Getting Started
6
+
6
7
  - clone Repo
7
8
  - npm install
8
9
 
9
10
  # Coding Conventions
11
+
10
12
  ### Exporting from a module
13
+
11
14
  - You should export all variables, functions, class etc. from a module
12
15
  which are required to use the API.
13
16
  - Make sure the names of exports have _meaning outside of their module_. E.g. a
@@ -19,14 +22,16 @@
19
22
  * Resets the foo. Exported for testing
20
23
  * @private
21
24
  */
22
- export function resetFooInstance() {}
25
+ export function resetFooInstance() {}
23
26
  ```
24
27
 
25
28
  ### TS & Typesafety
29
+
26
30
  - You should use the imported name in your doclets, e.g.:
31
+
27
32
  ```javascript
28
33
  import Vector from 'ol/source/Vector.js';
29
-
34
+
30
35
  /**
31
36
  * @param {Vector} source
32
37
  * @returns {Array<import("ol").Feature<import("ol/geom/Geometry").default>>}
@@ -38,7 +43,8 @@
38
43
  return [];
39
44
  }
40
45
  ```
41
- - You should use dump file imports where possible (WebStorm cannot generate
46
+
47
+ - You should use dump file imports where possible (WebStorm cannot generate
42
48
  Intelisensse from default imports). Thus `@param {import("ol/Feature").default}`
43
49
  would become: `@param {import("ol").Feature}`.
44
50
  - You will need to import library own classes use `@param {import("@vcmap/core").CesiumMap}`.
@@ -15,7 +15,13 @@ async function fixCesiumTypes() {
15
15
  ) {
16
16
  console.log('Moving cesium engine index.d.ts');
17
17
  await fs.promises.cp(
18
- path.join(process.cwd(), 'node_modules', '@vcmap-cesium', 'engine', 'index.d.ts'),
18
+ path.join(
19
+ process.cwd(),
20
+ 'node_modules',
21
+ '@vcmap-cesium',
22
+ 'engine',
23
+ 'index.d.ts',
24
+ ),
19
25
  path.join(process.cwd(), 'build', 'types', 'Cesium_module.d.ts'),
20
26
  { force: true },
21
27
  );
@@ -27,7 +33,12 @@ async function fixCesiumTypes() {
27
33
  * @returns {Promise<void>}
28
34
  */
29
35
  async function fixTinyQueue() {
30
- const fileName = path.join(process.cwd(), 'node_modules', 'tinyqueue', 'package.json');
36
+ const fileName = path.join(
37
+ process.cwd(),
38
+ 'node_modules',
39
+ 'tinyqueue',
40
+ 'package.json',
41
+ );
31
42
  if (fs.existsSync(fileName)) {
32
43
  const content = await fs.promises.readFile(fileName);
33
44
  const jsonContent = JSON.parse(content);