@loaders.gl/tile-converter 3.4.0-alpha.2 → 3.4.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.
- package/dist/3d-tiles-attributes-worker.js +2 -2
- package/dist/3d-tiles-attributes-worker.js.map +3 -3
- package/dist/converter.min.js +90 -2875
- package/dist/dist.min.js +1823 -19725
- package/dist/es5/3d-tiles-attributes-worker.js +1 -2
- package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +264 -287
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +89 -113
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -2
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/converter-cli.js +67 -81
- package/dist/es5/converter-cli.js.map +1 -1
- package/dist/es5/deps-installer/deps-installer.js +64 -69
- package/dist/es5/deps-installer/deps-installer.js.map +1 -1
- package/dist/es5/i3s-attributes-worker.js +1 -2
- package/dist/es5/i3s-attributes-worker.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +0 -8
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js +0 -5
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +14 -16
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +1 -11
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +3 -10
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +427 -457
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +0 -2
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/node-debug.js +3 -13
- package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/node-index-document.js +293 -318
- package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/node-pages.js +279 -319
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +964 -1030
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/shared-resources.js +1 -1
- package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
- package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
- package/dist/es5/i3s-converter/types.js.map +1 -1
- package/dist/es5/i3s-server/app.js.map +1 -1
- package/dist/es5/i3s-server/controllers/index-controller.js +28 -30
- package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
- package/dist/es5/i3s-server/routes/index.js +15 -18
- package/dist/es5/i3s-server/routes/index.js.map +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/utils/compress-util.js +198 -218
- package/dist/es5/lib/utils/compress-util.js.map +1 -1
- package/dist/es5/lib/utils/file-utils.js +118 -128
- package/dist/es5/lib/utils/file-utils.js.map +1 -1
- package/dist/es5/lib/utils/lod-conversion-utils.js +0 -1
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/es5/lib/utils/queue.js.map +1 -1
- package/dist/es5/lib/utils/statistic-utills.js +81 -85
- package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
- package/dist/es5/lib/utils/write-queue.js +84 -92
- package/dist/es5/lib/utils/write-queue.js.map +1 -1
- package/dist/es5/pgm-loader.js +7 -10
- package/dist/es5/pgm-loader.js.map +1 -1
- package/dist/es5/workers/3d-tiles-attributes-worker.js +7 -9
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
- package/dist/es5/workers/i3s-attributes-worker.js +10 -12
- package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
- package/dist/esm/3d-tiles-attributes-worker.js +1 -3
- package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +1 -15
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +0 -12
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -1
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +0 -3
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/converter-cli.js +0 -11
- package/dist/esm/converter-cli.js.map +1 -1
- package/dist/esm/deps-installer/deps-installer.js +1 -4
- package/dist/esm/deps-installer/deps-installer.js.map +1 -1
- package/dist/esm/i3s-attributes-worker.js +1 -3
- package/dist/esm/i3s-attributes-worker.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +0 -8
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js +0 -5
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +0 -1
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/feature-attributes.js +0 -11
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js +0 -7
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +30 -56
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +0 -3
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/node-debug.js +3 -13
- package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/node-index-document.js +0 -14
- package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/node-pages.js +0 -18
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +4 -42
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
- package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
- package/dist/esm/i3s-converter/types.js.map +1 -1
- package/dist/esm/i3s-server/app.js.map +1 -1
- package/dist/esm/i3s-server/controllers/index-controller.js +0 -2
- package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
- package/dist/esm/i3s-server/routes/index.js +0 -1
- package/dist/esm/i3s-server/routes/index.js.map +1 -1
- package/dist/esm/lib/utils/compress-util.js +1 -17
- package/dist/esm/lib/utils/compress-util.js.map +1 -1
- package/dist/esm/lib/utils/file-utils.js +0 -7
- package/dist/esm/lib/utils/file-utils.js.map +1 -1
- package/dist/esm/lib/utils/lod-conversion-utils.js +0 -2
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/esm/lib/utils/queue.js.map +1 -1
- package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
- package/dist/esm/lib/utils/write-queue.js +0 -2
- package/dist/esm/lib/utils/write-queue.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -3
- package/dist/esm/pgm-loader.js.map +1 -1
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
- package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
- package/dist/i3s-attributes-worker.js +2 -2
- package/dist/i3s-attributes-worker.js.map +3 -3
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.js +44 -6
- package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/node-debug.js +10 -4
- package/dist/i3s-converter/helpers/node-pages.js +1 -1
- package/dist/i3s-converter/types.d.ts +1 -0
- package/dist/i3s-converter/types.d.ts.map +1 -1
- package/package.json +15 -16
- package/src/i3s-converter/helpers/geometry-converter.ts +59 -14
- package/src/i3s-converter/helpers/node-debug.ts +11 -5
- package/src/i3s-converter/types.ts +10 -0
|
@@ -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++)
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
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
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
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
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
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
|
}));
|