@vcmap/core 5.0.0-rc.33 → 5.0.0-rc.35

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 (57) hide show
  1. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -1
  2. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +108 -0
  3. package/dist/tests/unit/helpers/cesiumHelpers.js +277 -0
  4. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -0
  5. package/dist/tests/unit/helpers/getFileNameFromUrl.d.ts +6 -0
  6. package/{tests → dist/tests}/unit/helpers/getFileNameFromUrl.js +3 -3
  7. package/dist/tests/unit/helpers/getFileNameFromUrl.js.map +1 -0
  8. package/dist/tests/unit/helpers/helpers.d.ts +12 -0
  9. package/{tests → dist/tests}/unit/helpers/helpers.js +8 -17
  10. package/dist/tests/unit/helpers/helpers.js.map +1 -0
  11. package/dist/tests/unit/helpers/imageHelpers.d.ts +20 -0
  12. package/dist/tests/unit/helpers/imageHelpers.js +21 -0
  13. package/dist/tests/unit/helpers/imageHelpers.js.map +1 -0
  14. package/dist/tests/unit/helpers/importJSON.d.ts +5 -0
  15. package/dist/tests/unit/helpers/importJSON.js +15 -0
  16. package/dist/tests/unit/helpers/importJSON.js.map +1 -0
  17. package/dist/tests/unit/helpers/obliqueData.d.ts +21 -0
  18. package/dist/tests/unit/helpers/obliqueData.js +76 -0
  19. package/dist/tests/unit/helpers/obliqueData.js.map +1 -0
  20. package/dist/tests/unit/helpers/obliqueHelpers.d.ts +33 -0
  21. package/{tests → dist/tests}/unit/helpers/obliqueHelpers.js +45 -63
  22. package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -0
  23. package/dist/tests/unit/helpers/openlayersHelpers.d.ts +11 -0
  24. package/dist/tests/unit/helpers/openlayersHelpers.js +24 -0
  25. package/dist/tests/unit/helpers/openlayersHelpers.js.map +1 -0
  26. package/dist/tests/unit/helpers/terrain/terrainData.d.ts +10 -0
  27. package/dist/tests/unit/helpers/terrain/terrainData.js +40 -0
  28. package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -0
  29. package/package.json +6 -8
  30. package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +1 -1
  31. package/tests/unit/helpers/cesiumHelpers.js +0 -326
  32. package/tests/unit/helpers/imageHelpers.js +0 -24
  33. package/tests/unit/helpers/importJSON.js +0 -15
  34. package/tests/unit/helpers/obliqueData.js +0 -102
  35. package/tests/unit/helpers/openlayersHelpers.js +0 -25
  36. package/tests/unit/helpers/terrain/terrainData.js +0 -45
  37. /package/{tests → dist/tests}/data/dynamicPointCzml.json +0 -0
  38. /package/{tests → dist/tests}/data/oblique/imageData/imagev34.json +0 -0
  39. /package/{tests → dist/tests}/data/oblique/imageData/imagev35.json +0 -0
  40. /package/{tests → dist/tests}/data/oblique/imageData/imagev35PerImageSize.json +0 -0
  41. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1342.json +0 -0
  42. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1343.json +0 -0
  43. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1344.json +0 -0
  44. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1342.json +0 -0
  45. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1343.json +0 -0
  46. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1344.json +0 -0
  47. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1342.json +0 -0
  48. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1343.json +0 -0
  49. /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1344.json +0 -0
  50. /package/{tests → dist/tests}/data/oblique/tiledImageData/image.json +0 -0
  51. /package/{tests → dist/tests}/data/terrain/13/8800/6485.terrain +0 -0
  52. /package/{tests → dist/tests}/data/terrain/13/8800/6486.terrain +0 -0
  53. /package/{tests → dist/tests}/data/terrain/13/8801/6485.terrain +0 -0
  54. /package/{tests → dist/tests}/data/terrain/13/8801/6486.terrain +0 -0
  55. /package/{tests → dist/tests}/data/terrain/layer.json +0 -0
  56. /package/{tests → dist/tests}/data/testGeoJSON.json +0 -0
  57. /package/{tests → dist/tests}/data/tile.pbf +0 -0
@@ -18,7 +18,7 @@ class VectorRasterTileCesiumImpl extends RasterLayerCesiumImpl {
18
18
  const rasterLayerOptions = {
19
19
  ...options,
20
20
  tilingSchema: TilingScheme.MERCATOR,
21
- opacity: 0,
21
+ opacity: 1,
22
22
  };
23
23
  super(map, rasterLayerOptions);
24
24
  this.tileProvider = options.tileProvider;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @param {Sinon.SinonSandbox} sandbox
3
+ * @param {string=} url
4
+ * @returns {*|Sinon.SinonFakeServer|null}
5
+ */
6
+ export function createTilesetServer(sandbox: Sinon.SinonSandbox, url?: string | undefined): any | Sinon.SinonFakeServer | null;
7
+ /**
8
+ * @param {Sinon.SinonSandbox} sandbox
9
+ * @param {CesiumMap=} cesiumMap
10
+ * @param {string=} name
11
+ * @returns {Promise<CesiumTilesetLayer>}
12
+ */
13
+ export function createInitializedTilesetLayer(sandbox: Sinon.SinonSandbox, cesiumMap?: CesiumMap | undefined, name?: string | undefined): Promise<CesiumTilesetLayer>;
14
+ export function createEntities(numberOfEntities?: number): {
15
+ layer: DataSourceLayer;
16
+ entities: any[];
17
+ };
18
+ /**
19
+ * @param {import("@vcmap/core").VcsEvent} event
20
+ * @param {sinon.sandbox} [sandbox]
21
+ * @returns {sinon.spy}
22
+ */
23
+ export function getVcsEventSpy(event: any, sandbox?: any): sinon.spy;
24
+ export function getMockScene(): {
25
+ screenSpaceCameraController: {
26
+ enableInputs: boolean;
27
+ };
28
+ globe: Globe;
29
+ mode: SceneMode;
30
+ tweens: any;
31
+ primitives: PrimitiveCollection;
32
+ groundPrimitives: PrimitiveCollection;
33
+ imageryLayers: ImageryLayerCollection;
34
+ drawingBufferHeight: number;
35
+ drawingBufferWidth: number;
36
+ postRender: CesiumEvent<(...args: any[]) => void>;
37
+ preUpdate: CesiumEvent<(...args: any[]) => void>;
38
+ mapProjection: WebMercatorProjection;
39
+ shadowMap: {
40
+ enabled: boolean;
41
+ };
42
+ canvas: HTMLCanvasElement;
43
+ terrainProvider: {
44
+ readyPromise: Promise<void>;
45
+ };
46
+ frameState: {
47
+ mode: undefined;
48
+ context: {
49
+ depthTexture: boolean;
50
+ stencilBuffer: boolean;
51
+ };
52
+ lineWidth: number;
53
+ };
54
+ context: {
55
+ depthTexture: boolean;
56
+ stencilBuffer: boolean;
57
+ };
58
+ render(time: any): void;
59
+ pick(): void;
60
+ pickPosition(): void;
61
+ drillPick(): never[];
62
+ destroy(): void;
63
+ };
64
+ export function getCesiumMap(mapOptions: any): CesiumMap;
65
+ /**
66
+ * @param {VcsApp} app
67
+ * @returns {Promise<CesiumMap>}
68
+ */
69
+ export function setCesiumMap(app: VcsApp): Promise<CesiumMap>;
70
+ /**
71
+ * creates usable default ContextLimits, copy pasted from chrome
72
+ */
73
+ export function setupCesiumContextLimits(): void;
74
+ /**
75
+ * @param {Object} [properties={}]
76
+ * @param {Object=} tileset
77
+ * @returns {Cesium.Cesium3DTileFeature}
78
+ */
79
+ export function createDummyCesium3DTileFeature(properties?: Object | undefined, tileset?: Object | undefined): Cesium.Cesium3DTileFeature;
80
+ export namespace tilesetJSON {
81
+ namespace asset {
82
+ const version: string;
83
+ const tilesetVersion: string;
84
+ }
85
+ const geometricError: number;
86
+ namespace root {
87
+ export namespace boundingVolume {
88
+ const region: number[];
89
+ }
90
+ const geometricError_1: number;
91
+ export { geometricError_1 as geometricError };
92
+ export const refine: string;
93
+ export const children: never[];
94
+ }
95
+ const properties: {};
96
+ namespace extras {
97
+ const _3DTILESDIFFUSE: boolean;
98
+ }
99
+ }
100
+ import CesiumMap from '../../../src/map/cesiumMap.js';
101
+ import CesiumTilesetLayer from '../../../src/layer/cesiumTilesetLayer.js';
102
+ import DataSourceLayer from '../../../src/layer/dataSourceLayer.js';
103
+ import { Globe } from '@vcmap-cesium/engine';
104
+ import { SceneMode } from '@vcmap-cesium/engine';
105
+ import { PrimitiveCollection } from '@vcmap-cesium/engine';
106
+ import { ImageryLayerCollection } from '@vcmap-cesium/engine';
107
+ import { Event as CesiumEvent } from '@vcmap-cesium/engine';
108
+ import { WebMercatorProjection } from '@vcmap-cesium/engine';
@@ -0,0 +1,277 @@
1
+ import { BoundingSphere, Entity, Camera, WebMercatorProjection, PrimitiveCollection, Globe, Event as CesiumEvent, SceneMode, ImageryLayerCollection, Clock, DataSourceCollection, ScreenSpaceEventHandler, Color, Cesium3DTileFeature, TweenCollection, ContextLimits, } from '@vcmap-cesium/engine';
2
+ import CesiumTilesetLayer from '../../../src/layer/cesiumTilesetLayer.js';
3
+ import DataSourceLayer from '../../../src/layer/dataSourceLayer.js';
4
+ import CesiumMap from '../../../src/map/cesiumMap.js';
5
+ import Viewpoint from '../../../src/util/viewpoint.js';
6
+ export const tilesetJSON = {
7
+ asset: {
8
+ version: '0.0',
9
+ tilesetVersion: '54443336650',
10
+ },
11
+ geometricError: 48.828125,
12
+ root: {
13
+ boundingVolume: {
14
+ region: [0.233260953, 0.916361773, 0.233644448, 0.91655352, 0.0, 140.3],
15
+ },
16
+ geometricError: 24.4140625,
17
+ refine: 'ADD',
18
+ children: [],
19
+ },
20
+ properties: {},
21
+ extras: { _3DTILESDIFFUSE: true },
22
+ };
23
+ /**
24
+ * @param {Sinon.SinonSandbox} sandbox
25
+ * @param {string=} url
26
+ * @returns {*|Sinon.SinonFakeServer|null}
27
+ */
28
+ export function createTilesetServer(sandbox, url) {
29
+ const server = sandbox ? sandbox.useFakeServer() : sinon.createFakeServer();
30
+ server.autoRespond = true;
31
+ server.respondImmediately = true;
32
+ server.respondWith(url || 'http://test.com/tileset.json', [
33
+ 200,
34
+ { 'Content-Type': 'application/json' },
35
+ JSON.stringify(tilesetJSON),
36
+ ]);
37
+ server.respond();
38
+ return server;
39
+ }
40
+ /**
41
+ * @param {Sinon.SinonSandbox} sandbox
42
+ * @param {CesiumMap=} cesiumMap
43
+ * @param {string=} name
44
+ * @returns {Promise<CesiumTilesetLayer>}
45
+ */
46
+ export async function createInitializedTilesetLayer(sandbox, cesiumMap, name) {
47
+ createTilesetServer(sandbox);
48
+ const tilesetLayer = new CesiumTilesetLayer({
49
+ url: 'http://test.com/tileset.json',
50
+ name,
51
+ });
52
+ await tilesetLayer.initialize();
53
+ if (cesiumMap) {
54
+ cesiumMap.layerCollection.add(tilesetLayer);
55
+ const impls = tilesetLayer.getImplementationsForMap(cesiumMap);
56
+ await Promise.all(impls.map(async (impl) => {
57
+ await impl.initialize();
58
+ Object.defineProperty(impl.cesium3DTileset, 'boundingSphere', {
59
+ get() {
60
+ return new BoundingSphere();
61
+ },
62
+ });
63
+ }));
64
+ }
65
+ return tilesetLayer;
66
+ }
67
+ export function createEntities(numberOfEntities = 1) {
68
+ const layer = new DataSourceLayer({});
69
+ const entities = new Array(numberOfEntities);
70
+ for (let i = 0; i < numberOfEntities; i++) {
71
+ entities[i] = new Entity({
72
+ model: {},
73
+ });
74
+ layer.addEntity(entities[i]);
75
+ }
76
+ return {
77
+ layer,
78
+ entities,
79
+ };
80
+ }
81
+ /**
82
+ * @param {import("@vcmap/core").VcsEvent} event
83
+ * @param {sinon.sandbox} [sandbox]
84
+ * @returns {sinon.spy}
85
+ */
86
+ export function getVcsEventSpy(event, sandbox) {
87
+ const spy = (sandbox ?? sinon).spy();
88
+ const listener = event.addEventListener(function callback() {
89
+ listener();
90
+ // eslint-disable-next-line prefer-rest-params
91
+ spy(...arguments);
92
+ });
93
+ return spy;
94
+ }
95
+ export function getMockScene() {
96
+ const scene = {
97
+ screenSpaceCameraController: {
98
+ enableInputs: true,
99
+ },
100
+ globe: new Globe(),
101
+ mode: SceneMode.SCENE3D,
102
+ tweens: new TweenCollection(),
103
+ primitives: new PrimitiveCollection(),
104
+ groundPrimitives: new PrimitiveCollection(),
105
+ imageryLayers: new ImageryLayerCollection(),
106
+ drawingBufferHeight: 100,
107
+ drawingBufferWidth: 100,
108
+ postRender: new CesiumEvent(),
109
+ preUpdate: new CesiumEvent(),
110
+ mapProjection: new WebMercatorProjection(),
111
+ shadowMap: { enabled: false },
112
+ canvas: document.createElement('canvas'),
113
+ terrainProvider: {
114
+ readyPromise: Promise.resolve(),
115
+ },
116
+ frameState: {
117
+ mode: undefined,
118
+ context: {
119
+ depthTexture: true,
120
+ stencilBuffer: true,
121
+ },
122
+ lineWidth: 1,
123
+ },
124
+ context: {
125
+ depthTexture: true,
126
+ stencilBuffer: true,
127
+ },
128
+ render(time) {
129
+ this.postRender.raiseEvent(this, time);
130
+ },
131
+ pick() { },
132
+ pickPosition() { },
133
+ drillPick() {
134
+ return [];
135
+ },
136
+ destroy() {
137
+ this.primitives.destroy();
138
+ this.groundPrimitives.destroy();
139
+ this.imageryLayers.destroy();
140
+ this.globe.destroy();
141
+ this.canvas = null;
142
+ },
143
+ };
144
+ const camera = new Camera(scene);
145
+ const originalFlyTo = camera.flyTo;
146
+ camera.flyTo = function flyTo(options) {
147
+ options.duration = 0;
148
+ originalFlyTo.bind(camera)(options);
149
+ };
150
+ scene.camera = camera;
151
+ return scene;
152
+ }
153
+ export function getCesiumMap(mapOptions) {
154
+ const map = new CesiumMap(mapOptions || {});
155
+ const scene = getMockScene();
156
+ map._cesiumWidget = {
157
+ scene,
158
+ camera: scene.camera,
159
+ render: scene.render,
160
+ resolutionScale: 1,
161
+ clock: new Clock({}),
162
+ destroy() {
163
+ this.scene.destroy();
164
+ this.scene = null;
165
+ this.camera = null;
166
+ },
167
+ resize() { },
168
+ };
169
+ map.screenSpaceEventHandler = new ScreenSpaceEventHandler(map._cesiumWidget.scene.canvas);
170
+ map.dataSourceDisplay = {
171
+ dataSources: new DataSourceCollection(),
172
+ isDestroyed() {
173
+ return false;
174
+ },
175
+ destroy() {
176
+ this.dataSources.destroy();
177
+ },
178
+ };
179
+ map.initialized = true;
180
+ const originalGetViewpointSync = map.getViewpointSync.bind(map);
181
+ map.getViewpointSync = function patchedGetVPSync() {
182
+ const vp = originalGetViewpointSync();
183
+ if (vp) {
184
+ return vp;
185
+ }
186
+ return new Viewpoint({});
187
+ };
188
+ return map;
189
+ }
190
+ /**
191
+ * @param {VcsApp} app
192
+ * @returns {Promise<CesiumMap>}
193
+ */
194
+ export async function setCesiumMap(app) {
195
+ const map = getCesiumMap({
196
+ layerCollection: app.layers,
197
+ target: app.maps.target,
198
+ });
199
+ app.maps.add(map);
200
+ await app.maps.setActiveMap(map.name);
201
+ return map;
202
+ }
203
+ /**
204
+ * creates usable default ContextLimits, copy pasted from chrome
205
+ */
206
+ export function setupCesiumContextLimits() {
207
+ ContextLimits._highpFloatSupported = true;
208
+ ContextLimits._highpIntSupported = true;
209
+ ContextLimits._maximumAliasedLineWidth = 1;
210
+ ContextLimits._maximumAliasedPointSize = 1024;
211
+ ContextLimits._maximumColorAttachments = 8;
212
+ ContextLimits._maximumCombinedTextureImageUnits = 32;
213
+ ContextLimits._maximumCubeMapSize = 16384;
214
+ ContextLimits._maximumDrawBuffers = 8;
215
+ ContextLimits._maximumFragmentUniformVectors = 1024;
216
+ ContextLimits._maximumRenderbufferSize = 16384;
217
+ ContextLimits._maximumTextureFilterAnisotropy = 16;
218
+ ContextLimits._maximumTextureImageUnits = 16;
219
+ ContextLimits._maximumTextureSize = 16384;
220
+ ContextLimits._maximumVaryingVectors = 30;
221
+ ContextLimits._maximumVertexAttributes = 16;
222
+ ContextLimits._maximumVertexTextureImageUnits = 16;
223
+ ContextLimits._maximumVertexUniformVectors = 4095;
224
+ ContextLimits._maximumViewportHeight = 32767;
225
+ ContextLimits._maximumViewportWidth = 32767;
226
+ ContextLimits._minimumAliasedLineWidth = 1;
227
+ ContextLimits._minimumAliasedPointSize = 1;
228
+ }
229
+ class BatchTable {
230
+ constructor(properties) {
231
+ this.properties = properties;
232
+ this.color = new Color();
233
+ this.show = true;
234
+ this.destroyed = false;
235
+ }
236
+ getPropertyIds() {
237
+ return Object.keys(this.properties);
238
+ }
239
+ getProperty(id, prop) {
240
+ return this.properties[prop];
241
+ }
242
+ getColor() {
243
+ return this.color;
244
+ }
245
+ setColor(id, color) {
246
+ this.color = color;
247
+ }
248
+ getShow() {
249
+ return this.show;
250
+ }
251
+ setShow(id, show) {
252
+ this.show = show;
253
+ }
254
+ isDestroyed() {
255
+ return this.destroyed;
256
+ }
257
+ }
258
+ /**
259
+ * @param {Object} [properties={}]
260
+ * @param {Object=} tileset
261
+ * @returns {Cesium.Cesium3DTileFeature}
262
+ */
263
+ export function createDummyCesium3DTileFeature(properties = {}, tileset = undefined) {
264
+ const dummy = new Cesium3DTileFeature();
265
+ const content = {
266
+ batchTable: new BatchTable(properties),
267
+ isDestroyed() {
268
+ return false;
269
+ },
270
+ };
271
+ if (tileset) {
272
+ content.tileset = tileset;
273
+ }
274
+ dummy._content = content;
275
+ return dummy;
276
+ }
277
+ //# sourceMappingURL=cesiumHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cesiumHelpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/cesiumHelpers.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {string} url
3
+ * @param {string} fileName
4
+ * @returns {string}
5
+ */
6
+ export default function getFileNameFromUrl(url: string, fileName: string): string;
@@ -1,12 +1,12 @@
1
1
  import path from 'path';
2
2
  import { fileURLToPath } from 'url';
3
-
4
3
  /**
5
4
  * @param {string} url
6
5
  * @param {string} fileName
7
6
  * @returns {string}
8
7
  */
9
8
  export default function getFileNameFromUrl(url, fileName) {
10
- const dirName = fileURLToPath(url);
11
- return path.join(dirName, fileName);
9
+ const dirName = fileURLToPath(url);
10
+ return path.join(dirName, fileName);
12
11
  }
12
+ //# sourceMappingURL=getFileNameFromUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFileNameFromUrl.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/getFileNameFromUrl.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,GAAG,EAAE,QAAQ;IACtD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * helper function to wait for a timeout use: await timeout(1);
3
+ * @param {number} ms
4
+ * @returns {Promise<void>}
5
+ */
6
+ export function timeout(ms: number): Promise<void>;
7
+ /**
8
+ * @param {Array<number>} numbers
9
+ * @param {Array<number>} expectedNumbers
10
+ * @param {number} [epsilon=CesiumMath.EPSILON8]
11
+ */
12
+ export function arrayCloseTo(numbers: Array<number>, expectedNumbers: Array<number>, epsilon?: number | undefined): void;
@@ -1,5 +1,4 @@
1
1
  import { Math as CesiumMath } from '@vcmap-cesium/engine';
2
-
3
2
  /**
4
3
  * helper function to wait for a timeout use: await timeout(1);
5
4
  * @param {number} ms
@@ -7,26 +6,18 @@ import { Math as CesiumMath } from '@vcmap-cesium/engine';
7
6
  */
8
7
  // eslint-disable-next-line import/prefer-default-export
9
8
  export function timeout(ms) {
10
- return new Promise((resolve) => {
11
- setTimeout(resolve, ms);
12
- });
9
+ return new Promise((resolve) => {
10
+ setTimeout(resolve, ms);
11
+ });
13
12
  }
14
-
15
13
  /**
16
14
  * @param {Array<number>} numbers
17
15
  * @param {Array<number>} expectedNumbers
18
16
  * @param {number} [epsilon=CesiumMath.EPSILON8]
19
17
  */
20
- export function arrayCloseTo(
21
- numbers,
22
- expectedNumbers,
23
- epsilon = CesiumMath.EPSILON8,
24
- ) {
25
- numbers.forEach((c, index) => {
26
- expect(c).to.be.closeTo(
27
- expectedNumbers[index],
28
- epsilon,
29
- `Array at index ${index}`,
30
- );
31
- });
18
+ export function arrayCloseTo(numbers, expectedNumbers, epsilon = CesiumMath.EPSILON8) {
19
+ numbers.forEach((c, index) => {
20
+ expect(c).to.be.closeTo(expectedNumbers[index], epsilon, `Array at index ${index}`);
21
+ });
32
22
  }
23
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/helpers.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,wDAAwD;AACxD,MAAM,UAAU,OAAO,CAAC,EAAE;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAO,EACP,eAAe,EACf,OAAO,GAAG,UAAU,CAAC,QAAQ;IAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CACrB,eAAe,CAAC,KAAK,CAAC,EACtB,OAAO,EACP,kBAAkB,KAAK,EAAE,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * black Pixel dataURI
3
+ * @type {string}
4
+ */
5
+ export const blackPixelURI: string;
6
+ /**
7
+ * green Pixel dataURI
8
+ * @type {string}
9
+ */
10
+ export const greenPixelURI: string;
11
+ /**
12
+ * red Pixel dataURI
13
+ * @type {string}
14
+ */
15
+ export const redPixelURI: string;
16
+ /**
17
+ * blue Pixel dataURI
18
+ * @type {string}
19
+ */
20
+ export const bluePixelURI: string;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * black Pixel dataURI
3
+ * @type {string}
4
+ */
5
+ export const blackPixelURI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2NgYGD4DwABBAEAcCBlCwAAAABJRU5ErkJggg==';
6
+ /**
7
+ * green Pixel dataURI
8
+ * @type {string}
9
+ */
10
+ export const greenPixelURI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2Ng+M/wHwAEAQH/Xi7hpQAAAABJRU5ErkJggg==';
11
+ /**
12
+ * red Pixel dataURI
13
+ * @type {string}
14
+ */
15
+ export const redPixelURI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2P4z8DwHwAFAAH/plybXQAAAABJRU5ErkJggg==';
16
+ /**
17
+ * blue Pixel dataURI
18
+ * @type {string}
19
+ */
20
+ export const bluePixelURI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2NgYPj/HwADAgH/ybKt7gAAAABJRU5ErkJggg==';
21
+ //# sourceMappingURL=imageHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageHelpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/imageHelpers.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,wHAAwH,CAAC;AAC3H;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,wHAAwH,CAAC;AAC3H;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,wHAAwH,CAAC;AAC3H;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,wHAAwH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param {string} fileName
3
+ * @returns {Promise<Object>}
4
+ */
5
+ export default function importJSON(fileName: string): Promise<Object>;
@@ -0,0 +1,15 @@
1
+ import fs from 'fs';
2
+ /**
3
+ * @param {string} fileName
4
+ * @returns {Promise<Object>}
5
+ */
6
+ export default async function importJSON(fileName) {
7
+ if (fs.existsSync(fileName)) {
8
+ const content = await fs.promises.readFile(fileName);
9
+ return JSON.parse(content.toString());
10
+ }
11
+ // eslint-disable-next-line no-console
12
+ console.log(`${fileName} does not exist`);
13
+ return {};
14
+ }
15
+ //# sourceMappingURL=importJSON.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importJSON.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/importJSON.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,QAAQ;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACvC;IACD,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * serves http://localhost/tiledOblique/image.json
3
+ * @param {import("nock").Scope=} optScope
4
+ * @returns {import("nock").Scope} scope
5
+ */
6
+ export default function getTiledObliqueImageServer(optScope?: import("nock").Scope | undefined): import("nock").Scope;
7
+ /**
8
+ * Center point of first image in 12/2200/1342
9
+ * @type {import("ol/coordinate").Coordinate}
10
+ */
11
+ export const tiledMercatorCoordinate: any;
12
+ /**
13
+ * Center point of first image in 12/2199/1342
14
+ * @type {import("ol/coordinate").Coordinate}
15
+ */
16
+ export const tiledMercatorCoordinate2: any;
17
+ /**
18
+ * Center point of first image
19
+ * @type {import("ol/coordinate").Coordinate}
20
+ */
21
+ export const imagev35MercatorCoordinate: any;
@@ -0,0 +1,76 @@
1
+ /* eslint-disable camelcase */
2
+ import nock from 'nock';
3
+ import importJSON from './importJSON.js';
4
+ const t2199_1342 = await importJSON('./tests/data/oblique/tiledImageData/12/2199/1342.json');
5
+ const t2199_1343 = await importJSON('./tests/data/oblique/tiledImageData/12/2199/1343.json');
6
+ const t2199_1344 = await importJSON('./tests/data/oblique/tiledImageData/12/2199/1344.json');
7
+ const t2200_1342 = await importJSON('./tests/data/oblique/tiledImageData/12/2200/1342.json');
8
+ const t2200_1343 = await importJSON('./tests/data/oblique/tiledImageData/12/2200/1343.json');
9
+ const t2200_1344 = await importJSON('./tests/data/oblique/tiledImageData/12/2200/1344.json');
10
+ const t2201_1342 = await importJSON('./tests/data/oblique/tiledImageData/12/2201/1342.json');
11
+ const t2201_1343 = await importJSON('./tests/data/oblique/tiledImageData/12/2201/1343.json');
12
+ const t2201_1344 = await importJSON('./tests/data/oblique/tiledImageData/12/2201/1344.json');
13
+ const imageJsonTiled = await importJSON('./tests/data/oblique/tiledImageData/image.json');
14
+ const tiledImageData = {
15
+ 12: {
16
+ 2199: {
17
+ 1342: t2199_1342,
18
+ 1343: t2199_1343,
19
+ 1344: t2199_1344,
20
+ },
21
+ 2200: {
22
+ 1342: t2200_1342,
23
+ 1343: t2200_1343,
24
+ 1344: t2200_1344,
25
+ },
26
+ 2201: {
27
+ 1342: t2201_1342,
28
+ 1343: t2201_1343,
29
+ 1344: t2201_1344,
30
+ },
31
+ },
32
+ };
33
+ /**
34
+ * Center point of first image in 12/2200/1342
35
+ * @type {import("ol/coordinate").Coordinate}
36
+ */
37
+ export const tiledMercatorCoordinate = [
38
+ 1487752.4290728183, 6888473.584735272, 0,
39
+ ];
40
+ /**
41
+ * Center point of first image in 12/2199/1342
42
+ * @type {import("ol/coordinate").Coordinate}
43
+ */
44
+ export const tiledMercatorCoordinate2 = [
45
+ 1477722.079812214, 6897970.75026968, 0,
46
+ ];
47
+ /**
48
+ * Center point of first image
49
+ * @type {import("ol/coordinate").Coordinate}
50
+ */
51
+ export const imagev35MercatorCoordinate = [
52
+ 1488644.796500772, 6892246.018669462, 0,
53
+ ];
54
+ /**
55
+ * serves http://localhost/tiledOblique/image.json
56
+ * @param {import("nock").Scope=} optScope
57
+ * @returns {import("nock").Scope} scope
58
+ */
59
+ export default function getTiledObliqueImageServer(optScope) {
60
+ return (optScope || nock('http://localhost'))
61
+ .persist()
62
+ .get('/tiledOblique/image.json')
63
+ .reply(200, JSON.stringify(imageJsonTiled),
64
+ // zlib.gzipSync(Buffer.from(JSON.stringify(imageJsonTiled))),
65
+ { 'Content-Type': 'application/json' })
66
+ .get(/tiledOblique\/12\/(\d{4})\/(\d{4})\.json/)
67
+ .reply((uri) => {
68
+ const [x, y] = uri.match(/(\d{4})/g);
69
+ return [
70
+ 200,
71
+ JSON.stringify(tiledImageData['12'][x][y]),
72
+ { 'Content-Type': 'application/json' },
73
+ ];
74
+ });
75
+ }
76
+ //# sourceMappingURL=obliqueData.js.map