@loaders.gl/3d-tiles 3.4.13 → 3.4.15

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 (89) hide show
  1. package/dist/dist.min.js +117 -120
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/cesium-ion-loader.js +27 -61
  5. package/dist/es5/cesium-ion-loader.js.map +1 -1
  6. package/dist/es5/index.js +8 -8
  7. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +30 -42
  8. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
  9. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +57 -59
  10. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
  11. package/dist/es5/lib/classes/tile-3d-batch-table.js +177 -223
  12. package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
  13. package/dist/es5/lib/classes/tile-3d-feature-table.js +52 -71
  14. package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -1
  15. package/dist/es5/lib/constants.js +4 -4
  16. package/dist/es5/lib/constants.js.map +1 -1
  17. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +15 -18
  18. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
  19. package/dist/es5/lib/encoders/encode-3d-tile-composite.js +6 -9
  20. package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -1
  21. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +14 -19
  22. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
  23. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +15 -18
  24. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
  25. package/dist/es5/lib/encoders/encode-3d-tile.js +3 -3
  26. package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -1
  27. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +6 -6
  28. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
  29. package/dist/es5/lib/ion/ion.js +63 -155
  30. package/dist/es5/lib/ion/ion.js.map +1 -1
  31. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +17 -17
  32. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
  33. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +3 -3
  34. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
  35. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +3 -3
  36. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
  37. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +166 -198
  38. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
  39. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +25 -53
  40. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  41. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +3 -3
  42. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
  43. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +57 -129
  44. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
  45. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +19 -17
  46. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
  47. package/dist/es5/lib/parsers/helpers/parse-utils.js +7 -7
  48. package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
  49. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +10 -29
  50. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
  51. package/dist/es5/lib/parsers/parse-3d-tile-composite.js +12 -39
  52. package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  53. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +8 -27
  54. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
  55. package/dist/es5/lib/parsers/parse-3d-tile-header.js +99 -197
  56. package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
  57. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +37 -55
  58. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
  59. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +110 -162
  60. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  61. package/dist/es5/lib/parsers/parse-3d-tile.js +21 -59
  62. package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
  63. package/dist/es5/lib/utils/obb/s2-corners-to-obb.js +10 -12
  64. package/dist/es5/lib/utils/obb/s2-corners-to-obb.js.map +1 -1
  65. package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js +22 -20
  66. package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js.map +1 -1
  67. package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js +9 -9
  68. package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -1
  69. package/dist/es5/lib/utils/s2/converters/s2-to-region.js +14 -18
  70. package/dist/es5/lib/utils/s2/converters/s2-to-region.js.map +1 -1
  71. package/dist/es5/lib/utils/s2/index.js +13 -13
  72. package/dist/es5/lib/utils/s2/s2-geometry-functions.js +2 -2
  73. package/dist/es5/lib/utils/s2/s2-geometry-functions.js.map +1 -1
  74. package/dist/es5/lib/utils/s2/s2-token-functions.js +10 -10
  75. package/dist/es5/lib/utils/s2/s2-token-functions.js.map +1 -1
  76. package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js +3 -3
  77. package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -1
  78. package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js +48 -54
  79. package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -1
  80. package/dist/es5/lib/utils/version.js +1 -1
  81. package/dist/es5/lib/utils/version.js.map +1 -1
  82. package/dist/es5/tile-3d-subtree-loader.js +1 -1
  83. package/dist/es5/tile-3d-subtree-loader.js.map +1 -1
  84. package/dist/es5/tile-3d-writer.js +5 -4
  85. package/dist/es5/tile-3d-writer.js.map +1 -1
  86. package/dist/es5/tiles-3d-loader.js +37 -100
  87. package/dist/es5/tiles-3d-loader.js.map +1 -1
  88. package/dist/esm/lib/utils/version.js +1 -1
  89. package/package.json +7 -7
@@ -5,46 +5,27 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.parseBatchedModel3DTile = parseBatchedModel3DTile;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
8
  var _math = require("@loaders.gl/math");
11
9
  var _tile3dFeatureTable = _interopRequireDefault(require("../classes/tile-3d-feature-table"));
12
10
  var _parse3dTileHeader = require("./helpers/parse-3d-tile-header");
13
11
  var _parse3dTileTables = require("./helpers/parse-3d-tile-tables");
14
12
  var _parse3dTileGltfView = require("./helpers/parse-3d-tile-gltf-view");
15
- function parseBatchedModel3DTile(_x, _x2, _x3, _x4, _x5) {
16
- return _parseBatchedModel3DTile.apply(this, arguments);
17
- }
18
- function _parseBatchedModel3DTile() {
19
- _parseBatchedModel3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, byteOffset, options, context) {
20
- var _tile$gltf;
21
- var extensions;
22
- return _regenerator.default.wrap(function _callee$(_context) {
23
- while (1) switch (_context.prev = _context.next) {
24
- case 0:
25
- byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);
26
- _context.next = 3;
27
- return (0, _parse3dTileGltfView.extractGLTF)(tile, _parse3dTileGltfView.GLTF_FORMAT.EMBEDDED, options, context);
28
- case 3:
29
- extensions = tile === null || tile === void 0 ? void 0 : (_tile$gltf = tile.gltf) === null || _tile$gltf === void 0 ? void 0 : _tile$gltf.extensions;
30
- if (extensions && extensions.CESIUM_RTC) {
31
- tile.rtcCenter = extensions.CESIUM_RTC.center;
32
- }
33
- return _context.abrupt("return", byteOffset);
34
- case 6:
35
- case "end":
36
- return _context.stop();
37
- }
38
- }, _callee);
39
- }));
40
- return _parseBatchedModel3DTile.apply(this, arguments);
13
+ async function parseBatchedModel3DTile(tile, arrayBuffer, byteOffset, options, context) {
14
+ var _tile$gltf;
15
+ byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);
16
+ await (0, _parse3dTileGltfView.extractGLTF)(tile, _parse3dTileGltfView.GLTF_FORMAT.EMBEDDED, options, context);
17
+ const extensions = tile === null || tile === void 0 ? void 0 : (_tile$gltf = tile.gltf) === null || _tile$gltf === void 0 ? void 0 : _tile$gltf.extensions;
18
+ if (extensions && extensions.CESIUM_RTC) {
19
+ tile.rtcCenter = extensions.CESIUM_RTC.center;
20
+ }
21
+ return byteOffset;
41
22
  }
42
23
  function parseBatchedModel(tile, arrayBuffer, byteOffset, options, context) {
43
24
  byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
44
25
  byteOffset = (0, _parse3dTileTables.parse3DTileTablesHeaderSync)(tile, arrayBuffer, byteOffset);
45
26
  byteOffset = (0, _parse3dTileTables.parse3DTileTablesSync)(tile, arrayBuffer, byteOffset, options);
46
27
  byteOffset = (0, _parse3dTileGltfView.parse3DTileGLTFViewSync)(tile, arrayBuffer, byteOffset, options);
47
- var featureTable = new _tile3dFeatureTable.default(tile.featureTableJson, tile.featureTableBinary);
28
+ const featureTable = new _tile3dFeatureTable.default(tile.featureTableJson, tile.featureTableBinary);
48
29
  tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', _math.GL.FLOAT, 3);
49
30
  return byteOffset;
50
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-3d-tile-batched-model.js","names":["_math","require","_tile3dFeatureTable","_interopRequireDefault","_parse3dTileHeader","_parse3dTileTables","_parse3dTileGltfView","parseBatchedModel3DTile","_x","_x2","_x3","_x4","_x5","_parseBatchedModel3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","byteOffset","options","context","_tile$gltf","extensions","wrap","_callee$","_context","prev","next","parseBatchedModel","extractGLTF","GLTF_FORMAT","EMBEDDED","gltf","CESIUM_RTC","rtcCenter","center","abrupt","stop","parse3DTileHeaderSync","parse3DTileTablesHeaderSync","parse3DTileTablesSync","parse3DTileGLTFViewSync","featureTable","Tile3DFeatureTable","featureTableJson","featureTableBinary","getGlobalProperty","GL","FLOAT"],"sources":["../../../../src/lib/parsers/parse-3d-tile-batched-model.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL} from '@loaders.gl/math'; // math.gl/geometry;\nimport Tile3DFeatureTable from '../classes/tile-3d-feature-table';\n// import Tile3DBatchTable from '../classes/tile-3d-batch-table';\n\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\nimport {parse3DTileTablesHeaderSync, parse3DTileTablesSync} from './helpers/parse-3d-tile-tables';\nimport {parse3DTileGLTFViewSync, extractGLTF, GLTF_FORMAT} from './helpers/parse-3d-tile-gltf-view';\n\nexport async function parseBatchedModel3DTile(tile, arrayBuffer, byteOffset, options, context) {\n byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);\n await extractGLTF(tile, GLTF_FORMAT.EMBEDDED, options, context);\n\n const extensions = tile?.gltf?.extensions;\n if (extensions && extensions.CESIUM_RTC) {\n tile.rtcCenter = extensions.CESIUM_RTC.center;\n }\n\n return byteOffset;\n}\n\nfunction parseBatchedModel(tile, arrayBuffer, byteOffset, options, context) {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n byteOffset = parse3DTileTablesHeaderSync(tile, arrayBuffer, byteOffset);\n byteOffset = parse3DTileTablesSync(tile, arrayBuffer, byteOffset, options);\n\n byteOffset = parse3DTileGLTFViewSync(tile, arrayBuffer, byteOffset, options);\n\n const featureTable = new Tile3DFeatureTable(tile.featureTableJson, tile.featureTableBinary);\n tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', GL.FLOAT, 3);\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAAoG,SAE9EM,uBAAuBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,wBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,yBAAA;EAAAA,wBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAtC,SAAAC,QAAuCC,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO;IAAA,IAAAC,UAAA;IAAA,IAAAC,UAAA;IAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC3FT,UAAU,GAAGU,iBAAiB,CAACZ,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,CAAC;UAACK,QAAA,CAAAE,IAAA;UAAA,OAC1E,IAAAE,gCAAW,EAACb,IAAI,EAAEc,gCAAW,CAACC,QAAQ,EAAEZ,OAAO,EAAEC,OAAO,CAAC;QAAA;UAEzDE,UAAU,GAAGN,IAAI,aAAJA,IAAI,wBAAAK,UAAA,GAAJL,IAAI,CAAEgB,IAAI,cAAAX,UAAA,uBAAVA,UAAA,CAAYC,UAAU;UACzC,IAAIA,UAAU,IAAIA,UAAU,CAACW,UAAU,EAAE;YACvCjB,IAAI,CAACkB,SAAS,GAAGZ,UAAU,CAACW,UAAU,CAACE,MAAM;UAC/C;UAAC,OAAAV,QAAA,CAAAW,MAAA,WAEMlB,UAAU;QAAA;QAAA;UAAA,OAAAO,QAAA,CAAAY,IAAA;MAAA;IAAA,GAAAtB,OAAA;EAAA,CAClB;EAAA,OAAAP,wBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAASkB,iBAAiBA,CAACZ,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAE;EAC1EF,UAAU,GAAG,IAAAoB,wCAAqB,EAACtB,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EAEjEA,UAAU,GAAG,IAAAqB,8CAA2B,EAACvB,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EACvEA,UAAU,GAAG,IAAAsB,wCAAqB,EAACxB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE1ED,UAAU,GAAG,IAAAuB,4CAAuB,EAACzB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE5E,IAAMuB,YAAY,GAAG,IAAIC,2BAAkB,CAAC3B,IAAI,CAAC4B,gBAAgB,EAAE5B,IAAI,CAAC6B,kBAAkB,CAAC;EAC3F7B,IAAI,CAACkB,SAAS,GAAGQ,YAAY,CAACI,iBAAiB,CAAC,YAAY,EAAEC,QAAE,CAACC,KAAK,EAAE,CAAC,CAAC;EAE1E,OAAO9B,UAAU;AACnB"}
1
+ {"version":3,"file":"parse-3d-tile-batched-model.js","names":["_math","require","_tile3dFeatureTable","_interopRequireDefault","_parse3dTileHeader","_parse3dTileTables","_parse3dTileGltfView","parseBatchedModel3DTile","tile","arrayBuffer","byteOffset","options","context","_tile$gltf","parseBatchedModel","extractGLTF","GLTF_FORMAT","EMBEDDED","extensions","gltf","CESIUM_RTC","rtcCenter","center","parse3DTileHeaderSync","parse3DTileTablesHeaderSync","parse3DTileTablesSync","parse3DTileGLTFViewSync","featureTable","Tile3DFeatureTable","featureTableJson","featureTableBinary","getGlobalProperty","GL","FLOAT"],"sources":["../../../../src/lib/parsers/parse-3d-tile-batched-model.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL} from '@loaders.gl/math'; // math.gl/geometry;\nimport Tile3DFeatureTable from '../classes/tile-3d-feature-table';\n// import Tile3DBatchTable from '../classes/tile-3d-batch-table';\n\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\nimport {parse3DTileTablesHeaderSync, parse3DTileTablesSync} from './helpers/parse-3d-tile-tables';\nimport {parse3DTileGLTFViewSync, extractGLTF, GLTF_FORMAT} from './helpers/parse-3d-tile-gltf-view';\n\nexport async function parseBatchedModel3DTile(tile, arrayBuffer, byteOffset, options, context) {\n byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);\n await extractGLTF(tile, GLTF_FORMAT.EMBEDDED, options, context);\n\n const extensions = tile?.gltf?.extensions;\n if (extensions && extensions.CESIUM_RTC) {\n tile.rtcCenter = extensions.CESIUM_RTC.center;\n }\n\n return byteOffset;\n}\n\nfunction parseBatchedModel(tile, arrayBuffer, byteOffset, options, context) {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n byteOffset = parse3DTileTablesHeaderSync(tile, arrayBuffer, byteOffset);\n byteOffset = parse3DTileTablesSync(tile, arrayBuffer, byteOffset, options);\n\n byteOffset = parse3DTileGLTFViewSync(tile, arrayBuffer, byteOffset, options);\n\n const featureTable = new Tile3DFeatureTable(tile.featureTableJson, tile.featureTableBinary);\n tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', GL.FLOAT, 3);\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAEO,eAAeM,uBAAuBA,CAACC,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAE;EAAA,IAAAC,UAAA;EAC7FH,UAAU,GAAGI,iBAAiB,CAACN,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,CAAC;EAC/E,MAAM,IAAAG,gCAAW,EAACP,IAAI,EAAEQ,gCAAW,CAACC,QAAQ,EAAEN,OAAO,EAAEC,OAAO,CAAC;EAE/D,MAAMM,UAAU,GAAGV,IAAI,aAAJA,IAAI,wBAAAK,UAAA,GAAJL,IAAI,CAAEW,IAAI,cAAAN,UAAA,uBAAVA,UAAA,CAAYK,UAAU;EACzC,IAAIA,UAAU,IAAIA,UAAU,CAACE,UAAU,EAAE;IACvCZ,IAAI,CAACa,SAAS,GAAGH,UAAU,CAACE,UAAU,CAACE,MAAM;EAC/C;EAEA,OAAOZ,UAAU;AACnB;AAEA,SAASI,iBAAiBA,CAACN,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAE;EAC1EF,UAAU,GAAG,IAAAa,wCAAqB,EAACf,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EAEjEA,UAAU,GAAG,IAAAc,8CAA2B,EAAChB,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EACvEA,UAAU,GAAG,IAAAe,wCAAqB,EAACjB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE1ED,UAAU,GAAG,IAAAgB,4CAAuB,EAAClB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE5E,MAAMgB,YAAY,GAAG,IAAIC,2BAAkB,CAACpB,IAAI,CAACqB,gBAAgB,EAAErB,IAAI,CAACsB,kBAAkB,CAAC;EAC3FtB,IAAI,CAACa,SAAS,GAAGM,YAAY,CAACI,iBAAiB,CAAC,YAAY,EAAEC,QAAE,CAACC,KAAK,EAAE,CAAC,CAAC;EAE1E,OAAOvB,UAAU;AACnB"}
@@ -1,48 +1,21 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.parseComposite3DTile = parseComposite3DTile;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
7
  var _parse3dTileHeader = require("./helpers/parse-3d-tile-header");
11
- function parseComposite3DTile(_x, _x2, _x3, _x4, _x5, _x6) {
12
- return _parseComposite3DTile.apply(this, arguments);
13
- }
14
- function _parseComposite3DTile() {
15
- _parseComposite3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, byteOffset, options, context, parse3DTile) {
16
- var view, subtile;
17
- return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
21
- view = new DataView(arrayBuffer);
22
- tile.tilesLength = view.getUint32(byteOffset, true);
23
- byteOffset += 4;
24
- tile.tiles = [];
25
- case 5:
26
- if (!(tile.tiles.length < tile.tilesLength && tile.byteLength - byteOffset > 12)) {
27
- _context.next = 13;
28
- break;
29
- }
30
- subtile = {};
31
- tile.tiles.push(subtile);
32
- _context.next = 10;
33
- return parse3DTile(arrayBuffer, byteOffset, options, context, subtile);
34
- case 10:
35
- byteOffset = _context.sent;
36
- _context.next = 5;
37
- break;
38
- case 13:
39
- return _context.abrupt("return", byteOffset);
40
- case 14:
41
- case "end":
42
- return _context.stop();
43
- }
44
- }, _callee);
45
- }));
46
- return _parseComposite3DTile.apply(this, arguments);
8
+ async function parseComposite3DTile(tile, arrayBuffer, byteOffset, options, context, parse3DTile) {
9
+ byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
10
+ const view = new DataView(arrayBuffer);
11
+ tile.tilesLength = view.getUint32(byteOffset, true);
12
+ byteOffset += 4;
13
+ tile.tiles = [];
14
+ while (tile.tiles.length < tile.tilesLength && tile.byteLength - byteOffset > 12) {
15
+ const subtile = {};
16
+ tile.tiles.push(subtile);
17
+ byteOffset = await parse3DTile(arrayBuffer, byteOffset, options, context, subtile);
18
+ }
19
+ return byteOffset;
47
20
  }
48
21
  //# sourceMappingURL=parse-3d-tile-composite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-3d-tile-composite.js","names":["_parse3dTileHeader","require","parseComposite3DTile","_x","_x2","_x3","_x4","_x5","_x6","_parseComposite3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","byteOffset","options","context","parse3DTile","view","subtile","wrap","_callee$","_context","prev","next","parse3DTileHeaderSync","DataView","tilesLength","getUint32","tiles","length","byteLength","push","sent","abrupt","stop"],"sources":["../../../../src/lib/parsers/parse-3d-tile-composite.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\n// Reference code:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Composite3DTileContent.js#L182\n\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\n\n// eslint-disable-next-line max-params\nexport async function parseComposite3DTile(\n tile,\n arrayBuffer,\n byteOffset,\n options,\n context,\n parse3DTile\n) {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n const view = new DataView(arrayBuffer);\n\n // Extract number of tiles\n tile.tilesLength = view.getUint32(byteOffset, true);\n byteOffset += 4;\n\n // extract each tile from the byte stream\n tile.tiles = [];\n while (tile.tiles.length < tile.tilesLength && tile.byteLength - byteOffset > 12) {\n const subtile = {};\n tile.tiles.push(subtile);\n byteOffset = await parse3DTile(arrayBuffer, byteOffset, options, context, subtile);\n // TODO - do we need to add any padding in between tiles?\n }\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;;;AAMA,IAAAA,kBAAA,GAAAC,OAAA;AAAqE,SAG/CC,oBAAoBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,sBAAA;EAAAA,qBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAnC,SAAAC,QACLC,IAAI,EACJC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,WAAW;IAAA,IAAAC,IAAA,EAAAC,OAAA;IAAA,OAAAV,YAAA,CAAAD,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEXV,UAAU,GAAG,IAAAW,wCAAqB,EAACb,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;UAE3DI,IAAI,GAAG,IAAIQ,QAAQ,CAACb,WAAW,CAAC;UAGtCD,IAAI,CAACe,WAAW,GAAGT,IAAI,CAACU,SAAS,CAACd,UAAU,EAAE,IAAI,CAAC;UACnDA,UAAU,IAAI,CAAC;UAGfF,IAAI,CAACiB,KAAK,GAAG,EAAE;QAAC;UAAA,MACTjB,IAAI,CAACiB,KAAK,CAACC,MAAM,GAAGlB,IAAI,CAACe,WAAW,IAAIf,IAAI,CAACmB,UAAU,GAAGjB,UAAU,GAAG,EAAE;YAAAQ,QAAA,CAAAE,IAAA;YAAA;UAAA;UACxEL,OAAO,GAAG,CAAC,CAAC;UAClBP,IAAI,CAACiB,KAAK,CAACG,IAAI,CAACb,OAAO,CAAC;UAACG,QAAA,CAAAE,IAAA;UAAA,OACNP,WAAW,CAACJ,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAEG,OAAO,CAAC;QAAA;UAAlFL,UAAU,GAAAQ,QAAA,CAAAW,IAAA;UAAAX,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,OAAAF,QAAA,CAAAY,MAAA,WAILpB,UAAU;QAAA;QAAA;UAAA,OAAAQ,QAAA,CAAAa,IAAA;MAAA;IAAA,GAAAxB,OAAA;EAAA,CAClB;EAAA,OAAAP,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"parse-3d-tile-composite.js","names":["_parse3dTileHeader","require","parseComposite3DTile","tile","arrayBuffer","byteOffset","options","context","parse3DTile","parse3DTileHeaderSync","view","DataView","tilesLength","getUint32","tiles","length","byteLength","subtile","push"],"sources":["../../../../src/lib/parsers/parse-3d-tile-composite.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\n// Reference code:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Composite3DTileContent.js#L182\n\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\n\n// eslint-disable-next-line max-params\nexport async function parseComposite3DTile(\n tile,\n arrayBuffer,\n byteOffset,\n options,\n context,\n parse3DTile\n) {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n const view = new DataView(arrayBuffer);\n\n // Extract number of tiles\n tile.tilesLength = view.getUint32(byteOffset, true);\n byteOffset += 4;\n\n // extract each tile from the byte stream\n tile.tiles = [];\n while (tile.tiles.length < tile.tilesLength && tile.byteLength - byteOffset > 12) {\n const subtile = {};\n tile.tiles.push(subtile);\n byteOffset = await parse3DTile(arrayBuffer, byteOffset, options, context, subtile);\n // TODO - do we need to add any padding in between tiles?\n }\n\n return byteOffset;\n}\n"],"mappings":";;;;;;AAMA,IAAAA,kBAAA,GAAAC,OAAA;AAGO,eAAeC,oBAAoBA,CACxCC,IAAI,EACJC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,WAAW,EACX;EACAH,UAAU,GAAG,IAAAI,wCAAqB,EAACN,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EAEjE,MAAMK,IAAI,GAAG,IAAIC,QAAQ,CAACP,WAAW,CAAC;EAGtCD,IAAI,CAACS,WAAW,GAAGF,IAAI,CAACG,SAAS,CAACR,UAAU,EAAE,IAAI,CAAC;EACnDA,UAAU,IAAI,CAAC;EAGfF,IAAI,CAACW,KAAK,GAAG,EAAE;EACf,OAAOX,IAAI,CAACW,KAAK,CAACC,MAAM,GAAGZ,IAAI,CAACS,WAAW,IAAIT,IAAI,CAACa,UAAU,GAAGX,UAAU,GAAG,EAAE,EAAE;IAChF,MAAMY,OAAO,GAAG,CAAC,CAAC;IAClBd,IAAI,CAACW,KAAK,CAACI,IAAI,CAACD,OAAO,CAAC;IACxBZ,UAAU,GAAG,MAAMG,WAAW,CAACJ,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAEU,OAAO,CAAC;EAEpF;EAEA,OAAOZ,UAAU;AACnB"}
@@ -1,36 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.parseGltf3DTile = parseGltf3DTile;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
7
  var _gltf = require("@loaders.gl/gltf");
11
- function parseGltf3DTile(_x, _x2, _x3, _x4) {
12
- return _parseGltf3DTile.apply(this, arguments);
13
- }
14
- function _parseGltf3DTile() {
15
- _parseGltf3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, options, context) {
16
- var parse;
17
- return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- tile.rotateYtoZ = true;
21
- tile.gltfUpAxis = options['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis ? options['3d-tiles'].assetGltfUpAxis : 'Y';
22
- parse = context.parse;
23
- _context.next = 5;
24
- return parse(arrayBuffer, _gltf.GLTFLoader, options, context);
25
- case 5:
26
- tile.gltf = _context.sent;
27
- tile.gpuMemoryUsageInBytes = (0, _gltf._getMemoryUsageGLTF)(tile.gltf);
28
- case 7:
29
- case "end":
30
- return _context.stop();
31
- }
32
- }, _callee);
33
- }));
34
- return _parseGltf3DTile.apply(this, arguments);
8
+ async function parseGltf3DTile(tile, arrayBuffer, options, context) {
9
+ tile.rotateYtoZ = true;
10
+ tile.gltfUpAxis = options['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis ? options['3d-tiles'].assetGltfUpAxis : 'Y';
11
+ const {
12
+ parse
13
+ } = context;
14
+ tile.gltf = await parse(arrayBuffer, _gltf.GLTFLoader, options, context);
15
+ tile.gpuMemoryUsageInBytes = (0, _gltf._getMemoryUsageGLTF)(tile.gltf);
35
16
  }
36
17
  //# sourceMappingURL=parse-3d-tile-gltf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-3d-tile-gltf.js","names":["_gltf","require","parseGltf3DTile","_x","_x2","_x3","_x4","_parseGltf3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","options","context","parse","wrap","_callee$","_context","prev","next","rotateYtoZ","gltfUpAxis","assetGltfUpAxis","GLTFLoader","gltf","sent","gpuMemoryUsageInBytes","_getMemoryUsageGLTF","stop"],"sources":["../../../../src/lib/parsers/parse-3d-tile-gltf.ts"],"sourcesContent":["import {_getMemoryUsageGLTF, GLTFLoader} from '@loaders.gl/gltf';\n\nexport async function parseGltf3DTile(tile, arrayBuffer, options, context) {\n // Set flags\n // glTF models need to be rotated from Y to Z up\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up\n tile.rotateYtoZ = true;\n // Save gltf up axis\n tile.gltfUpAxis =\n options['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis\n ? options['3d-tiles'].assetGltfUpAxis\n : 'Y';\n\n const {parse} = context;\n tile.gltf = await parse(arrayBuffer, GLTFLoader, options, context);\n tile.gpuMemoryUsageInBytes = _getMemoryUsageGLTF(tile.gltf);\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAiE,SAE3CC,eAAeA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,iBAAA;EAAAA,gBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA9B,SAAAC,QAA+BC,IAAI,EAAEC,WAAW,EAAEC,OAAO,EAAEC,OAAO;IAAA,IAAAC,KAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAIvET,IAAI,CAACU,UAAU,GAAG,IAAI;UAEtBV,IAAI,CAACW,UAAU,GACbT,OAAO,CAAC,UAAU,CAAC,IAAIA,OAAO,CAAC,UAAU,CAAC,CAACU,eAAe,GACtDV,OAAO,CAAC,UAAU,CAAC,CAACU,eAAe,GACnC,GAAG;UAEFR,KAAK,GAAID,OAAO,CAAhBC,KAAK;UAAAG,QAAA,CAAAE,IAAA;UAAA,OACML,KAAK,CAACH,WAAW,EAAEY,gBAAU,EAAEX,OAAO,EAAEC,OAAO,CAAC;QAAA;UAAlEH,IAAI,CAACc,IAAI,GAAAP,QAAA,CAAAQ,IAAA;UACTf,IAAI,CAACgB,qBAAqB,GAAG,IAAAC,yBAAmB,EAACjB,IAAI,CAACc,IAAI,CAAC;QAAC;QAAA;UAAA,OAAAP,QAAA,CAAAW,IAAA;MAAA;IAAA,GAAAnB,OAAA;EAAA,CAC7D;EAAA,OAAAP,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"parse-3d-tile-gltf.js","names":["_gltf","require","parseGltf3DTile","tile","arrayBuffer","options","context","rotateYtoZ","gltfUpAxis","assetGltfUpAxis","parse","gltf","GLTFLoader","gpuMemoryUsageInBytes","_getMemoryUsageGLTF"],"sources":["../../../../src/lib/parsers/parse-3d-tile-gltf.ts"],"sourcesContent":["import {_getMemoryUsageGLTF, GLTFLoader} from '@loaders.gl/gltf';\n\nexport async function parseGltf3DTile(tile, arrayBuffer, options, context) {\n // Set flags\n // glTF models need to be rotated from Y to Z up\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up\n tile.rotateYtoZ = true;\n // Save gltf up axis\n tile.gltfUpAxis =\n options['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis\n ? options['3d-tiles'].assetGltfUpAxis\n : 'Y';\n\n const {parse} = context;\n tile.gltf = await parse(arrayBuffer, GLTFLoader, options, context);\n tile.gpuMemoryUsageInBytes = _getMemoryUsageGLTF(tile.gltf);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,eAAeC,eAAeA,CAACC,IAAI,EAAEC,WAAW,EAAEC,OAAO,EAAEC,OAAO,EAAE;EAIzEH,IAAI,CAACI,UAAU,GAAG,IAAI;EAEtBJ,IAAI,CAACK,UAAU,GACbH,OAAO,CAAC,UAAU,CAAC,IAAIA,OAAO,CAAC,UAAU,CAAC,CAACI,eAAe,GACtDJ,OAAO,CAAC,UAAU,CAAC,CAACI,eAAe,GACnC,GAAG;EAET,MAAM;IAACC;EAAK,CAAC,GAAGJ,OAAO;EACvBH,IAAI,CAACQ,IAAI,GAAG,MAAMD,KAAK,CAACN,WAAW,EAAEQ,gBAAU,EAAEP,OAAO,EAAEC,OAAO,CAAC;EAClEH,IAAI,CAACU,qBAAqB,GAAG,IAAAC,yBAAmB,EAACX,IAAI,CAACQ,IAAI,CAAC;AAC7D"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -8,22 +7,17 @@ exports.normalizeImplicitTileData = normalizeImplicitTileData;
8
7
  exports.normalizeImplicitTileHeaders = normalizeImplicitTileHeaders;
9
8
  exports.normalizeTileData = normalizeTileData;
10
9
  exports.normalizeTileHeaders = normalizeTileHeaders;
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
10
  var _tile3dSubtreeLoader = require("../../tile-3d-subtree-loader");
14
11
  var _core = require("@loaders.gl/core");
15
12
  var _tiles = require("@loaders.gl/tiles");
16
13
  var _parse3dImplicitTiles = require("./helpers/parse-3d-implicit-tiles");
17
14
  var _s2CornersToObb = require("../utils/obb/s2-corners-to-obb");
18
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
19
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
21
15
  function getTileType(tile) {
22
16
  if (!tile.contentUrl) {
23
17
  return _tiles.TILE_TYPE.EMPTY;
24
18
  }
25
- var contentUrl = tile.contentUrl.split('?')[0];
26
- var fileExtension = contentUrl.split('.').pop();
19
+ const contentUrl = tile.contentUrl.split('?')[0];
20
+ const fileExtension = contentUrl.split('.').pop();
27
21
  switch (fileExtension) {
28
22
  case 'pnts':
29
23
  return _tiles.TILE_TYPE.POINTCLOUD;
@@ -49,9 +43,9 @@ function getRefine(refine) {
49
43
  }
50
44
  }
51
45
  function resolveUri(uri, basePath) {
52
- var urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
46
+ const urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
53
47
  if (urlSchemeRegex.test(basePath)) {
54
- var url = new URL(uri, "".concat(basePath, "/"));
48
+ const url = new URL(uri, "".concat(basePath, "/"));
55
49
  return decodeURI(url.toString());
56
50
  } else if (uri.startsWith('/')) {
57
51
  return uri;
@@ -63,7 +57,7 @@ function normalizeTileData(tile, options) {
63
57
  return null;
64
58
  }
65
59
  if (tile.content) {
66
- var contentUri = tile.content.uri || tile.content.url;
60
+ const contentUri = tile.content.uri || tile.content.url;
67
61
  tile.contentUrl = resolveUri(contentUri, options.basePath);
68
62
  }
69
63
  tile.id = tile.contentUrl;
@@ -74,195 +68,103 @@ function normalizeTileData(tile, options) {
74
68
  tile.refine = getRefine(tile.refine);
75
69
  return tile;
76
70
  }
77
- function normalizeTileHeaders(_x, _x2) {
78
- return _normalizeTileHeaders.apply(this, arguments);
79
- }
80
- function _normalizeTileHeaders() {
81
- _normalizeTileHeaders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tileset, options) {
82
- var basePath, root, rootImplicitTilingExtension, stack, tile, children, _iterator, _step, childHeader, childImplicitTilingExtension;
83
- return _regenerator.default.wrap(function _callee$(_context) {
84
- while (1) switch (_context.prev = _context.next) {
85
- case 0:
86
- basePath = tileset.basePath;
87
- rootImplicitTilingExtension = getImplicitTilingExtensionData(tileset === null || tileset === void 0 ? void 0 : tileset.root);
88
- if (!(rootImplicitTilingExtension && tileset.root)) {
89
- _context.next = 8;
90
- break;
91
- }
92
- _context.next = 5;
93
- return normalizeImplicitTileHeaders(tileset.root, tileset, rootImplicitTilingExtension, options);
94
- case 5:
95
- root = _context.sent;
96
- _context.next = 9;
97
- break;
98
- case 8:
99
- root = normalizeTileData(tileset.root, tileset);
100
- case 9:
101
- stack = [];
102
- stack.push(root);
103
- case 11:
104
- if (!(stack.length > 0)) {
105
- _context.next = 40;
106
- break;
107
- }
108
- tile = stack.pop() || {};
109
- children = tile.children || [];
110
- _iterator = _createForOfIteratorHelper(children);
111
- _context.prev = 15;
112
- _iterator.s();
113
- case 17:
114
- if ((_step = _iterator.n()).done) {
115
- _context.next = 30;
116
- break;
117
- }
118
- childHeader = _step.value;
119
- childImplicitTilingExtension = getImplicitTilingExtensionData(childHeader);
120
- if (!childImplicitTilingExtension) {
121
- _context.next = 26;
122
- break;
123
- }
124
- _context.next = 23;
125
- return normalizeImplicitTileHeaders(childHeader, tileset, childImplicitTilingExtension, options);
126
- case 23:
127
- childHeader = _context.sent;
128
- _context.next = 27;
129
- break;
130
- case 26:
131
- normalizeTileData(childHeader, {
132
- basePath: basePath
133
- });
134
- case 27:
135
- stack.push(childHeader);
136
- case 28:
137
- _context.next = 17;
138
- break;
139
- case 30:
140
- _context.next = 35;
141
- break;
142
- case 32:
143
- _context.prev = 32;
144
- _context.t0 = _context["catch"](15);
145
- _iterator.e(_context.t0);
146
- case 35:
147
- _context.prev = 35;
148
- _iterator.f();
149
- return _context.finish(35);
150
- case 38:
151
- _context.next = 11;
152
- break;
153
- case 40:
154
- return _context.abrupt("return", root);
155
- case 41:
156
- case "end":
157
- return _context.stop();
158
- }
159
- }, _callee, null, [[15, 32, 35, 38]]);
160
- }));
161
- return _normalizeTileHeaders.apply(this, arguments);
162
- }
163
- function normalizeImplicitTileHeaders(_x3, _x4, _x5, _x6) {
164
- return _normalizeImplicitTileHeaders.apply(this, arguments);
165
- }
166
- function _normalizeImplicitTileHeaders() {
167
- _normalizeImplicitTileHeaders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(tile, tileset, implicitTilingExtension, options) {
168
- var _tileset$root, _tile$boundingVolume$;
169
- var basePath, subdivisionScheme, maximumLevel, subtreeLevels, subtreesUriTemplate, replacedUrlTemplate, subtreeUrl, subtree, contentUrlTemplate, refine, rootLodMetricValue, s2VolumeInfo, box, s2VolumeBox, rootBoundingVolume, implicitOptions;
170
- return _regenerator.default.wrap(function _callee2$(_context2) {
171
- while (1) switch (_context2.prev = _context2.next) {
172
- case 0:
173
- basePath = tileset.basePath;
174
- subdivisionScheme = implicitTilingExtension.subdivisionScheme, maximumLevel = implicitTilingExtension.maximumLevel, subtreeLevels = implicitTilingExtension.subtreeLevels, subtreesUriTemplate = implicitTilingExtension.subtrees.uri;
175
- replacedUrlTemplate = (0, _parse3dImplicitTiles.replaceContentUrlTemplate)(subtreesUriTemplate, 0, 0, 0, 0);
176
- subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
177
- _context2.next = 6;
178
- return (0, _core.load)(subtreeUrl, _tile3dSubtreeLoader.Tile3DSubtreeLoader, options);
179
- case 6:
180
- subtree = _context2.sent;
181
- contentUrlTemplate = resolveUri(tile.content.uri, basePath);
182
- refine = tileset === null || tileset === void 0 ? void 0 : (_tileset$root = tileset.root) === null || _tileset$root === void 0 ? void 0 : _tileset$root.refine;
183
- rootLodMetricValue = tile.geometricError;
184
- s2VolumeInfo = (_tile$boundingVolume$ = tile.boundingVolume.extensions) === null || _tile$boundingVolume$ === void 0 ? void 0 : _tile$boundingVolume$['3DTILES_bounding_volume_S2'];
185
- if (s2VolumeInfo) {
186
- box = (0, _s2CornersToObb.convertS2BoundingVolumetoOBB)(s2VolumeInfo);
187
- s2VolumeBox = {
188
- box: box,
189
- s2VolumeInfo: s2VolumeInfo
190
- };
191
- tile.boundingVolume = s2VolumeBox;
192
- }
193
- rootBoundingVolume = tile.boundingVolume;
194
- implicitOptions = {
195
- contentUrlTemplate: contentUrlTemplate,
196
- subtreesUriTemplate: subtreesUriTemplate,
197
- subdivisionScheme: subdivisionScheme,
198
- subtreeLevels: subtreeLevels,
199
- maximumLevel: maximumLevel,
200
- refine: refine,
201
- basePath: basePath,
202
- lodMetricType: _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR,
203
- rootLodMetricValue: rootLodMetricValue,
204
- rootBoundingVolume: rootBoundingVolume,
205
- getTileType: getTileType,
206
- getRefine: getRefine
207
- };
208
- _context2.next = 16;
209
- return normalizeImplicitTileData(tile, subtree, implicitOptions);
210
- case 16:
211
- return _context2.abrupt("return", _context2.sent);
212
- case 17:
213
- case "end":
214
- return _context2.stop();
71
+ async function normalizeTileHeaders(tileset, options) {
72
+ const basePath = tileset.basePath;
73
+ let root;
74
+ const rootImplicitTilingExtension = getImplicitTilingExtensionData(tileset === null || tileset === void 0 ? void 0 : tileset.root);
75
+ if (rootImplicitTilingExtension && tileset.root) {
76
+ root = await normalizeImplicitTileHeaders(tileset.root, tileset, rootImplicitTilingExtension, options);
77
+ } else {
78
+ root = normalizeTileData(tileset.root, tileset);
79
+ }
80
+ const stack = [];
81
+ stack.push(root);
82
+ while (stack.length > 0) {
83
+ const tile = stack.pop() || {};
84
+ const children = tile.children || [];
85
+ for (let childHeader of children) {
86
+ const childImplicitTilingExtension = getImplicitTilingExtensionData(childHeader);
87
+ if (childImplicitTilingExtension) {
88
+ childHeader = await normalizeImplicitTileHeaders(childHeader, tileset, childImplicitTilingExtension, options);
89
+ } else {
90
+ normalizeTileData(childHeader, {
91
+ basePath
92
+ });
215
93
  }
216
- }, _callee2);
217
- }));
218
- return _normalizeImplicitTileHeaders.apply(this, arguments);
94
+ stack.push(childHeader);
95
+ }
96
+ }
97
+ return root;
219
98
  }
220
- function normalizeImplicitTileData(_x7, _x8, _x9) {
221
- return _normalizeImplicitTileData.apply(this, arguments);
99
+ async function normalizeImplicitTileHeaders(tile, tileset, implicitTilingExtension, options) {
100
+ var _tileset$root, _tile$boundingVolume$;
101
+ const basePath = tileset.basePath;
102
+ const {
103
+ subdivisionScheme,
104
+ maximumLevel,
105
+ subtreeLevels,
106
+ subtrees: {
107
+ uri: subtreesUriTemplate
108
+ }
109
+ } = implicitTilingExtension;
110
+ const replacedUrlTemplate = (0, _parse3dImplicitTiles.replaceContentUrlTemplate)(subtreesUriTemplate, 0, 0, 0, 0);
111
+ const subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
112
+ const subtree = await (0, _core.load)(subtreeUrl, _tile3dSubtreeLoader.Tile3DSubtreeLoader, options);
113
+ const contentUrlTemplate = resolveUri(tile.content.uri, basePath);
114
+ const refine = tileset === null || tileset === void 0 ? void 0 : (_tileset$root = tileset.root) === null || _tileset$root === void 0 ? void 0 : _tileset$root.refine;
115
+ const rootLodMetricValue = tile.geometricError;
116
+ const s2VolumeInfo = (_tile$boundingVolume$ = tile.boundingVolume.extensions) === null || _tile$boundingVolume$ === void 0 ? void 0 : _tile$boundingVolume$['3DTILES_bounding_volume_S2'];
117
+ if (s2VolumeInfo) {
118
+ const box = (0, _s2CornersToObb.convertS2BoundingVolumetoOBB)(s2VolumeInfo);
119
+ const s2VolumeBox = {
120
+ box,
121
+ s2VolumeInfo
122
+ };
123
+ tile.boundingVolume = s2VolumeBox;
124
+ }
125
+ const rootBoundingVolume = tile.boundingVolume;
126
+ const implicitOptions = {
127
+ contentUrlTemplate,
128
+ subtreesUriTemplate,
129
+ subdivisionScheme,
130
+ subtreeLevels,
131
+ maximumLevel,
132
+ refine,
133
+ basePath,
134
+ lodMetricType: _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR,
135
+ rootLodMetricValue,
136
+ rootBoundingVolume,
137
+ getTileType,
138
+ getRefine
139
+ };
140
+ return await normalizeImplicitTileData(tile, subtree, implicitOptions);
222
141
  }
223
- function _normalizeImplicitTileData() {
224
- _normalizeImplicitTileData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(tile, rootSubtree, options) {
225
- var _yield$parseImplicitT, children, contentUrl;
226
- return _regenerator.default.wrap(function _callee3$(_context3) {
227
- while (1) switch (_context3.prev = _context3.next) {
228
- case 0:
229
- if (tile) {
230
- _context3.next = 2;
231
- break;
232
- }
233
- return _context3.abrupt("return", null);
234
- case 2:
235
- tile.lodMetricType = _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR;
236
- tile.lodMetricValue = tile.geometricError;
237
- tile.transformMatrix = tile.transform;
238
- _context3.next = 7;
239
- return (0, _parse3dImplicitTiles.parseImplicitTiles)({
240
- subtree: rootSubtree,
241
- options: options,
242
- s2VolumeBox: tile
243
- });
244
- case 7:
245
- _yield$parseImplicitT = _context3.sent;
246
- children = _yield$parseImplicitT.children;
247
- contentUrl = _yield$parseImplicitT.contentUrl;
248
- if (contentUrl) {
249
- tile.contentUrl = contentUrl;
250
- tile.content = {
251
- uri: contentUrl.replace("".concat(options.basePath, "/"), '')
252
- };
253
- }
254
- tile.refine = getRefine(tile.refine);
255
- tile.type = getTileType(tile);
256
- tile.children = children;
257
- tile.id = tile.contentUrl;
258
- return _context3.abrupt("return", tile);
259
- case 16:
260
- case "end":
261
- return _context3.stop();
262
- }
263
- }, _callee3);
264
- }));
265
- return _normalizeImplicitTileData.apply(this, arguments);
142
+ async function normalizeImplicitTileData(tile, rootSubtree, options) {
143
+ if (!tile) {
144
+ return null;
145
+ }
146
+ tile.lodMetricType = _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR;
147
+ tile.lodMetricValue = tile.geometricError;
148
+ tile.transformMatrix = tile.transform;
149
+ const {
150
+ children,
151
+ contentUrl
152
+ } = await (0, _parse3dImplicitTiles.parseImplicitTiles)({
153
+ subtree: rootSubtree,
154
+ options,
155
+ s2VolumeBox: tile
156
+ });
157
+ if (contentUrl) {
158
+ tile.contentUrl = contentUrl;
159
+ tile.content = {
160
+ uri: contentUrl.replace("".concat(options.basePath, "/"), '')
161
+ };
162
+ }
163
+ tile.refine = getRefine(tile.refine);
164
+ tile.type = getTileType(tile);
165
+ tile.children = children;
166
+ tile.id = tile.contentUrl;
167
+ return tile;
266
168
  }
267
169
  function getImplicitTilingExtensionData(tile) {
268
170
  var _tile$extensions;