@loaders.gl/tile-converter 3.3.0-alpha.8 → 3.3.1
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-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 +1167 -848
- 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.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 +194 -93
- 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 +28 -2
- 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 +18 -2
- 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
|
@@ -14,21 +14,26 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
14
14
|
var _path = require("path");
|
|
15
15
|
var _jsonMapTransform = _interopRequireDefault(require("json-map-transform"));
|
|
16
16
|
var _metadata = require("../json-templates/metadata");
|
|
17
|
+
var _fileUtils = require("../../lib/utils/file-utils");
|
|
17
18
|
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; } } }; }
|
|
18
19
|
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); }
|
|
19
20
|
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; }
|
|
20
21
|
var NodePages = function () {
|
|
21
|
-
function NodePages(writeFileFunc, nodesPerPage) {
|
|
22
|
+
function NodePages(writeFileFunc, nodesPerPage, converter) {
|
|
22
23
|
(0, _classCallCheck2.default)(this, NodePages);
|
|
23
24
|
(0, _defineProperty2.default)(this, "nodesPerPage", void 0);
|
|
24
25
|
(0, _defineProperty2.default)(this, "nodesCounter", void 0);
|
|
25
26
|
(0, _defineProperty2.default)(this, "writeFile", void 0);
|
|
27
|
+
(0, _defineProperty2.default)(this, "converter", void 0);
|
|
26
28
|
(0, _defineProperty2.default)(this, "nodePages", void 0);
|
|
29
|
+
(0, _defineProperty2.default)(this, "length", 0);
|
|
27
30
|
this.nodesPerPage = nodesPerPage;
|
|
28
31
|
this.nodesCounter = 0;
|
|
29
32
|
this.nodePages = [{}];
|
|
30
33
|
this.nodePages[0].nodes = [];
|
|
31
34
|
this.writeFile = writeFileFunc;
|
|
35
|
+
this.converter = converter;
|
|
36
|
+
this.length = 0;
|
|
32
37
|
}
|
|
33
38
|
|
|
34
39
|
(0, _createClass2.default)(NodePages, [{
|
|
@@ -39,237 +44,514 @@ var NodePages = function () {
|
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
}, {
|
|
42
|
-
key: "
|
|
43
|
-
value:
|
|
44
|
-
function getNodeById(id) {
|
|
45
|
-
var pageIndex = Math.floor(id / this.nodesPerPage);
|
|
46
|
-
var nodeIndex = id % this.nodesPerPage;
|
|
47
|
-
return this.nodePages[pageIndex].nodes[nodeIndex];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
}, {
|
|
51
|
-
key: "updateAll",
|
|
47
|
+
key: "getNodePageFileName",
|
|
52
48
|
value:
|
|
53
|
-
function
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
value:
|
|
63
|
-
function updateMaterialByNodeId(id, materialId) {
|
|
64
|
-
var node = this.getNodeById(id);
|
|
65
|
-
if (!node.mesh) {
|
|
66
|
-
return;
|
|
49
|
+
function getNodePageFileName(nodePageId) {
|
|
50
|
+
var filePath;
|
|
51
|
+
var fileName;
|
|
52
|
+
if (this.converter.options.slpk) {
|
|
53
|
+
filePath = (0, _path.join)(this.converter.layers0Path, 'nodepages');
|
|
54
|
+
fileName = "".concat(nodePageId.toString(), ".json");
|
|
55
|
+
} else {
|
|
56
|
+
filePath = (0, _path.join)(this.converter.layers0Path, 'nodepages', nodePageId.toString());
|
|
57
|
+
fileName = 'index.json';
|
|
67
58
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
return {
|
|
60
|
+
filePath: filePath,
|
|
61
|
+
fileName: fileName
|
|
71
62
|
};
|
|
72
63
|
}
|
|
73
64
|
|
|
74
65
|
}, {
|
|
75
|
-
key: "
|
|
76
|
-
value:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
key: "loadNodePage",
|
|
67
|
+
value: function () {
|
|
68
|
+
var _loadNodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(nodePageId) {
|
|
69
|
+
var _this$getNodePageFile, filePath, fileName, fullName;
|
|
70
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
71
|
+
while (1) {
|
|
72
|
+
switch (_context.prev = _context.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
_this$getNodePageFile = this.getNodePageFileName(nodePageId), filePath = _this$getNodePageFile.filePath, fileName = _this$getNodePageFile.fileName;
|
|
75
|
+
fullName = (0, _path.join)(filePath, fileName);
|
|
76
|
+
_context.next = 4;
|
|
77
|
+
return (0, _fileUtils.isFileExists)(fullName);
|
|
78
|
+
case 4:
|
|
79
|
+
if (!_context.sent) {
|
|
80
|
+
_context.next = 11;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
console.log("load ".concat(fullName, "."));
|
|
84
|
+
_context.next = 8;
|
|
85
|
+
return (0, _fileUtils.openJson)(filePath, fileName);
|
|
86
|
+
case 8:
|
|
87
|
+
return _context.abrupt("return", _context.sent);
|
|
88
|
+
case 11:
|
|
89
|
+
return _context.abrupt("return", {
|
|
90
|
+
nodes: []
|
|
91
|
+
});
|
|
92
|
+
case 12:
|
|
93
|
+
case "end":
|
|
94
|
+
return _context.stop();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}, _callee, this);
|
|
98
|
+
}));
|
|
99
|
+
function loadNodePage(_x) {
|
|
100
|
+
return _loadNodePage.apply(this, arguments);
|
|
81
101
|
}
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
102
|
+
return loadNodePage;
|
|
103
|
+
}()
|
|
85
104
|
}, {
|
|
86
|
-
key: "
|
|
105
|
+
key: "getPageIndexByNodeId",
|
|
87
106
|
value:
|
|
88
|
-
function
|
|
89
|
-
|
|
90
|
-
if (!node.mesh || !node.index) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
node.mesh.attribute.resource = node.index;
|
|
107
|
+
function getPageIndexByNodeId(id) {
|
|
108
|
+
return Math.floor(id / this.nodesPerPage);
|
|
94
109
|
}
|
|
95
110
|
|
|
96
111
|
}, {
|
|
97
|
-
key: "
|
|
98
|
-
value:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
112
|
+
key: "getPageByNodeId",
|
|
113
|
+
value: function () {
|
|
114
|
+
var _getPageByNodeId = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(id) {
|
|
115
|
+
var pageIndex;
|
|
116
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context2.prev = _context2.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
pageIndex = this.getPageIndexByNodeId(id);
|
|
121
|
+
if (!this.converter.options.instantNodeWriting) {
|
|
122
|
+
_context2.next = 5;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
_context2.next = 4;
|
|
126
|
+
return this.loadNodePage(pageIndex);
|
|
127
|
+
case 4:
|
|
128
|
+
return _context2.abrupt("return", _context2.sent);
|
|
129
|
+
case 5:
|
|
130
|
+
return _context2.abrupt("return", this.nodePages[pageIndex]);
|
|
131
|
+
case 6:
|
|
132
|
+
case "end":
|
|
133
|
+
return _context2.stop();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}, _callee2, this);
|
|
137
|
+
}));
|
|
138
|
+
function getPageByNodeId(_x2) {
|
|
139
|
+
return _getPageByNodeId.apply(this, arguments);
|
|
103
140
|
}
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
141
|
+
return getPageByNodeId;
|
|
142
|
+
}()
|
|
107
143
|
}, {
|
|
108
|
-
key: "
|
|
109
|
-
value:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
144
|
+
key: "getNodeById",
|
|
145
|
+
value: function () {
|
|
146
|
+
var _getNodeById = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(id, nodePage) {
|
|
147
|
+
var nodeIndex;
|
|
148
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
149
|
+
while (1) {
|
|
150
|
+
switch (_context3.prev = _context3.next) {
|
|
151
|
+
case 0:
|
|
152
|
+
nodeIndex = id % this.nodesPerPage;
|
|
153
|
+
_context3.t0 = nodePage;
|
|
154
|
+
if (_context3.t0) {
|
|
155
|
+
_context3.next = 6;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
_context3.next = 5;
|
|
159
|
+
return this.getPageByNodeId(id);
|
|
160
|
+
case 5:
|
|
161
|
+
_context3.t0 = _context3.sent;
|
|
162
|
+
case 6:
|
|
163
|
+
nodePage = _context3.t0;
|
|
164
|
+
return _context3.abrupt("return", nodePage.nodes[nodeIndex]);
|
|
165
|
+
case 8:
|
|
166
|
+
case "end":
|
|
167
|
+
return _context3.stop();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, _callee3, this);
|
|
171
|
+
}));
|
|
172
|
+
function getNodeById(_x3, _x4) {
|
|
173
|
+
return _getNodeById.apply(this, arguments);
|
|
114
174
|
}
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
175
|
+
return getNodeById;
|
|
176
|
+
}()
|
|
118
177
|
}, {
|
|
119
178
|
key: "addChildRelation",
|
|
120
|
-
value:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return
|
|
179
|
+
value: function () {
|
|
180
|
+
var _addChildRelation = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(parentId, childId) {
|
|
181
|
+
var _parentNode$children;
|
|
182
|
+
var parentNode;
|
|
183
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
184
|
+
while (1) {
|
|
185
|
+
switch (_context4.prev = _context4.next) {
|
|
186
|
+
case 0:
|
|
187
|
+
if (!(parentId === null || parentId === undefined)) {
|
|
188
|
+
_context4.next = 2;
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
return _context4.abrupt("return");
|
|
192
|
+
case 2:
|
|
193
|
+
_context4.next = 4;
|
|
194
|
+
return this.getNodeById(parentId);
|
|
195
|
+
case 4:
|
|
196
|
+
parentNode = _context4.sent;
|
|
197
|
+
(_parentNode$children = parentNode.children) === null || _parentNode$children === void 0 ? void 0 : _parentNode$children.push(childId);
|
|
198
|
+
_context4.next = 8;
|
|
199
|
+
return this.saveNode(parentNode);
|
|
200
|
+
case 8:
|
|
201
|
+
case "end":
|
|
202
|
+
return _context4.stop();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}, _callee4, this);
|
|
206
|
+
}));
|
|
207
|
+
function addChildRelation(_x5, _x6) {
|
|
208
|
+
return _addChildRelation.apply(this, arguments);
|
|
125
209
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
|
|
210
|
+
return addChildRelation;
|
|
211
|
+
}()
|
|
130
212
|
}, {
|
|
131
|
-
key: "
|
|
132
|
-
value:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
213
|
+
key: "push",
|
|
214
|
+
value: function () {
|
|
215
|
+
var _push = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(node, parentId) {
|
|
216
|
+
var currentNodePage;
|
|
217
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
218
|
+
while (1) {
|
|
219
|
+
switch (_context5.prev = _context5.next) {
|
|
220
|
+
case 0:
|
|
221
|
+
node.index = this.nodesCounter++;
|
|
222
|
+
if (!this.converter.options.instantNodeWriting) {
|
|
223
|
+
currentNodePage = this.nodePages[this.nodePages.length - 1];
|
|
224
|
+
if (currentNodePage.nodes.length === this.nodesPerPage) {
|
|
225
|
+
currentNodePage = {
|
|
226
|
+
nodes: []
|
|
227
|
+
};
|
|
228
|
+
this.nodePages.push(currentNodePage);
|
|
229
|
+
}
|
|
230
|
+
currentNodePage.nodes.push(node);
|
|
231
|
+
}
|
|
232
|
+
_context5.next = 4;
|
|
233
|
+
return this.addChildRelation(parentId, node.index);
|
|
234
|
+
case 4:
|
|
235
|
+
NodePages.updateResourceInMesh(node);
|
|
236
|
+
_context5.next = 7;
|
|
237
|
+
return this.saveNode(node);
|
|
238
|
+
case 7:
|
|
239
|
+
return _context5.abrupt("return", node);
|
|
240
|
+
case 8:
|
|
241
|
+
case "end":
|
|
242
|
+
return _context5.stop();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}, _callee5, this);
|
|
246
|
+
}));
|
|
247
|
+
function push(_x7, _x8) {
|
|
248
|
+
return _push.apply(this, arguments);
|
|
136
249
|
}
|
|
137
|
-
|
|
138
|
-
|
|
250
|
+
return push;
|
|
251
|
+
}()
|
|
139
252
|
}, {
|
|
140
|
-
key: "
|
|
141
|
-
value:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
253
|
+
key: "saveNode",
|
|
254
|
+
value: function () {
|
|
255
|
+
var _saveNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(node) {
|
|
256
|
+
var _this = this;
|
|
257
|
+
var nodePageIndex, nodePage, _this$getNodePageFile2, filePath, fileName, nodeToUpdate, nodePageStr;
|
|
258
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
259
|
+
while (1) {
|
|
260
|
+
switch (_context6.prev = _context6.next) {
|
|
261
|
+
case 0:
|
|
262
|
+
if (this.converter.options.instantNodeWriting) {
|
|
263
|
+
_context6.next = 4;
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
return _context6.abrupt("return");
|
|
267
|
+
case 4:
|
|
268
|
+
nodePageIndex = this.getPageIndexByNodeId(node.index);
|
|
269
|
+
_context6.next = 7;
|
|
270
|
+
return this.getPageByNodeId(node.index);
|
|
271
|
+
case 7:
|
|
272
|
+
nodePage = _context6.sent;
|
|
273
|
+
_this$getNodePageFile2 = this.getNodePageFileName(nodePageIndex), filePath = _this$getNodePageFile2.filePath, fileName = _this$getNodePageFile2.fileName;
|
|
274
|
+
_context6.next = 11;
|
|
275
|
+
return this.getNodeById(node.index, nodePage);
|
|
276
|
+
case 11:
|
|
277
|
+
nodeToUpdate = _context6.sent;
|
|
278
|
+
if (nodeToUpdate) {
|
|
279
|
+
NodePages.updateAll(nodeToUpdate, node);
|
|
280
|
+
} else {
|
|
281
|
+
nodePage.nodes.push(node);
|
|
282
|
+
}
|
|
283
|
+
nodePageStr = JSON.stringify(nodePage);
|
|
284
|
+
if (!this.converter.options.slpk) {
|
|
285
|
+
_context6.next = 19;
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
_context6.next = 17;
|
|
289
|
+
return this.converter.writeQueue.enqueue({
|
|
290
|
+
archiveKey: "nodePages/".concat(nodePageIndex.toString(), ".json.gz"),
|
|
291
|
+
writePromise: function writePromise() {
|
|
292
|
+
return _this.writeFile(filePath, nodePageStr, fileName, true, _this.converter.compressList);
|
|
293
|
+
}
|
|
294
|
+
}, true);
|
|
295
|
+
case 17:
|
|
296
|
+
_context6.next = 21;
|
|
297
|
+
break;
|
|
298
|
+
case 19:
|
|
299
|
+
_context6.next = 21;
|
|
300
|
+
return this.converter.writeQueue.enqueue({
|
|
301
|
+
writePromise: function writePromise() {
|
|
302
|
+
return _this.writeFile(filePath, nodePageStr);
|
|
303
|
+
}
|
|
304
|
+
}, true);
|
|
305
|
+
case 21:
|
|
306
|
+
case "end":
|
|
307
|
+
return _context6.stop();
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}, _callee6, this);
|
|
311
|
+
}));
|
|
312
|
+
function saveNode(_x9) {
|
|
313
|
+
return _saveNode.apply(this, arguments);
|
|
149
314
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
315
|
+
return saveNode;
|
|
316
|
+
}()
|
|
317
|
+
}, {
|
|
318
|
+
key: "saveMetadata",
|
|
319
|
+
value: function () {
|
|
320
|
+
var _saveMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7() {
|
|
321
|
+
var _this2 = this;
|
|
322
|
+
var metadata, compress;
|
|
323
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
324
|
+
while (1) {
|
|
325
|
+
switch (_context7.prev = _context7.next) {
|
|
326
|
+
case 0:
|
|
327
|
+
metadata = (0, _jsonMapTransform.default)({
|
|
328
|
+
nodeCount: this.nodesCounter
|
|
329
|
+
}, (0, _metadata.METADATA)());
|
|
330
|
+
compress = false;
|
|
331
|
+
_context7.next = 4;
|
|
332
|
+
return this.converter.writeQueue.enqueue({
|
|
333
|
+
archiveKey: 'metadata.json',
|
|
334
|
+
writePromise: function writePromise() {
|
|
335
|
+
return _this2.writeFile(_this2.converter.layers0Path, JSON.stringify(metadata), 'metadata.json', compress);
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
case 4:
|
|
339
|
+
case "end":
|
|
340
|
+
return _context7.stop();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}, _callee7, this);
|
|
344
|
+
}));
|
|
345
|
+
function saveMetadata() {
|
|
346
|
+
return _saveMetadata.apply(this, arguments);
|
|
347
|
+
}
|
|
348
|
+
return saveMetadata;
|
|
349
|
+
}()
|
|
157
350
|
}, {
|
|
158
351
|
key: "save",
|
|
159
352
|
value: function () {
|
|
160
|
-
var _save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function
|
|
161
|
-
var
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
_step$value,
|
|
165
|
-
index,
|
|
166
|
-
nodePage,
|
|
167
|
-
nodePageStr,
|
|
168
|
-
slpkPath,
|
|
169
|
-
metadata,
|
|
170
|
-
compress,
|
|
171
|
-
_iterator2,
|
|
172
|
-
_step2,
|
|
173
|
-
_step2$value,
|
|
174
|
-
_index,
|
|
175
|
-
_nodePage,
|
|
176
|
-
_nodePageStr,
|
|
177
|
-
nodePagePath,
|
|
178
|
-
_args = arguments;
|
|
179
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
353
|
+
var _save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
|
|
354
|
+
var _this3 = this;
|
|
355
|
+
var _iterator, _step, _loop, _iterator2, _step2, _loop2;
|
|
356
|
+
return _regenerator.default.wrap(function _callee8$(_context10) {
|
|
180
357
|
while (1) {
|
|
181
|
-
switch (
|
|
358
|
+
switch (_context10.prev = _context10.next) {
|
|
182
359
|
case 0:
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
360
|
+
if (!this.converter.options.instantNodeWriting) {
|
|
361
|
+
_context10.next = 4;
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
364
|
+
_context10.next = 3;
|
|
365
|
+
return this.saveMetadata();
|
|
366
|
+
case 3:
|
|
367
|
+
return _context10.abrupt("return");
|
|
368
|
+
case 4:
|
|
369
|
+
if (!this.converter.options.slpk) {
|
|
370
|
+
_context10.next = 25;
|
|
186
371
|
break;
|
|
187
372
|
}
|
|
188
373
|
_iterator = _createForOfIteratorHelper(this.nodePages.entries());
|
|
189
|
-
|
|
374
|
+
_context10.prev = 6;
|
|
375
|
+
_loop = _regenerator.default.mark(function _loop() {
|
|
376
|
+
var _step$value, index, nodePage, nodePageStr, slpkPath;
|
|
377
|
+
return _regenerator.default.wrap(function _loop$(_context8) {
|
|
378
|
+
while (1) {
|
|
379
|
+
switch (_context8.prev = _context8.next) {
|
|
380
|
+
case 0:
|
|
381
|
+
_step$value = (0, _slicedToArray2.default)(_step.value, 2), index = _step$value[0], nodePage = _step$value[1];
|
|
382
|
+
nodePageStr = JSON.stringify(nodePage);
|
|
383
|
+
slpkPath = (0, _path.join)(_this3.converter.layers0Path, 'nodepages');
|
|
384
|
+
_context8.next = 5;
|
|
385
|
+
return _this3.converter.writeQueue.enqueue({
|
|
386
|
+
archiveKey: "nodePages/".concat(index.toString(), ".json.gz"),
|
|
387
|
+
writePromise: function writePromise() {
|
|
388
|
+
return _this3.writeFile(slpkPath, nodePageStr, "".concat(index.toString(), ".json"));
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
case 5:
|
|
392
|
+
case "end":
|
|
393
|
+
return _context8.stop();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}, _loop);
|
|
397
|
+
});
|
|
190
398
|
_iterator.s();
|
|
191
|
-
case
|
|
399
|
+
case 9:
|
|
192
400
|
if ((_step = _iterator.n()).done) {
|
|
193
|
-
|
|
401
|
+
_context10.next = 13;
|
|
194
402
|
break;
|
|
195
403
|
}
|
|
196
|
-
|
|
197
|
-
nodePageStr = JSON.stringify(nodePage);
|
|
198
|
-
slpkPath = (0, _path.join)(layers0Path, 'nodepages');
|
|
199
|
-
_context.next = 11;
|
|
200
|
-
return writeQueue.enqueue({
|
|
201
|
-
archiveKey: "nodePages/".concat(index.toString(), ".json.gz"),
|
|
202
|
-
writePromise: this.writeFile(slpkPath, nodePageStr, "".concat(index.toString(), ".json"))
|
|
203
|
-
});
|
|
404
|
+
return _context10.delegateYield(_loop(), "t0", 11);
|
|
204
405
|
case 11:
|
|
205
|
-
|
|
406
|
+
_context10.next = 9;
|
|
206
407
|
break;
|
|
207
408
|
case 13:
|
|
208
|
-
|
|
409
|
+
_context10.next = 18;
|
|
209
410
|
break;
|
|
210
411
|
case 15:
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
_iterator.e(
|
|
412
|
+
_context10.prev = 15;
|
|
413
|
+
_context10.t1 = _context10["catch"](6);
|
|
414
|
+
_iterator.e(_context10.t1);
|
|
214
415
|
case 18:
|
|
215
|
-
|
|
416
|
+
_context10.prev = 18;
|
|
216
417
|
_iterator.f();
|
|
217
|
-
return
|
|
418
|
+
return _context10.finish(18);
|
|
218
419
|
case 21:
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
_context.next = 25;
|
|
224
|
-
return writeQueue.enqueue({
|
|
225
|
-
archiveKey: 'metadata.json',
|
|
226
|
-
writePromise: this.writeFile(layers0Path, JSON.stringify(metadata), 'metadata.json', compress)
|
|
227
|
-
});
|
|
228
|
-
case 25:
|
|
229
|
-
_context.next = 46;
|
|
420
|
+
_context10.next = 23;
|
|
421
|
+
return this.saveMetadata();
|
|
422
|
+
case 23:
|
|
423
|
+
_context10.next = 41;
|
|
230
424
|
break;
|
|
231
|
-
case
|
|
425
|
+
case 25:
|
|
232
426
|
_iterator2 = _createForOfIteratorHelper(this.nodePages.entries());
|
|
233
|
-
|
|
427
|
+
_context10.prev = 26;
|
|
428
|
+
_loop2 = _regenerator.default.mark(function _loop2() {
|
|
429
|
+
var _step2$value, index, nodePage, nodePageStr, nodePagePath;
|
|
430
|
+
return _regenerator.default.wrap(function _loop2$(_context9) {
|
|
431
|
+
while (1) {
|
|
432
|
+
switch (_context9.prev = _context9.next) {
|
|
433
|
+
case 0:
|
|
434
|
+
_step2$value = (0, _slicedToArray2.default)(_step2.value, 2), index = _step2$value[0], nodePage = _step2$value[1];
|
|
435
|
+
nodePageStr = JSON.stringify(nodePage);
|
|
436
|
+
nodePagePath = (0, _path.join)(_this3.converter.layers0Path, 'nodepages', index.toString());
|
|
437
|
+
_context9.next = 5;
|
|
438
|
+
return _this3.converter.writeQueue.enqueue({
|
|
439
|
+
writePromise: function writePromise() {
|
|
440
|
+
return _this3.writeFile(nodePagePath, nodePageStr);
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
case 5:
|
|
444
|
+
case "end":
|
|
445
|
+
return _context9.stop();
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}, _loop2);
|
|
449
|
+
});
|
|
234
450
|
_iterator2.s();
|
|
235
|
-
case
|
|
451
|
+
case 29:
|
|
236
452
|
if ((_step2 = _iterator2.n()).done) {
|
|
237
|
-
|
|
453
|
+
_context10.next = 33;
|
|
238
454
|
break;
|
|
239
455
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
_context.next = 36;
|
|
244
|
-
return writeQueue.enqueue({
|
|
245
|
-
writePromise: this.writeFile(nodePagePath, _nodePageStr)
|
|
246
|
-
});
|
|
247
|
-
case 36:
|
|
248
|
-
_context.next = 30;
|
|
456
|
+
return _context10.delegateYield(_loop2(), "t2", 31);
|
|
457
|
+
case 31:
|
|
458
|
+
_context10.next = 29;
|
|
249
459
|
break;
|
|
250
|
-
case
|
|
251
|
-
|
|
460
|
+
case 33:
|
|
461
|
+
_context10.next = 38;
|
|
252
462
|
break;
|
|
253
|
-
case
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
_iterator2.e(
|
|
257
|
-
case
|
|
258
|
-
|
|
463
|
+
case 35:
|
|
464
|
+
_context10.prev = 35;
|
|
465
|
+
_context10.t3 = _context10["catch"](26);
|
|
466
|
+
_iterator2.e(_context10.t3);
|
|
467
|
+
case 38:
|
|
468
|
+
_context10.prev = 38;
|
|
259
469
|
_iterator2.f();
|
|
260
|
-
return
|
|
261
|
-
case
|
|
470
|
+
return _context10.finish(38);
|
|
471
|
+
case 41:
|
|
262
472
|
case "end":
|
|
263
|
-
return
|
|
473
|
+
return _context10.stop();
|
|
264
474
|
}
|
|
265
475
|
}
|
|
266
|
-
},
|
|
476
|
+
}, _callee8, this, [[6, 15, 18, 21], [26, 35, 38, 41]]);
|
|
267
477
|
}));
|
|
268
|
-
function save(
|
|
478
|
+
function save() {
|
|
269
479
|
return _save.apply(this, arguments);
|
|
270
480
|
}
|
|
271
481
|
return save;
|
|
272
482
|
}()
|
|
483
|
+
}], [{
|
|
484
|
+
key: "updateResourceInMesh",
|
|
485
|
+
value:
|
|
486
|
+
function updateResourceInMesh(node) {
|
|
487
|
+
if (node.mesh && isFinite(node.index)) {
|
|
488
|
+
node.mesh.geometry.resource = node.index;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
}, {
|
|
493
|
+
key: "updateAll",
|
|
494
|
+
value:
|
|
495
|
+
function updateAll(node, data) {
|
|
496
|
+
Object.assign(node, data, {
|
|
497
|
+
index: node.index
|
|
498
|
+
});
|
|
499
|
+
NodePages.updateResourceInMesh(node);
|
|
500
|
+
return node;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
}, {
|
|
504
|
+
key: "updateMaterialByNodeId",
|
|
505
|
+
value:
|
|
506
|
+
function updateMaterialByNodeId(node, materialId) {
|
|
507
|
+
if (!node.mesh) {
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
node.mesh.material = {
|
|
511
|
+
definition: materialId,
|
|
512
|
+
resource: node.index
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
}, {
|
|
517
|
+
key: "updateVertexCountByNodeId",
|
|
518
|
+
value:
|
|
519
|
+
function updateVertexCountByNodeId(node, vertexCount) {
|
|
520
|
+
if (!node.mesh) {
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
node.mesh.geometry.vertexCount = vertexCount;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
}, {
|
|
527
|
+
key: "updateNodeAttributeByNodeId",
|
|
528
|
+
value:
|
|
529
|
+
function updateNodeAttributeByNodeId(node) {
|
|
530
|
+
if (!node.mesh || !node.index) {
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
node.mesh.attribute.resource = node.index;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
}, {
|
|
537
|
+
key: "updateFeatureCountByNodeId",
|
|
538
|
+
value:
|
|
539
|
+
function updateFeatureCountByNodeId(node, featureCount) {
|
|
540
|
+
if (!node.mesh) {
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
node.mesh.geometry.featureCount = featureCount;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
}, {
|
|
547
|
+
key: "updateTexelCountHintByNodeId",
|
|
548
|
+
value:
|
|
549
|
+
function updateTexelCountHintByNodeId(node, texelCountHint) {
|
|
550
|
+
if (!node.mesh || !node.mesh.material) {
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
node.mesh.material.texelCountHint = texelCountHint;
|
|
554
|
+
}
|
|
273
555
|
}]);
|
|
274
556
|
return NodePages;
|
|
275
557
|
}();
|