@loaders.gl/tile-converter 4.2.0-alpha.4 → 4.2.0-alpha.5
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/3d-tiles-converter/3d-tiles-converter.d.ts +3 -3
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.js +329 -293
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +257 -200
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +14 -5
- package/dist/3d-tiles-converter/helpers/load-i3s.js +106 -75
- package/dist/3d-tiles-converter/helpers/texture-atlas.js +44 -21
- package/dist/3d-tiles-converter/json-templates/tileset.js +32 -33
- package/dist/constants.js +0 -1
- package/dist/converter-cli.js +255 -234
- package/dist/converter.min.cjs +80 -90
- package/dist/deps-installer/deps-installer.js +72 -58
- package/dist/i3s-converter/helpers/attribute-metadata-info.js +207 -153
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +145 -103
- package/dist/i3s-converter/helpers/coordinate-converter.js +100 -65
- package/dist/i3s-converter/helpers/create-scene-server-path.js +14 -9
- package/dist/i3s-converter/helpers/feature-attributes.js +168 -105
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts +1 -1
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-attributes.js +204 -212
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +2 -2
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.js +1148 -829
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.js +111 -97
- package/dist/i3s-converter/helpers/load-3d-tiles.js +103 -66
- package/dist/i3s-converter/helpers/node-debug.js +98 -54
- package/dist/i3s-converter/helpers/node-index-document.d.ts +3 -3
- package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/node-index-document.js +248 -177
- package/dist/i3s-converter/helpers/node-pages.d.ts +1 -1
- package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/node-pages.js +299 -194
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +1 -1
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +92 -60
- package/dist/i3s-converter/helpers/progress.js +134 -83
- package/dist/i3s-converter/helpers/tileset-traversal.d.ts +1 -1
- package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/tileset-traversal.js +24 -13
- package/dist/i3s-converter/i3s-converter.d.ts +7 -7
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +1044 -898
- package/dist/i3s-converter/json-templates/geometry-definitions.js +70 -79
- package/dist/i3s-converter/json-templates/layers.js +120 -121
- package/dist/i3s-converter/json-templates/metadata.js +19 -20
- package/dist/i3s-converter/json-templates/node.js +73 -71
- package/dist/i3s-converter/json-templates/scene-server.js +25 -26
- package/dist/i3s-converter/json-templates/shared-resources.js +107 -108
- package/dist/i3s-converter/json-templates/store.js +96 -94
- package/dist/i3s-converter/types.js +35 -23
- package/dist/i3s-server/app.js +15 -12
- package/dist/i3s-server/bin/www.js +14 -7
- package/dist/i3s-server/controllers/index-controller.js +18 -15
- package/dist/i3s-server/controllers/slpk-controller.js +22 -11
- package/dist/i3s-server/routes/index.js +9 -8
- package/dist/i3s-server/routes/slpk-router.js +18 -17
- package/dist/i3s-server/utils/create-scene-server.js +15 -10
- package/dist/i3s-server/utils/server-utils.js +49 -32
- package/dist/index.cjs +292 -851
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/lib/json-schemas/conversion-dump-json-schema.js +243 -421
- package/dist/lib/utils/cli-utils.js +63 -36
- package/dist/lib/utils/compress-util.js +20 -15
- package/dist/lib/utils/conversion-dump.d.ts +1 -1
- package/dist/lib/utils/conversion-dump.d.ts.map +1 -1
- package/dist/lib/utils/conversion-dump.js +209 -187
- package/dist/lib/utils/file-utils.js +122 -74
- package/dist/lib/utils/geometry-utils.js +13 -7
- package/dist/lib/utils/lod-conversion-utils.js +65 -33
- package/dist/lib/utils/queue.js +12 -13
- package/dist/lib/utils/statistic-utills.d.ts +6 -23
- package/dist/lib/utils/statistic-utills.js +64 -59
- package/dist/lib/utils/write-queue.d.ts +2 -2
- package/dist/lib/utils/write-queue.d.ts.map +1 -1
- package/dist/lib/utils/write-queue.js +68 -86
- package/dist/pgm-loader.js +16 -12
- package/dist/slpk-extractor/slpk-extractor.js +59 -50
- package/dist/slpk-extractor-cli.js +82 -59
- package/package.json +18 -18
- package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
- package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/converter-cli.js.map +0 -1
- package/dist/deps-installer/deps-installer.js.map +0 -1
- package/dist/i3s-converter/helpers/attribute-metadata-info.js.map +0 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
- package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
- package/dist/i3s-converter/helpers/feature-attributes.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/gltf-attributes.js.map +0 -1
- package/dist/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
- package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
- package/dist/i3s-converter/helpers/node-index-document.js.map +0 -1
- package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
- package/dist/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
- package/dist/i3s-converter/helpers/progress.js.map +0 -1
- package/dist/i3s-converter/helpers/tileset-traversal.js.map +0 -1
- package/dist/i3s-converter/i3s-converter.js.map +0 -1
- package/dist/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
- package/dist/i3s-converter/json-templates/layers.js.map +0 -1
- package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
- package/dist/i3s-converter/json-templates/node.js.map +0 -1
- package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
- package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
- package/dist/i3s-converter/json-templates/store.js.map +0 -1
- package/dist/i3s-converter/types.js.map +0 -1
- package/dist/i3s-server/README.md +0 -63
- package/dist/i3s-server/app.js.map +0 -1
- package/dist/i3s-server/bin/www.js.map +0 -1
- package/dist/i3s-server/certs/cert.pem +0 -19
- package/dist/i3s-server/certs/key.pem +0 -27
- package/dist/i3s-server/controllers/index-controller.js.map +0 -1
- package/dist/i3s-server/controllers/slpk-controller.js.map +0 -1
- package/dist/i3s-server/routes/index.js.map +0 -1
- package/dist/i3s-server/routes/slpk-router.js.map +0 -1
- package/dist/i3s-server/utils/create-scene-server.js.map +0 -1
- package/dist/i3s-server/utils/server-utils.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/json-schemas/conversion-dump-json-schema.js.map +0 -1
- package/dist/lib/utils/cli-utils.js.map +0 -1
- package/dist/lib/utils/compress-util.js.map +0 -1
- package/dist/lib/utils/conversion-dump.js.map +0 -1
- package/dist/lib/utils/file-utils.js.map +0 -1
- package/dist/lib/utils/geometry-utils.js.map +0 -1
- package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
- package/dist/lib/utils/queue.js.map +0 -1
- package/dist/lib/utils/statistic-utills.js.map +0 -1
- package/dist/lib/utils/write-queue.js.map +0 -1
- package/dist/pgm-loader.js.map +0 -1
- package/dist/slpk-extractor/slpk-extractor.js.map +0 -1
- package/dist/slpk-extractor-cli.js.map +0 -1
|
@@ -2,90 +2,121 @@ import { load } from '@loaders.gl/core';
|
|
|
2
2
|
import { I3SLoader, parseSLPKArchive } from '@loaders.gl/i3s';
|
|
3
3
|
import { FileHandleFile } from '@loaders.gl/loader-utils';
|
|
4
4
|
import { ZipFileSystem, makeZipCDHeaderIterator } from '@loaders.gl/zip';
|
|
5
|
+
/**
|
|
6
|
+
* Load I3S node content
|
|
7
|
+
* @param sourceTileset - source layer JSON
|
|
8
|
+
* @param sourceTile - source I3S node metadata
|
|
9
|
+
* @param tilesetLoadOptions - load options for Tiles3DLoader
|
|
10
|
+
* @param slpkFilesystem - loaded instance of ZipFileSystem for local convertion from SLPK file
|
|
11
|
+
* @returns - 3DTiles tile content or null
|
|
12
|
+
*/
|
|
5
13
|
export const loadI3SContent = async (sourceTileset, sourceTile, tilesetLoadOptions, slpkFilesystem) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
const loadOptions = {
|
|
10
|
-
...tilesetLoadOptions,
|
|
11
|
-
i3s: {
|
|
12
|
-
...tilesetLoadOptions.i3s,
|
|
13
|
-
isTileset: false,
|
|
14
|
-
isTileHeader: false,
|
|
15
|
-
_tileOptions: {
|
|
16
|
-
attributeUrls: sourceTile.attributeUrls || [],
|
|
17
|
-
textureUrl: sourceTile.textureUrl,
|
|
18
|
-
textureFormat: sourceTile.textureFormat,
|
|
19
|
-
textureLoaderOptions: sourceTile.textureLoaderOptions,
|
|
20
|
-
materialDefinition: sourceTile.materialDefinition,
|
|
21
|
-
isDracoGeometry: sourceTile.isDracoGeometry,
|
|
22
|
-
mbs: sourceTile.mbs
|
|
23
|
-
},
|
|
24
|
-
_tilesetOptions: {
|
|
25
|
-
store: sourceTileset.store,
|
|
26
|
-
attributeStorageInfo: sourceTileset.attributeStorageInfo,
|
|
27
|
-
fields: sourceTileset.fields
|
|
28
|
-
}
|
|
14
|
+
if (!sourceTileset || !sourceTile.contentUrl) {
|
|
15
|
+
return null;
|
|
29
16
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
const loadOptions = {
|
|
18
|
+
...tilesetLoadOptions,
|
|
19
|
+
i3s: {
|
|
20
|
+
...tilesetLoadOptions.i3s,
|
|
21
|
+
// @ts-expect-error
|
|
22
|
+
isTileset: false,
|
|
23
|
+
// @ts-expect-error
|
|
24
|
+
isTileHeader: false,
|
|
25
|
+
_tileOptions: {
|
|
26
|
+
attributeUrls: sourceTile.attributeUrls || [],
|
|
27
|
+
textureUrl: sourceTile.textureUrl,
|
|
28
|
+
textureFormat: sourceTile.textureFormat,
|
|
29
|
+
textureLoaderOptions: sourceTile.textureLoaderOptions,
|
|
30
|
+
materialDefinition: sourceTile.materialDefinition,
|
|
31
|
+
isDracoGeometry: sourceTile.isDracoGeometry,
|
|
32
|
+
mbs: sourceTile.mbs
|
|
33
|
+
},
|
|
34
|
+
_tilesetOptions: {
|
|
35
|
+
store: sourceTileset.store,
|
|
36
|
+
// @ts-expect-error
|
|
37
|
+
attributeStorageInfo: sourceTileset.attributeStorageInfo,
|
|
38
|
+
// @ts-expect-error
|
|
39
|
+
fields: sourceTileset.fields
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const tileContent = await loadFromArchive(sourceTile.contentUrl, I3SLoader, loadOptions, slpkFilesystem);
|
|
44
|
+
return tileContent;
|
|
33
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Load local SLPK file to ZipFileSystem instance
|
|
48
|
+
* @param url - path to SLPK file
|
|
49
|
+
* @returns instance of ZipFileSystem or null if url is not an SLPK file
|
|
50
|
+
*/
|
|
34
51
|
export async function openSLPK(url) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
slpkFileName
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return
|
|
45
|
-
}
|
|
46
|
-
return null;
|
|
52
|
+
const slpkUrlParts = url.split('.slpk');
|
|
53
|
+
const { slpkFileName } = getSlpkUrlParts(url) || {};
|
|
54
|
+
if (slpkFileName) {
|
|
55
|
+
const slpkFileName = `${slpkUrlParts[0]}.slpk`;
|
|
56
|
+
const fileProvider = new FileHandleFile(slpkFileName);
|
|
57
|
+
const archive = await parseSLPKArchive(fileProvider, undefined, slpkFileName);
|
|
58
|
+
const fileSystem = new ZipFileSystem(archive);
|
|
59
|
+
return fileSystem;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
47
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Load a resource with load options and .3tz format support
|
|
65
|
+
* @param url - resource URL
|
|
66
|
+
* @param loader - loader to parse data (Tiles3DLoader / CesiumIonLoader)
|
|
67
|
+
* @param loadOptions - i3s loader options
|
|
68
|
+
* @returns i3s resource
|
|
69
|
+
*/
|
|
48
70
|
export async function loadFromArchive(url, loader, loadOptions, fileSystem) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
return
|
|
59
|
-
}
|
|
60
|
-
return await load(url, loader, loadOptions);
|
|
71
|
+
const slpkUrlParts = getSlpkUrlParts(url);
|
|
72
|
+
if (fileSystem !== null && slpkUrlParts !== null) {
|
|
73
|
+
const { internalFileName } = slpkUrlParts;
|
|
74
|
+
const content = await load(internalFileName, loader, {
|
|
75
|
+
...loadOptions,
|
|
76
|
+
fetch: fileSystem.fetch.bind(fileSystem)
|
|
77
|
+
});
|
|
78
|
+
return content;
|
|
79
|
+
}
|
|
80
|
+
return await load(url, loader, loadOptions);
|
|
61
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Extract slpk file path and internal from the url
|
|
84
|
+
* For example, for `./path/to/file.slpk/nodes/0` it returns
|
|
85
|
+
* {"slpkFileName": "./path/to/file.slpk", "internalFileName": "/nodes/0" }
|
|
86
|
+
* @param url full internal file path
|
|
87
|
+
* @returns object with internal slpk file parts
|
|
88
|
+
*/
|
|
62
89
|
function getSlpkUrlParts(url) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
90
|
+
const slpkUrlParts = url.split('.slpk');
|
|
91
|
+
let result;
|
|
92
|
+
// Not '.slpk'. The file will be loaded with global fetch function
|
|
93
|
+
if (slpkUrlParts.length === 1) {
|
|
94
|
+
result = null;
|
|
95
|
+
}
|
|
96
|
+
else if (slpkUrlParts.length === 2) {
|
|
97
|
+
result = { slpkFileName: `${slpkUrlParts[0]}.slpk`, internalFileName: slpkUrlParts[1].slice(1) };
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
throw new Error('Unexpected URL format');
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
76
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Get nodes count inside SLPK
|
|
106
|
+
* @param fileSystem - file system of SLPK
|
|
107
|
+
* @returns number of nodes
|
|
108
|
+
*/
|
|
77
109
|
export async function getNodeCount(fileSystem) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
110
|
+
if (!fileSystem?.fileProvider) {
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
let count = 0;
|
|
114
|
+
const filesIterator = makeZipCDHeaderIterator(fileSystem.fileProvider);
|
|
115
|
+
for await (const file of filesIterator) {
|
|
116
|
+
const filename = file.fileName;
|
|
117
|
+
if (filename.indexOf('3dNodeIndexDocument.json.gz') >= 0) {
|
|
118
|
+
count++;
|
|
119
|
+
}
|
|
87
120
|
}
|
|
88
|
-
|
|
89
|
-
return count;
|
|
121
|
+
return count;
|
|
90
122
|
}
|
|
91
|
-
//# sourceMappingURL=load-i3s.js.map
|
|
@@ -1,27 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply uvRegions to texture coordinates.
|
|
3
|
+
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.7/geometryUVRegion.cmn.md
|
|
4
|
+
* Shader formula vec2 uv = fract(texCoords) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;
|
|
5
|
+
* @param texCoords
|
|
6
|
+
* @param uvRegions
|
|
7
|
+
*/
|
|
1
8
|
export function convertTextureAtlas(texCoords, uvRegions) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const convertedTexCoords = new Float32Array(texCoords.length);
|
|
10
|
+
const normalisedRegions = normalizeRegions(uvRegions);
|
|
11
|
+
for (let index = 0; index < texCoords.length; index += 2) {
|
|
12
|
+
const uv = texCoords.subarray(index, index + 2);
|
|
13
|
+
const regions = normalisedRegions.slice(index * 2, index * 2 + 4);
|
|
14
|
+
// fract(texCoords)
|
|
15
|
+
const fractatedUV = fract([uv[0], uv[1]]);
|
|
16
|
+
// (uvRegions.zw - uvRegions.xy)
|
|
17
|
+
const subtracted = [regions[2] - regions[0], regions[3] - regions[1]];
|
|
18
|
+
// fract(texCoords) * (uvRegions.zw - uvRegions.xy)
|
|
19
|
+
const multiplicationResult = [fractatedUV[0] * subtracted[0], fractatedUV[1] * subtracted[1]];
|
|
20
|
+
// fract(texCoords) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;
|
|
21
|
+
const convertedUV = [
|
|
22
|
+
multiplicationResult[0] + regions[0],
|
|
23
|
+
multiplicationResult[1] + regions[1]
|
|
24
|
+
];
|
|
25
|
+
convertedTexCoords[index] = convertedUV[0];
|
|
26
|
+
convertedTexCoords[index + 1] = convertedUV[1];
|
|
27
|
+
}
|
|
28
|
+
return convertedTexCoords;
|
|
15
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Do fractation of UV array.
|
|
32
|
+
* @param uv
|
|
33
|
+
*/
|
|
16
34
|
function fract(uv) {
|
|
17
|
-
|
|
35
|
+
return [uv[0] - Math.floor(uv[0]), uv[1] - Math.floor(uv[1])];
|
|
18
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Normalize uvRegions by dividing by the maximum Uint16 value
|
|
39
|
+
* @param regions
|
|
40
|
+
*/
|
|
19
41
|
function normalizeRegions(regions) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
normalizedRegions
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
// The code is for Uint16Array because it is the spec requirement
|
|
43
|
+
// https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryUVRegion.cmn.md
|
|
44
|
+
const MAX_UINT_16_VALUE = 65535;
|
|
45
|
+
const normalizedRegions = [];
|
|
46
|
+
for (let index = 0; index < regions.length; index++) {
|
|
47
|
+
normalizedRegions[index] = regions[index] / MAX_UINT_16_VALUE;
|
|
48
|
+
}
|
|
49
|
+
return normalizedRegions;
|
|
26
50
|
}
|
|
27
|
-
//# sourceMappingURL=texture-atlas.js.map
|
|
@@ -1,40 +1,39 @@
|
|
|
1
1
|
import transform from 'json-map-transform';
|
|
2
2
|
const ASSET = () => ({
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
version: {
|
|
4
|
+
path: 'version',
|
|
5
|
+
default: '1.0'
|
|
6
|
+
}
|
|
7
7
|
});
|
|
8
8
|
const TILE = () => ({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
boundingVolume: {
|
|
10
|
+
path: 'boundingVolume'
|
|
11
|
+
},
|
|
12
|
+
geometricError: {
|
|
13
|
+
path: 'geometricError'
|
|
14
|
+
},
|
|
15
|
+
refine: {
|
|
16
|
+
path: 'refine'
|
|
17
|
+
},
|
|
18
|
+
content: {
|
|
19
|
+
path: 'content'
|
|
20
|
+
},
|
|
21
|
+
children: {
|
|
22
|
+
path: 'children',
|
|
23
|
+
transform: (val) => val.map((tile) => transform(tile, TILE()))
|
|
24
|
+
}
|
|
25
25
|
});
|
|
26
26
|
export const TILESET = () => ({
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
asset: {
|
|
28
|
+
path: 'asset',
|
|
29
|
+
transform: (val) => transform(val, ASSET())
|
|
30
|
+
},
|
|
31
|
+
geometricError: {
|
|
32
|
+
path: 'root',
|
|
33
|
+
transform: (val) => val.geometricError
|
|
34
|
+
},
|
|
35
|
+
root: {
|
|
36
|
+
path: 'root',
|
|
37
|
+
transform: (val) => transform(val, TILE())
|
|
38
|
+
}
|
|
39
39
|
});
|
|
40
|
-
//# sourceMappingURL=tileset.js.map
|
package/dist/constants.js
CHANGED