@loaders.gl/tile-converter 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (176) hide show
  1. package/bin/converter.js +1 -1
  2. package/dist/3d-tiles-attributes-worker.js +2 -2
  3. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  4. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/3d-tiles-converter.js +4 -3
  6. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -8
  7. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  8. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +2 -15
  9. package/dist/converter.min.js +75 -76
  10. package/dist/deps-installer/deps-installer.js +4 -4
  11. package/dist/dist.min.js +2529 -1884
  12. package/dist/es5/3d-tiles-attributes-worker.js +1 -1
  13. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +0 -3
  14. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  15. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +2 -10
  16. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  17. package/dist/es5/deps-installer/deps-installer.js +5 -5
  18. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  19. package/dist/es5/i3s-attributes-worker.js +1 -1
  20. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  21. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +4 -4
  22. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  23. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +6 -7
  24. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  25. package/dist/es5/i3s-converter/helpers/geometry-converter.js +49 -30
  26. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  27. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +46 -16
  28. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  29. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +82 -0
  30. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  31. package/dist/es5/i3s-converter/helpers/node-index-document.js +74 -45
  32. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
  33. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +111 -0
  34. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  35. package/dist/es5/i3s-converter/helpers/tileset-traversal.js +82 -0
  36. package/dist/es5/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  37. package/dist/es5/i3s-converter/i3s-converter.js +545 -523
  38. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  39. package/dist/es5/i3s-converter/types.js +16 -0
  40. package/dist/es5/i3s-converter/types.js.map +1 -1
  41. package/dist/es5/i3s-server/README.md +19 -0
  42. package/dist/es5/i3s-server/app.js +10 -1
  43. package/dist/es5/i3s-server/app.js.map +1 -1
  44. package/dist/es5/i3s-server/controllers/slpk-controller.js +84 -0
  45. package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -0
  46. package/dist/es5/i3s-server/routes/slpk-router.js +71 -0
  47. package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -0
  48. package/dist/es5/i3s-server/utils/create-scene-server.js +17 -0
  49. package/dist/es5/i3s-server/utils/create-scene-server.js.map +1 -0
  50. package/dist/es5/lib/utils/file-utils.js +1 -1
  51. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  52. package/dist/es5/lib/utils/geometry-utils.js +15 -0
  53. package/dist/es5/lib/utils/geometry-utils.js.map +1 -0
  54. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  55. package/dist/es5/pgm-loader.js +1 -1
  56. package/dist/esm/3d-tiles-attributes-worker.js +1 -1
  57. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +0 -3
  58. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  59. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +2 -8
  60. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  61. package/dist/esm/deps-installer/deps-installer.js +5 -5
  62. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  63. package/dist/esm/i3s-attributes-worker.js +1 -1
  64. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  65. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +4 -4
  66. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  67. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +6 -7
  68. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  69. package/dist/esm/i3s-converter/helpers/geometry-converter.js +37 -18
  70. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  71. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +50 -16
  72. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  73. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +35 -0
  74. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  75. package/dist/esm/i3s-converter/helpers/node-index-document.js +14 -1
  76. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
  77. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js +48 -0
  78. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  79. package/dist/esm/i3s-converter/helpers/tileset-traversal.js +14 -0
  80. package/dist/esm/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  81. package/dist/esm/i3s-converter/i3s-converter.js +134 -127
  82. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  83. package/dist/esm/i3s-converter/types.js +10 -1
  84. package/dist/esm/i3s-converter/types.js.map +1 -1
  85. package/dist/esm/i3s-server/README.md +19 -0
  86. package/dist/esm/i3s-server/app.js +11 -1
  87. package/dist/esm/i3s-server/app.js.map +1 -1
  88. package/dist/esm/i3s-server/controllers/slpk-controller.js +36 -0
  89. package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -0
  90. package/dist/esm/i3s-server/routes/slpk-router.js +33 -0
  91. package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -0
  92. package/dist/esm/i3s-server/utils/create-scene-server.js +16 -0
  93. package/dist/esm/i3s-server/utils/create-scene-server.js.map +1 -0
  94. package/dist/esm/lib/utils/file-utils.js +1 -1
  95. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  96. package/dist/esm/lib/utils/geometry-utils.js +8 -0
  97. package/dist/esm/lib/utils/geometry-utils.js.map +1 -0
  98. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  99. package/dist/esm/pgm-loader.js +1 -1
  100. package/dist/i3s-attributes-worker.d.ts +10 -2
  101. package/dist/i3s-attributes-worker.d.ts.map +1 -1
  102. package/dist/i3s-attributes-worker.js +2 -2
  103. package/dist/i3s-attributes-worker.js.map +3 -3
  104. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +4 -2
  105. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  106. package/dist/i3s-converter/helpers/batch-ids-extensions.js +4 -7
  107. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +3 -4
  108. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  109. package/dist/i3s-converter/helpers/coordinate-converter.js +8 -9
  110. package/dist/i3s-converter/helpers/geometry-converter.d.ts +9 -4
  111. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  112. package/dist/i3s-converter/helpers/geometry-converter.js +84 -54
  113. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +22 -3
  114. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  115. package/dist/i3s-converter/helpers/gltf-attributes.js +62 -22
  116. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +18 -0
  117. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -0
  118. package/dist/i3s-converter/helpers/load-3d-tiles.js +53 -0
  119. package/dist/i3s-converter/helpers/node-index-document.d.ts +8 -0
  120. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  121. package/dist/i3s-converter/helpers/node-index-document.js +20 -2
  122. package/dist/i3s-converter/helpers/node-pages.js +1 -1
  123. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +23 -0
  124. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -0
  125. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +76 -0
  126. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +25 -0
  127. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -0
  128. package/dist/i3s-converter/helpers/tileset-traversal.js +29 -0
  129. package/dist/i3s-converter/i3s-converter.d.ts +40 -40
  130. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  131. package/dist/i3s-converter/i3s-converter.js +150 -125
  132. package/dist/i3s-converter/types.d.ts +18 -0
  133. package/dist/i3s-converter/types.d.ts.map +1 -1
  134. package/dist/i3s-converter/types.js +15 -0
  135. package/dist/i3s-server/app.d.ts.map +1 -1
  136. package/dist/i3s-server/app.js +9 -1
  137. package/dist/i3s-server/controllers/slpk-controller.d.ts +3 -0
  138. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -0
  139. package/dist/i3s-server/controllers/slpk-controller.js +32 -0
  140. package/dist/i3s-server/routes/slpk-router.d.ts +3 -0
  141. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -0
  142. package/dist/i3s-server/routes/slpk-router.js +33 -0
  143. package/dist/i3s-server/utils/create-scene-server.d.ts +11 -0
  144. package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -0
  145. package/dist/i3s-server/utils/create-scene-server.js +14 -0
  146. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  147. package/dist/lib/utils/file-utils.js +2 -1
  148. package/dist/lib/utils/geometry-utils.d.ts +9 -0
  149. package/dist/lib/utils/geometry-utils.d.ts.map +1 -0
  150. package/dist/lib/utils/geometry-utils.js +18 -0
  151. package/dist/lib/utils/lod-conversion-utils.d.ts +3 -2
  152. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -1
  153. package/dist/lib/utils/lod-conversion-utils.js +1 -1
  154. package/package.json +15 -16
  155. package/src/3d-tiles-converter/3d-tiles-converter.ts +9 -8
  156. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +2 -16
  157. package/src/deps-installer/deps-installer.ts +4 -4
  158. package/src/i3s-attributes-worker.ts +11 -2
  159. package/src/i3s-converter/helpers/batch-ids-extensions.ts +15 -19
  160. package/src/i3s-converter/helpers/coordinate-converter.ts +11 -10
  161. package/src/i3s-converter/helpers/geometry-converter.ts +154 -95
  162. package/src/i3s-converter/helpers/gltf-attributes.ts +85 -25
  163. package/src/i3s-converter/helpers/load-3d-tiles.ts +68 -0
  164. package/src/i3s-converter/helpers/node-index-document.ts +22 -2
  165. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +81 -0
  166. package/src/i3s-converter/helpers/tileset-traversal.ts +51 -0
  167. package/src/i3s-converter/i3s-converter.ts +229 -178
  168. package/src/i3s-converter/types.ts +20 -0
  169. package/src/i3s-server/README.md +19 -0
  170. package/src/i3s-server/app.js +8 -1
  171. package/src/i3s-server/controllers/slpk-controller.js +38 -0
  172. package/src/i3s-server/routes/slpk-router.js +33 -0
  173. package/src/i3s-server/utils/create-scene-server.js +15 -0
  174. package/src/lib/utils/file-utils.ts +2 -1
  175. package/src/lib/utils/geometry-utils.ts +14 -0
  176. package/src/lib/utils/lod-conversion-utils.ts +6 -2
@@ -13,7 +13,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _core = require("@loaders.gl/core");
16
- var _tiles = require("@loaders.gl/tiles");
17
16
  var _dTiles = require("@loaders.gl/3d-tiles");
18
17
  var _path = require("path");
19
18
  var _uuid = require("uuid");
@@ -35,6 +34,7 @@ var _sharedResources = require("./json-templates/shared-resources");
35
34
  var _nodeDebug = require("./helpers/node-debug");
36
35
  var _textures = require("@loaders.gl/textures");
37
36
  var _images = require("@loaders.gl/images");
37
+ var _types = require("./types");
38
38
  var _workerUtils = require("@loaders.gl/worker-utils");
39
39
  var _draco = require("@loaders.gl/draco");
40
40
  var _writeQueue = _interopRequireDefault(require("../lib/utils/write-queue"));
@@ -42,6 +42,11 @@ var _i3sAttributesWorker = require("../i3s-attributes-worker");
42
42
  var _constants = require("../constants");
43
43
  var _featureAttributes = require("./helpers/feature-attributes");
44
44
  var _nodeIndexDocument = require("./helpers/node-index-document");
45
+ var _load3dTiles = require("./helpers/load-3d-tiles");
46
+ var _core2 = require("@math.gl/core");
47
+ var _tiles = require("@loaders.gl/tiles");
48
+ var _tilesetTraversal = require("./helpers/tileset-traversal");
49
+ var _preprocess3dTiles = require("./helpers/preprocess-3d-tiles");
45
50
  var _process$env;
46
51
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
52
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -75,6 +80,18 @@ var I3SConverter = function () {
75
80
  (0, _defineProperty2.default)(this, "conversionStartTime", [0, 0]);
76
81
  (0, _defineProperty2.default)(this, "refreshTokenTime", [0, 0]);
77
82
  (0, _defineProperty2.default)(this, "sourceTileset", null);
83
+ (0, _defineProperty2.default)(this, "loadOptions", {
84
+ _nodeWorkers: true,
85
+ reuseWorkers: true,
86
+ basis: {
87
+ format: 'rgba32',
88
+ workerUrl: './modules/textures/dist/basis-worker-node.js'
89
+ },
90
+ draco: {
91
+ workerUrl: './modules/draco/dist/draco-worker-node.js'
92
+ },
93
+ fetch: {}
94
+ });
78
95
  (0, _defineProperty2.default)(this, "geoidHeightModel", null);
79
96
  (0, _defineProperty2.default)(this, "Loader", _dTiles.Tiles3DLoader);
80
97
  (0, _defineProperty2.default)(this, "generateTextures", void 0);
@@ -83,6 +100,9 @@ var I3SConverter = function () {
83
100
  (0, _defineProperty2.default)(this, "workerSource", {});
84
101
  (0, _defineProperty2.default)(this, "writeQueue", new _writeQueue.default());
85
102
  (0, _defineProperty2.default)(this, "compressList", null);
103
+ (0, _defineProperty2.default)(this, "preprocessData", {
104
+ meshTopologyTypes: new Set()
105
+ });
86
106
  this.nodePages = new _nodePages.default(_fileUtils.writeFile, HARDCODED_NODES_PER_PAGE, this);
87
107
  this.options = {};
88
108
  this.layers0Path = '';
@@ -107,7 +127,7 @@ var I3SConverter = function () {
107
127
  key: "convert",
108
128
  value: function () {
109
129
  var _convert = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
110
- var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, _sourceTilesetJson$ro, _sourceTilesetJson$ro2, preloadOptions, tilesetOptions, sourceTilesetJson, workerFarm;
130
+ var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, preloadOptions, preprocessResult, workerFarm;
111
131
  return _regenerator.default.wrap(function _callee$(_context) {
112
132
  while (1) switch (_context.prev = _context.next) {
113
133
  case 0:
@@ -155,58 +175,54 @@ var I3SConverter = function () {
155
175
  return this._fetchPreloadOptions();
156
176
  case 24:
157
177
  preloadOptions = _context.sent;
158
- tilesetOptions = {
159
- loadOptions: {
160
- _nodeWorkers: true,
161
- reuseWorkers: true,
162
- basis: {
163
- format: 'rgba32'
164
- },
165
- 'basis-nodejs': {
166
- format: 'rgba32',
167
- workerUrl: './modules/textures/dist/basis-nodejs-worker.js'
168
- },
169
- 'draco-nodejs': {
170
- workerUrl: './modules/draco/dist/draco-nodejs-worker.js'
171
- }
172
- }
173
- };
174
178
  if (preloadOptions.headers) {
175
- tilesetOptions.loadOptions.fetch = {
179
+ this.loadOptions.fetch = {
176
180
  headers: preloadOptions.headers
177
181
  };
178
182
  }
179
- Object.assign(tilesetOptions, preloadOptions);
180
- _context.next = 30;
181
- return (0, _core.load)(inputUrl, this.Loader, tilesetOptions.loadOptions);
182
- case 30:
183
- sourceTilesetJson = _context.sent;
184
- this.sourceTileset = new _tiles.Tileset3D(sourceTilesetJson, tilesetOptions);
185
- _context.next = 34;
186
- return this._createAndSaveTileset(outputPath, tilesetName, sourceTilesetJson === null || sourceTilesetJson === void 0 ? void 0 : (_sourceTilesetJson$ro = sourceTilesetJson.root) === null || _sourceTilesetJson$ro === void 0 ? void 0 : (_sourceTilesetJson$ro2 = _sourceTilesetJson$ro.boundingVolume) === null || _sourceTilesetJson$ro2 === void 0 ? void 0 : _sourceTilesetJson$ro2.region);
187
- case 34:
188
- _context.next = 36;
183
+ _context.next = 28;
184
+ return (0, _core.load)(inputUrl, this.Loader, this.loadOptions);
185
+ case 28:
186
+ this.sourceTileset = _context.sent;
187
+ _context.next = 31;
188
+ return this.preprocessConversion();
189
+ case 31:
190
+ preprocessResult = _context.sent;
191
+ if (!preprocessResult) {
192
+ _context.next = 37;
193
+ break;
194
+ }
195
+ _context.next = 35;
196
+ return this._createAndSaveTileset(outputPath, tilesetName);
197
+ case 35:
198
+ _context.next = 37;
189
199
  return this._finishConversion({
190
200
  slpk: Boolean(slpk),
191
201
  outputPath: outputPath,
192
202
  tilesetName: tilesetName
193
203
  });
194
- case 36:
195
- return _context.abrupt("return", sourceTilesetJson);
204
+ case 37:
205
+ _context.next = 42;
206
+ break;
196
207
  case 39:
197
208
  _context.prev = 39;
198
209
  _context.t0 = _context["catch"](21);
199
210
  throw _context.t0;
200
211
  case 42:
201
212
  _context.prev = 42;
213
+ _context.next = 45;
214
+ return this.writeQueue.finalize();
215
+ case 45:
202
216
  workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
203
217
  workerFarm.destroy();
204
218
  return _context.finish(42);
205
- case 46:
219
+ case 48:
220
+ return _context.abrupt("return", 'success');
221
+ case 49:
206
222
  case "end":
207
223
  return _context.stop();
208
224
  }
209
- }, _callee, this, [[21, 39, 42, 46]]);
225
+ }, _callee, this, [[21, 39, 42, 48]]);
210
226
  }));
211
227
  function convert(_x) {
212
228
  return _convert.apply(this, arguments);
@@ -214,46 +230,136 @@ var I3SConverter = function () {
214
230
  return convert;
215
231
  }()
216
232
  }, {
217
- key: "_createAndSaveTileset",
233
+ key: "preprocessConversion",
218
234
  value: function () {
219
- var _createAndSaveTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(outputPath, tilesetName, boundingVolumeRegion) {
220
- var _this = this;
221
- var tilesetPath, sourceRootTile, boundingVolumes, rootNode, _iterator, _step, filePath;
235
+ var _preprocessConversion = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
236
+ var sourceRootTile, meshTopologyTypes;
222
237
  return _regenerator.default.wrap(function _callee2$(_context2) {
223
238
  while (1) switch (_context2.prev = _context2.next) {
224
239
  case 0:
225
- tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
226
- _context2.prev = 1;
240
+ console.log("Analyze source tileset");
241
+ sourceRootTile = this.sourceTileset.root;
227
242
  _context2.next = 4;
243
+ return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, null, this.analyzeTile.bind(this), undefined, this.options.maxDepth);
244
+ case 4:
245
+ meshTopologyTypes = this.preprocessData.meshTopologyTypes;
246
+ console.log("------------------------------------------------");
247
+ console.log("Preprocess results:");
248
+ console.log("glTF mesh topology types: ".concat(Array.from(meshTopologyTypes).join(', ')));
249
+ console.log("------------------------------------------------");
250
+ if (!(!meshTopologyTypes.has(_types.GltfPrimitiveModeString.TRIANGLES) && !meshTopologyTypes.has(_types.GltfPrimitiveModeString.TRIANGLE_STRIP))) {
251
+ _context2.next = 13;
252
+ break;
253
+ }
254
+ console.log('The tileset is of unsupported mesh topology types. The conversion will be interrupted.');
255
+ console.log("------------------------------------------------");
256
+ return _context2.abrupt("return", false);
257
+ case 13:
258
+ return _context2.abrupt("return", true);
259
+ case 14:
260
+ case "end":
261
+ return _context2.stop();
262
+ }
263
+ }, _callee2, this);
264
+ }));
265
+ function preprocessConversion() {
266
+ return _preprocessConversion.apply(this, arguments);
267
+ }
268
+ return preprocessConversion;
269
+ }()
270
+ }, {
271
+ key: "analyzeTile",
272
+ value: function () {
273
+ var _analyzeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(sourceTile, traversalProps) {
274
+ var tileContent, tilePreprocessData;
275
+ return _regenerator.default.wrap(function _callee3$(_context3) {
276
+ while (1) switch (_context3.prev = _context3.next) {
277
+ case 0:
278
+ if (!(sourceTile.type === 'json')) {
279
+ _context3.next = 4;
280
+ break;
281
+ }
282
+ _context3.next = 3;
283
+ return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
284
+ case 3:
285
+ return _context3.abrupt("return", null);
286
+ case 4:
287
+ if (sourceTile.id) {
288
+ console.log("[analyze]: ".concat(sourceTile.id));
289
+ }
290
+ _context3.next = 7;
291
+ return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, _objectSpread(_objectSpread({}, this.loadOptions), {}, {
292
+ '3d-tiles': _objectSpread(_objectSpread({}, this.loadOptions['3d-tiles']), {}, {
293
+ loadGLTF: false
294
+ })
295
+ }));
296
+ case 7:
297
+ tileContent = _context3.sent;
298
+ _context3.next = 10;
299
+ return (0, _preprocess3dTiles.analyzeTileContent)(sourceTile, tileContent);
300
+ case 10:
301
+ tilePreprocessData = _context3.sent;
302
+ (0, _preprocess3dTiles.mergePreprocessData)(this.preprocessData, tilePreprocessData);
303
+ return _context3.abrupt("return", null);
304
+ case 13:
305
+ case "end":
306
+ return _context3.stop();
307
+ }
308
+ }, _callee3, this);
309
+ }));
310
+ function analyzeTile(_x2, _x3) {
311
+ return _analyzeTile.apply(this, arguments);
312
+ }
313
+ return analyzeTile;
314
+ }()
315
+ }, {
316
+ key: "_createAndSaveTileset",
317
+ value: function () {
318
+ var _createAndSaveTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(outputPath, tilesetName) {
319
+ var _this$sourceTileset,
320
+ _this$sourceTileset$r,
321
+ _this$sourceTileset$r2,
322
+ _this = this;
323
+ var tilesetPath, sourceRootTile, sourceBoundingVolume, boundingVolumes, rootNode, _iterator, _step, filePath;
324
+ return _regenerator.default.wrap(function _callee4$(_context4) {
325
+ while (1) switch (_context4.prev = _context4.next) {
326
+ case 0:
327
+ tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
328
+ _context4.prev = 1;
329
+ _context4.next = 4;
228
330
  return (0, _fileUtils.removeDir)(tilesetPath);
229
331
  case 4:
230
- _context2.next = 8;
332
+ _context4.next = 8;
231
333
  break;
232
334
  case 6:
233
- _context2.prev = 6;
234
- _context2.t0 = _context2["catch"](1);
335
+ _context4.prev = 6;
336
+ _context4.t0 = _context4["catch"](1);
235
337
  case 8:
236
338
  this.layers0Path = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
237
- this._formLayers0(tilesetName, boundingVolumeRegion);
238
339
  this.materialDefinitions = [];
239
340
  this.materialMap = new Map();
240
341
  sourceRootTile = this.sourceTileset.root;
241
- boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceRootTile, this.geoidHeightModel);
242
- _context2.next = 16;
342
+ sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceRootTile.boundingVolume, new _core2.Matrix4(sourceRootTile.transform), null);
343
+ this._formLayers0(tilesetName, sourceBoundingVolume, (_this$sourceTileset = this.sourceTileset) === null || _this$sourceTileset === void 0 ? void 0 : (_this$sourceTileset$r = _this$sourceTileset.root) === null || _this$sourceTileset$r === void 0 ? void 0 : (_this$sourceTileset$r2 = _this$sourceTileset$r.boundingVolume) === null || _this$sourceTileset$r2 === void 0 ? void 0 : _this$sourceTileset$r2.region);
344
+ boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
345
+ _context4.next = 17;
243
346
  return this.nodePages.push({
244
347
  index: 0,
245
348
  lodThreshold: 0,
246
349
  obb: boundingVolumes.obb,
247
350
  children: []
248
351
  });
249
- case 16:
250
- _context2.next = 18;
352
+ case 17:
353
+ _context4.next = 19;
251
354
  return _nodeIndexDocument.NodeIndexDocument.createRootNode(boundingVolumes, this);
252
- case 18:
253
- rootNode = _context2.sent;
254
- _context2.next = 21;
255
- return this._convertNodesTree(rootNode, sourceRootTile);
256
- case 21:
355
+ case 19:
356
+ rootNode = _context4.sent;
357
+ _context4.next = 22;
358
+ return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, {
359
+ transform: new _core2.Matrix4(sourceRootTile.transform),
360
+ parentNodes: [rootNode]
361
+ }, this.convertTile.bind(this), this.finalizeTile.bind(this), this.options.maxDepth);
362
+ case 22:
257
363
  this.layers0.materialDefinitions = this.materialDefinitions;
258
364
  this.layers0.geometryDefinitions = (0, _jsonMapTransform.default)(this.geometryConfigs.map(function (config) {
259
365
  return {
@@ -267,63 +373,66 @@ var I3SConverter = function () {
267
373
  return attribute !== 'uv0';
268
374
  });
269
375
  }
270
- _context2.next = 26;
376
+ _context4.next = 27;
271
377
  return this._writeLayers0();
272
- case 26:
378
+ case 27:
273
379
  (0, _createSceneServerPath.createSceneServerPath)(tilesetName, this.layers0, tilesetPath);
274
380
  _iterator = _createForOfIteratorHelper(this.compressList || []);
275
- _context2.prev = 28;
381
+ _context4.prev = 29;
276
382
  _iterator.s();
277
- case 30:
383
+ case 31:
278
384
  if ((_step = _iterator.n()).done) {
279
- _context2.next = 38;
385
+ _context4.next = 39;
280
386
  break;
281
387
  }
282
388
  filePath = _step.value;
283
- _context2.next = 34;
389
+ _context4.next = 35;
284
390
  return (0, _compressUtil.compressFileWithGzip)(filePath);
285
- case 34:
286
- _context2.next = 36;
391
+ case 35:
392
+ _context4.next = 37;
287
393
  return (0, _fileUtils.removeFile)(filePath);
288
- case 36:
289
- _context2.next = 30;
394
+ case 37:
395
+ _context4.next = 31;
290
396
  break;
291
- case 38:
292
- _context2.next = 43;
397
+ case 39:
398
+ _context4.next = 44;
293
399
  break;
294
- case 40:
295
- _context2.prev = 40;
296
- _context2.t1 = _context2["catch"](28);
297
- _iterator.e(_context2.t1);
298
- case 43:
299
- _context2.prev = 43;
400
+ case 41:
401
+ _context4.prev = 41;
402
+ _context4.t1 = _context4["catch"](29);
403
+ _iterator.e(_context4.t1);
404
+ case 44:
405
+ _context4.prev = 44;
300
406
  _iterator.f();
301
- return _context2.finish(43);
302
- case 46:
303
- _context2.next = 48;
407
+ return _context4.finish(44);
408
+ case 47:
409
+ _context4.next = 49;
304
410
  return this.nodePages.save();
305
- case 48:
306
- _context2.next = 50;
411
+ case 49:
412
+ _context4.next = 51;
307
413
  return this.writeQueue.finalize();
308
- case 50:
309
- _context2.next = 52;
414
+ case 51:
415
+ _context4.next = 53;
310
416
  return this._createSlpk(tilesetPath);
311
- case 52:
417
+ case 53:
312
418
  case "end":
313
- return _context2.stop();
419
+ return _context4.stop();
314
420
  }
315
- }, _callee2, this, [[1, 6], [28, 40, 43, 46]]);
421
+ }, _callee4, this, [[1, 6], [29, 41, 44, 47]]);
316
422
  }));
317
- function _createAndSaveTileset(_x2, _x3, _x4) {
423
+ function _createAndSaveTileset(_x4, _x5) {
318
424
  return _createAndSaveTileset2.apply(this, arguments);
319
425
  }
320
426
  return _createAndSaveTileset;
321
427
  }()
322
428
  }, {
323
429
  key: "_formLayers0",
324
- value: function _formLayers0(tilesetName, boundingVolumeRegion) {
325
- var _this$sourceTileset, _this$sourceTileset2, _this$sourceTileset2$;
326
- var fullExtent = (0, _coordinateConverter.convertBoundingVolumeToI3SFullExtent)(((_this$sourceTileset = this.sourceTileset) === null || _this$sourceTileset === void 0 ? void 0 : _this$sourceTileset.boundingVolume) || ((_this$sourceTileset2 = this.sourceTileset) === null || _this$sourceTileset2 === void 0 ? void 0 : (_this$sourceTileset2$ = _this$sourceTileset2.root) === null || _this$sourceTileset2$ === void 0 ? void 0 : _this$sourceTileset2$.boundingVolume));
430
+ value: function _formLayers0(tilesetName, sourceBoundingVolume, boundingVolumeRegion) {
431
+ var _this$sourceTileset2;
432
+ if (!((_this$sourceTileset2 = this.sourceTileset) !== null && _this$sourceTileset2 !== void 0 && _this$sourceTileset2.root)) {
433
+ return;
434
+ }
435
+ var fullExtent = (0, _coordinateConverter.convertBoundingVolumeToI3SFullExtent)(sourceBoundingVolume);
327
436
  if (boundingVolumeRegion) {
328
437
  fullExtent.zmin = boundingVolumeRegion[4];
329
438
  fullExtent.zmax = boundingVolumeRegion[5];
@@ -346,93 +455,19 @@ var I3SConverter = function () {
346
455
  };
347
456
  this.layers0 = (0, _jsonMapTransform.default)(layers0data, (0, _layers.LAYERS)());
348
457
  }
349
- }, {
350
- key: "_convertNodesTree",
351
- value: function () {
352
- var _convertNodesTree2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(rootNode, sourceRootTile) {
353
- var childNodes, _iterator2, _step2, childNode;
354
- return _regenerator.default.wrap(function _callee3$(_context3) {
355
- while (1) switch (_context3.prev = _context3.next) {
356
- case 0:
357
- _context3.next = 2;
358
- return this.sourceTileset._loadTile(sourceRootTile);
359
- case 2:
360
- if (!this.isContentSupported(sourceRootTile)) {
361
- _context3.next = 27;
362
- break;
363
- }
364
- _context3.next = 5;
365
- return this._createNode(rootNode, sourceRootTile, 0);
366
- case 5:
367
- childNodes = _context3.sent;
368
- _iterator2 = _createForOfIteratorHelper(childNodes);
369
- _context3.prev = 7;
370
- _iterator2.s();
371
- case 9:
372
- if ((_step2 = _iterator2.n()).done) {
373
- _context3.next = 15;
374
- break;
375
- }
376
- childNode = _step2.value;
377
- _context3.next = 13;
378
- return childNode.save();
379
- case 13:
380
- _context3.next = 9;
381
- break;
382
- case 15:
383
- _context3.next = 20;
384
- break;
385
- case 17:
386
- _context3.prev = 17;
387
- _context3.t0 = _context3["catch"](7);
388
- _iterator2.e(_context3.t0);
389
- case 20:
390
- _context3.prev = 20;
391
- _iterator2.f();
392
- return _context3.finish(20);
393
- case 23:
394
- _context3.next = 25;
395
- return rootNode.addChildren(childNodes);
396
- case 25:
397
- _context3.next = 29;
398
- break;
399
- case 27:
400
- _context3.next = 29;
401
- return this._addChildrenWithNeighborsAndWriteFile({
402
- parentNode: rootNode,
403
- sourceTiles: sourceRootTile.children,
404
- level: 1
405
- });
406
- case 29:
407
- _context3.next = 31;
408
- return sourceRootTile.unloadContent();
409
- case 31:
410
- _context3.next = 33;
411
- return rootNode.save();
412
- case 33:
413
- case "end":
414
- return _context3.stop();
415
- }
416
- }, _callee3, this, [[7, 17, 20, 23]]);
417
- }));
418
- function _convertNodesTree(_x5, _x6) {
419
- return _convertNodesTree2.apply(this, arguments);
420
- }
421
- return _convertNodesTree;
422
- }()
423
458
  }, {
424
459
  key: "_writeLayers0",
425
460
  value: function () {
426
- var _writeLayers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
461
+ var _writeLayers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
427
462
  var _this2 = this;
428
- return _regenerator.default.wrap(function _callee4$(_context4) {
429
- while (1) switch (_context4.prev = _context4.next) {
463
+ return _regenerator.default.wrap(function _callee5$(_context5) {
464
+ while (1) switch (_context5.prev = _context5.next) {
430
465
  case 0:
431
466
  if (!this.options.slpk) {
432
- _context4.next = 5;
467
+ _context5.next = 5;
433
468
  break;
434
469
  }
435
- _context4.next = 3;
470
+ _context5.next = 3;
436
471
  return this.writeQueue.enqueue({
437
472
  archiveKey: '3dSceneLayer.json.gz',
438
473
  writePromise: function writePromise() {
@@ -440,10 +475,10 @@ var I3SConverter = function () {
440
475
  }
441
476
  });
442
477
  case 3:
443
- _context4.next = 7;
478
+ _context5.next = 7;
444
479
  break;
445
480
  case 5:
446
- _context4.next = 7;
481
+ _context5.next = 7;
447
482
  return this.writeQueue.enqueue({
448
483
  writePromise: function writePromise() {
449
484
  return (0, _fileUtils.writeFile)(_this2.layers0Path, JSON.stringify(_this2.layers0));
@@ -451,9 +486,9 @@ var I3SConverter = function () {
451
486
  });
452
487
  case 7:
453
488
  case "end":
454
- return _context4.stop();
489
+ return _context5.stop();
455
490
  }
456
- }, _callee4, this);
491
+ }, _callee5, this);
457
492
  }));
458
493
  function _writeLayers0() {
459
494
  return _writeLayers.apply(this, arguments);
@@ -463,219 +498,216 @@ var I3SConverter = function () {
463
498
  }, {
464
499
  key: "_createSlpk",
465
500
  value: function () {
466
- var _createSlpk2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(tilesetPath) {
501
+ var _createSlpk2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(tilesetPath) {
467
502
  var slpkTilesetPath, slpkFileName;
468
- return _regenerator.default.wrap(function _callee5$(_context5) {
469
- while (1) switch (_context5.prev = _context5.next) {
503
+ return _regenerator.default.wrap(function _callee6$(_context6) {
504
+ while (1) switch (_context6.prev = _context6.next) {
470
505
  case 0:
471
506
  if (!this.options.slpk) {
472
- _context5.next = 12;
507
+ _context6.next = 12;
473
508
  break;
474
509
  }
475
510
  slpkTilesetPath = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
476
511
  slpkFileName = "".concat(tilesetPath, ".slpk");
477
- _context5.next = 5;
512
+ _context6.next = 5;
478
513
  return (0, _compressUtil.compressWithChildProcess)(slpkTilesetPath, slpkFileName, 0, '.', this.options.sevenZipExe);
479
514
  case 5:
480
- _context5.prev = 5;
481
- _context5.next = 8;
515
+ _context6.prev = 5;
516
+ _context6.next = 8;
482
517
  return (0, _fileUtils.removeDir)(tilesetPath);
483
518
  case 8:
484
- _context5.next = 12;
519
+ _context6.next = 12;
485
520
  break;
486
521
  case 10:
487
- _context5.prev = 10;
488
- _context5.t0 = _context5["catch"](5);
522
+ _context6.prev = 10;
523
+ _context6.t0 = _context6["catch"](5);
489
524
  case 12:
490
525
  case "end":
491
- return _context5.stop();
526
+ return _context6.stop();
492
527
  }
493
- }, _callee5, this, [[5, 10]]);
528
+ }, _callee6, this, [[5, 10]]);
494
529
  }));
495
- function _createSlpk(_x7) {
530
+ function _createSlpk(_x6) {
496
531
  return _createSlpk2.apply(this, arguments);
497
532
  }
498
533
  return _createSlpk;
499
534
  }()
500
535
  }, {
501
- key: "_addChildrenWithNeighborsAndWriteFile",
536
+ key: "convertTile",
502
537
  value: function () {
503
- var _addChildrenWithNeighborsAndWriteFile2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(data) {
504
- return _regenerator.default.wrap(function _callee6$(_context6) {
505
- while (1) switch (_context6.prev = _context6.next) {
506
- case 0:
507
- _context6.next = 2;
508
- return this._addChildren(data);
509
- case 2:
510
- _context6.next = 4;
511
- return data.parentNode.addNeighbors();
512
- case 4:
513
- case "end":
514
- return _context6.stop();
515
- }
516
- }, _callee6, this);
517
- }));
518
- function _addChildrenWithNeighborsAndWriteFile(_x8) {
519
- return _addChildrenWithNeighborsAndWriteFile2.apply(this, arguments);
520
- }
521
- return _addChildrenWithNeighborsAndWriteFile;
522
- }()
523
- }, {
524
- key: "convertNestedTileset",
525
- value: function () {
526
- var _convertNestedTileset = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(_ref) {
527
- var parentNode, sourceTile, level;
538
+ var _convertTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(sourceTile, traversalProps) {
539
+ var parentNodes, transform, transformationMatrix, parentNode, childNodes, newTraversalProps;
528
540
  return _regenerator.default.wrap(function _callee7$(_context7) {
529
541
  while (1) switch (_context7.prev = _context7.next) {
530
542
  case 0:
531
- parentNode = _ref.parentNode, sourceTile = _ref.sourceTile, level = _ref.level;
532
- _context7.next = 3;
533
- return this.sourceTileset._loadTile(sourceTile);
534
- case 3:
543
+ if (!(sourceTile.type === 'json' || sourceTile.type === 'empty')) {
544
+ _context7.next = 6;
545
+ break;
546
+ }
547
+ if (!(sourceTile.type === 'json')) {
548
+ _context7.next = 5;
549
+ break;
550
+ }
551
+ if (sourceTile.id) {
552
+ console.log("[load]: ".concat(sourceTile.id));
553
+ }
535
554
  _context7.next = 5;
536
- return this._addChildren({
537
- parentNode: parentNode,
538
- sourceTiles: sourceTile.children,
539
- level: level + 1
540
- });
555
+ return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
541
556
  case 5:
542
- _context7.next = 7;
543
- return sourceTile.unloadContent();
544
- case 7:
557
+ return _context7.abrupt("return", traversalProps);
558
+ case 6:
559
+ if (sourceTile.id) {
560
+ console.log("[convert]: ".concat(sourceTile.id));
561
+ }
562
+ parentNodes = traversalProps.parentNodes, transform = traversalProps.transform;
563
+ transformationMatrix = transform.clone();
564
+ if (sourceTile.transform) {
565
+ transformationMatrix = transformationMatrix.multiplyRight(sourceTile.transform);
566
+ }
567
+ parentNode = parentNodes[0];
568
+ _context7.next = 13;
569
+ return this._createNode(parentNode, sourceTile, transformationMatrix);
570
+ case 13:
571
+ childNodes = _context7.sent;
572
+ _context7.next = 16;
573
+ return parentNode.addChildren(childNodes);
574
+ case 16:
575
+ newTraversalProps = {
576
+ transform: transformationMatrix,
577
+ parentNodes: childNodes
578
+ };
579
+ return _context7.abrupt("return", newTraversalProps);
580
+ case 18:
545
581
  case "end":
546
582
  return _context7.stop();
547
583
  }
548
584
  }, _callee7, this);
549
585
  }));
550
- function convertNestedTileset(_x9) {
551
- return _convertNestedTileset.apply(this, arguments);
586
+ function convertTile(_x7, _x8) {
587
+ return _convertTile.apply(this, arguments);
552
588
  }
553
- return convertNestedTileset;
589
+ return convertTile;
554
590
  }()
555
591
  }, {
556
- key: "convertNode",
592
+ key: "finalizeTile",
557
593
  value: function () {
558
- var _convertNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(_ref2) {
559
- var parentNode, sourceTile, level, childNodes;
594
+ var _finalizeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(conversionResults, currentTraversalProps) {
595
+ var _iterator2, _step2, result, _iterator4, _step4, node, _iterator3, _step3, _node;
560
596
  return _regenerator.default.wrap(function _callee8$(_context8) {
561
597
  while (1) switch (_context8.prev = _context8.next) {
562
598
  case 0:
563
- parentNode = _ref2.parentNode, sourceTile = _ref2.sourceTile, level = _ref2.level;
564
- _context8.next = 3;
565
- return this._createNode(parentNode, sourceTile, level);
566
- case 3:
567
- childNodes = _context8.sent;
568
- _context8.next = 6;
569
- return parentNode.addChildren(childNodes);
570
- case 6:
571
- case "end":
572
- return _context8.stop();
573
- }
574
- }, _callee8, this);
575
- }));
576
- function convertNode(_x10) {
577
- return _convertNode.apply(this, arguments);
578
- }
579
- return convertNode;
580
- }()
581
- }, {
582
- key: "_addChildren",
583
- value: function () {
584
- var _addChildren2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(data) {
585
- var sourceTiles, parentNode, level, _iterator3, _step3, sourceTile;
586
- return _regenerator.default.wrap(function _callee9$(_context9) {
587
- while (1) switch (_context9.prev = _context9.next) {
588
- case 0:
589
- sourceTiles = data.sourceTiles, parentNode = data.parentNode, level = data.level;
590
- if (!(this.options.maxDepth && level > this.options.maxDepth)) {
591
- _context9.next = 3;
592
- break;
593
- }
594
- return _context9.abrupt("return");
599
+ _iterator2 = _createForOfIteratorHelper(conversionResults);
600
+ _context8.prev = 1;
601
+ _iterator2.s();
595
602
  case 3:
596
- _iterator3 = _createForOfIteratorHelper(sourceTiles);
597
- _context9.prev = 4;
598
- _iterator3.s();
599
- case 6:
600
- if ((_step3 = _iterator3.n()).done) {
601
- _context9.next = 18;
603
+ if ((_step2 = _iterator2.n()).done) {
604
+ _context8.next = 24;
602
605
  break;
603
606
  }
604
- sourceTile = _step3.value;
605
- if (!(sourceTile.type === 'json')) {
606
- _context9.next = 13;
607
+ result = _step2.value;
608
+ _iterator4 = _createForOfIteratorHelper(result.parentNodes);
609
+ _context8.prev = 6;
610
+ _iterator4.s();
611
+ case 8:
612
+ if ((_step4 = _iterator4.n()).done) {
613
+ _context8.next = 14;
607
614
  break;
608
615
  }
609
- _context9.next = 11;
610
- return this.convertNestedTileset({
611
- parentNode: parentNode,
612
- sourceTile: sourceTile,
613
- level: level
614
- });
615
- case 11:
616
- _context9.next = 15;
616
+ node = _step4.value;
617
+ _context8.next = 12;
618
+ return node.addNeighbors();
619
+ case 12:
620
+ _context8.next = 8;
621
+ break;
622
+ case 14:
623
+ _context8.next = 19;
617
624
  break;
618
- case 13:
619
- _context9.next = 15;
620
- return this.convertNode({
621
- parentNode: parentNode,
622
- sourceTile: sourceTile,
623
- level: level
624
- });
625
- case 15:
626
- if (sourceTile.id) {
627
- console.log(sourceTile.id);
628
- }
629
625
  case 16:
630
- _context9.next = 6;
626
+ _context8.prev = 16;
627
+ _context8.t0 = _context8["catch"](6);
628
+ _iterator4.e(_context8.t0);
629
+ case 19:
630
+ _context8.prev = 19;
631
+ _iterator4.f();
632
+ return _context8.finish(19);
633
+ case 22:
634
+ _context8.next = 3;
631
635
  break;
632
- case 18:
633
- _context9.next = 23;
636
+ case 24:
637
+ _context8.next = 29;
634
638
  break;
635
- case 20:
636
- _context9.prev = 20;
637
- _context9.t0 = _context9["catch"](4);
638
- _iterator3.e(_context9.t0);
639
- case 23:
640
- _context9.prev = 23;
641
- _iterator3.f();
642
- return _context9.finish(23);
643
639
  case 26:
640
+ _context8.prev = 26;
641
+ _context8.t1 = _context8["catch"](1);
642
+ _iterator2.e(_context8.t1);
643
+ case 29:
644
+ _context8.prev = 29;
645
+ _iterator2.f();
646
+ return _context8.finish(29);
647
+ case 32:
648
+ _iterator3 = _createForOfIteratorHelper(currentTraversalProps.parentNodes);
649
+ _context8.prev = 33;
650
+ _iterator3.s();
651
+ case 35:
652
+ if ((_step3 = _iterator3.n()).done) {
653
+ _context8.next = 41;
654
+ break;
655
+ }
656
+ _node = _step3.value;
657
+ _context8.next = 39;
658
+ return _node.save();
659
+ case 39:
660
+ _context8.next = 35;
661
+ break;
662
+ case 41:
663
+ _context8.next = 46;
664
+ break;
665
+ case 43:
666
+ _context8.prev = 43;
667
+ _context8.t2 = _context8["catch"](33);
668
+ _iterator3.e(_context8.t2);
669
+ case 46:
670
+ _context8.prev = 46;
671
+ _iterator3.f();
672
+ return _context8.finish(46);
673
+ case 49:
644
674
  case "end":
645
- return _context9.stop();
675
+ return _context8.stop();
646
676
  }
647
- }, _callee9, this, [[4, 20, 23, 26]]);
677
+ }, _callee8, null, [[1, 26, 29, 32], [6, 16, 19, 22], [33, 43, 46, 49]]);
648
678
  }));
649
- function _addChildren(_x11) {
650
- return _addChildren2.apply(this, arguments);
679
+ function finalizeTile(_x9, _x10) {
680
+ return _finalizeTile.apply(this, arguments);
651
681
  }
652
- return _addChildren;
682
+ return finalizeTile;
653
683
  }()
654
684
  }, {
655
685
  key: "_createNode",
656
686
  value: function () {
657
- var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(parentNode, sourceTile, level) {
687
+ var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(parentNode, sourceTile, transformationMatrix) {
658
688
  var _this$layers, _this$layers$attribut;
659
- var boundingVolumes, propertyTable, resourcesData, nodes, nodeIds, nodesInPage, emptyResources, _iterator4, _step4, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, nodeData, node, _console;
660
- return _regenerator.default.wrap(function _callee10$(_context10) {
661
- while (1) switch (_context10.prev = _context10.next) {
689
+ var tileContent, sourceBoundingVolume, boundingVolumes, propertyTable, resourcesData, nodes, nodeIds, nodesInPage, emptyResources, _iterator5, _step5, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, nodeData, node, _console;
690
+ return _regenerator.default.wrap(function _callee9$(_context9) {
691
+ while (1) switch (_context9.prev = _context9.next) {
662
692
  case 0:
663
693
  this._checkAddRefinementTypeForTile(sourceTile);
664
- _context10.next = 3;
694
+ _context9.next = 3;
665
695
  return this._updateTilesetOptions();
666
696
  case 3:
667
- _context10.next = 5;
668
- return this.sourceTileset._loadTile(sourceTile);
697
+ _context9.next = 5;
698
+ return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, this.loadOptions);
669
699
  case 5:
670
- boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceTile, this.geoidHeightModel);
671
- propertyTable = (0, _geometryConverter.getPropertyTable)(sourceTile.content);
700
+ tileContent = _context9.sent;
701
+ sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceTile.boundingVolume, transformationMatrix, null);
702
+ boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
703
+ propertyTable = (0, _geometryConverter.getPropertyTable)(tileContent);
672
704
  if (propertyTable && !((_this$layers = this.layers0) !== null && _this$layers !== void 0 && (_this$layers$attribut = _this$layers.attributeStorageInfo) !== null && _this$layers$attribut !== void 0 && _this$layers$attribut.length)) {
673
705
  this._convertPropertyTableToNodeAttributes(propertyTable);
674
706
  }
675
- _context10.next = 10;
676
- return this._convertResources(sourceTile, parentNode.inPageId, propertyTable);
677
- case 10:
678
- resourcesData = _context10.sent;
707
+ _context9.next = 12;
708
+ return this._convertResources(sourceTile, transformationMatrix, sourceBoundingVolume, tileContent, parentNode.inPageId, propertyTable);
709
+ case 12:
710
+ resourcesData = _context9.sent;
679
711
  nodes = [];
680
712
  nodeIds = [];
681
713
  nodesInPage = [];
@@ -691,15 +723,15 @@ var I3SConverter = function () {
691
723
  featureCount: null,
692
724
  boundingVolumes: null
693
725
  };
694
- _iterator4 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
695
- _context10.prev = 16;
696
- _iterator4.s();
697
- case 18:
698
- if ((_step4 = _iterator4.n()).done) {
699
- _context10.next = 42;
726
+ _iterator5 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
727
+ _context9.prev = 18;
728
+ _iterator5.s();
729
+ case 20:
730
+ if ((_step5 = _iterator5.n()).done) {
731
+ _context9.next = 44;
700
732
  break;
701
733
  }
702
- resources = _step4.value;
734
+ resources = _step5.value;
703
735
  this.layersHasTexture = this.layersHasTexture || Boolean(resources.texture);
704
736
  if (this.generateBoundingVolumes && resources.boundingVolumes) {
705
737
  boundingVolumes = resources.boundingVolumes;
@@ -710,26 +742,26 @@ var I3SConverter = function () {
710
742
  }) || {
711
743
  maxError: 0
712
744
  };
713
- _context10.next = 26;
745
+ _context9.next = 28;
714
746
  return this._updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentNode.inPageId, resources);
715
- case 26:
716
- nodeInPage = _context10.sent;
717
- _context10.next = 29;
747
+ case 28:
748
+ nodeInPage = _context9.sent;
749
+ _context9.next = 31;
718
750
  return _nodeIndexDocument.NodeIndexDocument.createNodeIndexDocument(parentNode, boundingVolumes, lodSelection, nodeInPage, resources);
719
- case 29:
720
- nodeData = _context10.sent;
721
- _context10.next = 32;
751
+ case 31:
752
+ nodeData = _context9.sent;
753
+ _context9.next = 34;
722
754
  return new _nodeIndexDocument.NodeIndexDocument(nodeInPage.index, this).addData(nodeData);
723
- case 32:
724
- node = _context10.sent;
755
+ case 34:
756
+ node = _context9.sent;
725
757
  nodes.push(node);
726
758
  if (!nodeInPage.mesh) {
727
- _context10.next = 37;
759
+ _context9.next = 39;
728
760
  break;
729
761
  }
730
- _context10.next = 37;
762
+ _context9.next = 39;
731
763
  return this._writeResources(resources, node.id);
732
- case 37:
764
+ case 39:
733
765
  if (this.validate) {
734
766
  this.boundingVolumeWarnings = (0, _nodeDebug.validateNodeBoundingVolumes)(nodeData);
735
767
  if (this.boundingVolumeWarnings && this.boundingVolumeWarnings.length) {
@@ -738,37 +770,29 @@ var I3SConverter = function () {
738
770
  }
739
771
  nodeIds.push(nodeInPage.index);
740
772
  nodesInPage.push(nodeInPage);
741
- case 40:
742
- _context10.next = 18;
743
- break;
744
773
  case 42:
745
- _context10.next = 47;
774
+ _context9.next = 20;
746
775
  break;
747
776
  case 44:
748
- _context10.prev = 44;
749
- _context10.t0 = _context10["catch"](16);
750
- _iterator4.e(_context10.t0);
751
- case 47:
752
- _context10.prev = 47;
753
- _iterator4.f();
754
- return _context10.finish(47);
755
- case 50:
756
- sourceTile.unloadContent();
757
- _context10.next = 53;
758
- return this._addChildrenWithNeighborsAndWriteFile({
759
- parentNode: nodes[0],
760
- sourceTiles: sourceTile.children,
761
- level: level + 1
762
- });
777
+ _context9.next = 49;
778
+ break;
779
+ case 46:
780
+ _context9.prev = 46;
781
+ _context9.t0 = _context9["catch"](18);
782
+ _iterator5.e(_context9.t0);
783
+ case 49:
784
+ _context9.prev = 49;
785
+ _iterator5.f();
786
+ return _context9.finish(49);
787
+ case 52:
788
+ return _context9.abrupt("return", nodes);
763
789
  case 53:
764
- return _context10.abrupt("return", nodes);
765
- case 54:
766
790
  case "end":
767
- return _context10.stop();
791
+ return _context9.stop();
768
792
  }
769
- }, _callee10, this, [[16, 44, 47, 50]]);
793
+ }, _callee9, this, [[18, 46, 49, 52]]);
770
794
  }));
771
- function _createNode(_x12, _x13, _x14) {
795
+ function _createNode(_x11, _x12, _x13) {
772
796
  return _createNode2.apply(this, arguments);
773
797
  }
774
798
  return _createNode;
@@ -776,52 +800,52 @@ var I3SConverter = function () {
776
800
  }, {
777
801
  key: "_convertResources",
778
802
  value: function () {
779
- var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(sourceTile, parentId, propertyTable) {
803
+ var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(sourceTile, transformationMatrix, boundingVolume, tileContent, parentId, propertyTable) {
780
804
  var _this3 = this,
781
805
  _this$layers2;
782
806
  var draftObb, resourcesData;
783
- return _regenerator.default.wrap(function _callee12$(_context12) {
784
- while (1) switch (_context12.prev = _context12.next) {
807
+ return _regenerator.default.wrap(function _callee11$(_context11) {
808
+ while (1) switch (_context11.prev = _context11.next) {
785
809
  case 0:
786
- if (this.isContentSupported(sourceTile)) {
787
- _context12.next = 2;
810
+ if (!(!this.isContentSupported(sourceTile) || !tileContent)) {
811
+ _context11.next = 2;
788
812
  break;
789
813
  }
790
- return _context12.abrupt("return", null);
814
+ return _context11.abrupt("return", null);
791
815
  case 2:
792
816
  draftObb = {
793
817
  center: [],
794
818
  halfSize: [],
795
819
  quaternion: []
796
820
  };
797
- _context12.next = 5;
798
- return (0, _geometryConverter.default)(sourceTile.content, (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11() {
799
- return _regenerator.default.wrap(function _callee11$(_context11) {
800
- while (1) switch (_context11.prev = _context11.next) {
821
+ _context11.next = 5;
822
+ return (0, _geometryConverter.default)(tileContent, transformationMatrix, boundingVolume, (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10() {
823
+ return _regenerator.default.wrap(function _callee10$(_context10) {
824
+ while (1) switch (_context10.prev = _context10.next) {
801
825
  case 0:
802
- _context11.next = 2;
826
+ _context10.next = 2;
803
827
  return _this3.nodePages.push({
804
828
  index: 0,
805
829
  obb: draftObb
806
830
  }, parentId);
807
831
  case 2:
808
- return _context11.abrupt("return", _context11.sent.index);
832
+ return _context10.abrupt("return", _context10.sent.index);
809
833
  case 3:
810
834
  case "end":
811
- return _context11.stop();
835
+ return _context10.stop();
812
836
  }
813
- }, _callee11);
837
+ }, _callee10);
814
838
  })), propertyTable, this.featuresHashArray, (_this$layers2 = this.layers0) === null || _this$layers2 === void 0 ? void 0 : _this$layers2.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.options.mergeMaterials, this.geoidHeightModel, this.workerSource);
815
839
  case 5:
816
- resourcesData = _context12.sent;
817
- return _context12.abrupt("return", resourcesData);
840
+ resourcesData = _context11.sent;
841
+ return _context11.abrupt("return", resourcesData);
818
842
  case 7:
819
843
  case "end":
820
- return _context12.stop();
844
+ return _context11.stop();
821
845
  }
822
- }, _callee12, this);
846
+ }, _callee11, this);
823
847
  }));
824
- function _convertResources(_x15, _x16, _x17) {
848
+ function _convertResources(_x14, _x15, _x16, _x17, _x18, _x19) {
825
849
  return _convertResources2.apply(this, arguments);
826
850
  }
827
851
  return _convertResources;
@@ -829,10 +853,10 @@ var I3SConverter = function () {
829
853
  }, {
830
854
  key: "_updateNodeInNodePages",
831
855
  value: function () {
832
- var _updateNodeInNodePages2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
856
+ var _updateNodeInNodePages2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
833
857
  var meshMaterial, texture, vertexCount, featureCount, geometry, hasUvRegions, nodeInPage, nodeId, node, texelCountHint;
834
- return _regenerator.default.wrap(function _callee13$(_context13) {
835
- while (1) switch (_context13.prev = _context13.next) {
858
+ return _regenerator.default.wrap(function _callee12$(_context12) {
859
+ while (1) switch (_context12.prev = _context12.next) {
836
860
  case 0:
837
861
  meshMaterial = resources.meshMaterial, texture = resources.texture, vertexCount = resources.vertexCount, featureCount = resources.featureCount, geometry = resources.geometry, hasUvRegions = resources.hasUvRegions;
838
862
  nodeInPage = {
@@ -857,20 +881,20 @@ var I3SConverter = function () {
857
881
  }
858
882
  nodeId = resources.nodeId;
859
883
  if (nodeId) {
860
- _context13.next = 10;
884
+ _context12.next = 10;
861
885
  break;
862
886
  }
863
- _context13.next = 7;
887
+ _context12.next = 7;
864
888
  return this.nodePages.push(nodeInPage, parentId);
865
889
  case 7:
866
- node = _context13.sent;
867
- _context13.next = 13;
890
+ node = _context12.sent;
891
+ _context12.next = 13;
868
892
  break;
869
893
  case 10:
870
- _context13.next = 12;
894
+ _context12.next = 12;
871
895
  return this.nodePages.getNodeById(nodeId);
872
896
  case 12:
873
- node = _context13.sent;
897
+ node = _context12.sent;
874
898
  case 13:
875
899
  _nodePages.default.updateAll(node, nodeInPage);
876
900
  if (meshMaterial) {
@@ -889,14 +913,14 @@ var I3SConverter = function () {
889
913
  _nodePages.default.updateFeatureCountByNodeId(node, featureCount);
890
914
  }
891
915
  this.nodePages.saveNode(node);
892
- return _context13.abrupt("return", node);
916
+ return _context12.abrupt("return", node);
893
917
  case 21:
894
918
  case "end":
895
- return _context13.stop();
919
+ return _context12.stop();
896
920
  }
897
- }, _callee13, this);
921
+ }, _callee12, this);
898
922
  }));
899
- function _updateNodeInNodePages(_x18, _x19, _x20, _x21, _x22) {
923
+ function _updateNodeInNodePages(_x20, _x21, _x22, _x23, _x24) {
900
924
  return _updateNodeInNodePages2.apply(this, arguments);
901
925
  }
902
926
  return _updateNodeInNodePages;
@@ -904,32 +928,32 @@ var I3SConverter = function () {
904
928
  }, {
905
929
  key: "_writeResources",
906
930
  value: function () {
907
- var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(resources, nodePath) {
931
+ var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(resources, nodePath) {
908
932
  var geometryBuffer, compressedGeometry, texture, sharedResources, attributes, childPath, slpkChildPath;
909
- return _regenerator.default.wrap(function _callee14$(_context14) {
910
- while (1) switch (_context14.prev = _context14.next) {
933
+ return _regenerator.default.wrap(function _callee13$(_context13) {
934
+ while (1) switch (_context13.prev = _context13.next) {
911
935
  case 0:
912
936
  geometryBuffer = resources.geometry, compressedGeometry = resources.compressedGeometry, texture = resources.texture, sharedResources = resources.sharedResources, attributes = resources.attributes;
913
937
  childPath = (0, _path.join)(this.layers0Path, 'nodes', nodePath);
914
938
  slpkChildPath = (0, _path.join)('nodes', nodePath);
915
- _context14.next = 5;
939
+ _context13.next = 5;
916
940
  return this._writeGeometries(geometryBuffer, compressedGeometry, childPath, slpkChildPath);
917
941
  case 5:
918
- _context14.next = 7;
942
+ _context13.next = 7;
919
943
  return this._writeShared(sharedResources, childPath, slpkChildPath, nodePath);
920
944
  case 7:
921
- _context14.next = 9;
945
+ _context13.next = 9;
922
946
  return this._writeTexture(texture, childPath, slpkChildPath);
923
947
  case 9:
924
- _context14.next = 11;
948
+ _context13.next = 11;
925
949
  return this._writeAttributes(attributes, childPath, slpkChildPath);
926
950
  case 11:
927
951
  case "end":
928
- return _context14.stop();
952
+ return _context13.stop();
929
953
  }
930
- }, _callee14, this);
954
+ }, _callee13, this);
931
955
  }));
932
- function _writeResources(_x23, _x24) {
956
+ function _writeResources(_x25, _x26) {
933
957
  return _writeResources2.apply(this, arguments);
934
958
  }
935
959
  return _writeResources;
@@ -937,17 +961,17 @@ var I3SConverter = function () {
937
961
  }, {
938
962
  key: "_writeGeometries",
939
963
  value: function () {
940
- var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
964
+ var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
941
965
  var slpkGeometryPath, geometryPath, slpkCompressedGeometryPath, compressedGeometryPath;
942
- return _regenerator.default.wrap(function _callee15$(_context15) {
943
- while (1) switch (_context15.prev = _context15.next) {
966
+ return _regenerator.default.wrap(function _callee14$(_context14) {
967
+ while (1) switch (_context14.prev = _context14.next) {
944
968
  case 0:
945
969
  if (!this.options.slpk) {
946
- _context15.next = 6;
970
+ _context14.next = 6;
947
971
  break;
948
972
  }
949
973
  slpkGeometryPath = (0, _path.join)(childPath, 'geometries');
950
- _context15.next = 4;
974
+ _context14.next = 4;
951
975
  return this.writeQueue.enqueue({
952
976
  archiveKey: "".concat(slpkChildPath, "/geometries/0.bin.gz"),
953
977
  writePromise: function writePromise() {
@@ -955,11 +979,11 @@ var I3SConverter = function () {
955
979
  }
956
980
  });
957
981
  case 4:
958
- _context15.next = 9;
982
+ _context14.next = 9;
959
983
  break;
960
984
  case 6:
961
985
  geometryPath = (0, _path.join)(childPath, 'geometries/0/');
962
- _context15.next = 9;
986
+ _context14.next = 9;
963
987
  return this.writeQueue.enqueue({
964
988
  writePromise: function writePromise() {
965
989
  return (0, _fileUtils.writeFile)(geometryPath, geometryBuffer, 'index.bin');
@@ -967,15 +991,15 @@ var I3SConverter = function () {
967
991
  });
968
992
  case 9:
969
993
  if (!this.options.draco) {
970
- _context15.next = 19;
994
+ _context14.next = 19;
971
995
  break;
972
996
  }
973
997
  if (!this.options.slpk) {
974
- _context15.next = 16;
998
+ _context14.next = 16;
975
999
  break;
976
1000
  }
977
1001
  slpkCompressedGeometryPath = (0, _path.join)(childPath, 'geometries');
978
- _context15.next = 14;
1002
+ _context14.next = 14;
979
1003
  return this.writeQueue.enqueue({
980
1004
  archiveKey: "".concat(slpkChildPath, "/geometries/1.bin.gz"),
981
1005
  writePromise: function writePromise() {
@@ -983,11 +1007,11 @@ var I3SConverter = function () {
983
1007
  }
984
1008
  });
985
1009
  case 14:
986
- _context15.next = 19;
1010
+ _context14.next = 19;
987
1011
  break;
988
1012
  case 16:
989
1013
  compressedGeometryPath = (0, _path.join)(childPath, 'geometries/1/');
990
- _context15.next = 19;
1014
+ _context14.next = 19;
991
1015
  return this.writeQueue.enqueue({
992
1016
  writePromise: function writePromise() {
993
1017
  return (0, _fileUtils.writeFile)(compressedGeometryPath, compressedGeometry, 'index.bin');
@@ -995,11 +1019,11 @@ var I3SConverter = function () {
995
1019
  });
996
1020
  case 19:
997
1021
  case "end":
998
- return _context15.stop();
1022
+ return _context14.stop();
999
1023
  }
1000
- }, _callee15, this);
1024
+ }, _callee14, this);
1001
1025
  }));
1002
- function _writeGeometries(_x25, _x26, _x27, _x28) {
1026
+ function _writeGeometries(_x27, _x28, _x29, _x30) {
1003
1027
  return _writeGeometries2.apply(this, arguments);
1004
1028
  }
1005
1029
  return _writeGeometries;
@@ -1007,26 +1031,26 @@ var I3SConverter = function () {
1007
1031
  }, {
1008
1032
  key: "_writeShared",
1009
1033
  value: function () {
1010
- var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(sharedResources, childPath, slpkChildPath, nodePath) {
1034
+ var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(sharedResources, childPath, slpkChildPath, nodePath) {
1011
1035
  var sharedData, sharedDataStr, slpkSharedPath, sharedPath;
1012
- return _regenerator.default.wrap(function _callee16$(_context16) {
1013
- while (1) switch (_context16.prev = _context16.next) {
1036
+ return _regenerator.default.wrap(function _callee15$(_context15) {
1037
+ while (1) switch (_context15.prev = _context15.next) {
1014
1038
  case 0:
1015
1039
  if (sharedResources) {
1016
- _context16.next = 2;
1040
+ _context15.next = 2;
1017
1041
  break;
1018
1042
  }
1019
- return _context16.abrupt("return");
1043
+ return _context15.abrupt("return");
1020
1044
  case 2:
1021
1045
  sharedResources.nodePath = nodePath;
1022
1046
  sharedData = (0, _jsonMapTransform.default)(sharedResources, (0, _sharedResources.SHARED_RESOURCES)());
1023
1047
  sharedDataStr = JSON.stringify(sharedData);
1024
1048
  if (!this.options.slpk) {
1025
- _context16.next = 11;
1049
+ _context15.next = 11;
1026
1050
  break;
1027
1051
  }
1028
1052
  slpkSharedPath = (0, _path.join)(childPath, 'shared');
1029
- _context16.next = 9;
1053
+ _context15.next = 9;
1030
1054
  return this.writeQueue.enqueue({
1031
1055
  archiveKey: "".concat(slpkChildPath, "/shared/sharedResource.json.gz"),
1032
1056
  writePromise: function writePromise() {
@@ -1034,11 +1058,11 @@ var I3SConverter = function () {
1034
1058
  }
1035
1059
  });
1036
1060
  case 9:
1037
- _context16.next = 14;
1061
+ _context15.next = 14;
1038
1062
  break;
1039
1063
  case 11:
1040
1064
  sharedPath = (0, _path.join)(childPath, 'shared/');
1041
- _context16.next = 14;
1065
+ _context15.next = 14;
1042
1066
  return this.writeQueue.enqueue({
1043
1067
  writePromise: function writePromise() {
1044
1068
  return (0, _fileUtils.writeFile)(sharedPath, sharedDataStr);
@@ -1046,11 +1070,11 @@ var I3SConverter = function () {
1046
1070
  });
1047
1071
  case 14:
1048
1072
  case "end":
1049
- return _context16.stop();
1073
+ return _context15.stop();
1050
1074
  }
1051
- }, _callee16, this);
1075
+ }, _callee15, this);
1052
1076
  }));
1053
- function _writeShared(_x29, _x30, _x31, _x32) {
1077
+ function _writeShared(_x31, _x32, _x33, _x34) {
1054
1078
  return _writeShared2.apply(this, arguments);
1055
1079
  }
1056
1080
  return _writeShared;
@@ -1058,31 +1082,31 @@ var I3SConverter = function () {
1058
1082
  }, {
1059
1083
  key: "_writeTexture",
1060
1084
  value: function () {
1061
- var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(texture, childPath, slpkChildPath) {
1085
+ var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(texture, childPath, slpkChildPath) {
1062
1086
  var format, formats, textureData, copyArrayBuffer, arrayToEncode, ktx2TextureData, decodedFromKTX2TextureData;
1063
- return _regenerator.default.wrap(function _callee17$(_context17) {
1064
- while (1) switch (_context17.prev = _context17.next) {
1087
+ return _regenerator.default.wrap(function _callee16$(_context16) {
1088
+ while (1) switch (_context16.prev = _context16.next) {
1065
1089
  case 0:
1066
1090
  if (!texture) {
1067
- _context17.next = 27;
1091
+ _context16.next = 27;
1068
1092
  break;
1069
1093
  }
1070
1094
  format = this._getFormatByMimeType(texture === null || texture === void 0 ? void 0 : texture.mimeType);
1071
1095
  formats = [];
1072
1096
  textureData = texture.bufferView.data;
1073
- _context17.t0 = format;
1074
- _context17.next = _context17.t0 === 'jpg' ? 7 : _context17.t0 === 'png' ? 7 : _context17.t0 === 'ktx2' ? 18 : 26;
1097
+ _context16.t0 = format;
1098
+ _context16.next = _context16.t0 === 'jpg' ? 7 : _context16.t0 === 'png' ? 7 : _context16.t0 === 'ktx2' ? 18 : 26;
1075
1099
  break;
1076
1100
  case 7:
1077
1101
  formats.push({
1078
1102
  name: '0',
1079
1103
  format: format
1080
1104
  });
1081
- _context17.next = 10;
1105
+ _context16.next = 10;
1082
1106
  return this.writeTextureFile(textureData, '0', format, childPath, slpkChildPath);
1083
1107
  case 10:
1084
1108
  if (!this.generateTextures) {
1085
- _context17.next = 17;
1109
+ _context16.next = 17;
1086
1110
  break;
1087
1111
  }
1088
1112
  formats.push({
@@ -1098,20 +1122,20 @@ var I3SConverter = function () {
1098
1122
  reuseWorkers: true,
1099
1123
  _nodeWorkers: true
1100
1124
  }));
1101
- _context17.next = 17;
1125
+ _context16.next = 17;
1102
1126
  return this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
1103
1127
  case 17:
1104
- return _context17.abrupt("break", 26);
1128
+ return _context16.abrupt("break", 26);
1105
1129
  case 18:
1106
1130
  formats.push({
1107
1131
  name: '1',
1108
1132
  format: format
1109
1133
  });
1110
- _context17.next = 21;
1134
+ _context16.next = 21;
1111
1135
  return this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);
1112
1136
  case 21:
1113
1137
  if (!this.generateTextures) {
1114
- _context17.next = 26;
1138
+ _context16.next = 26;
1115
1139
  break;
1116
1140
  }
1117
1141
  formats.push({
@@ -1119,7 +1143,7 @@ var I3SConverter = function () {
1119
1143
  format: 'jpg'
1120
1144
  });
1121
1145
  decodedFromKTX2TextureData = (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
1122
- _context17.next = 26;
1146
+ _context16.next = 26;
1123
1147
  return this.writeTextureFile(decodedFromKTX2TextureData, '0', 'jpg', childPath, slpkChildPath);
1124
1148
  case 26:
1125
1149
  if (!this.layers0.textureSetDefinitions.length) {
@@ -1133,11 +1157,11 @@ var I3SConverter = function () {
1133
1157
  }
1134
1158
  case 27:
1135
1159
  case "end":
1136
- return _context17.stop();
1160
+ return _context16.stop();
1137
1161
  }
1138
- }, _callee17, this);
1162
+ }, _callee16, this);
1139
1163
  }));
1140
- function _writeTexture(_x33, _x34, _x35) {
1164
+ function _writeTexture(_x35, _x36, _x37) {
1141
1165
  return _writeTexture2.apply(this, arguments);
1142
1166
  }
1143
1167
  return _writeTexture;
@@ -1145,18 +1169,18 @@ var I3SConverter = function () {
1145
1169
  }, {
1146
1170
  key: "writeTextureFile",
1147
1171
  value: function () {
1148
- var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18(textureData, name, format, childPath, slpkChildPath) {
1172
+ var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(textureData, name, format, childPath, slpkChildPath) {
1149
1173
  var slpkTexturePath, compress, texturePath;
1150
- return _regenerator.default.wrap(function _callee18$(_context18) {
1151
- while (1) switch (_context18.prev = _context18.next) {
1174
+ return _regenerator.default.wrap(function _callee17$(_context17) {
1175
+ while (1) switch (_context17.prev = _context17.next) {
1152
1176
  case 0:
1153
1177
  if (!this.options.slpk) {
1154
- _context18.next = 7;
1178
+ _context17.next = 7;
1155
1179
  break;
1156
1180
  }
1157
1181
  slpkTexturePath = (0, _path.join)(childPath, 'textures');
1158
1182
  compress = false;
1159
- _context18.next = 5;
1183
+ _context17.next = 5;
1160
1184
  return this.writeQueue.enqueue({
1161
1185
  archiveKey: "".concat(slpkChildPath, "/textures/").concat(name, ".").concat(format),
1162
1186
  writePromise: function writePromise() {
@@ -1164,11 +1188,11 @@ var I3SConverter = function () {
1164
1188
  }
1165
1189
  });
1166
1190
  case 5:
1167
- _context18.next = 10;
1191
+ _context17.next = 10;
1168
1192
  break;
1169
1193
  case 7:
1170
1194
  texturePath = (0, _path.join)(childPath, "textures/".concat(name, "/"));
1171
- _context18.next = 10;
1195
+ _context17.next = 10;
1172
1196
  return this.writeQueue.enqueue({
1173
1197
  writePromise: function writePromise() {
1174
1198
  return (0, _fileUtils.writeFile)(texturePath, textureData, "index.".concat(format));
@@ -1176,11 +1200,11 @@ var I3SConverter = function () {
1176
1200
  });
1177
1201
  case 10:
1178
1202
  case "end":
1179
- return _context18.stop();
1203
+ return _context17.stop();
1180
1204
  }
1181
- }, _callee18, this);
1205
+ }, _callee17, this);
1182
1206
  }));
1183
- function writeTextureFile(_x36, _x37, _x38, _x39, _x40) {
1207
+ function writeTextureFile(_x38, _x39, _x40, _x41, _x42) {
1184
1208
  return _writeTextureFile.apply(this, arguments);
1185
1209
  }
1186
1210
  return writeTextureFile;
@@ -1188,7 +1212,7 @@ var I3SConverter = function () {
1188
1212
  }, {
1189
1213
  key: "_writeAttributes",
1190
1214
  value: function () {
1191
- var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19() {
1215
+ var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18() {
1192
1216
  var _this$layers3,
1193
1217
  _this$layers3$attribu,
1194
1218
  _this4 = this;
@@ -1197,30 +1221,30 @@ var I3SConverter = function () {
1197
1221
  slpkChildPath,
1198
1222
  _loop,
1199
1223
  index,
1200
- _args20 = arguments;
1201
- return _regenerator.default.wrap(function _callee19$(_context20) {
1202
- while (1) switch (_context20.prev = _context20.next) {
1224
+ _args19 = arguments;
1225
+ return _regenerator.default.wrap(function _callee18$(_context19) {
1226
+ while (1) switch (_context19.prev = _context19.next) {
1203
1227
  case 0:
1204
- attributes = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : [];
1205
- childPath = _args20.length > 1 ? _args20[1] : undefined;
1206
- slpkChildPath = _args20.length > 2 ? _args20[2] : undefined;
1228
+ attributes = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : [];
1229
+ childPath = _args19.length > 1 ? _args19[1] : undefined;
1230
+ slpkChildPath = _args19.length > 2 ? _args19[2] : undefined;
1207
1231
  if (!(attributes !== null && attributes !== void 0 && attributes.length && (_this$layers3 = this.layers0) !== null && _this$layers3 !== void 0 && (_this$layers3$attribu = _this$layers3.attributeStorageInfo) !== null && _this$layers3$attribu !== void 0 && _this$layers3$attribu.length)) {
1208
- _context20.next = 11;
1232
+ _context19.next = 11;
1209
1233
  break;
1210
1234
  }
1211
1235
  _loop = _regenerator.default.mark(function _loop() {
1212
1236
  var folderName, fileBuffer, slpkAttributesPath, attributesPath;
1213
- return _regenerator.default.wrap(function _loop$(_context19) {
1214
- while (1) switch (_context19.prev = _context19.next) {
1237
+ return _regenerator.default.wrap(function _loop$(_context18) {
1238
+ while (1) switch (_context18.prev = _context18.next) {
1215
1239
  case 0:
1216
1240
  folderName = _this4.layers0.attributeStorageInfo[index].key;
1217
1241
  fileBuffer = new Uint8Array(attributes[index]);
1218
1242
  if (!_this4.options.slpk) {
1219
- _context19.next = 8;
1243
+ _context18.next = 8;
1220
1244
  break;
1221
1245
  }
1222
1246
  slpkAttributesPath = (0, _path.join)(childPath, 'attributes', folderName);
1223
- _context19.next = 6;
1247
+ _context18.next = 6;
1224
1248
  return _this4.writeQueue.enqueue({
1225
1249
  archiveKey: "".concat(slpkChildPath, "/attributes/").concat(folderName, ".bin.gz"),
1226
1250
  writePromise: function writePromise() {
@@ -1228,11 +1252,11 @@ var I3SConverter = function () {
1228
1252
  }
1229
1253
  });
1230
1254
  case 6:
1231
- _context19.next = 11;
1255
+ _context18.next = 11;
1232
1256
  break;
1233
1257
  case 8:
1234
1258
  attributesPath = (0, _path.join)(childPath, "attributes/".concat(folderName, "/0"));
1235
- _context19.next = 11;
1259
+ _context18.next = 11;
1236
1260
  return _this4.writeQueue.enqueue({
1237
1261
  writePromise: function writePromise() {
1238
1262
  return (0, _fileUtils.writeFile)(attributesPath, fileBuffer, 'index.bin');
@@ -1240,26 +1264,26 @@ var I3SConverter = function () {
1240
1264
  });
1241
1265
  case 11:
1242
1266
  case "end":
1243
- return _context19.stop();
1267
+ return _context18.stop();
1244
1268
  }
1245
1269
  }, _loop);
1246
1270
  });
1247
1271
  index = 0;
1248
1272
  case 6:
1249
1273
  if (!(index < attributes.length)) {
1250
- _context20.next = 11;
1274
+ _context19.next = 11;
1251
1275
  break;
1252
1276
  }
1253
- return _context20.delegateYield(_loop(), "t0", 8);
1277
+ return _context19.delegateYield(_loop(), "t0", 8);
1254
1278
  case 8:
1255
1279
  index++;
1256
- _context20.next = 6;
1280
+ _context19.next = 6;
1257
1281
  break;
1258
1282
  case 11:
1259
1283
  case "end":
1260
- return _context20.stop();
1284
+ return _context19.stop();
1261
1285
  }
1262
- }, _callee19, this);
1286
+ }, _callee18, this);
1263
1287
  }));
1264
1288
  function _writeAttributes() {
1265
1289
  return _writeAttributes2.apply(this, arguments);
@@ -1330,17 +1354,17 @@ var I3SConverter = function () {
1330
1354
  }, {
1331
1355
  key: "_finishConversion",
1332
1356
  value: function () {
1333
- var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20(params) {
1357
+ var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19(params) {
1334
1358
  var _this$refinementCount, tilesCount, tilesWithAddRefineCount, addRefinementPercentage, filesSize, diff, conversionTime;
1335
- return _regenerator.default.wrap(function _callee20$(_context21) {
1336
- while (1) switch (_context21.prev = _context21.next) {
1359
+ return _regenerator.default.wrap(function _callee19$(_context20) {
1360
+ while (1) switch (_context20.prev = _context20.next) {
1337
1361
  case 0:
1338
1362
  _this$refinementCount = this.refinementCounter, tilesCount = _this$refinementCount.tilesCount, tilesWithAddRefineCount = _this$refinementCount.tilesWithAddRefineCount;
1339
1363
  addRefinementPercentage = tilesWithAddRefineCount ? tilesWithAddRefineCount / tilesCount * 100 : 0;
1340
- _context21.next = 4;
1364
+ _context20.next = 4;
1341
1365
  return (0, _statisticUtills.calculateFilesSize)(params);
1342
1366
  case 4:
1343
- filesSize = _context21.sent;
1367
+ filesSize = _context20.sent;
1344
1368
  diff = _process.default.hrtime(this.conversionStartTime);
1345
1369
  conversionTime = (0, _statisticUtills.timeConverter)(diff);
1346
1370
  console.log("------------------------------------------------");
@@ -1352,11 +1376,11 @@ var I3SConverter = function () {
1352
1376
  console.log("------------------------------------------------");
1353
1377
  case 14:
1354
1378
  case "end":
1355
- return _context21.stop();
1379
+ return _context20.stop();
1356
1380
  }
1357
- }, _callee20, this);
1381
+ }, _callee19, this);
1358
1382
  }));
1359
- function _finishConversion(_x41) {
1383
+ function _finishConversion(_x43) {
1360
1384
  return _finishConversion2.apply(this, arguments);
1361
1385
  }
1362
1386
  return _finishConversion;
@@ -1364,33 +1388,33 @@ var I3SConverter = function () {
1364
1388
  }, {
1365
1389
  key: "_fetchPreloadOptions",
1366
1390
  value: function () {
1367
- var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1391
+ var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20() {
1368
1392
  var options, preloadOptions;
1369
- return _regenerator.default.wrap(function _callee21$(_context22) {
1370
- while (1) switch (_context22.prev = _context22.next) {
1393
+ return _regenerator.default.wrap(function _callee20$(_context21) {
1394
+ while (1) switch (_context21.prev = _context21.next) {
1371
1395
  case 0:
1372
1396
  if (this.Loader.preload) {
1373
- _context22.next = 2;
1397
+ _context21.next = 2;
1374
1398
  break;
1375
1399
  }
1376
- return _context22.abrupt("return", {});
1400
+ return _context21.abrupt("return", {});
1377
1401
  case 2:
1378
1402
  options = {
1379
1403
  'cesium-ion': {
1380
1404
  accessToken: this.options.token || ION_DEFAULT_TOKEN
1381
1405
  }
1382
1406
  };
1383
- _context22.next = 5;
1407
+ _context21.next = 5;
1384
1408
  return this.Loader.preload(this.options.inputUrl, options);
1385
1409
  case 5:
1386
- preloadOptions = _context22.sent;
1410
+ preloadOptions = _context21.sent;
1387
1411
  this.refreshTokenTime = _process.default.hrtime();
1388
- return _context22.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1412
+ return _context21.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1389
1413
  case 8:
1390
1414
  case "end":
1391
- return _context22.stop();
1415
+ return _context21.stop();
1392
1416
  }
1393
- }, _callee21, this);
1417
+ }, _callee20, this);
1394
1418
  }));
1395
1419
  function _fetchPreloadOptions() {
1396
1420
  return _fetchPreloadOptions2.apply(this, arguments);
@@ -1400,35 +1424,34 @@ var I3SConverter = function () {
1400
1424
  }, {
1401
1425
  key: "_updateTilesetOptions",
1402
1426
  value: function () {
1403
- var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
1427
+ var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1404
1428
  var diff, preloadOptions;
1405
- return _regenerator.default.wrap(function _callee22$(_context23) {
1406
- while (1) switch (_context23.prev = _context23.next) {
1429
+ return _regenerator.default.wrap(function _callee21$(_context22) {
1430
+ while (1) switch (_context22.prev = _context22.next) {
1407
1431
  case 0:
1408
1432
  diff = _process.default.hrtime(this.refreshTokenTime);
1409
1433
  if (!(diff[0] < REFRESH_TOKEN_TIMEOUT)) {
1410
- _context23.next = 3;
1434
+ _context22.next = 3;
1411
1435
  break;
1412
1436
  }
1413
- return _context23.abrupt("return");
1437
+ return _context22.abrupt("return");
1414
1438
  case 3:
1415
1439
  this.refreshTokenTime = _process.default.hrtime();
1416
- _context23.next = 6;
1440
+ _context22.next = 6;
1417
1441
  return this._fetchPreloadOptions();
1418
1442
  case 6:
1419
- preloadOptions = _context23.sent;
1420
- this.sourceTileset.options = _objectSpread(_objectSpread({}, this.sourceTileset.options), preloadOptions);
1443
+ preloadOptions = _context22.sent;
1421
1444
  if (preloadOptions.headers) {
1422
- this.sourceTileset.loadOptions.fetch = _objectSpread(_objectSpread({}, this.sourceTileset.loadOptions.fetch), {}, {
1445
+ this.loadOptions.fetch = _objectSpread(_objectSpread({}, this.loadOptions.fetch), {}, {
1423
1446
  headers: preloadOptions.headers
1424
1447
  });
1425
1448
  console.log('Authorization Bearer token has been updated');
1426
1449
  }
1427
- case 9:
1450
+ case 8:
1428
1451
  case "end":
1429
- return _context23.stop();
1452
+ return _context22.stop();
1430
1453
  }
1431
- }, _callee22, this);
1454
+ }, _callee21, this);
1432
1455
  }));
1433
1456
  function _updateTilesetOptions() {
1434
1457
  return _updateTilesetOptions2.apply(this, arguments);
@@ -1447,65 +1470,64 @@ var I3SConverter = function () {
1447
1470
  }
1448
1471
  }, {
1449
1472
  key: "isContentSupported",
1450
- value: function isContentSupported(sourceRootTile) {
1451
- var _sourceRootTile$conte;
1452
- return ['b3dm', 'glTF'].includes(sourceRootTile === null || sourceRootTile === void 0 ? void 0 : (_sourceRootTile$conte = sourceRootTile.content) === null || _sourceRootTile$conte === void 0 ? void 0 : _sourceRootTile$conte.type);
1473
+ value: function isContentSupported(sourceTile) {
1474
+ return ['b3dm', 'glTF', 'scenegraph'].includes(sourceTile.type || '');
1453
1475
  }
1454
1476
  }, {
1455
1477
  key: "loadWorkers",
1456
1478
  value: function () {
1457
- var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee23() {
1479
+ var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
1458
1480
  var url, _sourceResponse, _source, _url, _sourceResponse2, _source2, i3sAttributesWorkerUrl, sourceResponse, source;
1459
- return _regenerator.default.wrap(function _callee23$(_context24) {
1460
- while (1) switch (_context24.prev = _context24.next) {
1481
+ return _regenerator.default.wrap(function _callee22$(_context23) {
1482
+ while (1) switch (_context23.prev = _context23.next) {
1461
1483
  case 0:
1462
1484
  console.log("Loading workers source...");
1463
1485
  if (!this.options.draco) {
1464
- _context24.next = 10;
1486
+ _context23.next = 10;
1465
1487
  break;
1466
1488
  }
1467
1489
  url = (0, _workerUtils.getWorkerURL)(_draco.DracoWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1468
- _context24.next = 5;
1490
+ _context23.next = 5;
1469
1491
  return (0, _core.fetchFile)(url);
1470
1492
  case 5:
1471
- _sourceResponse = _context24.sent;
1472
- _context24.next = 8;
1493
+ _sourceResponse = _context23.sent;
1494
+ _context23.next = 8;
1473
1495
  return _sourceResponse.text();
1474
1496
  case 8:
1475
- _source = _context24.sent;
1497
+ _source = _context23.sent;
1476
1498
  this.workerSource.draco = _source;
1477
1499
  case 10:
1478
1500
  if (!this.generateTextures) {
1479
- _context24.next = 19;
1501
+ _context23.next = 19;
1480
1502
  break;
1481
1503
  }
1482
1504
  _url = (0, _workerUtils.getWorkerURL)(_textures.KTX2BasisWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1483
- _context24.next = 14;
1505
+ _context23.next = 14;
1484
1506
  return (0, _core.fetchFile)(_url);
1485
1507
  case 14:
1486
- _sourceResponse2 = _context24.sent;
1487
- _context24.next = 17;
1508
+ _sourceResponse2 = _context23.sent;
1509
+ _context23.next = 17;
1488
1510
  return _sourceResponse2.text();
1489
1511
  case 17:
1490
- _source2 = _context24.sent;
1512
+ _source2 = _context23.sent;
1491
1513
  this.workerSource.ktx2 = _source2;
1492
1514
  case 19:
1493
1515
  i3sAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_i3sAttributesWorker.I3SAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1494
- _context24.next = 22;
1516
+ _context23.next = 22;
1495
1517
  return (0, _core.fetchFile)(i3sAttributesWorkerUrl);
1496
1518
  case 22:
1497
- sourceResponse = _context24.sent;
1498
- _context24.next = 25;
1519
+ sourceResponse = _context23.sent;
1520
+ _context23.next = 25;
1499
1521
  return sourceResponse.text();
1500
1522
  case 25:
1501
- source = _context24.sent;
1523
+ source = _context23.sent;
1502
1524
  this.workerSource.I3SAttributes = source;
1503
1525
  console.log("Loading workers source completed!");
1504
1526
  case 28:
1505
1527
  case "end":
1506
- return _context24.stop();
1528
+ return _context23.stop();
1507
1529
  }
1508
- }, _callee23, this);
1530
+ }, _callee22, this);
1509
1531
  }));
1510
1532
  function loadWorkers() {
1511
1533
  return _loadWorkers.apply(this, arguments);