@loaders.gl/i3s 4.0.0-alpha.16 → 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 +97 -58
- 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 +53 -26
- 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,22 +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
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
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
|
+
}
|
|
1996
|
+
async function fetchFile(urlOrData, fetchOptions) {
|
|
1997
|
+
if (typeof urlOrData === "string") {
|
|
1998
|
+
const url = resolvePath(urlOrData);
|
|
1999
|
+
if (isNodePath(url) && node3?.fetchFileNode) {
|
|
2000
|
+
return node3.fetchFileNode(url, fetchOptions);
|
|
1975
2001
|
}
|
|
1976
2002
|
return await fetch(url, fetchOptions);
|
|
1977
2003
|
}
|
|
1978
|
-
return await makeResponse(
|
|
2004
|
+
return await makeResponse(urlOrData);
|
|
1979
2005
|
}
|
|
2006
|
+
var node3;
|
|
1980
2007
|
var init_fetch_file = __esm({
|
|
1981
2008
|
"../core/src/lib/fetch/fetch-file.ts"() {
|
|
1982
2009
|
init_src2();
|
|
1983
2010
|
init_response_utils();
|
|
2011
|
+
node3 = __toModule(require_fetch_file());
|
|
1984
2012
|
}
|
|
1985
2013
|
});
|
|
1986
2014
|
|
|
@@ -7783,15 +7811,15 @@
|
|
|
7783
7811
|
});
|
|
7784
7812
|
|
|
7785
7813
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
7786
|
-
async function
|
|
7814
|
+
async function loadBasisTranscoderModule(options) {
|
|
7787
7815
|
const modules = options.modules || {};
|
|
7788
7816
|
if (modules.basis) {
|
|
7789
7817
|
return modules.basis;
|
|
7790
7818
|
}
|
|
7791
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise ||
|
|
7819
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
|
|
7792
7820
|
return await loadBasisTranscoderPromise;
|
|
7793
7821
|
}
|
|
7794
|
-
async function
|
|
7822
|
+
async function loadBasisTranscoder(options) {
|
|
7795
7823
|
let BASIS = null;
|
|
7796
7824
|
let wasmBinary = null;
|
|
7797
7825
|
[BASIS, wasmBinary] = await Promise.all([
|
|
@@ -7799,9 +7827,9 @@
|
|
|
7799
7827
|
await loadLibrary("basis_transcoder.wasm", "textures", options)
|
|
7800
7828
|
]);
|
|
7801
7829
|
BASIS = BASIS || globalThis.BASIS;
|
|
7802
|
-
return await
|
|
7830
|
+
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
7803
7831
|
}
|
|
7804
|
-
function
|
|
7832
|
+
function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
|
|
7805
7833
|
const options = {};
|
|
7806
7834
|
if (wasmBinary) {
|
|
7807
7835
|
options.wasmBinary = wasmBinary;
|
|
@@ -8227,7 +8255,7 @@
|
|
|
8227
8255
|
const fileConstructors = await loadBasisEncoderModule(options);
|
|
8228
8256
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
8229
8257
|
}
|
|
8230
|
-
const { BasisFile } = await
|
|
8258
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
8231
8259
|
return parseBasisFile(BasisFile, data, options);
|
|
8232
8260
|
}
|
|
8233
8261
|
switch (options.basis.module) {
|
|
@@ -8242,7 +8270,7 @@
|
|
|
8242
8270
|
}
|
|
8243
8271
|
case "transcoder":
|
|
8244
8272
|
default:
|
|
8245
|
-
const { BasisFile } = await
|
|
8273
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
8246
8274
|
return parseBasisFile(BasisFile, data, options);
|
|
8247
8275
|
}
|
|
8248
8276
|
}
|
|
@@ -8834,9 +8862,9 @@
|
|
|
8834
8862
|
}
|
|
8835
8863
|
return attributeUrls;
|
|
8836
8864
|
}
|
|
8837
|
-
function generateTilesetAttributeUrls(tileset, resource) {
|
|
8865
|
+
function generateTilesetAttributeUrls(tileset, url, resource) {
|
|
8838
8866
|
const attributeUrls = [];
|
|
8839
|
-
const { attributeStorageInfo
|
|
8867
|
+
const { attributeStorageInfo = [] } = tileset;
|
|
8840
8868
|
for (let index = 0; index < attributeStorageInfo.length; index++) {
|
|
8841
8869
|
const fileName = attributeStorageInfo[index].key;
|
|
8842
8870
|
attributeUrls.push(`${url}/nodes/${resource}/attributes/${fileName}/0`);
|
|
@@ -10134,12 +10162,13 @@
|
|
|
10134
10162
|
init_parse_i3s();
|
|
10135
10163
|
init_url_utils2();
|
|
10136
10164
|
I3SNodePagesTiles = class {
|
|
10137
|
-
constructor(tileset, options) {
|
|
10165
|
+
constructor(tileset, url = "", options) {
|
|
10138
10166
|
this.nodePages = [];
|
|
10139
10167
|
this.pendingNodePages = [];
|
|
10140
10168
|
this.textureDefinitionsSelectedFormats = [];
|
|
10141
10169
|
this.textureLoaderOptions = {};
|
|
10142
10170
|
this.tileset = { ...tileset };
|
|
10171
|
+
this.url = url;
|
|
10143
10172
|
this.nodesPerPage = tileset.nodePages?.nodesPerPage || 64;
|
|
10144
10173
|
this.lodSelectionMetricType = tileset.nodePages?.lodSelectionMetricType;
|
|
10145
10174
|
this.options = options;
|
|
@@ -10149,7 +10178,7 @@
|
|
|
10149
10178
|
async getNodeById(id) {
|
|
10150
10179
|
const pageIndex = Math.floor(id / this.nodesPerPage);
|
|
10151
10180
|
if (!this.nodePages[pageIndex] && !this.pendingNodePages[pageIndex]) {
|
|
10152
|
-
const nodePageUrl = getUrlWithToken(`${this.
|
|
10181
|
+
const nodePageUrl = getUrlWithToken(`${this.url}/nodepages/${pageIndex}`, this.options.i3s?.token);
|
|
10153
10182
|
this.pendingNodePages[pageIndex] = {
|
|
10154
10183
|
status: "Pending",
|
|
10155
10184
|
promise: load(nodePageUrl, I3SNodePageLoader, this.options)
|
|
@@ -10165,10 +10194,10 @@
|
|
|
10165
10194
|
return this.nodePages[pageIndex].nodes[nodeIndex];
|
|
10166
10195
|
}
|
|
10167
10196
|
async formTileFromNodePages(id) {
|
|
10168
|
-
const
|
|
10197
|
+
const node4 = await this.getNodeById(id);
|
|
10169
10198
|
const children = [];
|
|
10170
10199
|
const childNodesPromises = [];
|
|
10171
|
-
for (const child of
|
|
10200
|
+
for (const child of node4.children || []) {
|
|
10172
10201
|
childNodesPromises.push(this.getNodeById(child));
|
|
10173
10202
|
}
|
|
10174
10203
|
const childNodes = await Promise.all(childNodesPromises);
|
|
@@ -10184,25 +10213,25 @@
|
|
|
10184
10213
|
let textureFormat = "jpg";
|
|
10185
10214
|
let attributeUrls = [];
|
|
10186
10215
|
let isDracoGeometry = false;
|
|
10187
|
-
if (
|
|
10188
|
-
const { url, isDracoGeometry: isDracoGeometryResult } =
|
|
10216
|
+
if (node4 && node4.mesh) {
|
|
10217
|
+
const { url, isDracoGeometry: isDracoGeometryResult } = node4.mesh.geometry && this.getContentUrl(node4.mesh.geometry) || { isDracoGeometry: false };
|
|
10189
10218
|
contentUrl = url;
|
|
10190
10219
|
isDracoGeometry = isDracoGeometryResult;
|
|
10191
|
-
const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(
|
|
10220
|
+
const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(node4.mesh.material);
|
|
10192
10221
|
materialDefinition = nodeMaterialDefinition;
|
|
10193
10222
|
textureFormat = textureData.format || textureFormat;
|
|
10194
10223
|
if (textureData.name) {
|
|
10195
|
-
textureUrl = `${this.
|
|
10224
|
+
textureUrl = `${this.url}/nodes/${node4.mesh.material.resource}/textures/${textureData.name}`;
|
|
10196
10225
|
}
|
|
10197
10226
|
if (this.tileset.attributeStorageInfo) {
|
|
10198
|
-
attributeUrls = generateTilesetAttributeUrls(this.tileset,
|
|
10227
|
+
attributeUrls = generateTilesetAttributeUrls(this.tileset, this.url, node4.mesh.attribute.resource);
|
|
10199
10228
|
}
|
|
10200
10229
|
}
|
|
10201
|
-
const lodSelection = this.getLodSelection(
|
|
10230
|
+
const lodSelection = this.getLodSelection(node4);
|
|
10202
10231
|
return normalizeTileNonUrlData({
|
|
10203
10232
|
id: id.toString(),
|
|
10204
10233
|
lodSelection,
|
|
10205
|
-
obb:
|
|
10234
|
+
obb: node4.obb,
|
|
10206
10235
|
contentUrl,
|
|
10207
10236
|
textureUrl,
|
|
10208
10237
|
attributeUrls,
|
|
@@ -10226,23 +10255,23 @@
|
|
|
10226
10255
|
if (geometryIndex !== -1) {
|
|
10227
10256
|
const isDracoGeometry = Boolean(geometryDefinition.geometryBuffers[geometryIndex].compressedAttributes);
|
|
10228
10257
|
result = {
|
|
10229
|
-
url: `${this.
|
|
10258
|
+
url: `${this.url}/nodes/${meshGeometryData.resource}/geometries/${geometryIndex}`,
|
|
10230
10259
|
isDracoGeometry
|
|
10231
10260
|
};
|
|
10232
10261
|
}
|
|
10233
10262
|
return result;
|
|
10234
10263
|
}
|
|
10235
|
-
getLodSelection(
|
|
10264
|
+
getLodSelection(node4) {
|
|
10236
10265
|
const lodSelection = [];
|
|
10237
10266
|
if (this.lodSelectionMetricType === "maxScreenThresholdSQ") {
|
|
10238
10267
|
lodSelection.push({
|
|
10239
10268
|
metricType: "maxScreenThreshold",
|
|
10240
|
-
maxError: Math.sqrt(
|
|
10269
|
+
maxError: Math.sqrt(node4.lodThreshold / (Math.PI * 0.25))
|
|
10241
10270
|
});
|
|
10242
10271
|
}
|
|
10243
10272
|
lodSelection.push({
|
|
10244
10273
|
metricType: this.lodSelectionMetricType,
|
|
10245
|
-
maxError:
|
|
10274
|
+
maxError: node4.lodThreshold
|
|
10246
10275
|
});
|
|
10247
10276
|
return lodSelection;
|
|
10248
10277
|
}
|
|
@@ -10319,11 +10348,14 @@
|
|
|
10319
10348
|
if (tile.attributeData) {
|
|
10320
10349
|
attributeUrls = generateTileAttributeUrls(url, tile);
|
|
10321
10350
|
}
|
|
10351
|
+
const children = tile.children || [];
|
|
10322
10352
|
return normalizeTileNonUrlData({
|
|
10323
10353
|
...tile,
|
|
10354
|
+
children,
|
|
10324
10355
|
url,
|
|
10325
10356
|
contentUrl,
|
|
10326
10357
|
textureUrl,
|
|
10358
|
+
textureFormat: "jpg",
|
|
10327
10359
|
attributeUrls,
|
|
10328
10360
|
isDracoGeometry: false
|
|
10329
10361
|
});
|
|
@@ -10350,19 +10382,20 @@
|
|
|
10350
10382
|
}
|
|
10351
10383
|
const lodMetricType = tile.lodSelection?.[0].metricType;
|
|
10352
10384
|
const lodMetricValue = tile.lodSelection?.[0].maxError;
|
|
10353
|
-
const transformMatrix = tile.transform;
|
|
10354
10385
|
const type = TILE_TYPE.MESH;
|
|
10355
10386
|
const refine = TILE_REFINEMENT.REPLACE;
|
|
10356
|
-
return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue,
|
|
10387
|
+
return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine };
|
|
10357
10388
|
}
|
|
10358
10389
|
async function normalizeTilesetData(tileset, options, context) {
|
|
10359
|
-
|
|
10390
|
+
const url = context.url;
|
|
10391
|
+
let nodePagesTile;
|
|
10392
|
+
let root;
|
|
10360
10393
|
if (tileset.nodePages) {
|
|
10361
|
-
|
|
10362
|
-
|
|
10394
|
+
nodePagesTile = new I3SNodePagesTiles(tileset, url, options);
|
|
10395
|
+
root = await nodePagesTile.formTileFromNodePages(0);
|
|
10363
10396
|
} else {
|
|
10364
10397
|
const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);
|
|
10365
|
-
|
|
10398
|
+
root = await load(rootNodeUrl, I3SLoader, {
|
|
10366
10399
|
...options,
|
|
10367
10400
|
i3s: {
|
|
10368
10401
|
...options.i3s,
|
|
@@ -10372,10 +10405,16 @@
|
|
|
10372
10405
|
}
|
|
10373
10406
|
});
|
|
10374
10407
|
}
|
|
10375
|
-
|
|
10376
|
-
|
|
10377
|
-
|
|
10378
|
-
|
|
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
|
+
};
|
|
10379
10418
|
}
|
|
10380
10419
|
var init_parse_i3s = __esm({
|
|
10381
10420
|
"src/lib/parsers/parse-i3s.ts"() {
|
|
@@ -10385,6 +10424,7 @@
|
|
|
10385
10424
|
init_src8();
|
|
10386
10425
|
init_i3s_nodepages_tiles();
|
|
10387
10426
|
init_url_utils2();
|
|
10427
|
+
init_i3s_loader();
|
|
10388
10428
|
}
|
|
10389
10429
|
});
|
|
10390
10430
|
|
|
@@ -10425,9 +10465,8 @@
|
|
|
10425
10465
|
if (tilesetJson?.layerType === POINT_CLOUD) {
|
|
10426
10466
|
throw new Error("Point Cloud layers currently are not supported by I3SLoader");
|
|
10427
10467
|
}
|
|
10428
|
-
|
|
10429
|
-
|
|
10430
|
-
return tilesetJson;
|
|
10468
|
+
const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);
|
|
10469
|
+
return tilesetPostprocessed;
|
|
10431
10470
|
}
|
|
10432
10471
|
async function parseTile(data, context) {
|
|
10433
10472
|
data = JSON.parse(new TextDecoder().decode(data));
|
|
@@ -11365,7 +11404,7 @@
|
|
|
11365
11404
|
var elems = desc.stat_desc.elems;
|
|
11366
11405
|
var n2, m;
|
|
11367
11406
|
var max_code = -1;
|
|
11368
|
-
var
|
|
11407
|
+
var node4;
|
|
11369
11408
|
s2.heap_len = 0;
|
|
11370
11409
|
s2.heap_max = HEAP_SIZE;
|
|
11371
11410
|
for (n2 = 0; n2 < elems; n2++) {
|
|
@@ -11377,19 +11416,19 @@
|
|
|
11377
11416
|
}
|
|
11378
11417
|
}
|
|
11379
11418
|
while (s2.heap_len < 2) {
|
|
11380
|
-
|
|
11381
|
-
tree[
|
|
11382
|
-
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;
|
|
11383
11422
|
s2.opt_len--;
|
|
11384
11423
|
if (has_stree) {
|
|
11385
|
-
s2.static_len -= stree[
|
|
11424
|
+
s2.static_len -= stree[node4 * 2 + 1];
|
|
11386
11425
|
}
|
|
11387
11426
|
}
|
|
11388
11427
|
desc.max_code = max_code;
|
|
11389
11428
|
for (n2 = s2.heap_len >> 1; n2 >= 1; n2--) {
|
|
11390
11429
|
pqdownheap(s2, tree, n2);
|
|
11391
11430
|
}
|
|
11392
|
-
|
|
11431
|
+
node4 = elems;
|
|
11393
11432
|
do {
|
|
11394
11433
|
n2 = s2.heap[1];
|
|
11395
11434
|
s2.heap[1] = s2.heap[s2.heap_len--];
|
|
@@ -11397,10 +11436,10 @@
|
|
|
11397
11436
|
m = s2.heap[1];
|
|
11398
11437
|
s2.heap[--s2.heap_max] = n2;
|
|
11399
11438
|
s2.heap[--s2.heap_max] = m;
|
|
11400
|
-
tree[
|
|
11401
|
-
s2.depth[
|
|
11402
|
-
tree[n2 * 2 + 1] = tree[m * 2 + 1] =
|
|
11403
|
-
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++;
|
|
11404
11443
|
pqdownheap(s2, tree, 1);
|
|
11405
11444
|
} while (s2.heap_len >= 2);
|
|
11406
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
|
}
|