@loaders.gl/i3s 4.0.0-alpha.17 → 4.0.0-alpha.18
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/dist.min.js +94 -51
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-loader.js +6 -6
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-slpk-loader.js +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +9 -5
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +29 -19
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js +3 -3
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-loader.js +3 -4
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-slpk-loader.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +9 -5
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +20 -10
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/lib/utils/url-utils.js +2 -3
- package/dist/esm/lib/utils/url-utils.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/i3s-content-worker-node.js +47 -47
- package/dist/i3s-content-worker-node.js.map +3 -3
- package/dist/i3s-content-worker.js +50 -19
- package/dist/i3s-loader.js +2 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +5 -3
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js +7 -5
- package/dist/lib/parsers/parse-i3s.d.ts +2 -2
- package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s.js +21 -12
- package/dist/lib/utils/url-utils.d.ts +5 -4
- package/dist/lib/utils/url-utils.d.ts.map +1 -1
- package/dist/lib/utils/url-utils.js +5 -4
- package/dist/types.d.ts +102 -34
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/i3s-loader.ts +2 -4
- package/src/index.ts +4 -0
- package/src/lib/helpers/i3s-nodepages-tiles.ts +16 -9
- package/src/lib/parsers/parse-i3s.ts +25 -16
- package/src/lib/utils/url-utils.ts +6 -5
- package/src/types.ts +99 -35
package/dist/dist.min.js
CHANGED
|
@@ -1279,8 +1279,7 @@
|
|
|
1279
1279
|
}
|
|
1280
1280
|
async function loadLibraryFromFile(libraryUrl) {
|
|
1281
1281
|
if (libraryUrl.endsWith("wasm")) {
|
|
1282
|
-
|
|
1283
|
-
return await response2.arrayBuffer();
|
|
1282
|
+
return await loadAsArrayBuffer(libraryUrl);
|
|
1284
1283
|
}
|
|
1285
1284
|
if (!isBrowser2) {
|
|
1286
1285
|
try {
|
|
@@ -1292,8 +1291,7 @@
|
|
|
1292
1291
|
if (isWorker) {
|
|
1293
1292
|
return importScripts(libraryUrl);
|
|
1294
1293
|
}
|
|
1295
|
-
const
|
|
1296
|
-
const scriptSource = await response.text();
|
|
1294
|
+
const scriptSource = await loadAsText(libraryUrl);
|
|
1297
1295
|
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
1298
1296
|
}
|
|
1299
1297
|
function loadLibraryFromString(scriptSource, id) {
|
|
@@ -1314,6 +1312,20 @@
|
|
|
1314
1312
|
document.body.appendChild(script);
|
|
1315
1313
|
return null;
|
|
1316
1314
|
}
|
|
1315
|
+
async function loadAsArrayBuffer(url) {
|
|
1316
|
+
if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
|
|
1317
|
+
const response = await fetch(url);
|
|
1318
|
+
return await response.arrayBuffer();
|
|
1319
|
+
}
|
|
1320
|
+
return await node.readFileAsArrayBuffer(url);
|
|
1321
|
+
}
|
|
1322
|
+
async function loadAsText(url) {
|
|
1323
|
+
if (!node.readFileAsText || url.startsWith("http")) {
|
|
1324
|
+
const response = await fetch(url);
|
|
1325
|
+
return await response.text();
|
|
1326
|
+
}
|
|
1327
|
+
return await node.readFileAsText(url);
|
|
1328
|
+
}
|
|
1317
1329
|
var node, LATEST, VERSION2, loadLibraryPromises;
|
|
1318
1330
|
var init_library_utils = __esm({
|
|
1319
1331
|
"../worker-utils/src/lib/library-utils/library-utils.ts"() {
|
|
@@ -1965,18 +1977,38 @@
|
|
|
1965
1977
|
}
|
|
1966
1978
|
});
|
|
1967
1979
|
|
|
1980
|
+
// (disabled):../core/src/lib/fetch/fetch-file.node
|
|
1981
|
+
var require_fetch_file = __commonJS({
|
|
1982
|
+
"(disabled):../core/src/lib/fetch/fetch-file.node"() {
|
|
1983
|
+
}
|
|
1984
|
+
});
|
|
1985
|
+
|
|
1968
1986
|
// ../core/src/lib/fetch/fetch-file.ts
|
|
1987
|
+
function isNodePath(url) {
|
|
1988
|
+
return !isRequestURL(url) && !isDataURL(url);
|
|
1989
|
+
}
|
|
1990
|
+
function isRequestURL(url) {
|
|
1991
|
+
return url.startsWith("http:") || url.startsWith("https:");
|
|
1992
|
+
}
|
|
1993
|
+
function isDataURL(url) {
|
|
1994
|
+
return url.startsWith("data:");
|
|
1995
|
+
}
|
|
1969
1996
|
async function fetchFile(urlOrData, fetchOptions) {
|
|
1970
1997
|
if (typeof urlOrData === "string") {
|
|
1971
1998
|
const url = resolvePath(urlOrData);
|
|
1999
|
+
if (isNodePath(url) && node3?.fetchFileNode) {
|
|
2000
|
+
return node3.fetchFileNode(url, fetchOptions);
|
|
2001
|
+
}
|
|
1972
2002
|
return await fetch(url, fetchOptions);
|
|
1973
2003
|
}
|
|
1974
2004
|
return await makeResponse(urlOrData);
|
|
1975
2005
|
}
|
|
2006
|
+
var node3;
|
|
1976
2007
|
var init_fetch_file = __esm({
|
|
1977
2008
|
"../core/src/lib/fetch/fetch-file.ts"() {
|
|
1978
2009
|
init_src2();
|
|
1979
2010
|
init_response_utils();
|
|
2011
|
+
node3 = __toModule(require_fetch_file());
|
|
1980
2012
|
}
|
|
1981
2013
|
});
|
|
1982
2014
|
|
|
@@ -7779,15 +7811,15 @@
|
|
|
7779
7811
|
});
|
|
7780
7812
|
|
|
7781
7813
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
7782
|
-
async function
|
|
7814
|
+
async function loadBasisTranscoderModule(options) {
|
|
7783
7815
|
const modules = options.modules || {};
|
|
7784
7816
|
if (modules.basis) {
|
|
7785
7817
|
return modules.basis;
|
|
7786
7818
|
}
|
|
7787
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise ||
|
|
7819
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
|
|
7788
7820
|
return await loadBasisTranscoderPromise;
|
|
7789
7821
|
}
|
|
7790
|
-
async function
|
|
7822
|
+
async function loadBasisTranscoder(options) {
|
|
7791
7823
|
let BASIS = null;
|
|
7792
7824
|
let wasmBinary = null;
|
|
7793
7825
|
[BASIS, wasmBinary] = await Promise.all([
|
|
@@ -7795,9 +7827,9 @@
|
|
|
7795
7827
|
await loadLibrary("basis_transcoder.wasm", "textures", options)
|
|
7796
7828
|
]);
|
|
7797
7829
|
BASIS = BASIS || globalThis.BASIS;
|
|
7798
|
-
return await
|
|
7830
|
+
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
7799
7831
|
}
|
|
7800
|
-
function
|
|
7832
|
+
function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
|
|
7801
7833
|
const options = {};
|
|
7802
7834
|
if (wasmBinary) {
|
|
7803
7835
|
options.wasmBinary = wasmBinary;
|
|
@@ -8223,7 +8255,7 @@
|
|
|
8223
8255
|
const fileConstructors = await loadBasisEncoderModule(options);
|
|
8224
8256
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
8225
8257
|
}
|
|
8226
|
-
const { BasisFile } = await
|
|
8258
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
8227
8259
|
return parseBasisFile(BasisFile, data, options);
|
|
8228
8260
|
}
|
|
8229
8261
|
switch (options.basis.module) {
|
|
@@ -8238,7 +8270,7 @@
|
|
|
8238
8270
|
}
|
|
8239
8271
|
case "transcoder":
|
|
8240
8272
|
default:
|
|
8241
|
-
const { BasisFile } = await
|
|
8273
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
8242
8274
|
return parseBasisFile(BasisFile, data, options);
|
|
8243
8275
|
}
|
|
8244
8276
|
}
|
|
@@ -8830,9 +8862,9 @@
|
|
|
8830
8862
|
}
|
|
8831
8863
|
return attributeUrls;
|
|
8832
8864
|
}
|
|
8833
|
-
function generateTilesetAttributeUrls(tileset, resource) {
|
|
8865
|
+
function generateTilesetAttributeUrls(tileset, url, resource) {
|
|
8834
8866
|
const attributeUrls = [];
|
|
8835
|
-
const { attributeStorageInfo
|
|
8867
|
+
const { attributeStorageInfo = [] } = tileset;
|
|
8836
8868
|
for (let index = 0; index < attributeStorageInfo.length; index++) {
|
|
8837
8869
|
const fileName = attributeStorageInfo[index].key;
|
|
8838
8870
|
attributeUrls.push(`${url}/nodes/${resource}/attributes/${fileName}/0`);
|
|
@@ -10130,12 +10162,13 @@
|
|
|
10130
10162
|
init_parse_i3s();
|
|
10131
10163
|
init_url_utils2();
|
|
10132
10164
|
I3SNodePagesTiles = class {
|
|
10133
|
-
constructor(tileset, options) {
|
|
10165
|
+
constructor(tileset, url = "", options) {
|
|
10134
10166
|
this.nodePages = [];
|
|
10135
10167
|
this.pendingNodePages = [];
|
|
10136
10168
|
this.textureDefinitionsSelectedFormats = [];
|
|
10137
10169
|
this.textureLoaderOptions = {};
|
|
10138
10170
|
this.tileset = { ...tileset };
|
|
10171
|
+
this.url = url;
|
|
10139
10172
|
this.nodesPerPage = tileset.nodePages?.nodesPerPage || 64;
|
|
10140
10173
|
this.lodSelectionMetricType = tileset.nodePages?.lodSelectionMetricType;
|
|
10141
10174
|
this.options = options;
|
|
@@ -10145,7 +10178,7 @@
|
|
|
10145
10178
|
async getNodeById(id) {
|
|
10146
10179
|
const pageIndex = Math.floor(id / this.nodesPerPage);
|
|
10147
10180
|
if (!this.nodePages[pageIndex] && !this.pendingNodePages[pageIndex]) {
|
|
10148
|
-
const nodePageUrl = getUrlWithToken(`${this.
|
|
10181
|
+
const nodePageUrl = getUrlWithToken(`${this.url}/nodepages/${pageIndex}`, this.options.i3s?.token);
|
|
10149
10182
|
this.pendingNodePages[pageIndex] = {
|
|
10150
10183
|
status: "Pending",
|
|
10151
10184
|
promise: load(nodePageUrl, I3SNodePageLoader, this.options)
|
|
@@ -10161,10 +10194,10 @@
|
|
|
10161
10194
|
return this.nodePages[pageIndex].nodes[nodeIndex];
|
|
10162
10195
|
}
|
|
10163
10196
|
async formTileFromNodePages(id) {
|
|
10164
|
-
const
|
|
10197
|
+
const node4 = await this.getNodeById(id);
|
|
10165
10198
|
const children = [];
|
|
10166
10199
|
const childNodesPromises = [];
|
|
10167
|
-
for (const child of
|
|
10200
|
+
for (const child of node4.children || []) {
|
|
10168
10201
|
childNodesPromises.push(this.getNodeById(child));
|
|
10169
10202
|
}
|
|
10170
10203
|
const childNodes = await Promise.all(childNodesPromises);
|
|
@@ -10180,25 +10213,25 @@
|
|
|
10180
10213
|
let textureFormat = "jpg";
|
|
10181
10214
|
let attributeUrls = [];
|
|
10182
10215
|
let isDracoGeometry = false;
|
|
10183
|
-
if (
|
|
10184
|
-
const { url, isDracoGeometry: isDracoGeometryResult } =
|
|
10216
|
+
if (node4 && node4.mesh) {
|
|
10217
|
+
const { url, isDracoGeometry: isDracoGeometryResult } = node4.mesh.geometry && this.getContentUrl(node4.mesh.geometry) || { isDracoGeometry: false };
|
|
10185
10218
|
contentUrl = url;
|
|
10186
10219
|
isDracoGeometry = isDracoGeometryResult;
|
|
10187
|
-
const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(
|
|
10220
|
+
const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(node4.mesh.material);
|
|
10188
10221
|
materialDefinition = nodeMaterialDefinition;
|
|
10189
10222
|
textureFormat = textureData.format || textureFormat;
|
|
10190
10223
|
if (textureData.name) {
|
|
10191
|
-
textureUrl = `${this.
|
|
10224
|
+
textureUrl = `${this.url}/nodes/${node4.mesh.material.resource}/textures/${textureData.name}`;
|
|
10192
10225
|
}
|
|
10193
10226
|
if (this.tileset.attributeStorageInfo) {
|
|
10194
|
-
attributeUrls = generateTilesetAttributeUrls(this.tileset,
|
|
10227
|
+
attributeUrls = generateTilesetAttributeUrls(this.tileset, this.url, node4.mesh.attribute.resource);
|
|
10195
10228
|
}
|
|
10196
10229
|
}
|
|
10197
|
-
const lodSelection = this.getLodSelection(
|
|
10230
|
+
const lodSelection = this.getLodSelection(node4);
|
|
10198
10231
|
return normalizeTileNonUrlData({
|
|
10199
10232
|
id: id.toString(),
|
|
10200
10233
|
lodSelection,
|
|
10201
|
-
obb:
|
|
10234
|
+
obb: node4.obb,
|
|
10202
10235
|
contentUrl,
|
|
10203
10236
|
textureUrl,
|
|
10204
10237
|
attributeUrls,
|
|
@@ -10222,23 +10255,23 @@
|
|
|
10222
10255
|
if (geometryIndex !== -1) {
|
|
10223
10256
|
const isDracoGeometry = Boolean(geometryDefinition.geometryBuffers[geometryIndex].compressedAttributes);
|
|
10224
10257
|
result = {
|
|
10225
|
-
url: `${this.
|
|
10258
|
+
url: `${this.url}/nodes/${meshGeometryData.resource}/geometries/${geometryIndex}`,
|
|
10226
10259
|
isDracoGeometry
|
|
10227
10260
|
};
|
|
10228
10261
|
}
|
|
10229
10262
|
return result;
|
|
10230
10263
|
}
|
|
10231
|
-
getLodSelection(
|
|
10264
|
+
getLodSelection(node4) {
|
|
10232
10265
|
const lodSelection = [];
|
|
10233
10266
|
if (this.lodSelectionMetricType === "maxScreenThresholdSQ") {
|
|
10234
10267
|
lodSelection.push({
|
|
10235
10268
|
metricType: "maxScreenThreshold",
|
|
10236
|
-
maxError: Math.sqrt(
|
|
10269
|
+
maxError: Math.sqrt(node4.lodThreshold / (Math.PI * 0.25))
|
|
10237
10270
|
});
|
|
10238
10271
|
}
|
|
10239
10272
|
lodSelection.push({
|
|
10240
10273
|
metricType: this.lodSelectionMetricType,
|
|
10241
|
-
maxError:
|
|
10274
|
+
maxError: node4.lodThreshold
|
|
10242
10275
|
});
|
|
10243
10276
|
return lodSelection;
|
|
10244
10277
|
}
|
|
@@ -10315,11 +10348,14 @@
|
|
|
10315
10348
|
if (tile.attributeData) {
|
|
10316
10349
|
attributeUrls = generateTileAttributeUrls(url, tile);
|
|
10317
10350
|
}
|
|
10351
|
+
const children = tile.children || [];
|
|
10318
10352
|
return normalizeTileNonUrlData({
|
|
10319
10353
|
...tile,
|
|
10354
|
+
children,
|
|
10320
10355
|
url,
|
|
10321
10356
|
contentUrl,
|
|
10322
10357
|
textureUrl,
|
|
10358
|
+
textureFormat: "jpg",
|
|
10323
10359
|
attributeUrls,
|
|
10324
10360
|
isDracoGeometry: false
|
|
10325
10361
|
});
|
|
@@ -10346,19 +10382,20 @@
|
|
|
10346
10382
|
}
|
|
10347
10383
|
const lodMetricType = tile.lodSelection?.[0].metricType;
|
|
10348
10384
|
const lodMetricValue = tile.lodSelection?.[0].maxError;
|
|
10349
|
-
const transformMatrix = tile.transform;
|
|
10350
10385
|
const type = TILE_TYPE.MESH;
|
|
10351
10386
|
const refine = TILE_REFINEMENT.REPLACE;
|
|
10352
|
-
return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue,
|
|
10387
|
+
return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine };
|
|
10353
10388
|
}
|
|
10354
10389
|
async function normalizeTilesetData(tileset, options, context) {
|
|
10355
|
-
|
|
10390
|
+
const url = context.url;
|
|
10391
|
+
let nodePagesTile;
|
|
10392
|
+
let root;
|
|
10356
10393
|
if (tileset.nodePages) {
|
|
10357
|
-
|
|
10358
|
-
|
|
10394
|
+
nodePagesTile = new I3SNodePagesTiles(tileset, url, options);
|
|
10395
|
+
root = await nodePagesTile.formTileFromNodePages(0);
|
|
10359
10396
|
} else {
|
|
10360
10397
|
const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);
|
|
10361
|
-
|
|
10398
|
+
root = await load(rootNodeUrl, I3SLoader, {
|
|
10362
10399
|
...options,
|
|
10363
10400
|
i3s: {
|
|
10364
10401
|
...options.i3s,
|
|
@@ -10368,10 +10405,16 @@
|
|
|
10368
10405
|
}
|
|
10369
10406
|
});
|
|
10370
10407
|
}
|
|
10371
|
-
|
|
10372
|
-
|
|
10373
|
-
|
|
10374
|
-
|
|
10408
|
+
return {
|
|
10409
|
+
...tileset,
|
|
10410
|
+
url,
|
|
10411
|
+
basePath: url,
|
|
10412
|
+
type: TILESET_TYPE.I3S,
|
|
10413
|
+
nodePagesTile,
|
|
10414
|
+
root,
|
|
10415
|
+
lodMetricType: root.lodMetricType,
|
|
10416
|
+
lodMetricValue: root.lodMetricValue
|
|
10417
|
+
};
|
|
10375
10418
|
}
|
|
10376
10419
|
var init_parse_i3s = __esm({
|
|
10377
10420
|
"src/lib/parsers/parse-i3s.ts"() {
|
|
@@ -10381,6 +10424,7 @@
|
|
|
10381
10424
|
init_src8();
|
|
10382
10425
|
init_i3s_nodepages_tiles();
|
|
10383
10426
|
init_url_utils2();
|
|
10427
|
+
init_i3s_loader();
|
|
10384
10428
|
}
|
|
10385
10429
|
});
|
|
10386
10430
|
|
|
@@ -10421,9 +10465,8 @@
|
|
|
10421
10465
|
if (tilesetJson?.layerType === POINT_CLOUD) {
|
|
10422
10466
|
throw new Error("Point Cloud layers currently are not supported by I3SLoader");
|
|
10423
10467
|
}
|
|
10424
|
-
|
|
10425
|
-
|
|
10426
|
-
return tilesetJson;
|
|
10468
|
+
const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);
|
|
10469
|
+
return tilesetPostprocessed;
|
|
10427
10470
|
}
|
|
10428
10471
|
async function parseTile(data, context) {
|
|
10429
10472
|
data = JSON.parse(new TextDecoder().decode(data));
|
|
@@ -11361,7 +11404,7 @@
|
|
|
11361
11404
|
var elems = desc.stat_desc.elems;
|
|
11362
11405
|
var n2, m;
|
|
11363
11406
|
var max_code = -1;
|
|
11364
|
-
var
|
|
11407
|
+
var node4;
|
|
11365
11408
|
s2.heap_len = 0;
|
|
11366
11409
|
s2.heap_max = HEAP_SIZE;
|
|
11367
11410
|
for (n2 = 0; n2 < elems; n2++) {
|
|
@@ -11373,19 +11416,19 @@
|
|
|
11373
11416
|
}
|
|
11374
11417
|
}
|
|
11375
11418
|
while (s2.heap_len < 2) {
|
|
11376
|
-
|
|
11377
|
-
tree[
|
|
11378
|
-
s2.depth[
|
|
11419
|
+
node4 = s2.heap[++s2.heap_len] = max_code < 2 ? ++max_code : 0;
|
|
11420
|
+
tree[node4 * 2] = 1;
|
|
11421
|
+
s2.depth[node4] = 0;
|
|
11379
11422
|
s2.opt_len--;
|
|
11380
11423
|
if (has_stree) {
|
|
11381
|
-
s2.static_len -= stree[
|
|
11424
|
+
s2.static_len -= stree[node4 * 2 + 1];
|
|
11382
11425
|
}
|
|
11383
11426
|
}
|
|
11384
11427
|
desc.max_code = max_code;
|
|
11385
11428
|
for (n2 = s2.heap_len >> 1; n2 >= 1; n2--) {
|
|
11386
11429
|
pqdownheap(s2, tree, n2);
|
|
11387
11430
|
}
|
|
11388
|
-
|
|
11431
|
+
node4 = elems;
|
|
11389
11432
|
do {
|
|
11390
11433
|
n2 = s2.heap[1];
|
|
11391
11434
|
s2.heap[1] = s2.heap[s2.heap_len--];
|
|
@@ -11393,10 +11436,10 @@
|
|
|
11393
11436
|
m = s2.heap[1];
|
|
11394
11437
|
s2.heap[--s2.heap_max] = n2;
|
|
11395
11438
|
s2.heap[--s2.heap_max] = m;
|
|
11396
|
-
tree[
|
|
11397
|
-
s2.depth[
|
|
11398
|
-
tree[n2 * 2 + 1] = tree[m * 2 + 1] =
|
|
11399
|
-
s2.heap[1] =
|
|
11439
|
+
tree[node4 * 2] = tree[n2 * 2] + tree[m * 2];
|
|
11440
|
+
s2.depth[node4] = (s2.depth[n2] >= s2.depth[m] ? s2.depth[n2] : s2.depth[m]) + 1;
|
|
11441
|
+
tree[n2 * 2 + 1] = tree[m * 2 + 1] = node4;
|
|
11442
|
+
s2.heap[1] = node4++;
|
|
11400
11443
|
pqdownheap(s2, tree, 1);
|
|
11401
11444
|
} while (s2.heap_len >= 2);
|
|
11402
11445
|
s2.heap[--s2.heap_max] = s2.heap[1];
|
|
@@ -8,7 +8,7 @@ exports.ArcGisWebSceneLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseArcgisWebscene = require("./lib/parsers/parse-arcgis-webscene");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
|
|
12
12
|
var ArcGisWebSceneLoader = {
|
|
13
13
|
name: 'ArcGIS Web Scene Loader',
|
|
14
14
|
id: 'arcgis-web-scene',
|
|
@@ -15,7 +15,7 @@ var _parseI3sAttribute = require("./lib/parsers/parse-i3s-attribute");
|
|
|
15
15
|
var _urlUtils = require("./lib/utils/url-utils");
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
18
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
|
|
19
19
|
var EMPTY_VALUE = '';
|
|
20
20
|
var REJECTED_STATUS = 'rejected';
|
|
21
21
|
var I3SAttributeLoader = {
|
|
@@ -8,7 +8,7 @@ exports.I3SBuildingSceneLayerLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseI3sBuildingSceneLayer = require("./lib/parsers/parse-i3s-building-scene-layer");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
|
|
12
12
|
var I3SBuildingSceneLayerLoader = {
|
|
13
13
|
name: 'I3S Building Scene Layer',
|
|
14
14
|
id: 'i3s-building-scene-layer',
|
|
@@ -8,7 +8,7 @@ exports.I3SContentLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
|
|
12
12
|
var I3SContentLoader = {
|
|
13
13
|
name: 'I3S Content (Indexed Scene Layers)',
|
|
14
14
|
id: 'i3s-content',
|
package/dist/es5/i3s-loader.js
CHANGED
|
@@ -12,7 +12,7 @@ var _core = require("@loaders.gl/core");
|
|
|
12
12
|
var _i3sContentLoader = require("./i3s-content-loader");
|
|
13
13
|
var _parseI3s = require("./lib/parsers/parse-i3s");
|
|
14
14
|
var _constants = require("./lib/parsers/constants");
|
|
15
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
15
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
|
|
16
16
|
var TILESET_REGEX = /layers\/[0-9]+$/;
|
|
17
17
|
var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
18
18
|
var SLPK_HEX = '504b0304';
|
|
@@ -140,7 +140,7 @@ function parseTileset(_x4, _x5, _x6) {
|
|
|
140
140
|
}
|
|
141
141
|
function _parseTileset() {
|
|
142
142
|
_parseTileset = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(data, options, context) {
|
|
143
|
-
var tilesetJson;
|
|
143
|
+
var tilesetJson, tilesetPostprocessed;
|
|
144
144
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
145
145
|
while (1) switch (_context3.prev = _context3.next) {
|
|
146
146
|
case 0:
|
|
@@ -151,11 +151,11 @@ function _parseTileset() {
|
|
|
151
151
|
}
|
|
152
152
|
throw new Error('Point Cloud layers currently are not supported by I3SLoader');
|
|
153
153
|
case 3:
|
|
154
|
-
|
|
155
|
-
_context3.next = 6;
|
|
154
|
+
_context3.next = 5;
|
|
156
155
|
return (0, _parseI3s.normalizeTilesetData)(tilesetJson, options, context);
|
|
157
|
-
case
|
|
158
|
-
|
|
156
|
+
case 5:
|
|
157
|
+
tilesetPostprocessed = _context3.sent;
|
|
158
|
+
return _context3.abrupt("return", tilesetPostprocessed);
|
|
159
159
|
case 7:
|
|
160
160
|
case "end":
|
|
161
161
|
return _context3.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-loader.js","names":["_core","require","_i3sContentLoader","_parseI3s","_constants","VERSION","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parse","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","colorsByAttribute","exports","_x","_parseI3S","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","context","url","magicNumber","_args","wrap","_callee$","_context","prev","next","length","undefined","getMagicNumber","Error","test","parseTileset","sent","parseTile","parseTileContent","abrupt","stop","_x2","_x3","_parseTileContent","_callee2","arrayBuffer","_callee2$","_context2","I3SContentLoader","_x4","_x5","_x6","_parseTileset","_callee3","tilesetJson","_callee3$","_context3","JSON","TextDecoder","decode","layerType","
|
|
1
|
+
{"version":3,"file":"i3s-loader.js","names":["_core","require","_i3sContentLoader","_parseI3s","_constants","VERSION","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parse","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","colorsByAttribute","exports","_x","_parseI3S","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","context","url","magicNumber","_args","wrap","_callee$","_context","prev","next","length","undefined","getMagicNumber","Error","test","parseTileset","sent","parseTile","parseTileContent","abrupt","stop","_x2","_x3","_parseTileContent","_callee2","arrayBuffer","_callee2$","_context2","I3SContentLoader","_x4","_x5","_x6","_parseTileset","_callee3","tilesetJson","tilesetPostprocessed","_callee3$","_context3","JSON","TextDecoder","decode","layerType","normalizeTilesetData","_x7","_x8","_parseTile","_callee4","_callee4$","_context4","normalizeTileData","ArrayBuffer","_toConsumableArray2","Uint8Array","map","value","toString","padStart","join"],"sources":["../../src/i3s-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parse} from '@loaders.gl/core';\nimport {I3SContentLoader} from './i3s-content-loader';\nimport {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';\nimport {COORDINATE_SYSTEM} from './lib/parsers/constants';\nimport {I3SParseOptions} from './types';\nimport {LoaderOptions} from './../../loader-utils/src/types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nconst TILESET_REGEX = /layers\\/[0-9]+$/;\nconst TILE_HEADER_REGEX = /nodes\\/([0-9-]+|root)$/;\nconst SLPK_HEX = '504b0304';\nconst POINT_CLOUD = 'PointCloud';\n\nexport type I3SLoaderOptions = LoaderOptions & {\n i3s?: I3SParseOptions;\n};\n\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SLoader: LoaderWithParser = {\n name: 'I3S (Indexed Scene Layers)',\n id: 'i3s',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseI3S,\n extensions: ['bin'],\n options: {\n i3s: {\n token: null,\n isTileset: 'auto',\n isTileHeader: 'auto',\n tile: null,\n tileset: null,\n _tileOptions: null,\n _tilesetOptions: null,\n useDracoGeometry: true,\n useCompressedTextures: true,\n decodeTextures: true,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n colorsByAttribute: null\n }\n }\n};\n\nasync function parseI3S(data, options: I3SLoaderOptions = {}, context) {\n const url = context.url;\n options.i3s = options.i3s || {};\n const magicNumber = getMagicNumber(data);\n\n // check if file is slpk\n if (magicNumber === SLPK_HEX) {\n throw new Error('Files with .slpk extention currently are not supported by I3SLoader');\n }\n\n // auto detect file type based on url\n let isTileset;\n if (options.i3s.isTileset === 'auto') {\n isTileset = TILESET_REGEX.test(url);\n } else {\n isTileset = options.i3s.isTileset;\n }\n\n let isTileHeader;\n if (options.isTileHeader === 'auto') {\n isTileHeader = TILE_HEADER_REGEX.test(url);\n } else {\n isTileHeader = options.i3s.isTileHeader;\n }\n\n if (isTileset) {\n data = await parseTileset(data, options, context);\n } else if (isTileHeader) {\n data = await parseTile(data, context);\n } else {\n data = await parseTileContent(data, options);\n }\n\n return data;\n}\n\nasync function parseTileContent(arrayBuffer, options: I3SLoaderOptions) {\n return await parse(arrayBuffer, I3SContentLoader, options);\n}\n\nasync function parseTileset(data, options: I3SLoaderOptions, context) {\n const tilesetJson = JSON.parse(new TextDecoder().decode(data));\n\n if (tilesetJson?.layerType === POINT_CLOUD) {\n throw new Error('Point Cloud layers currently are not supported by I3SLoader');\n }\n\n const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);\n return tilesetPostprocessed;\n}\n\nasync function parseTile(data, context) {\n data = JSON.parse(new TextDecoder().decode(data));\n return normalizeTileData(data, context);\n}\n\nfunction getMagicNumber(data) {\n if (data instanceof ArrayBuffer) {\n // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system\n return [...new Uint8Array(data, 0, 4)]\n .map((value) => value.toString(16).padStart(2, '0'))\n .join('');\n }\n return null;\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.I3SNodePageLoader = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
10
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
|
|
11
11
|
function parseNodePage(_x, _x2) {
|
|
12
12
|
return _parseNodePage.apply(this, arguments);
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseSlpk = require("./lib/parsers/parse-slpk/parse-slpk");
|
|
11
11
|
var _dataViewFileProvider = require("./lib/parsers/parse-zip/data-view-file-provider");
|
|
12
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
12
|
+
var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
|
|
13
13
|
var SLPKLoader = {
|
|
14
14
|
name: 'I3S SLPK (Scene Layer Package)',
|
|
15
15
|
id: 'slpk',
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_constants","require","_i3sLoader","_i3sSlpkLoader","_i3sContentLoader","_i3sAttributeLoader","_i3sBuildingSceneLayerLoader","_i3sNodePageLoader","_arcgisWebsceneLoader","_localFileHeader","_parseSlpk"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type {\n BoundingVolumes,\n Mbs,\n Obb,\n SceneLayer3D,\n AttributeStorageInfo,\n Field,\n ESRIField,\n PopupInfo,\n Node3DIndexDocument,\n LodSelection,\n NodeReference,\n Resource,\n MaxScreenThresholdSQ,\n NodeInPage,\n SharedResources,\n Attribute,\n Extent,\n FeatureAttribute,\n FieldInfo,\n I3SMaterialDefinition,\n TextureDefinitionInfo,\n MaterialDefinitionInfo,\n FullExtent,\n StatisticsInfo,\n StatsInfo,\n Histogram,\n ValueCount,\n BuildingSceneSublayer,\n OperationalLayer,\n TextureSetDefinitionFormats\n} from './types';\nexport type {FileProvider} from './lib/parsers/parse-zip/file-provider';\n\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n\nexport {I3SLoader} from './i3s-loader';\nexport {SLPKLoader} from './i3s-slpk-loader';\nexport {I3SContentLoader} from './i3s-content-loader';\nexport {I3SAttributeLoader, loadFeatureAttributes} from './i3s-attribute-loader';\nexport {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';\nexport {I3SNodePageLoader} from './i3s-node-page-loader';\nexport {ArcGisWebSceneLoader} from './arcgis-webscene-loader';\nexport {parseZipLocalFileHeader} from './lib/parsers/parse-zip/local-file-header';\nexport {parseSLPK} from './lib/parsers/parse-slpk/parse-slpk';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","names":["_constants","require","_i3sLoader","_i3sSlpkLoader","_i3sContentLoader","_i3sAttributeLoader","_i3sBuildingSceneLayerLoader","_i3sNodePageLoader","_arcgisWebsceneLoader","_localFileHeader","_parseSlpk"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type {\n BoundingVolumes,\n Mbs,\n Obb,\n I3STilesetHeader,\n I3STileContent,\n I3STileHeader,\n SceneLayer3D,\n AttributeStorageInfo,\n Field,\n ESRIField,\n PopupInfo,\n Node3DIndexDocument,\n LodSelection,\n NodeReference,\n Resource,\n MaxScreenThresholdSQ,\n NodeInPage,\n SharedResources,\n Attribute,\n Extent,\n FeatureAttribute,\n FieldInfo,\n I3SMaterialDefinition,\n TextureDefinitionInfo,\n MaterialDefinitionInfo,\n FullExtent,\n StatisticsInfo,\n StatsInfo,\n Histogram,\n ValueCount,\n BuildingSceneSublayer,\n OperationalLayer,\n TextureSetDefinitionFormats\n} from './types';\nexport type {FileProvider} from './lib/parsers/parse-zip/file-provider';\nexport type {I3SLoaderOptions} from './i3s-loader';\n\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n\nexport {I3SLoader} from './i3s-loader';\nexport {SLPKLoader} from './i3s-slpk-loader';\nexport {I3SContentLoader} from './i3s-content-loader';\nexport {I3SAttributeLoader, loadFeatureAttributes} from './i3s-attribute-loader';\nexport {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';\nexport {I3SNodePageLoader} from './i3s-node-page-loader';\nexport {ArcGisWebSceneLoader} from './arcgis-webscene-loader';\nexport {parseZipLocalFileHeader} from './lib/parsers/parse-zip/local-file-header';\nexport {parseSLPK} from './lib/parsers/parse-slpk/parse-slpk';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,4BAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA"}
|
|
@@ -21,8 +21,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
21
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
23
|
var I3SNodePagesTiles = function () {
|
|
24
|
-
function I3SNodePagesTiles(tileset
|
|
24
|
+
function I3SNodePagesTiles(tileset) {
|
|
25
25
|
var _tileset$nodePages, _tileset$nodePages2;
|
|
26
|
+
var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
27
|
+
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
26
28
|
(0, _classCallCheck2.default)(this, I3SNodePagesTiles);
|
|
27
29
|
(0, _defineProperty2.default)(this, "tileset", void 0);
|
|
28
30
|
(0, _defineProperty2.default)(this, "nodePages", []);
|
|
@@ -32,8 +34,10 @@ var I3SNodePagesTiles = function () {
|
|
|
32
34
|
(0, _defineProperty2.default)(this, "lodSelectionMetricType", void 0);
|
|
33
35
|
(0, _defineProperty2.default)(this, "textureDefinitionsSelectedFormats", []);
|
|
34
36
|
(0, _defineProperty2.default)(this, "nodesInNodePages", void 0);
|
|
37
|
+
(0, _defineProperty2.default)(this, "url", void 0);
|
|
35
38
|
(0, _defineProperty2.default)(this, "textureLoaderOptions", {});
|
|
36
39
|
this.tileset = _objectSpread({}, tileset);
|
|
40
|
+
this.url = url;
|
|
37
41
|
this.nodesPerPage = ((_tileset$nodePages = tileset.nodePages) === null || _tileset$nodePages === void 0 ? void 0 : _tileset$nodePages.nodesPerPage) || 64;
|
|
38
42
|
this.lodSelectionMetricType = (_tileset$nodePages2 = tileset.nodePages) === null || _tileset$nodePages2 === void 0 ? void 0 : _tileset$nodePages2.lodSelectionMetricType;
|
|
39
43
|
this.options = options;
|
|
@@ -53,7 +57,7 @@ var I3SNodePagesTiles = function () {
|
|
|
53
57
|
_context.next = 9;
|
|
54
58
|
break;
|
|
55
59
|
}
|
|
56
|
-
nodePageUrl = (0, _urlUtils.getUrlWithToken)("".concat(this.
|
|
60
|
+
nodePageUrl = (0, _urlUtils.getUrlWithToken)("".concat(this.url, "/nodepages/").concat(pageIndex), (_this$options$i3s = this.options.i3s) === null || _this$options$i3s === void 0 ? void 0 : _this$options$i3s.token);
|
|
57
61
|
this.pendingNodePages[pageIndex] = {
|
|
58
62
|
status: 'Pending',
|
|
59
63
|
promise: (0, _core.load)(nodePageUrl, _i3sNodePageLoader.I3SNodePageLoader, this.options)
|
|
@@ -143,10 +147,10 @@ var I3SNodePagesTiles = function () {
|
|
|
143
147
|
materialDefinition = nodeMaterialDefinition;
|
|
144
148
|
textureFormat = textureData.format || textureFormat;
|
|
145
149
|
if (textureData.name) {
|
|
146
|
-
textureUrl = "".concat(this.
|
|
150
|
+
textureUrl = "".concat(this.url, "/nodes/").concat(node.mesh.material.resource, "/textures/").concat(textureData.name);
|
|
147
151
|
}
|
|
148
152
|
if (this.tileset.attributeStorageInfo) {
|
|
149
|
-
attributeUrls = (0, _urlUtils.generateTilesetAttributeUrls)(this.tileset, node.mesh.attribute.resource);
|
|
153
|
+
attributeUrls = (0, _urlUtils.generateTilesetAttributeUrls)(this.tileset, this.url, node.mesh.attribute.resource);
|
|
150
154
|
}
|
|
151
155
|
}
|
|
152
156
|
lodSelection = this.getLodSelection(node);
|
|
@@ -193,7 +197,7 @@ var I3SNodePagesTiles = function () {
|
|
|
193
197
|
if (geometryIndex !== -1) {
|
|
194
198
|
var isDracoGeometry = Boolean(geometryDefinition.geometryBuffers[geometryIndex].compressedAttributes);
|
|
195
199
|
result = {
|
|
196
|
-
url: "".concat(this.
|
|
200
|
+
url: "".concat(this.url, "/nodes/").concat(meshGeometryData.resource, "/geometries/").concat(geometryIndex),
|
|
197
201
|
isDracoGeometry: isDracoGeometry
|
|
198
202
|
};
|
|
199
203
|
}
|