@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.
Files changed (57) hide show
  1. package/dist/dist.min.js +97 -58
  2. package/dist/es5/arcgis-webscene-loader.js +1 -1
  3. package/dist/es5/i3s-attribute-loader.js +1 -1
  4. package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
  5. package/dist/es5/i3s-content-loader.js +1 -1
  6. package/dist/es5/i3s-loader.js +6 -6
  7. package/dist/es5/i3s-loader.js.map +1 -1
  8. package/dist/es5/i3s-node-page-loader.js +1 -1
  9. package/dist/es5/i3s-slpk-loader.js +1 -1
  10. package/dist/es5/index.js.map +1 -1
  11. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +9 -5
  12. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  13. package/dist/es5/lib/parsers/parse-i3s.js +29 -19
  14. package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
  15. package/dist/es5/lib/utils/url-utils.js +3 -3
  16. package/dist/es5/lib/utils/url-utils.js.map +1 -1
  17. package/dist/es5/types.js.map +1 -1
  18. package/dist/esm/arcgis-webscene-loader.js +1 -1
  19. package/dist/esm/i3s-attribute-loader.js +1 -1
  20. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  21. package/dist/esm/i3s-content-loader.js +1 -1
  22. package/dist/esm/i3s-loader.js +3 -4
  23. package/dist/esm/i3s-loader.js.map +1 -1
  24. package/dist/esm/i3s-node-page-loader.js +1 -1
  25. package/dist/esm/i3s-slpk-loader.js +1 -1
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +9 -5
  28. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  29. package/dist/esm/lib/parsers/parse-i3s.js +20 -10
  30. package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
  31. package/dist/esm/lib/utils/url-utils.js +2 -3
  32. package/dist/esm/lib/utils/url-utils.js.map +1 -1
  33. package/dist/esm/types.js.map +1 -1
  34. package/dist/i3s-content-worker-node.js +47 -47
  35. package/dist/i3s-content-worker-node.js.map +3 -3
  36. package/dist/i3s-content-worker.js +53 -26
  37. package/dist/i3s-loader.js +2 -4
  38. package/dist/index.d.ts +2 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +5 -3
  41. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
  42. package/dist/lib/helpers/i3s-nodepages-tiles.js +7 -5
  43. package/dist/lib/parsers/parse-i3s.d.ts +2 -2
  44. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
  45. package/dist/lib/parsers/parse-i3s.js +21 -12
  46. package/dist/lib/utils/url-utils.d.ts +5 -4
  47. package/dist/lib/utils/url-utils.d.ts.map +1 -1
  48. package/dist/lib/utils/url-utils.js +5 -4
  49. package/dist/types.d.ts +102 -34
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +9 -9
  52. package/src/i3s-loader.ts +2 -4
  53. package/src/index.ts +4 -0
  54. package/src/lib/helpers/i3s-nodepages-tiles.ts +16 -9
  55. package/src/lib/parsers/parse-i3s.ts +25 -16
  56. package/src/lib/utils/url-utils.ts +6 -5
  57. 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
- const response2 = await fetch(libraryUrl);
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 response = await fetch(libraryUrl);
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
- async function fetchFile(url, options) {
1970
- if (typeof url === "string") {
1971
- url = resolvePath(url);
1972
- let fetchOptions = options;
1973
- if (options?.fetch && typeof options?.fetch !== "function") {
1974
- fetchOptions = options.fetch;
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(url);
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 loadBasisTrascoderModule(options) {
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 || loadBasisTrascoder(options);
7819
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
7792
7820
  return await loadBasisTranscoderPromise;
7793
7821
  }
7794
- async function loadBasisTrascoder(options) {
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 initializeBasisTrascoderModule(BASIS, wasmBinary);
7830
+ return await initializeBasisTranscoderModule(BASIS, wasmBinary);
7803
7831
  }
7804
- function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
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 loadBasisTrascoderModule(options);
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 loadBasisTrascoderModule(options);
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, url } = tileset;
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.tileset.url}/nodepages/${pageIndex}`, this.options.i3s?.token);
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 node3 = await this.getNodeById(id);
10197
+ const node4 = await this.getNodeById(id);
10169
10198
  const children = [];
10170
10199
  const childNodesPromises = [];
10171
- for (const child of node3.children || []) {
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 (node3 && node3.mesh) {
10188
- const { url, isDracoGeometry: isDracoGeometryResult } = node3.mesh.geometry && this.getContentUrl(node3.mesh.geometry) || { isDracoGeometry: false };
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(node3.mesh.material);
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.tileset.url}/nodes/${node3.mesh.material.resource}/textures/${textureData.name}`;
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, node3.mesh.attribute.resource);
10227
+ attributeUrls = generateTilesetAttributeUrls(this.tileset, this.url, node4.mesh.attribute.resource);
10199
10228
  }
10200
10229
  }
10201
- const lodSelection = this.getLodSelection(node3);
10230
+ const lodSelection = this.getLodSelection(node4);
10202
10231
  return normalizeTileNonUrlData({
10203
10232
  id: id.toString(),
10204
10233
  lodSelection,
10205
- obb: node3.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.tileset.url}/nodes/${meshGeometryData.resource}/geometries/${geometryIndex}`,
10258
+ url: `${this.url}/nodes/${meshGeometryData.resource}/geometries/${geometryIndex}`,
10230
10259
  isDracoGeometry
10231
10260
  };
10232
10261
  }
10233
10262
  return result;
10234
10263
  }
10235
- getLodSelection(node3) {
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(node3.lodThreshold / (Math.PI * 0.25))
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: node3.lodThreshold
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, transformMatrix, type, refine };
10387
+ return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine };
10357
10388
  }
10358
10389
  async function normalizeTilesetData(tileset, options, context) {
10359
- tileset.url = context.url;
10390
+ const url = context.url;
10391
+ let nodePagesTile;
10392
+ let root;
10360
10393
  if (tileset.nodePages) {
10361
- tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);
10362
- tileset.root = tileset.nodePagesTile.formTileFromNodePages(0);
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
- tileset.root = await load(rootNodeUrl, tileset.loader, {
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
- tileset.basePath = tileset.url;
10376
- tileset.type = TILESET_TYPE.I3S;
10377
- tileset.lodMetricType = tileset.root.lodMetricType;
10378
- tileset.lodMetricValue = tileset.root.lodMetricValue;
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
- tilesetJson.loader = I3SLoader;
10429
- await normalizeTilesetData(tilesetJson, options, context);
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 node3;
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
- node3 = s2.heap[++s2.heap_len] = max_code < 2 ? ++max_code : 0;
11381
- tree[node3 * 2] = 1;
11382
- s2.depth[node3] = 0;
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[node3 * 2 + 1];
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
- node3 = elems;
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[node3 * 2] = tree[n2 * 2] + tree[m * 2];
11401
- s2.depth[node3] = (s2.depth[n2] >= s2.depth[m] ? s2.depth[n2] : s2.depth[m]) + 1;
11402
- tree[n2 * 2 + 1] = tree[m * 2 + 1] = node3;
11403
- s2.heap[1] = node3++;
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'beta';
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'latest';
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'beta';
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'beta';
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',
@@ -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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'latest';
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
- tilesetJson.loader = I3SLoader;
155
- _context3.next = 6;
154
+ _context3.next = 5;
156
155
  return (0, _parseI3s.normalizeTilesetData)(tilesetJson, options, context);
157
- case 6:
158
- return _context3.abrupt("return", tilesetJson);
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","loader","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 // eslint-disable-next-line no-use-before-define\n tilesetJson.loader = I3SLoader;\n await normalizeTilesetData(tilesetJson, options, context);\n\n return tilesetJson;\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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"}
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'latest';
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.16" !== 'undefined' ? "4.0.0-alpha.16" : 'latest';
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',
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,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"}
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, options) {
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.tileset.url, "/nodepages/").concat(pageIndex), (_this$options$i3s = this.options.i3s) === null || _this$options$i3s === void 0 ? void 0 : _this$options$i3s.token);
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.tileset.url, "/nodes/").concat(node.mesh.material.resource, "/textures/").concat(textureData.name);
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.tileset.url, "/nodes/").concat(meshGeometryData.resource, "/geometries/").concat(geometryIndex),
200
+ url: "".concat(this.url, "/nodes/").concat(meshGeometryData.resource, "/geometries/").concat(geometryIndex),
197
201
  isDracoGeometry: isDracoGeometry
198
202
  };
199
203
  }