@loaders.gl/tile-converter 3.4.0-alpha.1 → 3.4.0-alpha.3

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 (145) hide show
  1. package/dist/3d-tiles-attributes-worker.js +2 -2
  2. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  3. package/dist/converter.min.js +2956 -178
  4. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  5. package/dist/deps-installer/deps-installer.js +4 -1
  6. package/dist/dist.min.js +30025 -27482
  7. package/dist/es5/3d-tiles-attributes-worker.js +1 -2
  8. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  9. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +264 -287
  10. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  11. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +89 -113
  12. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  13. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  14. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -2
  15. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  16. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  17. package/dist/es5/constants.js.map +1 -1
  18. package/dist/es5/converter-cli.js +67 -81
  19. package/dist/es5/converter-cli.js.map +1 -1
  20. package/dist/es5/deps-installer/deps-installer.js +64 -69
  21. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  22. package/dist/es5/i3s-attributes-worker.js +1 -2
  23. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  24. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +0 -8
  25. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  26. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +0 -5
  27. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  28. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +14 -16
  29. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  30. package/dist/es5/i3s-converter/helpers/feature-attributes.js +1 -11
  31. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
  32. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +3 -10
  33. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  34. package/dist/es5/i3s-converter/helpers/geometry-converter.js +397 -449
  35. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  36. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +0 -2
  37. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  38. package/dist/es5/i3s-converter/helpers/node-debug.js +1 -9
  39. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  40. package/dist/es5/i3s-converter/helpers/node-index-document.js +293 -318
  41. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
  42. package/dist/es5/i3s-converter/helpers/node-pages.js +279 -319
  43. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  44. package/dist/es5/i3s-converter/i3s-converter.js +964 -1030
  45. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  46. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
  47. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  48. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  49. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  50. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  51. package/dist/es5/i3s-converter/json-templates/shared-resources.js +1 -1
  52. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  53. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  54. package/dist/es5/i3s-server/controllers/index-controller.js +28 -30
  55. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  56. package/dist/es5/i3s-server/routes/index.js +15 -18
  57. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  58. package/dist/es5/index.js.map +1 -1
  59. package/dist/es5/lib/utils/compress-util.js +198 -218
  60. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  61. package/dist/es5/lib/utils/file-utils.js +118 -128
  62. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  63. package/dist/es5/lib/utils/lod-conversion-utils.js +0 -1
  64. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  65. package/dist/es5/lib/utils/queue.js.map +1 -1
  66. package/dist/es5/lib/utils/statistic-utills.js +81 -85
  67. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  68. package/dist/es5/lib/utils/write-queue.js +84 -92
  69. package/dist/es5/lib/utils/write-queue.js.map +1 -1
  70. package/dist/es5/pgm-loader.js +7 -10
  71. package/dist/es5/pgm-loader.js.map +1 -1
  72. package/dist/es5/workers/3d-tiles-attributes-worker.js +7 -9
  73. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
  74. package/dist/es5/workers/i3s-attributes-worker.js +10 -12
  75. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
  76. package/dist/esm/3d-tiles-attributes-worker.js +1 -3
  77. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  78. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +1 -15
  79. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  80. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +0 -12
  81. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  82. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -1
  83. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  84. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +0 -3
  85. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  86. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  87. package/dist/esm/bundle.js +0 -1
  88. package/dist/esm/bundle.js.map +1 -1
  89. package/dist/esm/converter-cli.js +0 -11
  90. package/dist/esm/converter-cli.js.map +1 -1
  91. package/dist/esm/deps-installer/deps-installer.js +2 -5
  92. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  93. package/dist/esm/i3s-attributes-worker.js +1 -3
  94. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  95. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +0 -8
  96. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  97. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +0 -5
  98. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  99. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +0 -1
  100. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  101. package/dist/esm/i3s-converter/helpers/feature-attributes.js +0 -11
  102. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
  103. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +0 -7
  104. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  105. package/dist/esm/i3s-converter/helpers/geometry-converter.js +0 -48
  106. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  107. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +0 -3
  108. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  109. package/dist/esm/i3s-converter/helpers/node-debug.js +1 -9
  110. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  111. package/dist/esm/i3s-converter/helpers/node-index-document.js +0 -14
  112. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
  113. package/dist/esm/i3s-converter/helpers/node-pages.js +0 -18
  114. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  115. package/dist/esm/i3s-converter/i3s-converter.js +4 -42
  116. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  117. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
  118. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  119. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  120. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  121. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  122. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  123. package/dist/esm/i3s-server/controllers/index-controller.js +0 -2
  124. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  125. package/dist/esm/i3s-server/routes/index.js +0 -1
  126. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  127. package/dist/esm/lib/utils/compress-util.js +1 -17
  128. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  129. package/dist/esm/lib/utils/file-utils.js +0 -7
  130. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  131. package/dist/esm/lib/utils/lod-conversion-utils.js +0 -2
  132. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  133. package/dist/esm/lib/utils/queue.js.map +1 -1
  134. package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
  135. package/dist/esm/lib/utils/write-queue.js +0 -2
  136. package/dist/esm/lib/utils/write-queue.js.map +1 -1
  137. package/dist/esm/pgm-loader.js +1 -3
  138. package/dist/esm/pgm-loader.js.map +1 -1
  139. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
  140. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
  141. package/dist/i3s-attributes-worker.js +2 -2
  142. package/dist/i3s-attributes-worker.js.map +3 -3
  143. package/dist/i3s-converter/helpers/node-pages.js +1 -1
  144. package/package.json +21 -20
  145. package/src/deps-installer/deps-installer.ts +4 -1
@@ -31,9 +31,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
31
31
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
32
  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; } } }; }
33
33
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
34
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
35
35
  var I3S = 'I3S';
36
-
37
36
  var Tiles3DConverter = function () {
38
37
  function Tiles3DConverter() {
39
38
  (0, _classCallCheck2.default)(this, Tiles3DConverter);
@@ -54,101 +53,97 @@ var Tiles3DConverter = function () {
54
53
  this.attributeStorageInfo = null;
55
54
  this.workerSource = {};
56
55
  }
57
-
58
56
  (0, _createClass2.default)(Tiles3DConverter, [{
59
57
  key: "convert",
60
58
  value: function () {
61
59
  var _convert = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
62
60
  var inputUrl, outputPath, tilesetName, maxDepth, egmFilePath, sourceTilesetJson, rootNode, rootTile, tileset, workerFarm;
63
61
  return _regenerator.default.wrap(function _callee$(_context) {
64
- while (1) {
65
- switch (_context.prev = _context.next) {
66
- case 0:
67
- if (!_core.isBrowser) {
68
- _context.next = 3;
69
- break;
70
- }
71
- console.log(_constants.BROWSER_ERROR_MESSAGE);
72
- return _context.abrupt("return", _constants.BROWSER_ERROR_MESSAGE);
73
- case 3:
74
- inputUrl = options.inputUrl, outputPath = options.outputPath, tilesetName = options.tilesetName, maxDepth = options.maxDepth, egmFilePath = options.egmFilePath;
75
- this.conversionStartTime = _process.default.hrtime();
76
- this.options = {
77
- maxDepth: maxDepth
78
- };
79
- console.log('Loading egm file...');
80
- _context.next = 9;
81
- return (0, _core.load)(egmFilePath, _pgmLoader.PGMLoader);
82
- case 9:
83
- this.geoidHeightModel = _context.sent;
84
- console.log('Loading egm file completed!');
85
- _context.next = 13;
86
- return this.loadWorkers();
87
- case 13:
88
- _context.next = 15;
89
- return (0, _core.load)(inputUrl, _i3s.I3SLoader, {});
90
- case 15:
91
- sourceTilesetJson = _context.sent;
92
- this.sourceTileset = new _tiles.Tileset3D(sourceTilesetJson, {
93
- loadOptions: {
94
- _nodeWorkers: true,
95
- reuseWorkers: true,
96
- 'i3s-content-nodejs': {
97
- workerUrl: './modules/i3s/dist/i3s-content-nodejs-worker.js'
98
- },
99
- i3s: {
100
- coordinateSystem: _i3s.COORDINATE_SYSTEM.LNGLAT_OFFSETS,
101
- decodeTextures: false
102
- }
103
- }
104
- });
105
- _context.next = 19;
106
- return this.sourceTileset.tilesetInitializationPromise;
107
- case 19:
108
- rootNode = this.sourceTileset.root;
109
- if (!rootNode.header.obb) {
110
- rootNode.header.obb = (0, _coordinateConverter.createObbFromMbs)(rootNode.header.mbs);
111
- }
112
- this.tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
113
- this.attributeStorageInfo = sourceTilesetJson.attributeStorageInfo;
114
- _context.prev = 23;
115
- _context.next = 26;
116
- return (0, _fileUtils.removeDir)(this.tilesetPath);
117
- case 26:
118
- _context.next = 30;
62
+ while (1) switch (_context.prev = _context.next) {
63
+ case 0:
64
+ if (!_core.isBrowser) {
65
+ _context.next = 3;
119
66
  break;
120
- case 28:
121
- _context.prev = 28;
122
- _context.t0 = _context["catch"](23);
123
- case 30:
124
- rootTile = {
125
- boundingVolume: {
126
- box: (0, _i3sObbTo3dTilesObb.i3sObbTo3dTilesObb)(rootNode.header.obb, this.geoidHeightModel)
67
+ }
68
+ console.log(_constants.BROWSER_ERROR_MESSAGE);
69
+ return _context.abrupt("return", _constants.BROWSER_ERROR_MESSAGE);
70
+ case 3:
71
+ inputUrl = options.inputUrl, outputPath = options.outputPath, tilesetName = options.tilesetName, maxDepth = options.maxDepth, egmFilePath = options.egmFilePath;
72
+ this.conversionStartTime = _process.default.hrtime();
73
+ this.options = {
74
+ maxDepth: maxDepth
75
+ };
76
+ console.log('Loading egm file...');
77
+ _context.next = 9;
78
+ return (0, _core.load)(egmFilePath, _pgmLoader.PGMLoader);
79
+ case 9:
80
+ this.geoidHeightModel = _context.sent;
81
+ console.log('Loading egm file completed!');
82
+ _context.next = 13;
83
+ return this.loadWorkers();
84
+ case 13:
85
+ _context.next = 15;
86
+ return (0, _core.load)(inputUrl, _i3s.I3SLoader, {});
87
+ case 15:
88
+ sourceTilesetJson = _context.sent;
89
+ this.sourceTileset = new _tiles.Tileset3D(sourceTilesetJson, {
90
+ loadOptions: {
91
+ _nodeWorkers: true,
92
+ reuseWorkers: true,
93
+ 'i3s-content-nodejs': {
94
+ workerUrl: './modules/i3s/dist/i3s-content-nodejs-worker.js'
127
95
  },
128
- geometricError: (0, _lodConversionUtils.convertScreenThresholdToGeometricError)(rootNode),
129
- children: []
130
- };
131
- _context.next = 33;
132
- return this._addChildren(rootNode, rootTile, 1);
133
- case 33:
134
- tileset = (0, _jsonMapTransform.default)({
135
- root: rootTile
136
- }, (0, _tileset.TILESET)());
137
- _context.next = 36;
138
- return (0, _fileUtils.writeFile)(this.tilesetPath, JSON.stringify(tileset), 'tileset.json');
139
- case 36:
140
- this._finishConversion({
141
- slpk: false,
142
- outputPath: outputPath,
143
- tilesetName: tilesetName
144
- });
145
-
146
- workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
147
- workerFarm.destroy();
148
- case 39:
149
- case "end":
150
- return _context.stop();
151
- }
96
+ i3s: {
97
+ coordinateSystem: _i3s.COORDINATE_SYSTEM.LNGLAT_OFFSETS,
98
+ decodeTextures: false
99
+ }
100
+ }
101
+ });
102
+ _context.next = 19;
103
+ return this.sourceTileset.tilesetInitializationPromise;
104
+ case 19:
105
+ rootNode = this.sourceTileset.root;
106
+ if (!rootNode.header.obb) {
107
+ rootNode.header.obb = (0, _coordinateConverter.createObbFromMbs)(rootNode.header.mbs);
108
+ }
109
+ this.tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
110
+ this.attributeStorageInfo = sourceTilesetJson.attributeStorageInfo;
111
+ _context.prev = 23;
112
+ _context.next = 26;
113
+ return (0, _fileUtils.removeDir)(this.tilesetPath);
114
+ case 26:
115
+ _context.next = 30;
116
+ break;
117
+ case 28:
118
+ _context.prev = 28;
119
+ _context.t0 = _context["catch"](23);
120
+ case 30:
121
+ rootTile = {
122
+ boundingVolume: {
123
+ box: (0, _i3sObbTo3dTilesObb.i3sObbTo3dTilesObb)(rootNode.header.obb, this.geoidHeightModel)
124
+ },
125
+ geometricError: (0, _lodConversionUtils.convertScreenThresholdToGeometricError)(rootNode),
126
+ children: []
127
+ };
128
+ _context.next = 33;
129
+ return this._addChildren(rootNode, rootTile, 1);
130
+ case 33:
131
+ tileset = (0, _jsonMapTransform.default)({
132
+ root: rootTile
133
+ }, (0, _tileset.TILESET)());
134
+ _context.next = 36;
135
+ return (0, _fileUtils.writeFile)(this.tilesetPath, JSON.stringify(tileset), 'tileset.json');
136
+ case 36:
137
+ this._finishConversion({
138
+ slpk: false,
139
+ outputPath: outputPath,
140
+ tilesetName: tilesetName
141
+ });
142
+ workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
143
+ workerFarm.destroy();
144
+ case 39:
145
+ case "end":
146
+ return _context.stop();
152
147
  }
153
148
  }, _callee, this, [[23, 28]]);
154
149
  }));
@@ -163,75 +158,73 @@ var Tiles3DConverter = function () {
163
158
  var _convertChildNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parentSourceNode, parentNode, level, childNodeInfo) {
164
159
  var sourceChild, _sourceChild$header, featureAttributes, boundingVolume, child, i3sAttributesData, b3dm;
165
160
  return _regenerator.default.wrap(function _callee2$(_context2) {
166
- while (1) {
167
- switch (_context2.prev = _context2.next) {
168
- case 0:
169
- _context2.next = 2;
170
- return this._loadChildNode(parentSourceNode, childNodeInfo);
171
- case 2:
172
- sourceChild = _context2.sent;
173
- parentSourceNode.children.push(sourceChild);
174
- if (!sourceChild.contentUrl) {
175
- _context2.next = 29;
176
- break;
177
- }
178
- _context2.next = 7;
179
- return this.sourceTileset._loadTile(sourceChild);
180
- case 7:
181
- this.vertexCounter += sourceChild.content.vertexCount;
182
- featureAttributes = null;
183
- if (!this.attributeStorageInfo) {
184
- _context2.next = 13;
185
- break;
186
- }
187
- _context2.next = 12;
188
- return this._loadChildAttributes(sourceChild, this.attributeStorageInfo);
189
- case 12:
190
- featureAttributes = _context2.sent;
191
- case 13:
192
- if (!sourceChild.header.obb) {
193
- sourceChild.header.obb = (0, _coordinateConverter.createObbFromMbs)(sourceChild.header.mbs);
194
- }
195
- boundingVolume = {
196
- box: (0, _i3sObbTo3dTilesObb.i3sObbTo3dTilesObb)(sourceChild.header.obb, this.geoidHeightModel)
197
- };
198
- child = {
199
- boundingVolume: boundingVolume,
200
- geometricError: (0, _lodConversionUtils.convertScreenThresholdToGeometricError)(sourceChild),
201
- children: []
202
- };
203
- i3sAttributesData = {
204
- tileContent: sourceChild.content,
205
- textureFormat: sourceChild === null || sourceChild === void 0 ? void 0 : (_sourceChild$header = sourceChild.header) === null || _sourceChild$header === void 0 ? void 0 : _sourceChild$header.textureFormat
206
- };
207
- _context2.next = 19;
208
- return (0, _dTilesAttributesWorker.transform3DTilesAttributesOnWorker)(i3sAttributesData, {
209
- source: this.workerSource.tile3dWorkerSource,
210
- featureAttributes: featureAttributes
211
- });
212
- case 19:
213
- b3dm = _context2.sent;
214
- child.content = {
215
- uri: "".concat(sourceChild.id, ".b3dm"),
216
- boundingVolume: boundingVolume
217
- };
218
- _context2.next = 23;
219
- return (0, _fileUtils.writeFile)(this.tilesetPath, new Uint8Array(b3dm), "".concat(sourceChild.id, ".b3dm"));
220
- case 23:
221
- parentNode.children.push(child);
222
- sourceChild.unloadContent();
223
- _context2.next = 27;
224
- return this._addChildren(sourceChild, child, level + 1);
225
- case 27:
226
- _context2.next = 31;
161
+ while (1) switch (_context2.prev = _context2.next) {
162
+ case 0:
163
+ _context2.next = 2;
164
+ return this._loadChildNode(parentSourceNode, childNodeInfo);
165
+ case 2:
166
+ sourceChild = _context2.sent;
167
+ parentSourceNode.children.push(sourceChild);
168
+ if (!sourceChild.contentUrl) {
169
+ _context2.next = 29;
170
+ break;
171
+ }
172
+ _context2.next = 7;
173
+ return this.sourceTileset._loadTile(sourceChild);
174
+ case 7:
175
+ this.vertexCounter += sourceChild.content.vertexCount;
176
+ featureAttributes = null;
177
+ if (!this.attributeStorageInfo) {
178
+ _context2.next = 13;
227
179
  break;
228
- case 29:
229
- _context2.next = 31;
230
- return this._addChildren(sourceChild, parentNode, level + 1);
231
- case 31:
232
- case "end":
233
- return _context2.stop();
234
- }
180
+ }
181
+ _context2.next = 12;
182
+ return this._loadChildAttributes(sourceChild, this.attributeStorageInfo);
183
+ case 12:
184
+ featureAttributes = _context2.sent;
185
+ case 13:
186
+ if (!sourceChild.header.obb) {
187
+ sourceChild.header.obb = (0, _coordinateConverter.createObbFromMbs)(sourceChild.header.mbs);
188
+ }
189
+ boundingVolume = {
190
+ box: (0, _i3sObbTo3dTilesObb.i3sObbTo3dTilesObb)(sourceChild.header.obb, this.geoidHeightModel)
191
+ };
192
+ child = {
193
+ boundingVolume: boundingVolume,
194
+ geometricError: (0, _lodConversionUtils.convertScreenThresholdToGeometricError)(sourceChild),
195
+ children: []
196
+ };
197
+ i3sAttributesData = {
198
+ tileContent: sourceChild.content,
199
+ textureFormat: sourceChild === null || sourceChild === void 0 ? void 0 : (_sourceChild$header = sourceChild.header) === null || _sourceChild$header === void 0 ? void 0 : _sourceChild$header.textureFormat
200
+ };
201
+ _context2.next = 19;
202
+ return (0, _dTilesAttributesWorker.transform3DTilesAttributesOnWorker)(i3sAttributesData, {
203
+ source: this.workerSource.tile3dWorkerSource,
204
+ featureAttributes: featureAttributes
205
+ });
206
+ case 19:
207
+ b3dm = _context2.sent;
208
+ child.content = {
209
+ uri: "".concat(sourceChild.id, ".b3dm"),
210
+ boundingVolume: boundingVolume
211
+ };
212
+ _context2.next = 23;
213
+ return (0, _fileUtils.writeFile)(this.tilesetPath, new Uint8Array(b3dm), "".concat(sourceChild.id, ".b3dm"));
214
+ case 23:
215
+ parentNode.children.push(child);
216
+ sourceChild.unloadContent();
217
+ _context2.next = 27;
218
+ return this._addChildren(sourceChild, child, level + 1);
219
+ case 27:
220
+ _context2.next = 31;
221
+ break;
222
+ case 29:
223
+ _context2.next = 31;
224
+ return this._addChildren(sourceChild, parentNode, level + 1);
225
+ case 31:
226
+ case "end":
227
+ return _context2.stop();
235
228
  }
236
229
  }, _callee2, this);
237
230
  }));
@@ -246,33 +239,31 @@ var Tiles3DConverter = function () {
246
239
  var _addChildren2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(parentSourceNode, parentNode, level) {
247
240
  var promises, _iterator, _step, childNodeInfo;
248
241
  return _regenerator.default.wrap(function _callee3$(_context3) {
249
- while (1) {
250
- switch (_context3.prev = _context3.next) {
251
- case 0:
252
- if (!(this.options.maxDepth && level > this.options.maxDepth)) {
253
- _context3.next = 2;
254
- break;
255
- }
256
- return _context3.abrupt("return");
257
- case 2:
258
- promises = [];
259
- _iterator = _createForOfIteratorHelper(parentSourceNode.header.children || []);
260
- try {
261
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
262
- childNodeInfo = _step.value;
263
- promises.push(this.convertChildNode(parentSourceNode, parentNode, level, childNodeInfo));
264
- }
265
- } catch (err) {
266
- _iterator.e(err);
267
- } finally {
268
- _iterator.f();
242
+ while (1) switch (_context3.prev = _context3.next) {
243
+ case 0:
244
+ if (!(this.options.maxDepth && level > this.options.maxDepth)) {
245
+ _context3.next = 2;
246
+ break;
247
+ }
248
+ return _context3.abrupt("return");
249
+ case 2:
250
+ promises = [];
251
+ _iterator = _createForOfIteratorHelper(parentSourceNode.header.children || []);
252
+ try {
253
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
254
+ childNodeInfo = _step.value;
255
+ promises.push(this.convertChildNode(parentSourceNode, parentNode, level, childNodeInfo));
269
256
  }
270
- _context3.next = 7;
271
- return Promise.all(promises);
272
- case 7:
273
- case "end":
274
- return _context3.stop();
275
- }
257
+ } catch (err) {
258
+ _iterator.e(err);
259
+ } finally {
260
+ _iterator.f();
261
+ }
262
+ _context3.next = 7;
263
+ return Promise.all(promises);
264
+ case 7:
265
+ case "end":
266
+ return _context3.stop();
276
267
  }
277
268
  }, _callee3, this);
278
269
  }));
@@ -287,40 +278,38 @@ var Tiles3DConverter = function () {
287
278
  var _loadChildNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(parentNode, childNodeInfo) {
288
279
  var header, _ref, loader, nodeUrl, options;
289
280
  return _regenerator.default.wrap(function _callee4$(_context4) {
290
- while (1) {
291
- switch (_context4.prev = _context4.next) {
292
- case 0:
293
- if (!this.sourceTileset.tileset.nodePages) {
294
- _context4.next = 7;
295
- break;
296
- }
297
- console.log("Node conversion: ".concat(childNodeInfo.id));
298
- _context4.next = 4;
299
- return this.sourceTileset.tileset.nodePagesTile.formTileFromNodePages(childNodeInfo.id);
300
- case 4:
301
- header = _context4.sent;
302
- _context4.next = 14;
281
+ while (1) switch (_context4.prev = _context4.next) {
282
+ case 0:
283
+ if (!this.sourceTileset.tileset.nodePages) {
284
+ _context4.next = 7;
303
285
  break;
304
- case 7:
305
- _ref = this.sourceTileset, loader = _ref.loader;
306
- nodeUrl = this._relativeUrlToFullUrl(parentNode.url, childNodeInfo.href);
307
- options = {
308
- i3s: _objectSpread(_objectSpread({}, this.sourceTileset.loadOptions), {}, {
309
- isTileHeader: true,
310
- loadContent: false
311
- })
312
- };
313
- console.log("Node conversion: ".concat(nodeUrl));
314
- _context4.next = 13;
315
- return (0, _core.load)(nodeUrl, loader, options);
316
- case 13:
317
- header = _context4.sent;
318
- case 14:
319
- return _context4.abrupt("return", new _tiles.Tile3D(this.sourceTileset, header, parentNode));
320
- case 15:
321
- case "end":
322
- return _context4.stop();
323
- }
286
+ }
287
+ console.log("Node conversion: ".concat(childNodeInfo.id));
288
+ _context4.next = 4;
289
+ return this.sourceTileset.tileset.nodePagesTile.formTileFromNodePages(childNodeInfo.id);
290
+ case 4:
291
+ header = _context4.sent;
292
+ _context4.next = 14;
293
+ break;
294
+ case 7:
295
+ _ref = this.sourceTileset, loader = _ref.loader;
296
+ nodeUrl = this._relativeUrlToFullUrl(parentNode.url, childNodeInfo.href);
297
+ options = {
298
+ i3s: _objectSpread(_objectSpread({}, this.sourceTileset.loadOptions), {}, {
299
+ isTileHeader: true,
300
+ loadContent: false
301
+ })
302
+ };
303
+ console.log("Node conversion: ".concat(nodeUrl));
304
+ _context4.next = 13;
305
+ return (0, _core.load)(nodeUrl, loader, options);
306
+ case 13:
307
+ header = _context4.sent;
308
+ case 14:
309
+ return _context4.abrupt("return", new _tiles.Tile3D(this.sourceTileset, header, parentNode));
310
+ case 15:
311
+ case "end":
312
+ return _context4.stop();
324
313
  }
325
314
  }, _callee4, this);
326
315
  }));
@@ -331,8 +320,7 @@ var Tiles3DConverter = function () {
331
320
  }()
332
321
  }, {
333
322
  key: "_relativeUrlToFullUrl",
334
- value:
335
- function _relativeUrlToFullUrl(baseUrl, relativeUrl) {
323
+ value: function _relativeUrlToFullUrl(baseUrl, relativeUrl) {
336
324
  var resultArray = baseUrl.split('/');
337
325
  var relativeUrlArray = relativeUrl.split('/');
338
326
  var _iterator2 = _createForOfIteratorHelper(relativeUrlArray),
@@ -357,37 +345,34 @@ var Tiles3DConverter = function () {
357
345
  }
358
346
  return resultArray.join('/');
359
347
  }
360
-
361
348
  }, {
362
349
  key: "_loadChildAttributes",
363
350
  value: function () {
364
351
  var _loadChildAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(sourceChild, attributeStorageInfo) {
365
352
  var promises, attributeUrls, index, inputUrl, attribute, options, attributesList;
366
353
  return _regenerator.default.wrap(function _callee5$(_context5) {
367
- while (1) {
368
- switch (_context5.prev = _context5.next) {
369
- case 0:
370
- promises = [];
371
- attributeUrls = sourceChild.header.attributeUrls;
372
- for (index = 0; index < attributeUrls.length; index++) {
373
- inputUrl = attributeUrls[index];
374
- attribute = attributeStorageInfo[index];
375
- options = {
376
- attributeName: attribute.name,
377
- attributeType: this._getAttributeType(attribute)
378
- };
379
- promises.push((0, _core.load)(inputUrl, _i3s.I3SAttributeLoader, options));
380
- }
381
- _context5.next = 5;
382
- return Promise.all(promises);
383
- case 5:
384
- attributesList = _context5.sent;
385
- this._replaceNestedArrays(attributesList);
386
- return _context5.abrupt("return", Object.assign.apply(Object, [{}].concat((0, _toConsumableArray2.default)(attributesList))));
387
- case 8:
388
- case "end":
389
- return _context5.stop();
390
- }
354
+ while (1) switch (_context5.prev = _context5.next) {
355
+ case 0:
356
+ promises = [];
357
+ attributeUrls = sourceChild.header.attributeUrls;
358
+ for (index = 0; index < attributeUrls.length; index++) {
359
+ inputUrl = attributeUrls[index];
360
+ attribute = attributeStorageInfo[index];
361
+ options = {
362
+ attributeName: attribute.name,
363
+ attributeType: this._getAttributeType(attribute)
364
+ };
365
+ promises.push((0, _core.load)(inputUrl, _i3s.I3SAttributeLoader, options));
366
+ }
367
+ _context5.next = 5;
368
+ return Promise.all(promises);
369
+ case 5:
370
+ attributesList = _context5.sent;
371
+ this._replaceNestedArrays(attributesList);
372
+ return _context5.abrupt("return", Object.assign.apply(Object, [{}].concat((0, _toConsumableArray2.default)(attributesList))));
373
+ case 8:
374
+ case "end":
375
+ return _context5.stop();
391
376
  }
392
377
  }, _callee5, this);
393
378
  }));
@@ -398,8 +383,7 @@ var Tiles3DConverter = function () {
398
383
  }()
399
384
  }, {
400
385
  key: "_getAttributeType",
401
- value:
402
- function _getAttributeType(attribute) {
386
+ value: function _getAttributeType(attribute) {
403
387
  if (attribute.attributeValues) {
404
388
  return attribute.attributeValues.valueType;
405
389
  } else if (attribute.objectIds) {
@@ -407,11 +391,9 @@ var Tiles3DConverter = function () {
407
391
  }
408
392
  return '';
409
393
  }
410
-
411
394
  }, {
412
395
  key: "_replaceNestedArrays",
413
- value:
414
- function _replaceNestedArrays(attributesList) {
396
+ value: function _replaceNestedArrays(attributesList) {
415
397
  for (var index = 0; index < attributesList.length; index++) {
416
398
  var attributeObject = attributesList[index];
417
399
  for (var _key in attributeObject) {
@@ -419,32 +401,29 @@ var Tiles3DConverter = function () {
419
401
  }
420
402
  }
421
403
  }
422
-
423
404
  }, {
424
405
  key: "_finishConversion",
425
406
  value: function () {
426
407
  var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(params) {
427
408
  var filesSize, diff, conversionTime;
428
409
  return _regenerator.default.wrap(function _callee6$(_context6) {
429
- while (1) {
430
- switch (_context6.prev = _context6.next) {
431
- case 0:
432
- _context6.next = 2;
433
- return (0, _statisticUtills.calculateFilesSize)(params);
434
- case 2:
435
- filesSize = _context6.sent;
436
- diff = _process.default.hrtime(this.conversionStartTime);
437
- conversionTime = (0, _statisticUtills.timeConverter)(diff);
438
- console.log("------------------------------------------------");
439
- console.log("Finish conversion of ".concat(I3S));
440
- console.log("Total conversion time: ".concat(conversionTime));
441
- console.log("Vertex count: ", this.vertexCounter);
442
- console.log("File(s) size: ", filesSize, ' bytes');
443
- console.log("------------------------------------------------");
444
- case 11:
445
- case "end":
446
- return _context6.stop();
447
- }
410
+ while (1) switch (_context6.prev = _context6.next) {
411
+ case 0:
412
+ _context6.next = 2;
413
+ return (0, _statisticUtills.calculateFilesSize)(params);
414
+ case 2:
415
+ filesSize = _context6.sent;
416
+ diff = _process.default.hrtime(this.conversionStartTime);
417
+ conversionTime = (0, _statisticUtills.timeConverter)(diff);
418
+ console.log("------------------------------------------------");
419
+ console.log("Finish conversion of ".concat(I3S));
420
+ console.log("Total conversion time: ".concat(conversionTime));
421
+ console.log("Vertex count: ", this.vertexCounter);
422
+ console.log("File(s) size: ", filesSize, ' bytes');
423
+ console.log("------------------------------------------------");
424
+ case 11:
425
+ case "end":
426
+ return _context6.stop();
448
427
  }
449
428
  }, _callee6, this);
450
429
  }));
@@ -459,25 +438,23 @@ var Tiles3DConverter = function () {
459
438
  var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7() {
460
439
  var tile3dAttributesWorkerUrl, sourceResponse, source;
461
440
  return _regenerator.default.wrap(function _callee7$(_context7) {
462
- while (1) {
463
- switch (_context7.prev = _context7.next) {
464
- case 0:
465
- console.log("Loading workers source...");
466
- tile3dAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_dTilesAttributesWorker.Tile3dAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
467
- _context7.next = 4;
468
- return (0, _core.fetchFile)(tile3dAttributesWorkerUrl);
469
- case 4:
470
- sourceResponse = _context7.sent;
471
- _context7.next = 7;
472
- return sourceResponse.text();
473
- case 7:
474
- source = _context7.sent;
475
- this.workerSource.tile3dWorkerSource = source;
476
- console.log("Loading workers source completed!");
477
- case 10:
478
- case "end":
479
- return _context7.stop();
480
- }
441
+ while (1) switch (_context7.prev = _context7.next) {
442
+ case 0:
443
+ console.log("Loading workers source...");
444
+ tile3dAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_dTilesAttributesWorker.Tile3dAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
445
+ _context7.next = 4;
446
+ return (0, _core.fetchFile)(tile3dAttributesWorkerUrl);
447
+ case 4:
448
+ sourceResponse = _context7.sent;
449
+ _context7.next = 7;
450
+ return sourceResponse.text();
451
+ case 7:
452
+ source = _context7.sent;
453
+ this.workerSource.tile3dWorkerSource = source;
454
+ console.log("Loading workers source completed!");
455
+ case 10:
456
+ case "end":
457
+ return _context7.stop();
481
458
  }
482
459
  }, _callee7, this);
483
460
  }));