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