@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.
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -1
- package/dist/tests/unit/helpers/cesiumHelpers.d.ts +108 -0
- package/dist/tests/unit/helpers/cesiumHelpers.js +277 -0
- package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -0
- package/dist/tests/unit/helpers/getFileNameFromUrl.d.ts +6 -0
- package/{tests → dist/tests}/unit/helpers/getFileNameFromUrl.js +3 -3
- package/dist/tests/unit/helpers/getFileNameFromUrl.js.map +1 -0
- package/dist/tests/unit/helpers/helpers.d.ts +12 -0
- package/{tests → dist/tests}/unit/helpers/helpers.js +8 -17
- package/dist/tests/unit/helpers/helpers.js.map +1 -0
- package/dist/tests/unit/helpers/imageHelpers.d.ts +20 -0
- package/dist/tests/unit/helpers/imageHelpers.js +21 -0
- package/dist/tests/unit/helpers/imageHelpers.js.map +1 -0
- package/dist/tests/unit/helpers/importJSON.d.ts +5 -0
- package/dist/tests/unit/helpers/importJSON.js +15 -0
- package/dist/tests/unit/helpers/importJSON.js.map +1 -0
- package/dist/tests/unit/helpers/obliqueData.d.ts +21 -0
- package/dist/tests/unit/helpers/obliqueData.js +76 -0
- package/dist/tests/unit/helpers/obliqueData.js.map +1 -0
- package/dist/tests/unit/helpers/obliqueHelpers.d.ts +33 -0
- package/{tests → dist/tests}/unit/helpers/obliqueHelpers.js +45 -63
- package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -0
- package/dist/tests/unit/helpers/openlayersHelpers.d.ts +11 -0
- package/dist/tests/unit/helpers/openlayersHelpers.js +24 -0
- package/dist/tests/unit/helpers/openlayersHelpers.js.map +1 -0
- package/dist/tests/unit/helpers/terrain/terrainData.d.ts +10 -0
- package/dist/tests/unit/helpers/terrain/terrainData.js +40 -0
- package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -0
- package/package.json +6 -8
- package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +1 -1
- package/tests/unit/helpers/cesiumHelpers.js +0 -326
- package/tests/unit/helpers/imageHelpers.js +0 -24
- package/tests/unit/helpers/importJSON.js +0 -15
- package/tests/unit/helpers/obliqueData.js +0 -102
- package/tests/unit/helpers/openlayersHelpers.js +0 -25
- package/tests/unit/helpers/terrain/terrainData.js +0 -45
- /package/{tests → dist/tests}/data/dynamicPointCzml.json +0 -0
- /package/{tests → dist/tests}/data/oblique/imageData/imagev34.json +0 -0
- /package/{tests → dist/tests}/data/oblique/imageData/imagev35.json +0 -0
- /package/{tests → dist/tests}/data/oblique/imageData/imagev35PerImageSize.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1342.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1343.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2199/1344.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1342.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1343.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2200/1344.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1342.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1343.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/12/2201/1344.json +0 -0
- /package/{tests → dist/tests}/data/oblique/tiledImageData/image.json +0 -0
- /package/{tests → dist/tests}/data/terrain/13/8800/6485.terrain +0 -0
- /package/{tests → dist/tests}/data/terrain/13/8800/6486.terrain +0 -0
- /package/{tests → dist/tests}/data/terrain/13/8801/6485.terrain +0 -0
- /package/{tests → dist/tests}/data/terrain/13/8801/6486.terrain +0 -0
- /package/{tests → dist/tests}/data/terrain/layer.json +0 -0
- /package/{tests → dist/tests}/data/testGeoJSON.json +0 -0
- /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:
|
|
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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"}
|
|
@@ -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
|
-
|
|
11
|
-
|
|
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
|
-
|
|
11
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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,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
|