@loaders.gl/tile-converter 3.3.0-alpha.2 → 3.3.0-alpha.4

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 (88) hide show
  1. package/dist/3d-tiles-attributes-worker.js +1 -1
  2. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +8 -0
  3. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  4. package/dist/3d-tiles-converter/3d-tiles-converter.js +57 -43
  5. package/dist/converter.min.js +21 -21
  6. package/dist/deps-installer/deps-installer.d.ts +5 -1
  7. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  8. package/dist/deps-installer/deps-installer.js +21 -1
  9. package/dist/dist.min.js +671 -1028
  10. package/dist/es5/3d-tiles-attributes-worker.js +1 -1
  11. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +115 -101
  12. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  13. package/dist/es5/deps-installer/deps-installer.js +70 -6
  14. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  15. package/dist/es5/i3s-attributes-worker.js +1 -1
  16. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  17. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +4 -0
  18. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  19. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  20. package/dist/es5/i3s-converter/helpers/feature-attributes.js +153 -0
  21. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
  22. package/dist/es5/i3s-converter/helpers/geometry-converter.js +40 -44
  23. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  24. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +55 -36
  25. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  26. package/dist/es5/i3s-converter/helpers/node-pages.js +10 -2
  27. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  28. package/dist/es5/i3s-converter/i3s-converter.js +364 -435
  29. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  30. package/dist/es5/pgm-loader.js +1 -1
  31. package/dist/esm/3d-tiles-attributes-worker.js +1 -1
  32. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +59 -44
  33. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  34. package/dist/esm/deps-installer/deps-installer.js +21 -2
  35. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  36. package/dist/esm/i3s-attributes-worker.js +1 -1
  37. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  38. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +4 -0
  39. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  40. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  41. package/dist/esm/i3s-converter/helpers/feature-attributes.js +138 -0
  42. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
  43. package/dist/esm/i3s-converter/helpers/geometry-converter.js +19 -21
  44. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  45. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +55 -36
  46. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  47. package/dist/esm/i3s-converter/helpers/node-pages.js +9 -2
  48. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  49. package/dist/esm/i3s-converter/i3s-converter.js +93 -183
  50. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  51. package/dist/esm/pgm-loader.js +1 -1
  52. package/dist/i3s-attributes-worker.d.ts +5 -1
  53. package/dist/i3s-attributes-worker.d.ts.map +1 -1
  54. package/dist/i3s-attributes-worker.js +3 -3
  55. package/dist/i3s-attributes-worker.js.map +2 -2
  56. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +2 -3
  57. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  58. package/dist/i3s-converter/helpers/batch-ids-extensions.js +3 -0
  59. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +2 -2
  60. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  61. package/dist/i3s-converter/helpers/feature-attributes.d.ts +32 -0
  62. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
  63. package/dist/i3s-converter/helpers/feature-attributes.js +162 -1
  64. package/dist/i3s-converter/helpers/geometry-converter.d.ts +5 -4
  65. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  66. package/dist/i3s-converter/helpers/geometry-converter.js +29 -27
  67. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  68. package/dist/i3s-converter/helpers/gltf-attributes.js +50 -30
  69. package/dist/i3s-converter/helpers/node-pages.d.ts +4 -0
  70. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  71. package/dist/i3s-converter/helpers/node-pages.js +9 -2
  72. package/dist/i3s-converter/i3s-converter.d.ts +24 -48
  73. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  74. package/dist/i3s-converter/i3s-converter.js +88 -186
  75. package/dist/i3s-converter/types.d.ts +4 -0
  76. package/dist/i3s-converter/types.d.ts.map +1 -1
  77. package/package.json +15 -15
  78. package/src/3d-tiles-converter/3d-tiles-converter.ts +71 -55
  79. package/src/deps-installer/deps-installer.ts +29 -2
  80. package/src/i3s-attributes-worker.ts +5 -1
  81. package/src/i3s-converter/helpers/batch-ids-extensions.ts +13 -6
  82. package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
  83. package/src/i3s-converter/helpers/feature-attributes.ts +182 -0
  84. package/src/i3s-converter/helpers/geometry-converter.ts +45 -36
  85. package/src/i3s-converter/helpers/gltf-attributes.ts +54 -33
  86. package/src/i3s-converter/helpers/node-pages.ts +10 -2
  87. package/src/i3s-converter/i3s-converter.ts +125 -210
  88. package/src/i3s-converter/types.ts +4 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
@@ -11,8 +11,6 @@ exports.default = void 0;
11
11
 
12
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
15
 
18
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -81,11 +79,13 @@ var _i3sAttributesWorker = require("../i3s-attributes-worker");
81
79
 
82
80
  var _constants = require("../constants");
83
81
 
82
+ var _featureAttributes = require("./helpers/feature-attributes");
83
+
84
84
  var _process$env;
85
85
 
86
86
  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); }
87
87
 
88
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
88
+ 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; }
89
89
 
90
90
  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; } } }; }
91
91
 
@@ -101,10 +101,6 @@ var ION_DEFAULT_TOKEN = ((_process$env = _process.default.env) === null || _proc
101
101
  var HARDCODED_NODES_PER_PAGE = 64;
102
102
  var _3D_TILES = '3DTILES';
103
103
  var _3D_OBJECT_LAYER_TYPE = '3DObject';
104
- var STRING_TYPE = 'string';
105
- var SHORT_INT_TYPE = 'Int32';
106
- var DOUBLE_TYPE = 'double';
107
- var OBJECT_ID_TYPE = 'OBJECTID';
108
104
  var REFRESH_TOKEN_TIMEOUT = 1800;
109
105
  var CESIUM_DATASET_PREFIX = 'https://';
110
106
 
@@ -209,8 +205,17 @@ var I3SConverter = function () {
209
205
  preloadOptions = _context.sent;
210
206
  tilesetOptions = {
211
207
  loadOptions: {
208
+ _nodeWorkers: true,
209
+ reuseWorkers: true,
212
210
  basis: {
213
211
  format: 'rgba32'
212
+ },
213
+ 'basis-nodejs': {
214
+ format: 'rgba32',
215
+ workerUrl: './modules/textures/dist/basis-nodejs-worker.js'
216
+ },
217
+ 'draco-nodejs': {
218
+ workerUrl: './modules/draco/dist/draco-nodejs-worker.js'
214
219
  }
215
220
  }
216
221
  };
@@ -647,48 +652,20 @@ var I3SConverter = function () {
647
652
  return _addChildrenWithNeighborsAndWriteFile;
648
653
  }()
649
654
  }, {
650
- key: "_addChildren",
655
+ key: "convertNestedTileset",
651
656
  value: function () {
652
- var _addChildren2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(data) {
653
- var childNodes, sourceTiles, parentNode, parentId, level, _iterator, _step, sourceTile, children, _iterator2, _step2, child;
654
-
657
+ var _convertNestedTileset = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(_ref) {
658
+ var sourceTile, parentNode, childNodes, parentId, level;
655
659
  return _regenerator.default.wrap(function _callee8$(_context8) {
656
660
  while (1) {
657
661
  switch (_context8.prev = _context8.next) {
658
662
  case 0:
659
- childNodes = data.childNodes, sourceTiles = data.sourceTiles, parentNode = data.parentNode, parentId = data.parentId, level = data.level;
660
-
661
- if (!(this.options.maxDepth && level > this.options.maxDepth)) {
662
- _context8.next = 3;
663
- break;
664
- }
665
-
666
- return _context8.abrupt("return");
667
-
668
- case 3:
669
- _iterator = _createForOfIteratorHelper(sourceTiles);
670
- _context8.prev = 4;
671
-
672
- _iterator.s();
673
-
674
- case 6:
675
- if ((_step = _iterator.n()).done) {
676
- _context8.next = 26;
677
- break;
678
- }
679
-
680
- sourceTile = _step.value;
681
-
682
- if (!(sourceTile.type === 'json')) {
683
- _context8.next = 17;
684
- break;
685
- }
686
-
687
- _context8.next = 11;
663
+ sourceTile = _ref.sourceTile, parentNode = _ref.parentNode, childNodes = _ref.childNodes, parentId = _ref.parentId, level = _ref.level;
664
+ _context8.next = 3;
688
665
  return this.sourceTileset._loadTile(sourceTile);
689
666
 
690
- case 11:
691
- _context8.next = 13;
667
+ case 3:
668
+ _context8.next = 5;
692
669
  return this._addChildren({
693
670
  parentNode: parentNode,
694
671
  sourceTiles: sourceTile.children,
@@ -697,26 +674,46 @@ var I3SConverter = function () {
697
674
  level: level + 1
698
675
  });
699
676
 
700
- case 13:
701
- _context8.next = 15;
677
+ case 5:
678
+ _context8.next = 7;
702
679
  return sourceTile.unloadContent();
703
680
 
704
- case 15:
705
- _context8.next = 23;
706
- break;
681
+ case 7:
682
+ case "end":
683
+ return _context8.stop();
684
+ }
685
+ }
686
+ }, _callee8, this);
687
+ }));
707
688
 
708
- case 17:
709
- _context8.next = 19;
689
+ function convertNestedTileset(_x13) {
690
+ return _convertNestedTileset.apply(this, arguments);
691
+ }
692
+
693
+ return convertNestedTileset;
694
+ }()
695
+ }, {
696
+ key: "convertNode",
697
+ value: function () {
698
+ var _convertNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(_ref2) {
699
+ var sourceTile, parentNode, childNodes, parentId, level, children, _iterator, _step, child;
700
+
701
+ return _regenerator.default.wrap(function _callee9$(_context9) {
702
+ while (1) {
703
+ switch (_context9.prev = _context9.next) {
704
+ case 0:
705
+ sourceTile = _ref2.sourceTile, parentNode = _ref2.parentNode, childNodes = _ref2.childNodes, parentId = _ref2.parentId, level = _ref2.level;
706
+ _context9.next = 3;
710
707
  return this._createNode(parentNode, sourceTile, parentId, level);
711
708
 
712
- case 19:
713
- children = _context8.sent;
709
+ case 3:
710
+ children = _context9.sent;
714
711
  parentNode.children = parentNode.children || [];
715
- _iterator2 = _createForOfIteratorHelper(children);
712
+ _iterator = _createForOfIteratorHelper(children);
716
713
 
717
714
  try {
718
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
719
- child = _step2.value;
715
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
716
+ child = _step.value;
720
717
  parentNode.children.push({
721
718
  id: child.id,
722
719
  href: "../".concat(child.path),
@@ -726,46 +723,115 @@ var I3SConverter = function () {
726
723
  childNodes.push(child);
727
724
  }
728
725
  } catch (err) {
729
- _iterator2.e(err);
726
+ _iterator.e(err);
730
727
  } finally {
731
- _iterator2.f();
728
+ _iterator.f();
732
729
  }
733
730
 
734
- case 23:
731
+ case 7:
732
+ case "end":
733
+ return _context9.stop();
734
+ }
735
+ }
736
+ }, _callee9, this);
737
+ }));
738
+
739
+ function convertNode(_x14) {
740
+ return _convertNode.apply(this, arguments);
741
+ }
742
+
743
+ return convertNode;
744
+ }()
745
+ }, {
746
+ key: "_addChildren",
747
+ value: function () {
748
+ var _addChildren2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(data) {
749
+ var childNodes, sourceTiles, parentNode, parentId, level, promises, _iterator2, _step2, sourceTile;
750
+
751
+ return _regenerator.default.wrap(function _callee10$(_context10) {
752
+ while (1) {
753
+ switch (_context10.prev = _context10.next) {
754
+ case 0:
755
+ childNodes = data.childNodes, sourceTiles = data.sourceTiles, parentNode = data.parentNode, parentId = data.parentId, level = data.level;
756
+
757
+ if (!(this.options.maxDepth && level > this.options.maxDepth)) {
758
+ _context10.next = 3;
759
+ break;
760
+ }
761
+
762
+ return _context10.abrupt("return");
763
+
764
+ case 3:
765
+ promises = [];
766
+ _iterator2 = _createForOfIteratorHelper(sourceTiles);
767
+ _context10.prev = 5;
768
+
769
+ _iterator2.s();
770
+
771
+ case 7:
772
+ if ((_step2 = _iterator2.n()).done) {
773
+ _context10.next = 15;
774
+ break;
775
+ }
776
+
777
+ sourceTile = _step2.value;
778
+
779
+ if (sourceTile.type === 'json') {
780
+ promises.push(this.convertNestedTileset({
781
+ sourceTile: sourceTile,
782
+ parentNode: parentNode,
783
+ childNodes: childNodes,
784
+ parentId: parentId,
785
+ level: level
786
+ }));
787
+ } else {
788
+ promises.push(this.convertNode({
789
+ sourceTile: sourceTile,
790
+ parentNode: parentNode,
791
+ childNodes: childNodes,
792
+ parentId: parentId,
793
+ level: level
794
+ }));
795
+ }
796
+
797
+ _context10.next = 12;
798
+ return Promise.all(promises);
799
+
800
+ case 12:
735
801
  if (sourceTile.id) {
736
802
  console.log(sourceTile.id);
737
803
  }
738
804
 
739
- case 24:
740
- _context8.next = 6;
805
+ case 13:
806
+ _context10.next = 7;
741
807
  break;
742
808
 
743
- case 26:
744
- _context8.next = 31;
809
+ case 15:
810
+ _context10.next = 20;
745
811
  break;
746
812
 
747
- case 28:
748
- _context8.prev = 28;
749
- _context8.t0 = _context8["catch"](4);
813
+ case 17:
814
+ _context10.prev = 17;
815
+ _context10.t0 = _context10["catch"](5);
750
816
 
751
- _iterator.e(_context8.t0);
817
+ _iterator2.e(_context10.t0);
752
818
 
753
- case 31:
754
- _context8.prev = 31;
819
+ case 20:
820
+ _context10.prev = 20;
755
821
 
756
- _iterator.f();
822
+ _iterator2.f();
757
823
 
758
- return _context8.finish(31);
824
+ return _context10.finish(20);
759
825
 
760
- case 34:
826
+ case 23:
761
827
  case "end":
762
- return _context8.stop();
828
+ return _context10.stop();
763
829
  }
764
830
  }
765
- }, _callee8, this, [[4, 28, 31, 34]]);
831
+ }, _callee10, this, [[5, 17, 20, 23]]);
766
832
  }));
767
833
 
768
- function _addChildren(_x13) {
834
+ function _addChildren(_x15) {
769
835
  return _addChildren2.apply(this, arguments);
770
836
  }
771
837
 
@@ -774,21 +840,21 @@ var I3SConverter = function () {
774
840
  }, {
775
841
  key: "_addNeighborsAndWriteFile",
776
842
  value: function () {
777
- var _addNeighborsAndWriteFile2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(parentNode, childNodes) {
843
+ var _addNeighborsAndWriteFile2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(parentNode, childNodes) {
778
844
  var _iterator3, _step3, _parentNode$children, node, childPath, nodePath, _iterator4, _step4, neighbor;
779
845
 
780
- return _regenerator.default.wrap(function _callee9$(_context9) {
846
+ return _regenerator.default.wrap(function _callee11$(_context11) {
781
847
  while (1) {
782
- switch (_context9.prev = _context9.next) {
848
+ switch (_context11.prev = _context11.next) {
783
849
  case 0:
784
850
  _iterator3 = _createForOfIteratorHelper(childNodes);
785
- _context9.prev = 1;
851
+ _context11.prev = 1;
786
852
 
787
853
  _iterator3.s();
788
854
 
789
855
  case 3:
790
856
  if ((_step3 = _iterator3.n()).done) {
791
- _context9.next = 36;
857
+ _context11.next = 36;
792
858
  break;
793
859
  }
794
860
 
@@ -798,29 +864,29 @@ var I3SConverter = function () {
798
864
  delete node.path;
799
865
 
800
866
  if (!(Number(parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$children = parentNode.children) === null || _parentNode$children === void 0 ? void 0 : _parentNode$children.length) < 1000)) {
801
- _context9.next = 29;
867
+ _context11.next = 29;
802
868
  break;
803
869
  }
804
870
 
805
871
  _iterator4 = _createForOfIteratorHelper(parentNode.children || []);
806
- _context9.prev = 10;
872
+ _context11.prev = 10;
807
873
 
808
874
  _iterator4.s();
809
875
 
810
876
  case 12:
811
877
  if ((_step4 = _iterator4.n()).done) {
812
- _context9.next = 19;
878
+ _context11.next = 19;
813
879
  break;
814
880
  }
815
881
 
816
882
  neighbor = _step4.value;
817
883
 
818
884
  if (!(node.id === neighbor.id)) {
819
- _context9.next = 16;
885
+ _context11.next = 16;
820
886
  break;
821
887
  }
822
888
 
823
- return _context9.abrupt("continue", 17);
889
+ return _context11.abrupt("continue", 17);
824
890
 
825
891
  case 16:
826
892
  if (node.neighbors) {
@@ -828,28 +894,28 @@ var I3SConverter = function () {
828
894
  }
829
895
 
830
896
  case 17:
831
- _context9.next = 12;
897
+ _context11.next = 12;
832
898
  break;
833
899
 
834
900
  case 19:
835
- _context9.next = 24;
901
+ _context11.next = 24;
836
902
  break;
837
903
 
838
904
  case 21:
839
- _context9.prev = 21;
840
- _context9.t0 = _context9["catch"](10);
905
+ _context11.prev = 21;
906
+ _context11.t0 = _context11["catch"](10);
841
907
 
842
- _iterator4.e(_context9.t0);
908
+ _iterator4.e(_context11.t0);
843
909
 
844
910
  case 24:
845
- _context9.prev = 24;
911
+ _context11.prev = 24;
846
912
 
847
913
  _iterator4.f();
848
914
 
849
- return _context9.finish(24);
915
+ return _context11.finish(24);
850
916
 
851
917
  case 27:
852
- _context9.next = 31;
918
+ _context11.next = 31;
853
919
  break;
854
920
 
855
921
  case 29:
@@ -857,42 +923,42 @@ var I3SConverter = function () {
857
923
  delete node.neighbors;
858
924
 
859
925
  case 31:
860
- _context9.next = 33;
926
+ _context11.next = 33;
861
927
  return this._writeNodeIndexDocument(node, nodePath, childPath);
862
928
 
863
929
  case 33:
864
930
  node.neighbors = [];
865
931
 
866
932
  case 34:
867
- _context9.next = 3;
933
+ _context11.next = 3;
868
934
  break;
869
935
 
870
936
  case 36:
871
- _context9.next = 41;
937
+ _context11.next = 41;
872
938
  break;
873
939
 
874
940
  case 38:
875
- _context9.prev = 38;
876
- _context9.t1 = _context9["catch"](1);
941
+ _context11.prev = 38;
942
+ _context11.t1 = _context11["catch"](1);
877
943
 
878
- _iterator3.e(_context9.t1);
944
+ _iterator3.e(_context11.t1);
879
945
 
880
946
  case 41:
881
- _context9.prev = 41;
947
+ _context11.prev = 41;
882
948
 
883
949
  _iterator3.f();
884
950
 
885
- return _context9.finish(41);
951
+ return _context11.finish(41);
886
952
 
887
953
  case 44:
888
954
  case "end":
889
- return _context9.stop();
955
+ return _context11.stop();
890
956
  }
891
957
  }
892
- }, _callee9, this, [[1, 38, 41, 44], [10, 21, 24, 27]]);
958
+ }, _callee11, this, [[1, 38, 41, 44], [10, 21, 24, 27]]);
893
959
  }));
894
960
 
895
- function _addNeighborsAndWriteFile(_x14, _x15) {
961
+ function _addNeighborsAndWriteFile(_x16, _x17) {
896
962
  return _addNeighborsAndWriteFile2.apply(this, arguments);
897
963
  }
898
964
 
@@ -901,39 +967,39 @@ var I3SConverter = function () {
901
967
  }, {
902
968
  key: "_createNode",
903
969
  value: function () {
904
- var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(parentTile, sourceTile, parentId, level) {
970
+ var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(parentTile, sourceTile, parentId, level) {
905
971
  var _this$layers, _this$layers$attribut;
906
972
 
907
973
  var boundingVolumes, propertyTable, resourcesData, nodes, nodesInPage, emptyResources, _iterator5, _step5, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, node, _console;
908
974
 
909
- return _regenerator.default.wrap(function _callee10$(_context10) {
975
+ return _regenerator.default.wrap(function _callee12$(_context12) {
910
976
  while (1) {
911
- switch (_context10.prev = _context10.next) {
977
+ switch (_context12.prev = _context12.next) {
912
978
  case 0:
913
979
  if (this.validate) {
914
980
  this._checkAddRefinementTypeForTile(sourceTile);
915
981
  }
916
982
 
917
- _context10.next = 3;
983
+ _context12.next = 3;
918
984
  return this._updateTilesetOptions();
919
985
 
920
986
  case 3:
921
- _context10.next = 5;
987
+ _context12.next = 5;
922
988
  return this.sourceTileset._loadTile(sourceTile);
923
989
 
924
990
  case 5:
925
991
  boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceTile, this.geoidHeightModel);
926
- propertyTable = (0, _geometryConverter.getPropertyTable)(sourceTile);
992
+ propertyTable = (0, _geometryConverter.getPropertyTable)(sourceTile.content);
927
993
 
928
994
  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)) {
929
995
  this._convertPropertyTableToNodeAttributes(propertyTable);
930
996
  }
931
997
 
932
- _context10.next = 10;
933
- return this._convertResources(sourceTile, propertyTable);
998
+ _context12.next = 10;
999
+ return this._convertResources(sourceTile, parentId, propertyTable);
934
1000
 
935
1001
  case 10:
936
- resourcesData = _context10.sent;
1002
+ resourcesData = _context12.sent;
937
1003
  nodes = [];
938
1004
  nodesInPage = [];
939
1005
  emptyResources = {
@@ -948,13 +1014,13 @@ var I3SConverter = function () {
948
1014
  boundingVolumes: null
949
1015
  };
950
1016
  _iterator5 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
951
- _context10.prev = 15;
1017
+ _context12.prev = 15;
952
1018
 
953
1019
  _iterator5.s();
954
1020
 
955
1021
  case 17:
956
1022
  if ((_step5 = _iterator5.n()).done) {
957
- _context10.next = 33;
1023
+ _context12.next = 33;
958
1024
  break;
959
1025
  }
960
1026
 
@@ -971,15 +1037,15 @@ var I3SConverter = function () {
971
1037
  }) || {
972
1038
  maxError: 0
973
1039
  };
974
- nodeInPage = this._createNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources);
1040
+ nodeInPage = this._updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources);
975
1041
  node = this._createNodeIndexDocument(parentTile, boundingVolumes, lodSelection, nodeInPage, resources);
976
1042
 
977
1043
  if (!nodeInPage.mesh) {
978
- _context10.next = 28;
1044
+ _context12.next = 28;
979
1045
  break;
980
1046
  }
981
1047
 
982
- _context10.next = 28;
1048
+ _context12.next = 28;
983
1049
  return this._writeResources(resources, node.path);
984
1050
 
985
1051
  case 28:
@@ -995,29 +1061,29 @@ var I3SConverter = function () {
995
1061
  nodesInPage.push(nodeInPage);
996
1062
 
997
1063
  case 31:
998
- _context10.next = 17;
1064
+ _context12.next = 17;
999
1065
  break;
1000
1066
 
1001
1067
  case 33:
1002
- _context10.next = 38;
1068
+ _context12.next = 38;
1003
1069
  break;
1004
1070
 
1005
1071
  case 35:
1006
- _context10.prev = 35;
1007
- _context10.t0 = _context10["catch"](15);
1072
+ _context12.prev = 35;
1073
+ _context12.t0 = _context12["catch"](15);
1008
1074
 
1009
- _iterator5.e(_context10.t0);
1075
+ _iterator5.e(_context12.t0);
1010
1076
 
1011
1077
  case 38:
1012
- _context10.prev = 38;
1078
+ _context12.prev = 38;
1013
1079
 
1014
1080
  _iterator5.f();
1015
1081
 
1016
- return _context10.finish(38);
1082
+ return _context12.finish(38);
1017
1083
 
1018
1084
  case 41:
1019
1085
  sourceTile.unloadContent();
1020
- _context10.next = 44;
1086
+ _context12.next = 44;
1021
1087
  return this._addChildrenWithNeighborsAndWriteFile({
1022
1088
  parentNode: nodes[0],
1023
1089
  sourceTiles: sourceTile.children,
@@ -1026,17 +1092,17 @@ var I3SConverter = function () {
1026
1092
  });
1027
1093
 
1028
1094
  case 44:
1029
- return _context10.abrupt("return", nodes);
1095
+ return _context12.abrupt("return", nodes);
1030
1096
 
1031
1097
  case 45:
1032
1098
  case "end":
1033
- return _context10.stop();
1099
+ return _context12.stop();
1034
1100
  }
1035
1101
  }
1036
- }, _callee10, this, [[15, 35, 38, 41]]);
1102
+ }, _callee12, this, [[15, 35, 38, 41]]);
1037
1103
  }));
1038
1104
 
1039
- function _createNode(_x16, _x17, _x18, _x19) {
1105
+ function _createNode(_x18, _x19, _x20, _x21) {
1040
1106
  return _createNode2.apply(this, arguments);
1041
1107
  }
1042
1108
 
@@ -1045,46 +1111,57 @@ var I3SConverter = function () {
1045
1111
  }, {
1046
1112
  key: "_convertResources",
1047
1113
  value: function () {
1048
- var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(sourceTile, propertyTable) {
1049
- var _this$layers2;
1114
+ var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(sourceTile, parentId, propertyTable) {
1115
+ var _this = this,
1116
+ _this$layers2;
1050
1117
 
1051
- var resourcesData;
1052
- return _regenerator.default.wrap(function _callee11$(_context11) {
1118
+ var draftObb, resourcesData;
1119
+ return _regenerator.default.wrap(function _callee13$(_context13) {
1053
1120
  while (1) {
1054
- switch (_context11.prev = _context11.next) {
1121
+ switch (_context13.prev = _context13.next) {
1055
1122
  case 0:
1056
1123
  if (this.isContentSupported(sourceTile)) {
1057
- _context11.next = 2;
1124
+ _context13.next = 2;
1058
1125
  break;
1059
1126
  }
1060
1127
 
1061
- return _context11.abrupt("return", null);
1128
+ return _context13.abrupt("return", null);
1062
1129
 
1063
1130
  case 2:
1064
- _context11.next = 4;
1065
- return (0, _geometryConverter.default)(sourceTile.content, Number(this.nodePages.nodesCounter), propertyTable, this.featuresHashArray, (_this$layers2 = this.layers0) === null || _this$layers2 === void 0 ? void 0 : _this$layers2.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.geoidHeightModel, this.workerSource);
1131
+ draftObb = {
1132
+ center: [],
1133
+ halfSize: [],
1134
+ quaternion: []
1135
+ };
1136
+ _context13.next = 5;
1137
+ return (0, _geometryConverter.default)(sourceTile.content, function () {
1138
+ return _this.nodePages.push({
1139
+ index: 0,
1140
+ obb: draftObb
1141
+ }, parentId);
1142
+ }, propertyTable, this.featuresHashArray, (_this$layers2 = this.layers0) === null || _this$layers2 === void 0 ? void 0 : _this$layers2.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.geoidHeightModel, this.workerSource);
1066
1143
 
1067
- case 4:
1068
- resourcesData = _context11.sent;
1069
- return _context11.abrupt("return", resourcesData);
1144
+ case 5:
1145
+ resourcesData = _context13.sent;
1146
+ return _context13.abrupt("return", resourcesData);
1070
1147
 
1071
- case 6:
1148
+ case 7:
1072
1149
  case "end":
1073
- return _context11.stop();
1150
+ return _context13.stop();
1074
1151
  }
1075
1152
  }
1076
- }, _callee11, this);
1153
+ }, _callee13, this);
1077
1154
  }));
1078
1155
 
1079
- function _convertResources(_x20, _x21) {
1156
+ function _convertResources(_x22, _x23, _x24) {
1080
1157
  return _convertResources2.apply(this, arguments);
1081
1158
  }
1082
1159
 
1083
1160
  return _convertResources;
1084
1161
  }()
1085
1162
  }, {
1086
- key: "_createNodeInNodePages",
1087
- value: function _createNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
1163
+ key: "_updateNodeInNodePages",
1164
+ value: function _updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
1088
1165
  var meshMaterial = resources.meshMaterial,
1089
1166
  texture = resources.texture,
1090
1167
  vertexCount = resources.vertexCount,
@@ -1112,7 +1189,15 @@ var I3SConverter = function () {
1112
1189
  };
1113
1190
  }
1114
1191
 
1115
- var nodeId = this.nodePages.push(nodeInPage, parentId);
1192
+ var nodeId = resources.nodeId;
1193
+
1194
+ if (nodeId) {
1195
+ this.nodePages.updateAll(nodeId, nodeInPage);
1196
+ var node = this.nodePages.getNodeById(nodeId);
1197
+ this.nodePages.updateResourceInMesh(node);
1198
+ } else {
1199
+ nodeId = this.nodePages.push(nodeInPage, parentId);
1200
+ }
1116
1201
 
1117
1202
  if (meshMaterial) {
1118
1203
  this.nodePages.updateMaterialByNodeId(nodeId, this._findOrCreateMaterial(meshMaterial));
@@ -1134,7 +1219,7 @@ var I3SConverter = function () {
1134
1219
  this.nodePages.updateFeatureCountByNodeId(nodeId, featureCount);
1135
1220
  }
1136
1221
 
1137
- return nodeInPage;
1222
+ return this.nodePages.getNodeById(nodeId);
1138
1223
  }
1139
1224
  }, {
1140
1225
  key: "_createNodeIndexDocument",
@@ -1197,39 +1282,39 @@ var I3SConverter = function () {
1197
1282
  }, {
1198
1283
  key: "_writeResources",
1199
1284
  value: function () {
1200
- var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(resources, nodePath) {
1285
+ var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(resources, nodePath) {
1201
1286
  var geometryBuffer, compressedGeometry, texture, sharedResources, attributes, childPath, slpkChildPath;
1202
- return _regenerator.default.wrap(function _callee12$(_context12) {
1287
+ return _regenerator.default.wrap(function _callee14$(_context14) {
1203
1288
  while (1) {
1204
- switch (_context12.prev = _context12.next) {
1289
+ switch (_context14.prev = _context14.next) {
1205
1290
  case 0:
1206
1291
  geometryBuffer = resources.geometry, compressedGeometry = resources.compressedGeometry, texture = resources.texture, sharedResources = resources.sharedResources, attributes = resources.attributes;
1207
1292
  childPath = (0, _path.join)(this.layers0Path, 'nodes', nodePath);
1208
1293
  slpkChildPath = (0, _path.join)('nodes', nodePath);
1209
- _context12.next = 5;
1294
+ _context14.next = 5;
1210
1295
  return this._writeGeometries(geometryBuffer, compressedGeometry, childPath, slpkChildPath);
1211
1296
 
1212
1297
  case 5:
1213
- _context12.next = 7;
1298
+ _context14.next = 7;
1214
1299
  return this._writeShared(sharedResources, childPath, slpkChildPath, nodePath);
1215
1300
 
1216
1301
  case 7:
1217
- _context12.next = 9;
1302
+ _context14.next = 9;
1218
1303
  return this._writeTexture(texture, childPath, slpkChildPath);
1219
1304
 
1220
1305
  case 9:
1221
- _context12.next = 11;
1306
+ _context14.next = 11;
1222
1307
  return this._writeAttributes(attributes, childPath, slpkChildPath);
1223
1308
 
1224
1309
  case 11:
1225
1310
  case "end":
1226
- return _context12.stop();
1311
+ return _context14.stop();
1227
1312
  }
1228
1313
  }
1229
- }, _callee12, this);
1314
+ }, _callee14, this);
1230
1315
  }));
1231
1316
 
1232
- function _writeResources(_x22, _x23) {
1317
+ function _writeResources(_x25, _x26) {
1233
1318
  return _writeResources2.apply(this, arguments);
1234
1319
  }
1235
1320
 
@@ -1238,73 +1323,73 @@ var I3SConverter = function () {
1238
1323
  }, {
1239
1324
  key: "_writeGeometries",
1240
1325
  value: function () {
1241
- var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
1326
+ var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
1242
1327
  var slpkGeometryPath, geometryPath, slpkCompressedGeometryPath, compressedGeometryPath;
1243
- return _regenerator.default.wrap(function _callee13$(_context13) {
1328
+ return _regenerator.default.wrap(function _callee15$(_context15) {
1244
1329
  while (1) {
1245
- switch (_context13.prev = _context13.next) {
1330
+ switch (_context15.prev = _context15.next) {
1246
1331
  case 0:
1247
1332
  if (!this.options.slpk) {
1248
- _context13.next = 6;
1333
+ _context15.next = 6;
1249
1334
  break;
1250
1335
  }
1251
1336
 
1252
1337
  slpkGeometryPath = (0, _path.join)(childPath, 'geometries');
1253
- _context13.next = 4;
1338
+ _context15.next = 4;
1254
1339
  return this.writeQueue.enqueue({
1255
1340
  archiveKey: "".concat(slpkChildPath, "/geometries/0.bin.gz"),
1256
1341
  writePromise: (0, _fileUtils.writeFileForSlpk)(slpkGeometryPath, geometryBuffer, '0.bin')
1257
1342
  });
1258
1343
 
1259
1344
  case 4:
1260
- _context13.next = 9;
1345
+ _context15.next = 9;
1261
1346
  break;
1262
1347
 
1263
1348
  case 6:
1264
1349
  geometryPath = (0, _path.join)(childPath, 'geometries/0/');
1265
- _context13.next = 9;
1350
+ _context15.next = 9;
1266
1351
  return this.writeQueue.enqueue({
1267
1352
  writePromise: (0, _fileUtils.writeFile)(geometryPath, geometryBuffer, 'index.bin')
1268
1353
  });
1269
1354
 
1270
1355
  case 9:
1271
1356
  if (!this.options.draco) {
1272
- _context13.next = 19;
1357
+ _context15.next = 19;
1273
1358
  break;
1274
1359
  }
1275
1360
 
1276
1361
  if (!this.options.slpk) {
1277
- _context13.next = 16;
1362
+ _context15.next = 16;
1278
1363
  break;
1279
1364
  }
1280
1365
 
1281
1366
  slpkCompressedGeometryPath = (0, _path.join)(childPath, 'geometries');
1282
- _context13.next = 14;
1367
+ _context15.next = 14;
1283
1368
  return this.writeQueue.enqueue({
1284
1369
  archiveKey: "".concat(slpkChildPath, "/geometries/1.bin.gz"),
1285
1370
  writePromise: (0, _fileUtils.writeFileForSlpk)(slpkCompressedGeometryPath, compressedGeometry, '1.bin')
1286
1371
  });
1287
1372
 
1288
1373
  case 14:
1289
- _context13.next = 19;
1374
+ _context15.next = 19;
1290
1375
  break;
1291
1376
 
1292
1377
  case 16:
1293
1378
  compressedGeometryPath = (0, _path.join)(childPath, 'geometries/1/');
1294
- _context13.next = 19;
1379
+ _context15.next = 19;
1295
1380
  return this.writeQueue.enqueue({
1296
1381
  writePromise: (0, _fileUtils.writeFile)(compressedGeometryPath, compressedGeometry, 'index.bin')
1297
1382
  });
1298
1383
 
1299
1384
  case 19:
1300
1385
  case "end":
1301
- return _context13.stop();
1386
+ return _context15.stop();
1302
1387
  }
1303
1388
  }
1304
- }, _callee13, this);
1389
+ }, _callee15, this);
1305
1390
  }));
1306
1391
 
1307
- function _writeGeometries(_x24, _x25, _x26, _x27) {
1392
+ function _writeGeometries(_x27, _x28, _x29, _x30) {
1308
1393
  return _writeGeometries2.apply(this, arguments);
1309
1394
  }
1310
1395
 
@@ -1313,18 +1398,18 @@ var I3SConverter = function () {
1313
1398
  }, {
1314
1399
  key: "_writeShared",
1315
1400
  value: function () {
1316
- var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(sharedResources, childPath, slpkChildPath, nodePath) {
1401
+ var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(sharedResources, childPath, slpkChildPath, nodePath) {
1317
1402
  var sharedData, sharedDataStr, slpkSharedPath, sharedPath;
1318
- return _regenerator.default.wrap(function _callee14$(_context14) {
1403
+ return _regenerator.default.wrap(function _callee16$(_context16) {
1319
1404
  while (1) {
1320
- switch (_context14.prev = _context14.next) {
1405
+ switch (_context16.prev = _context16.next) {
1321
1406
  case 0:
1322
1407
  if (sharedResources) {
1323
- _context14.next = 2;
1408
+ _context16.next = 2;
1324
1409
  break;
1325
1410
  }
1326
1411
 
1327
- return _context14.abrupt("return");
1412
+ return _context16.abrupt("return");
1328
1413
 
1329
1414
  case 2:
1330
1415
  sharedResources.nodePath = nodePath;
@@ -1332,37 +1417,37 @@ var I3SConverter = function () {
1332
1417
  sharedDataStr = JSON.stringify(sharedData);
1333
1418
 
1334
1419
  if (!this.options.slpk) {
1335
- _context14.next = 11;
1420
+ _context16.next = 11;
1336
1421
  break;
1337
1422
  }
1338
1423
 
1339
1424
  slpkSharedPath = (0, _path.join)(childPath, 'shared');
1340
- _context14.next = 9;
1425
+ _context16.next = 9;
1341
1426
  return this.writeQueue.enqueue({
1342
1427
  archiveKey: "".concat(slpkChildPath, "/shared/sharedResource.json.gz"),
1343
1428
  writePromise: (0, _fileUtils.writeFileForSlpk)(slpkSharedPath, sharedDataStr, 'sharedResource.json')
1344
1429
  });
1345
1430
 
1346
1431
  case 9:
1347
- _context14.next = 14;
1432
+ _context16.next = 14;
1348
1433
  break;
1349
1434
 
1350
1435
  case 11:
1351
1436
  sharedPath = (0, _path.join)(childPath, 'shared/');
1352
- _context14.next = 14;
1437
+ _context16.next = 14;
1353
1438
  return this.writeQueue.enqueue({
1354
1439
  writePromise: (0, _fileUtils.writeFile)(sharedPath, sharedDataStr)
1355
1440
  });
1356
1441
 
1357
1442
  case 14:
1358
1443
  case "end":
1359
- return _context14.stop();
1444
+ return _context16.stop();
1360
1445
  }
1361
1446
  }
1362
- }, _callee14, this);
1447
+ }, _callee16, this);
1363
1448
  }));
1364
1449
 
1365
- function _writeShared(_x28, _x29, _x30, _x31) {
1450
+ function _writeShared(_x31, _x32, _x33, _x34) {
1366
1451
  return _writeShared2.apply(this, arguments);
1367
1452
  }
1368
1453
 
@@ -1371,22 +1456,22 @@ var I3SConverter = function () {
1371
1456
  }, {
1372
1457
  key: "_writeTexture",
1373
1458
  value: function () {
1374
- var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(texture, childPath, slpkChildPath) {
1459
+ var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(texture, childPath, slpkChildPath) {
1375
1460
  var format, formats, textureData, copyArrayBuffer, arrayToEncode, ktx2TextureData, decodedFromKTX2TextureData;
1376
- return _regenerator.default.wrap(function _callee15$(_context15) {
1461
+ return _regenerator.default.wrap(function _callee17$(_context17) {
1377
1462
  while (1) {
1378
- switch (_context15.prev = _context15.next) {
1463
+ switch (_context17.prev = _context17.next) {
1379
1464
  case 0:
1380
1465
  if (!texture) {
1381
- _context15.next = 27;
1466
+ _context17.next = 27;
1382
1467
  break;
1383
1468
  }
1384
1469
 
1385
1470
  format = this._getFormatByMimeType(texture === null || texture === void 0 ? void 0 : texture.mimeType);
1386
1471
  formats = [];
1387
1472
  textureData = texture.bufferView.data;
1388
- _context15.t0 = format;
1389
- _context15.next = _context15.t0 === 'jpg' ? 7 : _context15.t0 === 'png' ? 7 : _context15.t0 === 'ktx2' ? 18 : 26;
1473
+ _context17.t0 = format;
1474
+ _context17.next = _context17.t0 === 'jpg' ? 7 : _context17.t0 === 'png' ? 7 : _context17.t0 === 'ktx2' ? 18 : 26;
1390
1475
  break;
1391
1476
 
1392
1477
  case 7:
@@ -1394,12 +1479,12 @@ var I3SConverter = function () {
1394
1479
  name: '0',
1395
1480
  format: format
1396
1481
  });
1397
- _context15.next = 10;
1482
+ _context17.next = 10;
1398
1483
  return this.writeTextureFile(textureData, '0', format, childPath, slpkChildPath);
1399
1484
 
1400
1485
  case 10:
1401
1486
  if (!this.generateTextures) {
1402
- _context15.next = 17;
1487
+ _context17.next = 17;
1403
1488
  break;
1404
1489
  }
1405
1490
 
@@ -1416,23 +1501,23 @@ var I3SConverter = function () {
1416
1501
  reuseWorkers: true,
1417
1502
  _nodeWorkers: true
1418
1503
  }));
1419
- _context15.next = 17;
1504
+ _context17.next = 17;
1420
1505
  return this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
1421
1506
 
1422
1507
  case 17:
1423
- return _context15.abrupt("break", 26);
1508
+ return _context17.abrupt("break", 26);
1424
1509
 
1425
1510
  case 18:
1426
1511
  formats.push({
1427
1512
  name: '1',
1428
1513
  format: format
1429
1514
  });
1430
- _context15.next = 21;
1515
+ _context17.next = 21;
1431
1516
  return this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);
1432
1517
 
1433
1518
  case 21:
1434
1519
  if (!this.generateTextures) {
1435
- _context15.next = 26;
1520
+ _context17.next = 26;
1436
1521
  break;
1437
1522
  }
1438
1523
 
@@ -1441,7 +1526,7 @@ var I3SConverter = function () {
1441
1526
  format: 'jpg'
1442
1527
  });
1443
1528
  decodedFromKTX2TextureData = (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
1444
- _context15.next = 26;
1529
+ _context17.next = 26;
1445
1530
  return this.writeTextureFile(decodedFromKTX2TextureData, '0', 'jpg', childPath, slpkChildPath);
1446
1531
 
1447
1532
  case 26:
@@ -1453,13 +1538,13 @@ var I3SConverter = function () {
1453
1538
 
1454
1539
  case 27:
1455
1540
  case "end":
1456
- return _context15.stop();
1541
+ return _context17.stop();
1457
1542
  }
1458
1543
  }
1459
- }, _callee15, this);
1544
+ }, _callee17, this);
1460
1545
  }));
1461
1546
 
1462
- function _writeTexture(_x32, _x33, _x34) {
1547
+ function _writeTexture(_x35, _x36, _x37) {
1463
1548
  return _writeTexture2.apply(this, arguments);
1464
1549
  }
1465
1550
 
@@ -1468,45 +1553,45 @@ var I3SConverter = function () {
1468
1553
  }, {
1469
1554
  key: "writeTextureFile",
1470
1555
  value: function () {
1471
- var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(textureData, name, format, childPath, slpkChildPath) {
1556
+ var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18(textureData, name, format, childPath, slpkChildPath) {
1472
1557
  var slpkTexturePath, compress, texturePath;
1473
- return _regenerator.default.wrap(function _callee16$(_context16) {
1558
+ return _regenerator.default.wrap(function _callee18$(_context18) {
1474
1559
  while (1) {
1475
- switch (_context16.prev = _context16.next) {
1560
+ switch (_context18.prev = _context18.next) {
1476
1561
  case 0:
1477
1562
  if (!this.options.slpk) {
1478
- _context16.next = 7;
1563
+ _context18.next = 7;
1479
1564
  break;
1480
1565
  }
1481
1566
 
1482
1567
  slpkTexturePath = (0, _path.join)(childPath, 'textures');
1483
1568
  compress = false;
1484
- _context16.next = 5;
1569
+ _context18.next = 5;
1485
1570
  return this.writeQueue.enqueue({
1486
1571
  archiveKey: "".concat(slpkChildPath, "/textures/").concat(name, ".").concat(format),
1487
1572
  writePromise: (0, _fileUtils.writeFileForSlpk)(slpkTexturePath, textureData, "".concat(name, ".").concat(format), compress)
1488
1573
  });
1489
1574
 
1490
1575
  case 5:
1491
- _context16.next = 10;
1576
+ _context18.next = 10;
1492
1577
  break;
1493
1578
 
1494
1579
  case 7:
1495
1580
  texturePath = (0, _path.join)(childPath, "textures/".concat(name, "/"));
1496
- _context16.next = 10;
1581
+ _context18.next = 10;
1497
1582
  return this.writeQueue.enqueue({
1498
1583
  writePromise: (0, _fileUtils.writeFile)(texturePath, textureData, "index.".concat(format))
1499
1584
  });
1500
1585
 
1501
1586
  case 10:
1502
1587
  case "end":
1503
- return _context16.stop();
1588
+ return _context18.stop();
1504
1589
  }
1505
1590
  }
1506
- }, _callee16, this);
1591
+ }, _callee18, this);
1507
1592
  }));
1508
1593
 
1509
- function writeTextureFile(_x35, _x36, _x37, _x38, _x39) {
1594
+ function writeTextureFile(_x38, _x39, _x40, _x41, _x42) {
1510
1595
  return _writeTextureFile.apply(this, arguments);
1511
1596
  }
1512
1597
 
@@ -1515,7 +1600,7 @@ var I3SConverter = function () {
1515
1600
  }, {
1516
1601
  key: "_writeAttributes",
1517
1602
  value: function () {
1518
- var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17() {
1603
+ var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19() {
1519
1604
  var _this$layers4, _this$layers4$attribu;
1520
1605
 
1521
1606
  var attributes,
@@ -1526,17 +1611,17 @@ var I3SConverter = function () {
1526
1611
  fileBuffer,
1527
1612
  slpkAttributesPath,
1528
1613
  attributesPath,
1529
- _args17 = arguments;
1530
- return _regenerator.default.wrap(function _callee17$(_context17) {
1614
+ _args19 = arguments;
1615
+ return _regenerator.default.wrap(function _callee19$(_context19) {
1531
1616
  while (1) {
1532
- switch (_context17.prev = _context17.next) {
1617
+ switch (_context19.prev = _context19.next) {
1533
1618
  case 0:
1534
- attributes = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : [];
1535
- childPath = _args17.length > 1 ? _args17[1] : undefined;
1536
- slpkChildPath = _args17.length > 2 ? _args17[2] : undefined;
1619
+ attributes = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : [];
1620
+ childPath = _args19.length > 1 ? _args19[1] : undefined;
1621
+ slpkChildPath = _args19.length > 2 ? _args19[2] : undefined;
1537
1622
 
1538
1623
  if (!(attributes !== null && attributes !== void 0 && attributes.length && (_this$layers4 = this.layers0) !== null && _this$layers4 !== void 0 && (_this$layers4$attribu = _this$layers4.attributeStorageInfo) !== null && _this$layers4$attribu !== void 0 && _this$layers4$attribu.length)) {
1539
- _context17.next = 20;
1624
+ _context19.next = 20;
1540
1625
  break;
1541
1626
  }
1542
1627
 
@@ -1544,7 +1629,7 @@ var I3SConverter = function () {
1544
1629
 
1545
1630
  case 5:
1546
1631
  if (!(index < attributes.length)) {
1547
- _context17.next = 20;
1632
+ _context19.next = 20;
1548
1633
  break;
1549
1634
  }
1550
1635
 
@@ -1552,39 +1637,39 @@ var I3SConverter = function () {
1552
1637
  fileBuffer = new Uint8Array(attributes[index]);
1553
1638
 
1554
1639
  if (!this.options.slpk) {
1555
- _context17.next = 14;
1640
+ _context19.next = 14;
1556
1641
  break;
1557
1642
  }
1558
1643
 
1559
1644
  slpkAttributesPath = (0, _path.join)(childPath, 'attributes', folderName);
1560
- _context17.next = 12;
1645
+ _context19.next = 12;
1561
1646
  return this.writeQueue.enqueue({
1562
1647
  archiveKey: "".concat(slpkChildPath, "/attributes/").concat(folderName, ".bin.gz"),
1563
1648
  writePromise: (0, _fileUtils.writeFileForSlpk)(slpkAttributesPath, fileBuffer, '0.bin')
1564
1649
  });
1565
1650
 
1566
1651
  case 12:
1567
- _context17.next = 17;
1652
+ _context19.next = 17;
1568
1653
  break;
1569
1654
 
1570
1655
  case 14:
1571
1656
  attributesPath = (0, _path.join)(childPath, "attributes/".concat(folderName, "/0"));
1572
- _context17.next = 17;
1657
+ _context19.next = 17;
1573
1658
  return this.writeQueue.enqueue({
1574
1659
  writePromise: (0, _fileUtils.writeFile)(attributesPath, fileBuffer, 'index.bin')
1575
1660
  });
1576
1661
 
1577
1662
  case 17:
1578
1663
  index++;
1579
- _context17.next = 5;
1664
+ _context19.next = 5;
1580
1665
  break;
1581
1666
 
1582
1667
  case 20:
1583
1668
  case "end":
1584
- return _context17.stop();
1669
+ return _context19.stop();
1585
1670
  }
1586
1671
  }
1587
- }, _callee17, this);
1672
+ }, _callee19, this);
1588
1673
  }));
1589
1674
 
1590
1675
  function _writeAttributes() {
@@ -1623,107 +1708,6 @@ var I3SConverter = function () {
1623
1708
  this.materialMap.set(hash, newMaterialId);
1624
1709
  return newMaterialId;
1625
1710
  }
1626
- }, {
1627
- key: "_createdStorageAttribute",
1628
- value: function _createdStorageAttribute(attributeIndex, key, attributeType) {
1629
- var storageAttribute = {
1630
- key: "f_".concat(attributeIndex),
1631
- name: key,
1632
- ordering: ['attributeValues'],
1633
- header: [{
1634
- property: 'count',
1635
- valueType: 'UInt32'
1636
- }],
1637
- attributeValues: {
1638
- valueType: 'Int32',
1639
- valuesPerElement: 1
1640
- }
1641
- };
1642
-
1643
- switch (attributeType) {
1644
- case OBJECT_ID_TYPE:
1645
- this._setupIdAttribute(storageAttribute);
1646
-
1647
- break;
1648
-
1649
- case STRING_TYPE:
1650
- this._setupStringAttribute(storageAttribute);
1651
-
1652
- break;
1653
-
1654
- case DOUBLE_TYPE:
1655
- this._setupDoubleAttribute(storageAttribute);
1656
-
1657
- break;
1658
-
1659
- case SHORT_INT_TYPE:
1660
- break;
1661
-
1662
- default:
1663
- this._setupStringAttribute(storageAttribute);
1664
-
1665
- }
1666
-
1667
- return storageAttribute;
1668
- }
1669
- }, {
1670
- key: "getAttributeType",
1671
- value: function getAttributeType(key, attribute) {
1672
- if (key === OBJECT_ID_TYPE) {
1673
- return OBJECT_ID_TYPE;
1674
- }
1675
-
1676
- if ((0, _typeof2.default)(attribute) === STRING_TYPE) {
1677
- return STRING_TYPE;
1678
- } else if (typeof attribute === 'number') {
1679
- return Number.isInteger(attribute) ? SHORT_INT_TYPE : DOUBLE_TYPE;
1680
- }
1681
-
1682
- return STRING_TYPE;
1683
- }
1684
- }, {
1685
- key: "_setupStringAttribute",
1686
- value: function _setupStringAttribute(storageAttribute) {
1687
- storageAttribute.ordering.unshift('attributeByteCounts');
1688
- storageAttribute.header.push({
1689
- property: 'attributeValuesByteCount',
1690
- valueType: 'UInt32'
1691
- });
1692
- storageAttribute.attributeValues = {
1693
- valueType: 'String',
1694
- encoding: 'UTF-8',
1695
- valuesPerElement: 1
1696
- };
1697
- storageAttribute.attributeByteCounts = {
1698
- valueType: 'UInt32',
1699
- valuesPerElement: 1
1700
- };
1701
- }
1702
- }, {
1703
- key: "_setupIdAttribute",
1704
- value: function _setupIdAttribute(storageAttribute) {
1705
- storageAttribute.attributeValues = {
1706
- valueType: 'Oid32',
1707
- valuesPerElement: 1
1708
- };
1709
- }
1710
- }, {
1711
- key: "_setupDoubleAttribute",
1712
- value: function _setupDoubleAttribute(storageAttribute) {
1713
- storageAttribute.attributeValues = {
1714
- valueType: 'Float64',
1715
- valuesPerElement: 1
1716
- };
1717
- }
1718
- }, {
1719
- key: "_createFieldAttribute",
1720
- value: function _createFieldAttribute(key, fieldAttributeType) {
1721
- return {
1722
- name: key,
1723
- type: fieldAttributeType,
1724
- alias: key
1725
- };
1726
- }
1727
1711
  }, {
1728
1712
  key: "_convertPropertyTableToNodeAttributes",
1729
1713
  value: function _convertPropertyTableToNodeAttributes(propertyTable) {
@@ -1735,16 +1719,11 @@ var I3SConverter = function () {
1735
1719
 
1736
1720
  for (var _key in propertyTableWithObjectId) {
1737
1721
  var firstAttribute = propertyTableWithObjectId[_key][0];
1738
- var attributeType = this.getAttributeType(_key, firstAttribute);
1739
-
1740
- var storageAttribute = this._createdStorageAttribute(attributeIndex, _key, attributeType);
1741
-
1742
- var fieldAttributeType = this._getFieldAttributeType(attributeType);
1743
-
1744
- var fieldAttribute = this._createFieldAttribute(_key, fieldAttributeType);
1745
-
1746
- var popupInfo = this._createPopupInfo(propertyTableWithObjectId);
1747
-
1722
+ var attributeType = (0, _featureAttributes.getAttributeType)(_key, firstAttribute);
1723
+ var storageAttribute = (0, _featureAttributes.createdStorageAttribute)(attributeIndex, _key, attributeType);
1724
+ var fieldAttributeType = (0, _featureAttributes.getFieldAttributeType)(attributeType);
1725
+ var fieldAttribute = (0, _featureAttributes.createFieldAttribute)(_key, fieldAttributeType);
1726
+ var popupInfo = (0, _featureAttributes.createPopupInfo)(propertyTableWithObjectId);
1748
1727
  this.layers0.attributeStorageInfo.push(storageAttribute);
1749
1728
  this.layers0.fields.push(fieldAttribute);
1750
1729
  this.layers0.popupInfo = popupInfo;
@@ -1752,73 +1731,23 @@ var I3SConverter = function () {
1752
1731
  attributeIndex += 1;
1753
1732
  }
1754
1733
  }
1755
- }, {
1756
- key: "_getFieldAttributeType",
1757
- value: function _getFieldAttributeType(attributeType) {
1758
- switch (attributeType) {
1759
- case OBJECT_ID_TYPE:
1760
- return 'esriFieldTypeOID';
1761
-
1762
- case STRING_TYPE:
1763
- return 'esriFieldTypeString';
1764
-
1765
- case SHORT_INT_TYPE:
1766
- return 'esriFieldTypeInteger';
1767
-
1768
- case DOUBLE_TYPE:
1769
- return 'esriFieldTypeDouble';
1770
-
1771
- default:
1772
- return 'esriFieldTypeString';
1773
- }
1774
- }
1775
- }, {
1776
- key: "_createPopupInfo",
1777
- value: function _createPopupInfo(propertyTable) {
1778
- var title = '{OBJECTID}';
1779
- var mediaInfos = [];
1780
- var fieldInfos = [];
1781
- var popupElements = [];
1782
- var expressionInfos = [];
1783
-
1784
- for (var _key2 in propertyTable) {
1785
- fieldInfos.push({
1786
- fieldName: _key2,
1787
- visible: true,
1788
- isEditable: false,
1789
- label: _key2
1790
- });
1791
- }
1792
-
1793
- popupElements.push({
1794
- fieldInfos: fieldInfos,
1795
- type: 'fields'
1796
- });
1797
- return {
1798
- title: title,
1799
- mediaInfos: mediaInfos,
1800
- popupElements: popupElements,
1801
- fieldInfos: fieldInfos,
1802
- expressionInfos: expressionInfos
1803
- };
1804
- }
1805
1734
  }, {
1806
1735
  key: "_finishConversion",
1807
1736
  value: function () {
1808
- var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18(params) {
1737
+ var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20(params) {
1809
1738
  var _this$refinementCount, tilesCount, tilesWithAddRefineCount, addRefinementPercentage, filesSize, diff, conversionTime;
1810
1739
 
1811
- return _regenerator.default.wrap(function _callee18$(_context18) {
1740
+ return _regenerator.default.wrap(function _callee20$(_context20) {
1812
1741
  while (1) {
1813
- switch (_context18.prev = _context18.next) {
1742
+ switch (_context20.prev = _context20.next) {
1814
1743
  case 0:
1815
1744
  _this$refinementCount = this.refinementCounter, tilesCount = _this$refinementCount.tilesCount, tilesWithAddRefineCount = _this$refinementCount.tilesWithAddRefineCount;
1816
1745
  addRefinementPercentage = tilesWithAddRefineCount ? tilesWithAddRefineCount / tilesCount * 100 : 0;
1817
- _context18.next = 4;
1746
+ _context20.next = 4;
1818
1747
  return (0, _statisticUtills.calculateFilesSize)(params);
1819
1748
 
1820
1749
  case 4:
1821
- filesSize = _context18.sent;
1750
+ filesSize = _context20.sent;
1822
1751
  diff = _process.default.hrtime(this.conversionStartTime);
1823
1752
  conversionTime = (0, _statisticUtills.timeConverter)(diff);
1824
1753
  console.log("------------------------------------------------");
@@ -1831,13 +1760,13 @@ var I3SConverter = function () {
1831
1760
 
1832
1761
  case 14:
1833
1762
  case "end":
1834
- return _context18.stop();
1763
+ return _context20.stop();
1835
1764
  }
1836
1765
  }
1837
- }, _callee18, this);
1766
+ }, _callee20, this);
1838
1767
  }));
1839
1768
 
1840
- function _finishConversion(_x40) {
1769
+ function _finishConversion(_x43) {
1841
1770
  return _finishConversion2.apply(this, arguments);
1842
1771
  }
1843
1772
 
@@ -1846,18 +1775,18 @@ var I3SConverter = function () {
1846
1775
  }, {
1847
1776
  key: "_fetchPreloadOptions",
1848
1777
  value: function () {
1849
- var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19() {
1778
+ var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1850
1779
  var options, preloadOptions;
1851
- return _regenerator.default.wrap(function _callee19$(_context19) {
1780
+ return _regenerator.default.wrap(function _callee21$(_context21) {
1852
1781
  while (1) {
1853
- switch (_context19.prev = _context19.next) {
1782
+ switch (_context21.prev = _context21.next) {
1854
1783
  case 0:
1855
1784
  if (this.Loader.preload) {
1856
- _context19.next = 2;
1785
+ _context21.next = 2;
1857
1786
  break;
1858
1787
  }
1859
1788
 
1860
- return _context19.abrupt("return", {});
1789
+ return _context21.abrupt("return", {});
1861
1790
 
1862
1791
  case 2:
1863
1792
  options = {
@@ -1865,20 +1794,20 @@ var I3SConverter = function () {
1865
1794
  accessToken: this.options.token || ION_DEFAULT_TOKEN
1866
1795
  }
1867
1796
  };
1868
- _context19.next = 5;
1797
+ _context21.next = 5;
1869
1798
  return this.Loader.preload(this.options.inputUrl, options);
1870
1799
 
1871
1800
  case 5:
1872
- preloadOptions = _context19.sent;
1801
+ preloadOptions = _context21.sent;
1873
1802
  this.refreshTokenTime = _process.default.hrtime();
1874
- return _context19.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1803
+ return _context21.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1875
1804
 
1876
1805
  case 8:
1877
1806
  case "end":
1878
- return _context19.stop();
1807
+ return _context21.stop();
1879
1808
  }
1880
1809
  }
1881
- }, _callee19, this);
1810
+ }, _callee21, this);
1882
1811
  }));
1883
1812
 
1884
1813
  function _fetchPreloadOptions() {
@@ -1890,28 +1819,28 @@ var I3SConverter = function () {
1890
1819
  }, {
1891
1820
  key: "_updateTilesetOptions",
1892
1821
  value: function () {
1893
- var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20() {
1822
+ var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
1894
1823
  var diff, preloadOptions;
1895
- return _regenerator.default.wrap(function _callee20$(_context20) {
1824
+ return _regenerator.default.wrap(function _callee22$(_context22) {
1896
1825
  while (1) {
1897
- switch (_context20.prev = _context20.next) {
1826
+ switch (_context22.prev = _context22.next) {
1898
1827
  case 0:
1899
1828
  diff = _process.default.hrtime(this.refreshTokenTime);
1900
1829
 
1901
1830
  if (!(diff[0] < REFRESH_TOKEN_TIMEOUT)) {
1902
- _context20.next = 3;
1831
+ _context22.next = 3;
1903
1832
  break;
1904
1833
  }
1905
1834
 
1906
- return _context20.abrupt("return");
1835
+ return _context22.abrupt("return");
1907
1836
 
1908
1837
  case 3:
1909
1838
  this.refreshTokenTime = _process.default.hrtime();
1910
- _context20.next = 6;
1839
+ _context22.next = 6;
1911
1840
  return this._fetchPreloadOptions();
1912
1841
 
1913
1842
  case 6:
1914
- preloadOptions = _context20.sent;
1843
+ preloadOptions = _context22.sent;
1915
1844
  this.sourceTileset.options = _objectSpread(_objectSpread({}, this.sourceTileset.options), preloadOptions);
1916
1845
 
1917
1846
  if (preloadOptions.headers) {
@@ -1923,10 +1852,10 @@ var I3SConverter = function () {
1923
1852
 
1924
1853
  case 9:
1925
1854
  case "end":
1926
- return _context20.stop();
1855
+ return _context22.stop();
1927
1856
  }
1928
1857
  }
1929
- }, _callee20, this);
1858
+ }, _callee22, this);
1930
1859
  }));
1931
1860
 
1932
1861
  function _updateTilesetOptions() {
@@ -1957,73 +1886,73 @@ var I3SConverter = function () {
1957
1886
  }, {
1958
1887
  key: "loadWorkers",
1959
1888
  value: function () {
1960
- var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1889
+ var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee23() {
1961
1890
  var url, _sourceResponse, _source, _url, _sourceResponse2, _source2, i3sAttributesWorkerUrl, sourceResponse, source;
1962
1891
 
1963
- return _regenerator.default.wrap(function _callee21$(_context21) {
1892
+ return _regenerator.default.wrap(function _callee23$(_context23) {
1964
1893
  while (1) {
1965
- switch (_context21.prev = _context21.next) {
1894
+ switch (_context23.prev = _context23.next) {
1966
1895
  case 0:
1967
1896
  console.log("Loading workers source...");
1968
1897
 
1969
1898
  if (!this.options.draco) {
1970
- _context21.next = 10;
1899
+ _context23.next = 10;
1971
1900
  break;
1972
1901
  }
1973
1902
 
1974
1903
  url = (0, _workerUtils.getWorkerURL)(_draco.DracoWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1975
- _context21.next = 5;
1904
+ _context23.next = 5;
1976
1905
  return (0, _core.fetchFile)(url);
1977
1906
 
1978
1907
  case 5:
1979
- _sourceResponse = _context21.sent;
1980
- _context21.next = 8;
1908
+ _sourceResponse = _context23.sent;
1909
+ _context23.next = 8;
1981
1910
  return _sourceResponse.text();
1982
1911
 
1983
1912
  case 8:
1984
- _source = _context21.sent;
1913
+ _source = _context23.sent;
1985
1914
  this.workerSource.draco = _source;
1986
1915
 
1987
1916
  case 10:
1988
1917
  if (!this.generateTextures) {
1989
- _context21.next = 19;
1918
+ _context23.next = 19;
1990
1919
  break;
1991
1920
  }
1992
1921
 
1993
1922
  _url = (0, _workerUtils.getWorkerURL)(_textures.KTX2BasisWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1994
- _context21.next = 14;
1923
+ _context23.next = 14;
1995
1924
  return (0, _core.fetchFile)(_url);
1996
1925
 
1997
1926
  case 14:
1998
- _sourceResponse2 = _context21.sent;
1999
- _context21.next = 17;
1927
+ _sourceResponse2 = _context23.sent;
1928
+ _context23.next = 17;
2000
1929
  return _sourceResponse2.text();
2001
1930
 
2002
1931
  case 17:
2003
- _source2 = _context21.sent;
1932
+ _source2 = _context23.sent;
2004
1933
  this.workerSource.ktx2 = _source2;
2005
1934
 
2006
1935
  case 19:
2007
1936
  i3sAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_i3sAttributesWorker.I3SAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
2008
- _context21.next = 22;
1937
+ _context23.next = 22;
2009
1938
  return (0, _core.fetchFile)(i3sAttributesWorkerUrl);
2010
1939
 
2011
1940
  case 22:
2012
- sourceResponse = _context21.sent;
2013
- _context21.next = 25;
1941
+ sourceResponse = _context23.sent;
1942
+ _context23.next = 25;
2014
1943
  return sourceResponse.text();
2015
1944
 
2016
1945
  case 25:
2017
- source = _context21.sent;
1946
+ source = _context23.sent;
2018
1947
  this.workerSource.I3SAttributes = source;
2019
1948
  console.log("Loading workers source completed!");
2020
1949
 
2021
1950
  case 28:
2022
1951
  case "end":
2023
- return _context21.stop();
1952
+ return _context23.stop();
2024
1953
  }
2025
1954
  }
2026
- }, _callee21, this);
1955
+ }, _callee23, this);
2027
1956
  }));
2028
1957
 
2029
1958
  function loadWorkers() {