@loaders.gl/tile-converter 3.1.8 → 3.2.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d-tiles-attributes-worker.d.ts +28 -0
- package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/3d-tiles-attributes-worker.js +4 -0
- package/dist/3d-tiles-attributes-worker.js.map +7 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +82 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.js +268 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +84 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +278 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +13 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +23 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +9 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.js +52 -0
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts +15 -0
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts.map +1 -0
- package/dist/3d-tiles-converter/json-templates/tileset.js +43 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/converter-cli.d.ts +2 -0
- package/dist/converter-cli.d.ts.map +1 -0
- package/dist/converter-cli.js +232 -0
- package/dist/converter.min.js +68 -68
- package/dist/deps-installer/deps-installer.d.ts +14 -0
- package/dist/deps-installer/deps-installer.d.ts.map +1 -0
- package/dist/deps-installer/deps-installer.js +31 -0
- package/dist/dist.min.js +1151 -1264
- package/dist/es5/3d-tiles-attributes-worker.js +29 -0
- package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +104 -44
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +34 -43
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/es5/converter-cli.js +306 -0
- package/dist/es5/converter-cli.js.map +1 -0
- package/dist/es5/deps-installer/deps-installer.js.map +1 -1
- package/dist/es5/i3s-attributes-worker.js +29 -0
- package/dist/es5/i3s-attributes-worker.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js +19 -11
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +2 -2
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +271 -182
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +71 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-pages.js +47 -99
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +311 -245
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/index.js +0 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/utils/compress-util.js +14 -17
- package/dist/es5/lib/utils/compress-util.js.map +1 -1
- package/dist/es5/lib/utils/file-utils.js +39 -14
- package/dist/es5/lib/utils/file-utils.js.map +1 -1
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/es5/lib/utils/queue.js +61 -0
- package/dist/es5/lib/utils/queue.js.map +1 -0
- package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
- package/dist/es5/lib/utils/write-queue.js +225 -0
- package/dist/es5/lib/utils/write-queue.js.map +1 -0
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/es5/pgm-loader.js.map +1 -1
- package/dist/es5/workers/3d-tiles-attributes-worker.js +37 -0
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/workers/i3s-attributes-worker.js +40 -0
- package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-attributes-worker.js +16 -0
- package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +32 -5
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +23 -23
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/esm/converter-cli.js +230 -0
- package/dist/esm/converter-cli.js.map +1 -0
- package/dist/esm/deps-installer/deps-installer.js.map +1 -1
- package/dist/esm/i3s-attributes-worker.js +16 -0
- package/dist/esm/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js +19 -11
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js +2 -2
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +121 -62
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +54 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/node-pages.js +12 -4
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +155 -50
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/utils/compress-util.js +6 -8
- package/dist/esm/lib/utils/compress-util.js.map +1 -1
- package/dist/esm/lib/utils/file-utils.js +11 -1
- package/dist/esm/lib/utils/file-utils.js.map +1 -1
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
- package/dist/esm/lib/utils/queue.js +19 -0
- package/dist/esm/lib/utils/queue.js.map +1 -0
- package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
- package/dist/esm/lib/utils/write-queue.js +88 -0
- package/dist/esm/lib/utils/write-queue.js.map +1 -0
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/esm/pgm-loader.js.map +1 -1
- package/dist/esm/workers/3d-tiles-attributes-worker.js +5 -0
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/workers/i3s-attributes-worker.js +4 -0
- package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/i3s-attributes-worker.d.ts +33 -0
- package/dist/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/i3s-attributes-worker.js +10 -0
- package/dist/i3s-attributes-worker.js.map +7 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +41 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js +122 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +9 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.js +28 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts +8 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-attributes.js +177 -0
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +29 -0
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-converter.js +901 -0
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +9 -0
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/gltf-attributes.js +56 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts +8 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-debug.js +114 -0
- package/dist/i3s-converter/helpers/node-pages.d.ts +117 -0
- package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-pages.js +208 -0
- package/dist/i3s-converter/i3s-converter.d.ts +323 -0
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -0
- package/dist/i3s-converter/i3s-converter.js +1074 -0
- package/dist/i3s-converter/json-templates/layers.d.ts +95 -0
- package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/layers.js +199 -0
- package/dist/i3s-converter/json-templates/metadata.d.ts +22 -0
- package/dist/i3s-converter/json-templates/metadata.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/metadata.js +25 -0
- package/dist/i3s-converter/json-templates/node.d.ts +61 -0
- package/dist/i3s-converter/json-templates/node.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/node.js +89 -0
- package/dist/i3s-converter/json-templates/scene-server.d.ts +28 -0
- package/dist/i3s-converter/json-templates/scene-server.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/scene-server.js +31 -0
- package/dist/i3s-converter/json-templates/shared-resources.d.ts +14 -0
- package/dist/i3s-converter/json-templates/shared-resources.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/shared-resources.js +129 -0
- package/dist/i3s-converter/json-templates/store.d.ts +95 -0
- package/dist/i3s-converter/json-templates/store.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/store.js +103 -0
- package/dist/i3s-converter/types.d.ts +114 -0
- package/dist/i3s-converter/types.d.ts.map +1 -0
- package/dist/i3s-converter/types.js +2 -0
- package/dist/i3s-server/app.d.ts +3 -0
- package/dist/i3s-server/app.d.ts.map +1 -0
- package/dist/i3s-server/app.js +14 -0
- package/dist/i3s-server/controllers/index-controller.d.ts +2 -0
- package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -0
- package/dist/i3s-server/controllers/index-controller.js +23 -0
- package/dist/i3s-server/routes/index.d.ts +3 -0
- package/dist/i3s-server/routes/index.d.ts.map +1 -0
- package/dist/i3s-server/routes/index.js +16 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/lib/utils/compress-util.d.ts +45 -0
- package/dist/lib/utils/compress-util.d.ts.map +1 -0
- package/dist/lib/utils/compress-util.js +257 -0
- package/dist/{esm/lib → lib}/utils/file-utils.d.ts +6 -14
- package/dist/lib/utils/file-utils.d.ts.map +1 -0
- package/dist/lib/utils/file-utils.js +81 -0
- package/dist/lib/utils/lod-conversion-utils.d.ts +41 -0
- package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -0
- package/dist/lib/utils/lod-conversion-utils.js +76 -0
- package/dist/lib/utils/queue.d.ts +7 -0
- package/dist/lib/utils/queue.d.ts.map +1 -0
- package/dist/lib/utils/queue.js +18 -0
- package/dist/lib/utils/statistic-utills.d.ts +3 -0
- package/dist/lib/utils/statistic-utills.d.ts.map +1 -0
- package/dist/lib/utils/statistic-utills.js +64 -0
- package/dist/lib/utils/write-queue.d.ts +22 -0
- package/dist/lib/utils/write-queue.d.ts.map +1 -0
- package/dist/lib/utils/write-queue.js +62 -0
- package/dist/pgm-loader.d.ts +6 -0
- package/dist/pgm-loader.d.ts.map +1 -0
- package/dist/pgm-loader.js +23 -0
- package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/workers/3d-tiles-attributes-worker.js +9 -0
- package/dist/workers/i3s-attributes-worker.d.ts +2 -0
- package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/workers/i3s-attributes-worker.js +5 -0
- package/package.json +19 -18
- package/src/3d-tiles-attributes-worker.ts +43 -0
- package/src/3d-tiles-converter/3d-tiles-converter.ts +49 -6
- package/src/3d-tiles-converter/helpers/b3dm-converter.ts +21 -18
- package/src/converter-cli.ts +310 -0
- package/src/deps-installer/{deps-installer.js → deps-installer.ts} +11 -1
- package/src/i3s-attributes-worker.ts +46 -0
- package/src/i3s-converter/helpers/coordinate-converter.ts +29 -24
- package/src/i3s-converter/helpers/geometry-attributes.ts +4 -3
- package/src/i3s-converter/helpers/{geometry-converter.js → geometry-converter.ts} +425 -179
- package/src/i3s-converter/helpers/gltf-attributes.ts +68 -0
- package/src/i3s-converter/helpers/node-pages.ts +25 -17
- package/src/i3s-converter/i3s-converter.ts +154 -87
- package/src/i3s-converter/types.ts +90 -8
- package/src/index.ts +0 -4
- package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
- package/src/lib/utils/file-utils.ts +84 -0
- package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +27 -5
- package/src/lib/utils/queue.ts +17 -0
- package/src/lib/utils/{statistic-utills.js → statistic-utills.ts} +0 -0
- package/src/lib/utils/write-queue.ts +75 -0
- package/src/workers/3d-tiles-attributes-worker.ts +6 -0
- package/src/workers/i3s-attributes-worker.ts +6 -0
- package/dist/es5/deps-installer/deps-installer.d.ts +0 -10
- package/dist/es5/i3s-converter/helpers/geometry-converter.d.ts +0 -44
- package/dist/es5/lib/utils/compress-util.d.ts +0 -53
- package/dist/es5/lib/utils/file-utils.d.ts +0 -43
- package/dist/es5/lib/utils/lod-conversion-utils.d.ts +0 -32
- package/dist/esm/deps-installer/deps-installer.d.ts +0 -10
- package/dist/esm/i3s-converter/helpers/geometry-converter.d.ts +0 -44
- package/dist/esm/lib/utils/compress-util.d.ts +0 -53
- package/dist/esm/lib/utils/lod-conversion-utils.d.ts +0 -32
- package/src/deps-installer/deps-installer.d.ts +0 -10
- package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -44
- package/src/lib/utils/compress-util.d.ts +0 -53
- package/src/lib/utils/file-utils.d.ts +0 -43
- package/src/lib/utils/file-utils.js +0 -38
- package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
package/dist/dist.min.js
CHANGED
|
@@ -93,9 +93,9 @@ var require_defineProperty = __commonJS({
|
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
|
|
96
|
-
//
|
|
96
|
+
// ../../node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js
|
|
97
97
|
var require_hi_res_timestamp = __commonJS({
|
|
98
|
-
"
|
|
98
|
+
"../../node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js"(exports) {
|
|
99
99
|
"use strict";
|
|
100
100
|
Object.defineProperty(exports, "__esModule", {
|
|
101
101
|
value: true
|
|
@@ -116,9 +116,9 @@ var require_hi_res_timestamp = __commonJS({
|
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
|
|
119
|
-
//
|
|
119
|
+
// ../../node_modules/@probe.gl/stats/dist/es5/lib/stat.js
|
|
120
120
|
var require_stat = __commonJS({
|
|
121
|
-
"
|
|
121
|
+
"../../node_modules/@probe.gl/stats/dist/es5/lib/stat.js"(exports) {
|
|
122
122
|
"use strict";
|
|
123
123
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
124
124
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -278,9 +278,9 @@ var require_stat = __commonJS({
|
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
|
|
281
|
-
//
|
|
281
|
+
// ../../node_modules/@probe.gl/stats/dist/es5/lib/stats.js
|
|
282
282
|
var require_stats = __commonJS({
|
|
283
|
-
"
|
|
283
|
+
"../../node_modules/@probe.gl/stats/dist/es5/lib/stats.js"(exports) {
|
|
284
284
|
"use strict";
|
|
285
285
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
286
286
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -376,9 +376,9 @@ var require_stats = __commonJS({
|
|
|
376
376
|
}
|
|
377
377
|
});
|
|
378
378
|
|
|
379
|
-
//
|
|
379
|
+
// ../../node_modules/@probe.gl/stats/dist/es5/index.js
|
|
380
380
|
var require_es5 = __commonJS({
|
|
381
|
-
"
|
|
381
|
+
"../../node_modules/@probe.gl/stats/dist/es5/index.js"(exports) {
|
|
382
382
|
"use strict";
|
|
383
383
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
384
384
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -556,8 +556,8 @@ var require_globals2 = __commonJS({
|
|
|
556
556
|
exports.isBrowser = exports.VERSION = void 0;
|
|
557
557
|
var _isBrowser = _interopRequireDefault(require_is_browser());
|
|
558
558
|
var _globals = require_globals();
|
|
559
|
-
var
|
|
560
|
-
exports.VERSION =
|
|
559
|
+
var VERSION17 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
|
|
560
|
+
exports.VERSION = VERSION17;
|
|
561
561
|
var isBrowser3 = (0, _isBrowser.default)();
|
|
562
562
|
exports.isBrowser = isBrowser3;
|
|
563
563
|
}
|
|
@@ -1027,7 +1027,7 @@ var require_log = __commonJS({
|
|
|
1027
1027
|
enabled: true,
|
|
1028
1028
|
level: 0
|
|
1029
1029
|
};
|
|
1030
|
-
function
|
|
1030
|
+
function noop() {
|
|
1031
1031
|
}
|
|
1032
1032
|
var cache = {};
|
|
1033
1033
|
var ONCE = {
|
|
@@ -1168,18 +1168,18 @@ var require_log = __commonJS({
|
|
|
1168
1168
|
key: "table",
|
|
1169
1169
|
value: function table(logLevel, _table, columns) {
|
|
1170
1170
|
if (_table) {
|
|
1171
|
-
return this._getLogFunction(logLevel, _table, console.table ||
|
|
1171
|
+
return this._getLogFunction(logLevel, _table, console.table || noop, columns && [columns], {
|
|
1172
1172
|
tag: getTableHeader(_table)
|
|
1173
1173
|
});
|
|
1174
1174
|
}
|
|
1175
|
-
return
|
|
1175
|
+
return noop;
|
|
1176
1176
|
}
|
|
1177
1177
|
}, {
|
|
1178
1178
|
key: "image",
|
|
1179
1179
|
value: function image(_ref2) {
|
|
1180
1180
|
var logLevel = _ref2.logLevel, priority = _ref2.priority, _image = _ref2.image, _ref2$message = _ref2.message, message = _ref2$message === void 0 ? "" : _ref2$message, _ref2$scale = _ref2.scale, scale = _ref2$scale === void 0 ? 1 : _ref2$scale;
|
|
1181
1181
|
if (!this._shouldLog(logLevel || priority)) {
|
|
1182
|
-
return
|
|
1182
|
+
return noop;
|
|
1183
1183
|
}
|
|
1184
1184
|
return _globals.isBrowser ? logImageInBrowser({
|
|
1185
1185
|
image: _image,
|
|
@@ -1223,7 +1223,7 @@ var require_log = __commonJS({
|
|
|
1223
1223
|
}, {
|
|
1224
1224
|
key: "timeStamp",
|
|
1225
1225
|
value: function timeStamp(logLevel, message) {
|
|
1226
|
-
return this._getLogFunction(logLevel, message, console.timeStamp ||
|
|
1226
|
+
return this._getLogFunction(logLevel, message, console.timeStamp || noop);
|
|
1227
1227
|
}
|
|
1228
1228
|
}, {
|
|
1229
1229
|
key: "group",
|
|
@@ -1251,7 +1251,7 @@ var require_log = __commonJS({
|
|
|
1251
1251
|
}, {
|
|
1252
1252
|
key: "groupEnd",
|
|
1253
1253
|
value: function groupEnd(logLevel) {
|
|
1254
|
-
return this._getLogFunction(logLevel, "", console.groupEnd ||
|
|
1254
|
+
return this._getLogFunction(logLevel, "", console.groupEnd || noop);
|
|
1255
1255
|
}
|
|
1256
1256
|
}, {
|
|
1257
1257
|
key: "withGroup",
|
|
@@ -1298,13 +1298,13 @@ var require_log = __commonJS({
|
|
|
1298
1298
|
if (!cache[tag]) {
|
|
1299
1299
|
cache[tag] = (0, _hiResTimestamp.default)();
|
|
1300
1300
|
} else {
|
|
1301
|
-
return
|
|
1301
|
+
return noop;
|
|
1302
1302
|
}
|
|
1303
1303
|
}
|
|
1304
1304
|
message = decorateMessage(this.id, opts.message, opts);
|
|
1305
1305
|
return (_method = method).bind.apply(_method, [console, message].concat((0, _toConsumableArray2.default)(opts.args)));
|
|
1306
1306
|
}
|
|
1307
|
-
return
|
|
1307
|
+
return noop;
|
|
1308
1308
|
}
|
|
1309
1309
|
}]);
|
|
1310
1310
|
return Log4;
|
|
@@ -1381,7 +1381,7 @@ var require_log = __commonJS({
|
|
|
1381
1381
|
});
|
|
1382
1382
|
};
|
|
1383
1383
|
}
|
|
1384
|
-
return
|
|
1384
|
+
return noop;
|
|
1385
1385
|
}
|
|
1386
1386
|
function logImageInBrowser(_ref4) {
|
|
1387
1387
|
var image = _ref4.image, _ref4$message = _ref4.message, message = _ref4$message === void 0 ? "" : _ref4$message, _ref4$scale = _ref4.scale, scale = _ref4$scale === void 0 ? 1 : _ref4$scale;
|
|
@@ -1393,13 +1393,13 @@ var require_log = __commonJS({
|
|
|
1393
1393
|
(_console = console).log.apply(_console, (0, _toConsumableArray2.default)(args));
|
|
1394
1394
|
};
|
|
1395
1395
|
img.src = image;
|
|
1396
|
-
return
|
|
1396
|
+
return noop;
|
|
1397
1397
|
}
|
|
1398
1398
|
var element = image.nodeName || "";
|
|
1399
1399
|
if (element.toLowerCase() === "img") {
|
|
1400
1400
|
var _console2;
|
|
1401
1401
|
(_console2 = console).log.apply(_console2, (0, _toConsumableArray2.default)((0, _formatters.formatImage)(image, message, scale)));
|
|
1402
|
-
return
|
|
1402
|
+
return noop;
|
|
1403
1403
|
}
|
|
1404
1404
|
if (element.toLowerCase() === "canvas") {
|
|
1405
1405
|
var _img = new Image();
|
|
@@ -1408,9 +1408,9 @@ var require_log = __commonJS({
|
|
|
1408
1408
|
return (_console3 = console).log.apply(_console3, (0, _toConsumableArray2.default)((0, _formatters.formatImage)(_img, message, scale)));
|
|
1409
1409
|
};
|
|
1410
1410
|
_img.src = image.toDataURL();
|
|
1411
|
-
return
|
|
1411
|
+
return noop;
|
|
1412
1412
|
}
|
|
1413
|
-
return
|
|
1413
|
+
return noop;
|
|
1414
1414
|
}
|
|
1415
1415
|
}
|
|
1416
1416
|
});
|
|
@@ -1462,9 +1462,9 @@ var require_get_browser = __commonJS({
|
|
|
1462
1462
|
}
|
|
1463
1463
|
});
|
|
1464
1464
|
|
|
1465
|
-
// ../../node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js
|
|
1465
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js
|
|
1466
1466
|
var require_hi_res_timestamp3 = __commonJS({
|
|
1467
|
-
"../../node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js"(exports) {
|
|
1467
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js"(exports) {
|
|
1468
1468
|
"use strict";
|
|
1469
1469
|
Object.defineProperty(exports, "__esModule", {
|
|
1470
1470
|
value: true
|
|
@@ -1485,9 +1485,9 @@ var require_hi_res_timestamp3 = __commonJS({
|
|
|
1485
1485
|
}
|
|
1486
1486
|
});
|
|
1487
1487
|
|
|
1488
|
-
// ../../node_modules/@probe.gl/stats/dist/es5/lib/stat.js
|
|
1488
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/lib/stat.js
|
|
1489
1489
|
var require_stat2 = __commonJS({
|
|
1490
|
-
"../../node_modules/@probe.gl/stats/dist/es5/lib/stat.js"(exports) {
|
|
1490
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/lib/stat.js"(exports) {
|
|
1491
1491
|
"use strict";
|
|
1492
1492
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
1493
1493
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -1633,9 +1633,9 @@ var require_stat2 = __commonJS({
|
|
|
1633
1633
|
}
|
|
1634
1634
|
});
|
|
1635
1635
|
|
|
1636
|
-
// ../../node_modules/@probe.gl/stats/dist/es5/lib/stats.js
|
|
1636
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/lib/stats.js
|
|
1637
1637
|
var require_stats2 = __commonJS({
|
|
1638
|
-
"../../node_modules/@probe.gl/stats/dist/es5/lib/stats.js"(exports) {
|
|
1638
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/lib/stats.js"(exports) {
|
|
1639
1639
|
"use strict";
|
|
1640
1640
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
1641
1641
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -1729,9 +1729,9 @@ var require_stats2 = __commonJS({
|
|
|
1729
1729
|
}
|
|
1730
1730
|
});
|
|
1731
1731
|
|
|
1732
|
-
// ../../node_modules/@probe.gl/stats/dist/es5/index.js
|
|
1732
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/index.js
|
|
1733
1733
|
var require_es52 = __commonJS({
|
|
1734
|
-
"../../node_modules/@probe.gl/stats/dist/es5/index.js"(exports) {
|
|
1734
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/es5/index.js"(exports) {
|
|
1735
1735
|
"use strict";
|
|
1736
1736
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
1737
1737
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -2097,8 +2097,8 @@ var require_globals4 = __commonJS({
|
|
|
2097
2097
|
});
|
|
2098
2098
|
var _isBrowser = _interopRequireDefault(require_is_browser2());
|
|
2099
2099
|
var _globals = require_globals3();
|
|
2100
|
-
var
|
|
2101
|
-
exports.VERSION =
|
|
2100
|
+
var VERSION17 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
|
|
2101
|
+
exports.VERSION = VERSION17;
|
|
2102
2102
|
var isBrowser3 = (0, _isBrowser.default)();
|
|
2103
2103
|
exports.isBrowser = isBrowser3;
|
|
2104
2104
|
}
|
|
@@ -2681,7 +2681,7 @@ var require_log2 = __commonJS({
|
|
|
2681
2681
|
enabled: true,
|
|
2682
2682
|
level: 0
|
|
2683
2683
|
};
|
|
2684
|
-
function
|
|
2684
|
+
function noop() {
|
|
2685
2685
|
}
|
|
2686
2686
|
var cache = {};
|
|
2687
2687
|
var ONCE = {
|
|
@@ -2839,18 +2839,18 @@ var require_log2 = __commonJS({
|
|
|
2839
2839
|
key: "table",
|
|
2840
2840
|
value: function table(logLevel, _table, columns) {
|
|
2841
2841
|
if (_table) {
|
|
2842
|
-
return this._getLogFunction(logLevel, _table, console.table ||
|
|
2842
|
+
return this._getLogFunction(logLevel, _table, console.table || noop, columns && [columns], {
|
|
2843
2843
|
tag: getTableHeader(_table)
|
|
2844
2844
|
});
|
|
2845
2845
|
}
|
|
2846
|
-
return
|
|
2846
|
+
return noop;
|
|
2847
2847
|
}
|
|
2848
2848
|
}, {
|
|
2849
2849
|
key: "image",
|
|
2850
2850
|
value: function image(_ref2) {
|
|
2851
2851
|
var logLevel = _ref2.logLevel, priority = _ref2.priority, _image = _ref2.image, _ref2$message = _ref2.message, message = _ref2$message === void 0 ? "" : _ref2$message, _ref2$scale = _ref2.scale, scale = _ref2$scale === void 0 ? 1 : _ref2$scale;
|
|
2852
2852
|
if (!this._shouldLog(logLevel || priority)) {
|
|
2853
|
-
return
|
|
2853
|
+
return noop;
|
|
2854
2854
|
}
|
|
2855
2855
|
return _env.isBrowser ? logImageInBrowser({
|
|
2856
2856
|
image: _image,
|
|
@@ -2875,7 +2875,7 @@ var require_log2 = __commonJS({
|
|
|
2875
2875
|
}, {
|
|
2876
2876
|
key: "timeStamp",
|
|
2877
2877
|
value: function timeStamp(logLevel, message) {
|
|
2878
|
-
return this._getLogFunction(logLevel, message, console.timeStamp ||
|
|
2878
|
+
return this._getLogFunction(logLevel, message, console.timeStamp || noop);
|
|
2879
2879
|
}
|
|
2880
2880
|
}, {
|
|
2881
2881
|
key: "group",
|
|
@@ -2903,7 +2903,7 @@ var require_log2 = __commonJS({
|
|
|
2903
2903
|
}, {
|
|
2904
2904
|
key: "groupEnd",
|
|
2905
2905
|
value: function groupEnd(logLevel) {
|
|
2906
|
-
return this._getLogFunction(logLevel, "", console.groupEnd ||
|
|
2906
|
+
return this._getLogFunction(logLevel, "", console.groupEnd || noop);
|
|
2907
2907
|
}
|
|
2908
2908
|
}, {
|
|
2909
2909
|
key: "withGroup",
|
|
@@ -2948,13 +2948,13 @@ var require_log2 = __commonJS({
|
|
|
2948
2948
|
if (!cache[tag]) {
|
|
2949
2949
|
cache[tag] = (0, _hiResTimestamp.getHiResTimestamp)();
|
|
2950
2950
|
} else {
|
|
2951
|
-
return
|
|
2951
|
+
return noop;
|
|
2952
2952
|
}
|
|
2953
2953
|
}
|
|
2954
2954
|
message = decorateMessage(this.id, opts.message, opts);
|
|
2955
2955
|
return (_method = method).bind.apply(_method, [console, message].concat((0, _toConsumableArray2.default)(opts.args)));
|
|
2956
2956
|
}
|
|
2957
|
-
return
|
|
2957
|
+
return noop;
|
|
2958
2958
|
}
|
|
2959
2959
|
}]);
|
|
2960
2960
|
return Log4;
|
|
@@ -3032,7 +3032,7 @@ var require_log2 = __commonJS({
|
|
|
3032
3032
|
});
|
|
3033
3033
|
};
|
|
3034
3034
|
}
|
|
3035
|
-
return
|
|
3035
|
+
return noop;
|
|
3036
3036
|
}
|
|
3037
3037
|
function logImageInBrowser(_ref4) {
|
|
3038
3038
|
var image = _ref4.image, _ref4$message = _ref4.message, message = _ref4$message === void 0 ? "" : _ref4$message, _ref4$scale = _ref4.scale, scale = _ref4$scale === void 0 ? 1 : _ref4$scale;
|
|
@@ -3044,13 +3044,13 @@ var require_log2 = __commonJS({
|
|
|
3044
3044
|
(_console = console).log.apply(_console, (0, _toConsumableArray2.default)(args));
|
|
3045
3045
|
};
|
|
3046
3046
|
img.src = image;
|
|
3047
|
-
return
|
|
3047
|
+
return noop;
|
|
3048
3048
|
}
|
|
3049
3049
|
var element = image.nodeName || "";
|
|
3050
3050
|
if (element.toLowerCase() === "img") {
|
|
3051
3051
|
var _console2;
|
|
3052
3052
|
(_console2 = console).log.apply(_console2, (0, _toConsumableArray2.default)((0, _formatters.formatImage)(image, message, scale)));
|
|
3053
|
-
return
|
|
3053
|
+
return noop;
|
|
3054
3054
|
}
|
|
3055
3055
|
if (element.toLowerCase() === "canvas") {
|
|
3056
3056
|
var _img = new Image();
|
|
@@ -3059,9 +3059,9 @@ var require_log2 = __commonJS({
|
|
|
3059
3059
|
return (_console3 = console).log.apply(_console3, (0, _toConsumableArray2.default)((0, _formatters.formatImage)(_img, message, scale)));
|
|
3060
3060
|
};
|
|
3061
3061
|
_img.src = image.toDataURL();
|
|
3062
|
-
return
|
|
3062
|
+
return noop;
|
|
3063
3063
|
}
|
|
3064
|
-
return
|
|
3064
|
+
return noop;
|
|
3065
3065
|
}
|
|
3066
3066
|
function getTableHeader(table) {
|
|
3067
3067
|
for (var _key2 in table) {
|
|
@@ -10785,12 +10785,12 @@ var require_type_utils = __commonJS({
|
|
|
10785
10785
|
exports.isWGS84 = isWGS84;
|
|
10786
10786
|
var _core = require_es56();
|
|
10787
10787
|
var _constants = require_constants();
|
|
10788
|
-
var
|
|
10788
|
+
var noop = function noop2(x) {
|
|
10789
10789
|
return x;
|
|
10790
10790
|
};
|
|
10791
10791
|
var scratchVector7 = new _core.Vector3();
|
|
10792
10792
|
function fromCartographic(cartographic, result) {
|
|
10793
|
-
var map = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] :
|
|
10793
|
+
var map = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : noop;
|
|
10794
10794
|
if ((0, _core.isArray)(cartographic)) {
|
|
10795
10795
|
result[0] = map(cartographic[0]);
|
|
10796
10796
|
result[1] = map(cartographic[1]);
|
|
@@ -10808,14 +10808,14 @@ var require_type_utils = __commonJS({
|
|
|
10808
10808
|
}
|
|
10809
10809
|
function fromCartographicToRadians(cartographic) {
|
|
10810
10810
|
var vector = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : scratchVector7;
|
|
10811
|
-
return fromCartographic(cartographic, vector, _core.config._cartographicRadians ?
|
|
10811
|
+
return fromCartographic(cartographic, vector, _core.config._cartographicRadians ? noop : _core.toRadians);
|
|
10812
10812
|
}
|
|
10813
10813
|
function fromCartographicToDegrees(cartographic) {
|
|
10814
10814
|
var vector = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : scratchVector7;
|
|
10815
|
-
return fromCartographic(cartographic, vector, _core.config._cartographicRadians ? _core.toDegrees :
|
|
10815
|
+
return fromCartographic(cartographic, vector, _core.config._cartographicRadians ? _core.toDegrees : noop);
|
|
10816
10816
|
}
|
|
10817
10817
|
function toCartographic(vector, cartographic) {
|
|
10818
|
-
var map = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] :
|
|
10818
|
+
var map = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : noop;
|
|
10819
10819
|
if ((0, _core.isArray)(cartographic)) {
|
|
10820
10820
|
cartographic[0] = map(vector[0]);
|
|
10821
10821
|
cartographic[1] = map(vector[1]);
|
|
@@ -10832,10 +10832,10 @@ var require_type_utils = __commonJS({
|
|
|
10832
10832
|
return cartographic;
|
|
10833
10833
|
}
|
|
10834
10834
|
function toCartographicFromRadians(vector, cartographic) {
|
|
10835
|
-
return toCartographic(vector, cartographic, _core.config._cartographicRadians ?
|
|
10835
|
+
return toCartographic(vector, cartographic, _core.config._cartographicRadians ? noop : _core.toDegrees);
|
|
10836
10836
|
}
|
|
10837
10837
|
function toCartographicFromDegrees(vector, cartographic) {
|
|
10838
|
-
return toCartographic(vector, cartographic, _core.config._cartographicRadians ? _core.toRadians :
|
|
10838
|
+
return toCartographic(vector, cartographic, _core.config._cartographicRadians ? _core.toRadians : noop);
|
|
10839
10839
|
}
|
|
10840
10840
|
function isWGS84(vector) {
|
|
10841
10841
|
if (!vector) {
|
|
@@ -11146,12 +11146,12 @@ var require_ellipsoid = __commonJS({
|
|
|
11146
11146
|
var scratchHeight = new _core.Vector3();
|
|
11147
11147
|
var scratchCartesian = new _core.Vector3();
|
|
11148
11148
|
var wgs84;
|
|
11149
|
-
var
|
|
11150
|
-
function
|
|
11149
|
+
var Ellipsoid15 = function() {
|
|
11150
|
+
function Ellipsoid16() {
|
|
11151
11151
|
var x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
|
|
11152
11152
|
var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
11153
11153
|
var z = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
11154
|
-
(0, _classCallCheck2.default)(this,
|
|
11154
|
+
(0, _classCallCheck2.default)(this, Ellipsoid16);
|
|
11155
11155
|
(0, _core.assert)(x >= 0);
|
|
11156
11156
|
(0, _core.assert)(y >= 0);
|
|
11157
11157
|
(0, _core.assert)(z >= 0);
|
|
@@ -11168,7 +11168,7 @@ var require_ellipsoid = __commonJS({
|
|
|
11168
11168
|
}
|
|
11169
11169
|
Object.freeze(this);
|
|
11170
11170
|
}
|
|
11171
|
-
(0, _createClass2.default)(
|
|
11171
|
+
(0, _createClass2.default)(Ellipsoid16, [{
|
|
11172
11172
|
key: "equals",
|
|
11173
11173
|
value: function equals(right) {
|
|
11174
11174
|
return this === right || Boolean(right && this.radii.equals(right.radii));
|
|
@@ -11291,13 +11291,13 @@ var require_ellipsoid = __commonJS({
|
|
|
11291
11291
|
}], [{
|
|
11292
11292
|
key: "WGS84",
|
|
11293
11293
|
get: function get() {
|
|
11294
|
-
wgs84 = wgs84 || new
|
|
11294
|
+
wgs84 = wgs84 || new Ellipsoid16(_constants.WGS84_RADIUS_X, _constants.WGS84_RADIUS_Y, _constants.WGS84_RADIUS_Z);
|
|
11295
11295
|
return wgs84;
|
|
11296
11296
|
}
|
|
11297
11297
|
}]);
|
|
11298
|
-
return
|
|
11298
|
+
return Ellipsoid16;
|
|
11299
11299
|
}();
|
|
11300
|
-
exports.default =
|
|
11300
|
+
exports.default = Ellipsoid15;
|
|
11301
11301
|
}
|
|
11302
11302
|
});
|
|
11303
11303
|
|
|
@@ -11326,321 +11326,6 @@ var require_es57 = __commonJS({
|
|
|
11326
11326
|
}
|
|
11327
11327
|
});
|
|
11328
11328
|
|
|
11329
|
-
// ../tiles/node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js
|
|
11330
|
-
var require_hi_res_timestamp5 = __commonJS({
|
|
11331
|
-
"../tiles/node_modules/@probe.gl/stats/dist/es5/utils/hi-res-timestamp.js"(exports) {
|
|
11332
|
-
"use strict";
|
|
11333
|
-
Object.defineProperty(exports, "__esModule", {
|
|
11334
|
-
value: true
|
|
11335
|
-
});
|
|
11336
|
-
exports.default = getHiResTimestamp;
|
|
11337
|
-
function getHiResTimestamp() {
|
|
11338
|
-
var timestamp;
|
|
11339
|
-
if (typeof window !== "undefined" && window.performance) {
|
|
11340
|
-
timestamp = window.performance.now();
|
|
11341
|
-
} else if (typeof process !== "undefined" && process.hrtime) {
|
|
11342
|
-
var timeParts = process.hrtime();
|
|
11343
|
-
timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
|
|
11344
|
-
} else {
|
|
11345
|
-
timestamp = Date.now();
|
|
11346
|
-
}
|
|
11347
|
-
return timestamp;
|
|
11348
|
-
}
|
|
11349
|
-
}
|
|
11350
|
-
});
|
|
11351
|
-
|
|
11352
|
-
// ../tiles/node_modules/@probe.gl/stats/dist/es5/lib/stat.js
|
|
11353
|
-
var require_stat3 = __commonJS({
|
|
11354
|
-
"../tiles/node_modules/@probe.gl/stats/dist/es5/lib/stat.js"(exports) {
|
|
11355
|
-
"use strict";
|
|
11356
|
-
var _interopRequireDefault = require_interopRequireDefault();
|
|
11357
|
-
Object.defineProperty(exports, "__esModule", {
|
|
11358
|
-
value: true
|
|
11359
|
-
});
|
|
11360
|
-
exports.default = void 0;
|
|
11361
|
-
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
11362
|
-
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
11363
|
-
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
11364
|
-
var _hiResTimestamp = _interopRequireDefault(require_hi_res_timestamp5());
|
|
11365
|
-
var Stat = function() {
|
|
11366
|
-
function Stat2(name8, type) {
|
|
11367
|
-
(0, _classCallCheck2.default)(this, Stat2);
|
|
11368
|
-
(0, _defineProperty2.default)(this, "name", void 0);
|
|
11369
|
-
(0, _defineProperty2.default)(this, "type", void 0);
|
|
11370
|
-
(0, _defineProperty2.default)(this, "sampleSize", 1);
|
|
11371
|
-
(0, _defineProperty2.default)(this, "time", void 0);
|
|
11372
|
-
(0, _defineProperty2.default)(this, "count", void 0);
|
|
11373
|
-
(0, _defineProperty2.default)(this, "samples", void 0);
|
|
11374
|
-
(0, _defineProperty2.default)(this, "lastTiming", void 0);
|
|
11375
|
-
(0, _defineProperty2.default)(this, "lastSampleTime", void 0);
|
|
11376
|
-
(0, _defineProperty2.default)(this, "lastSampleCount", void 0);
|
|
11377
|
-
(0, _defineProperty2.default)(this, "_count", 0);
|
|
11378
|
-
(0, _defineProperty2.default)(this, "_time", 0);
|
|
11379
|
-
(0, _defineProperty2.default)(this, "_samples", 0);
|
|
11380
|
-
(0, _defineProperty2.default)(this, "_startTime", 0);
|
|
11381
|
-
(0, _defineProperty2.default)(this, "_timerPending", false);
|
|
11382
|
-
this.name = name8;
|
|
11383
|
-
this.type = type;
|
|
11384
|
-
this.reset();
|
|
11385
|
-
}
|
|
11386
|
-
(0, _createClass2.default)(Stat2, [{
|
|
11387
|
-
key: "setSampleSize",
|
|
11388
|
-
value: function setSampleSize(samples) {
|
|
11389
|
-
this.sampleSize = samples;
|
|
11390
|
-
return this;
|
|
11391
|
-
}
|
|
11392
|
-
}, {
|
|
11393
|
-
key: "incrementCount",
|
|
11394
|
-
value: function incrementCount() {
|
|
11395
|
-
this.addCount(1);
|
|
11396
|
-
return this;
|
|
11397
|
-
}
|
|
11398
|
-
}, {
|
|
11399
|
-
key: "decrementCount",
|
|
11400
|
-
value: function decrementCount() {
|
|
11401
|
-
this.subtractCount(1);
|
|
11402
|
-
return this;
|
|
11403
|
-
}
|
|
11404
|
-
}, {
|
|
11405
|
-
key: "addCount",
|
|
11406
|
-
value: function addCount(value) {
|
|
11407
|
-
this._count += value;
|
|
11408
|
-
this._samples++;
|
|
11409
|
-
this._checkSampling();
|
|
11410
|
-
return this;
|
|
11411
|
-
}
|
|
11412
|
-
}, {
|
|
11413
|
-
key: "subtractCount",
|
|
11414
|
-
value: function subtractCount(value) {
|
|
11415
|
-
this._count -= value;
|
|
11416
|
-
this._samples++;
|
|
11417
|
-
this._checkSampling();
|
|
11418
|
-
return this;
|
|
11419
|
-
}
|
|
11420
|
-
}, {
|
|
11421
|
-
key: "addTime",
|
|
11422
|
-
value: function addTime(time) {
|
|
11423
|
-
this._time += time;
|
|
11424
|
-
this.lastTiming = time;
|
|
11425
|
-
this._samples++;
|
|
11426
|
-
this._checkSampling();
|
|
11427
|
-
return this;
|
|
11428
|
-
}
|
|
11429
|
-
}, {
|
|
11430
|
-
key: "timeStart",
|
|
11431
|
-
value: function timeStart() {
|
|
11432
|
-
this._startTime = (0, _hiResTimestamp.default)();
|
|
11433
|
-
this._timerPending = true;
|
|
11434
|
-
return this;
|
|
11435
|
-
}
|
|
11436
|
-
}, {
|
|
11437
|
-
key: "timeEnd",
|
|
11438
|
-
value: function timeEnd() {
|
|
11439
|
-
if (!this._timerPending) {
|
|
11440
|
-
return this;
|
|
11441
|
-
}
|
|
11442
|
-
this.addTime((0, _hiResTimestamp.default)() - this._startTime);
|
|
11443
|
-
this._timerPending = false;
|
|
11444
|
-
this._checkSampling();
|
|
11445
|
-
return this;
|
|
11446
|
-
}
|
|
11447
|
-
}, {
|
|
11448
|
-
key: "getSampleAverageCount",
|
|
11449
|
-
value: function getSampleAverageCount() {
|
|
11450
|
-
return this.sampleSize > 0 ? this.lastSampleCount / this.sampleSize : 0;
|
|
11451
|
-
}
|
|
11452
|
-
}, {
|
|
11453
|
-
key: "getSampleAverageTime",
|
|
11454
|
-
value: function getSampleAverageTime() {
|
|
11455
|
-
return this.sampleSize > 0 ? this.lastSampleTime / this.sampleSize : 0;
|
|
11456
|
-
}
|
|
11457
|
-
}, {
|
|
11458
|
-
key: "getSampleHz",
|
|
11459
|
-
value: function getSampleHz() {
|
|
11460
|
-
return this.lastSampleTime > 0 ? this.sampleSize / (this.lastSampleTime / 1e3) : 0;
|
|
11461
|
-
}
|
|
11462
|
-
}, {
|
|
11463
|
-
key: "getAverageCount",
|
|
11464
|
-
value: function getAverageCount() {
|
|
11465
|
-
return this.samples > 0 ? this.count / this.samples : 0;
|
|
11466
|
-
}
|
|
11467
|
-
}, {
|
|
11468
|
-
key: "getAverageTime",
|
|
11469
|
-
value: function getAverageTime() {
|
|
11470
|
-
return this.samples > 0 ? this.time / this.samples : 0;
|
|
11471
|
-
}
|
|
11472
|
-
}, {
|
|
11473
|
-
key: "getHz",
|
|
11474
|
-
value: function getHz() {
|
|
11475
|
-
return this.time > 0 ? this.samples / (this.time / 1e3) : 0;
|
|
11476
|
-
}
|
|
11477
|
-
}, {
|
|
11478
|
-
key: "reset",
|
|
11479
|
-
value: function reset() {
|
|
11480
|
-
this.time = 0;
|
|
11481
|
-
this.count = 0;
|
|
11482
|
-
this.samples = 0;
|
|
11483
|
-
this.lastTiming = 0;
|
|
11484
|
-
this.lastSampleTime = 0;
|
|
11485
|
-
this.lastSampleCount = 0;
|
|
11486
|
-
this._count = 0;
|
|
11487
|
-
this._time = 0;
|
|
11488
|
-
this._samples = 0;
|
|
11489
|
-
this._startTime = 0;
|
|
11490
|
-
this._timerPending = false;
|
|
11491
|
-
return this;
|
|
11492
|
-
}
|
|
11493
|
-
}, {
|
|
11494
|
-
key: "_checkSampling",
|
|
11495
|
-
value: function _checkSampling() {
|
|
11496
|
-
if (this._samples === this.sampleSize) {
|
|
11497
|
-
this.lastSampleTime = this._time;
|
|
11498
|
-
this.lastSampleCount = this._count;
|
|
11499
|
-
this.count += this._count;
|
|
11500
|
-
this.time += this._time;
|
|
11501
|
-
this.samples += this._samples;
|
|
11502
|
-
this._time = 0;
|
|
11503
|
-
this._count = 0;
|
|
11504
|
-
this._samples = 0;
|
|
11505
|
-
}
|
|
11506
|
-
}
|
|
11507
|
-
}]);
|
|
11508
|
-
return Stat2;
|
|
11509
|
-
}();
|
|
11510
|
-
exports.default = Stat;
|
|
11511
|
-
}
|
|
11512
|
-
});
|
|
11513
|
-
|
|
11514
|
-
// ../tiles/node_modules/@probe.gl/stats/dist/es5/lib/stats.js
|
|
11515
|
-
var require_stats3 = __commonJS({
|
|
11516
|
-
"../tiles/node_modules/@probe.gl/stats/dist/es5/lib/stats.js"(exports) {
|
|
11517
|
-
"use strict";
|
|
11518
|
-
var _interopRequireDefault = require_interopRequireDefault();
|
|
11519
|
-
Object.defineProperty(exports, "__esModule", {
|
|
11520
|
-
value: true
|
|
11521
|
-
});
|
|
11522
|
-
exports.default = void 0;
|
|
11523
|
-
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
11524
|
-
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
11525
|
-
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
11526
|
-
var _stat = _interopRequireDefault(require_stat3());
|
|
11527
|
-
var Stats3 = function() {
|
|
11528
|
-
function Stats4(options) {
|
|
11529
|
-
(0, _classCallCheck2.default)(this, Stats4);
|
|
11530
|
-
(0, _defineProperty2.default)(this, "id", void 0);
|
|
11531
|
-
(0, _defineProperty2.default)(this, "stats", {});
|
|
11532
|
-
this.id = options.id;
|
|
11533
|
-
this.stats = {};
|
|
11534
|
-
this._initializeStats(options.stats);
|
|
11535
|
-
Object.seal(this);
|
|
11536
|
-
}
|
|
11537
|
-
(0, _createClass2.default)(Stats4, [{
|
|
11538
|
-
key: "get",
|
|
11539
|
-
value: function get(name8) {
|
|
11540
|
-
var type = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "count";
|
|
11541
|
-
return this._getOrCreate({
|
|
11542
|
-
name: name8,
|
|
11543
|
-
type
|
|
11544
|
-
});
|
|
11545
|
-
}
|
|
11546
|
-
}, {
|
|
11547
|
-
key: "size",
|
|
11548
|
-
get: function get() {
|
|
11549
|
-
return Object.keys(this.stats).length;
|
|
11550
|
-
}
|
|
11551
|
-
}, {
|
|
11552
|
-
key: "reset",
|
|
11553
|
-
value: function reset() {
|
|
11554
|
-
for (var key in this.stats) {
|
|
11555
|
-
this.stats[key].reset();
|
|
11556
|
-
}
|
|
11557
|
-
return this;
|
|
11558
|
-
}
|
|
11559
|
-
}, {
|
|
11560
|
-
key: "forEach",
|
|
11561
|
-
value: function forEach2(fn) {
|
|
11562
|
-
for (var key in this.stats) {
|
|
11563
|
-
fn(this.stats[key]);
|
|
11564
|
-
}
|
|
11565
|
-
}
|
|
11566
|
-
}, {
|
|
11567
|
-
key: "getTable",
|
|
11568
|
-
value: function getTable() {
|
|
11569
|
-
var table = {};
|
|
11570
|
-
this.forEach(function(stat2) {
|
|
11571
|
-
table[stat2.name] = {
|
|
11572
|
-
time: stat2.time || 0,
|
|
11573
|
-
count: stat2.count || 0,
|
|
11574
|
-
average: stat2.getAverageTime() || 0,
|
|
11575
|
-
hz: stat2.getHz() || 0
|
|
11576
|
-
};
|
|
11577
|
-
});
|
|
11578
|
-
return table;
|
|
11579
|
-
}
|
|
11580
|
-
}, {
|
|
11581
|
-
key: "_initializeStats",
|
|
11582
|
-
value: function _initializeStats() {
|
|
11583
|
-
var _this = this;
|
|
11584
|
-
var stats = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
|
|
11585
|
-
stats.forEach(function(stat2) {
|
|
11586
|
-
return _this._getOrCreate(stat2);
|
|
11587
|
-
});
|
|
11588
|
-
}
|
|
11589
|
-
}, {
|
|
11590
|
-
key: "_getOrCreate",
|
|
11591
|
-
value: function _getOrCreate(stat2) {
|
|
11592
|
-
if (!stat2 || !stat2.name) {
|
|
11593
|
-
return null;
|
|
11594
|
-
}
|
|
11595
|
-
var name8 = stat2.name, type = stat2.type;
|
|
11596
|
-
if (!this.stats[name8]) {
|
|
11597
|
-
if (stat2 instanceof _stat.default) {
|
|
11598
|
-
this.stats[name8] = stat2;
|
|
11599
|
-
} else {
|
|
11600
|
-
this.stats[name8] = new _stat.default(name8, type);
|
|
11601
|
-
}
|
|
11602
|
-
}
|
|
11603
|
-
return this.stats[name8];
|
|
11604
|
-
}
|
|
11605
|
-
}]);
|
|
11606
|
-
return Stats4;
|
|
11607
|
-
}();
|
|
11608
|
-
exports.default = Stats3;
|
|
11609
|
-
}
|
|
11610
|
-
});
|
|
11611
|
-
|
|
11612
|
-
// ../tiles/node_modules/@probe.gl/stats/dist/es5/index.js
|
|
11613
|
-
var require_es58 = __commonJS({
|
|
11614
|
-
"../tiles/node_modules/@probe.gl/stats/dist/es5/index.js"(exports) {
|
|
11615
|
-
"use strict";
|
|
11616
|
-
var _interopRequireDefault = require_interopRequireDefault();
|
|
11617
|
-
Object.defineProperty(exports, "__esModule", {
|
|
11618
|
-
value: true
|
|
11619
|
-
});
|
|
11620
|
-
Object.defineProperty(exports, "Stat", {
|
|
11621
|
-
enumerable: true,
|
|
11622
|
-
get: function get() {
|
|
11623
|
-
return _stat.default;
|
|
11624
|
-
}
|
|
11625
|
-
});
|
|
11626
|
-
Object.defineProperty(exports, "Stats", {
|
|
11627
|
-
enumerable: true,
|
|
11628
|
-
get: function get() {
|
|
11629
|
-
return _stats.default;
|
|
11630
|
-
}
|
|
11631
|
-
});
|
|
11632
|
-
Object.defineProperty(exports, "_getHiResTimestamp", {
|
|
11633
|
-
enumerable: true,
|
|
11634
|
-
get: function get() {
|
|
11635
|
-
return _hiResTimestamp.default;
|
|
11636
|
-
}
|
|
11637
|
-
});
|
|
11638
|
-
var _stats = _interopRequireDefault(require_stats3());
|
|
11639
|
-
var _stat = _interopRequireDefault(require_stat3());
|
|
11640
|
-
var _hiResTimestamp = _interopRequireDefault(require_hi_res_timestamp5());
|
|
11641
|
-
}
|
|
11642
|
-
});
|
|
11643
|
-
|
|
11644
11329
|
// ../../node_modules/@math.gl/culling/dist/es5/constants.js
|
|
11645
11330
|
var require_constants2 = __commonJS({
|
|
11646
11331
|
"../../node_modules/@math.gl/culling/dist/es5/constants.js"(exports) {
|
|
@@ -11807,16 +11492,16 @@ var require_bounding_sphere = __commonJS({
|
|
|
11807
11492
|
}
|
|
11808
11493
|
var scratchVector7 = new _core.Vector3();
|
|
11809
11494
|
var scratchVector23 = new _core.Vector3();
|
|
11810
|
-
var
|
|
11811
|
-
function
|
|
11495
|
+
var BoundingSphere5 = function() {
|
|
11496
|
+
function BoundingSphere6() {
|
|
11812
11497
|
var center = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [0, 0, 0];
|
|
11813
11498
|
var radius = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
11814
|
-
(0, _classCallCheck2.default)(this,
|
|
11499
|
+
(0, _classCallCheck2.default)(this, BoundingSphere6);
|
|
11815
11500
|
this.radius = -0;
|
|
11816
11501
|
this.center = new _core.Vector3();
|
|
11817
11502
|
this.fromCenterRadius(center, radius);
|
|
11818
11503
|
}
|
|
11819
|
-
(0, _createClass2.default)(
|
|
11504
|
+
(0, _createClass2.default)(BoundingSphere6, [{
|
|
11820
11505
|
key: "fromCenterRadius",
|
|
11821
11506
|
value: function fromCenterRadius(center, radius) {
|
|
11822
11507
|
this.center.from(center);
|
|
@@ -11839,7 +11524,7 @@ var require_bounding_sphere = __commonJS({
|
|
|
11839
11524
|
}, {
|
|
11840
11525
|
key: "clone",
|
|
11841
11526
|
value: function clone2() {
|
|
11842
|
-
return new
|
|
11527
|
+
return new BoundingSphere6(this.center, this.radius);
|
|
11843
11528
|
}
|
|
11844
11529
|
}, {
|
|
11845
11530
|
key: "union",
|
|
@@ -11908,9 +11593,9 @@ var require_bounding_sphere = __commonJS({
|
|
|
11908
11593
|
return _constants.INTERSECTION.INSIDE;
|
|
11909
11594
|
}
|
|
11910
11595
|
}]);
|
|
11911
|
-
return
|
|
11596
|
+
return BoundingSphere6;
|
|
11912
11597
|
}();
|
|
11913
|
-
exports.default =
|
|
11598
|
+
exports.default = BoundingSphere5;
|
|
11914
11599
|
}
|
|
11915
11600
|
});
|
|
11916
11601
|
|
|
@@ -13293,7 +12978,7 @@ var require_bounding_box_from_points = __commonJS({
|
|
|
13293
12978
|
});
|
|
13294
12979
|
|
|
13295
12980
|
// ../../node_modules/@math.gl/culling/dist/es5/index.js
|
|
13296
|
-
var
|
|
12981
|
+
var require_es58 = __commonJS({
|
|
13297
12982
|
"../../node_modules/@math.gl/culling/dist/es5/index.js"(exports) {
|
|
13298
12983
|
"use strict";
|
|
13299
12984
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -17725,7 +17410,7 @@ var require_graceful_fs = __commonJS({
|
|
|
17725
17410
|
gracefulQueue = "___graceful-fs.queue";
|
|
17726
17411
|
previousSymbol = "___graceful-fs.previous";
|
|
17727
17412
|
}
|
|
17728
|
-
function
|
|
17413
|
+
function noop() {
|
|
17729
17414
|
}
|
|
17730
17415
|
function publishQueue(context, queue2) {
|
|
17731
17416
|
Object.defineProperty(context, gracefulQueue, {
|
|
@@ -17734,7 +17419,7 @@ var require_graceful_fs = __commonJS({
|
|
|
17734
17419
|
}
|
|
17735
17420
|
});
|
|
17736
17421
|
}
|
|
17737
|
-
var debug =
|
|
17422
|
+
var debug = noop;
|
|
17738
17423
|
if (util2.debuglog)
|
|
17739
17424
|
debug = util2.debuglog("gfs4");
|
|
17740
17425
|
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
|
|
@@ -18313,7 +17998,7 @@ var require_BufferList = __commonJS({
|
|
|
18313
17998
|
this.head = this.tail = null;
|
|
18314
17999
|
this.length = 0;
|
|
18315
18000
|
};
|
|
18316
|
-
BufferList.prototype.join = function
|
|
18001
|
+
BufferList.prototype.join = function join9(s) {
|
|
18317
18002
|
if (this.length === 0)
|
|
18318
18003
|
return "";
|
|
18319
18004
|
var p = this.head;
|
|
@@ -21200,7 +20885,7 @@ var require_lodash4 = __commonJS({
|
|
|
21200
20885
|
}
|
|
21201
20886
|
return result;
|
|
21202
20887
|
}
|
|
21203
|
-
var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ?
|
|
20888
|
+
var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop : function(values) {
|
|
21204
20889
|
return new Set2(values);
|
|
21205
20890
|
};
|
|
21206
20891
|
function getMapData(map, key) {
|
|
@@ -21264,7 +20949,7 @@ var require_lodash4 = __commonJS({
|
|
|
21264
20949
|
function isObjectLike(value) {
|
|
21265
20950
|
return !!value && typeof value == "object";
|
|
21266
20951
|
}
|
|
21267
|
-
function
|
|
20952
|
+
function noop() {
|
|
21268
20953
|
}
|
|
21269
20954
|
module2.exports = union;
|
|
21270
20955
|
}
|
|
@@ -23260,7 +22945,7 @@ var require_buffer_list = __commonJS({
|
|
|
23260
22945
|
}
|
|
23261
22946
|
}, {
|
|
23262
22947
|
key: "join",
|
|
23263
|
-
value: function
|
|
22948
|
+
value: function join9(s) {
|
|
23264
22949
|
if (this.length === 0)
|
|
23265
22950
|
return "";
|
|
23266
22951
|
var p = this.head;
|
|
@@ -24511,7 +24196,7 @@ var require_end_of_stream = __commonJS({
|
|
|
24511
24196
|
callback.apply(this, args);
|
|
24512
24197
|
};
|
|
24513
24198
|
}
|
|
24514
|
-
function
|
|
24199
|
+
function noop() {
|
|
24515
24200
|
}
|
|
24516
24201
|
function isRequest(stream) {
|
|
24517
24202
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -24521,7 +24206,7 @@ var require_end_of_stream = __commonJS({
|
|
|
24521
24206
|
return eos(stream, null, opts);
|
|
24522
24207
|
if (!opts)
|
|
24523
24208
|
opts = {};
|
|
24524
|
-
callback = once(callback ||
|
|
24209
|
+
callback = once(callback || noop);
|
|
24525
24210
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
24526
24211
|
var writable = opts.writable || opts.writable !== false && stream.writable;
|
|
24527
24212
|
var onlegacyfinish = function onlegacyfinish2() {
|
|
@@ -25806,7 +25491,7 @@ var require_pipeline = __commonJS({
|
|
|
25806
25491
|
var _require$codes = require_errors().codes;
|
|
25807
25492
|
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
|
25808
25493
|
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
|
|
25809
|
-
function
|
|
25494
|
+
function noop(err) {
|
|
25810
25495
|
if (err)
|
|
25811
25496
|
throw err;
|
|
25812
25497
|
}
|
|
@@ -25852,9 +25537,9 @@ var require_pipeline = __commonJS({
|
|
|
25852
25537
|
}
|
|
25853
25538
|
function popCallback(streams) {
|
|
25854
25539
|
if (!streams.length)
|
|
25855
|
-
return
|
|
25540
|
+
return noop;
|
|
25856
25541
|
if (typeof streams[streams.length - 1] !== "function")
|
|
25857
|
-
return
|
|
25542
|
+
return noop;
|
|
25858
25543
|
return streams.pop();
|
|
25859
25544
|
}
|
|
25860
25545
|
function pipeline() {
|
|
@@ -26972,7 +26657,7 @@ var require_buffer_list2 = __commonJS({
|
|
|
26972
26657
|
}
|
|
26973
26658
|
}, {
|
|
26974
26659
|
key: "join",
|
|
26975
|
-
value: function
|
|
26660
|
+
value: function join9(s) {
|
|
26976
26661
|
if (this.length === 0)
|
|
26977
26662
|
return "";
|
|
26978
26663
|
var p = this.head;
|
|
@@ -28165,7 +27850,7 @@ var require_end_of_stream2 = __commonJS({
|
|
|
28165
27850
|
callback.apply(this, args);
|
|
28166
27851
|
};
|
|
28167
27852
|
}
|
|
28168
|
-
function
|
|
27853
|
+
function noop() {
|
|
28169
27854
|
}
|
|
28170
27855
|
function isRequest(stream) {
|
|
28171
27856
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -28175,7 +27860,7 @@ var require_end_of_stream2 = __commonJS({
|
|
|
28175
27860
|
return eos(stream, null, opts);
|
|
28176
27861
|
if (!opts)
|
|
28177
27862
|
opts = {};
|
|
28178
|
-
callback = once(callback ||
|
|
27863
|
+
callback = once(callback || noop);
|
|
28179
27864
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
28180
27865
|
var writable = opts.writable || opts.writable !== false && stream.writable;
|
|
28181
27866
|
var onlegacyfinish = function onlegacyfinish2() {
|
|
@@ -29460,7 +29145,7 @@ var require_pipeline2 = __commonJS({
|
|
|
29460
29145
|
var _require$codes = require_errors2().codes;
|
|
29461
29146
|
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
|
29462
29147
|
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
|
|
29463
|
-
function
|
|
29148
|
+
function noop(err) {
|
|
29464
29149
|
if (err)
|
|
29465
29150
|
throw err;
|
|
29466
29151
|
}
|
|
@@ -29506,9 +29191,9 @@ var require_pipeline2 = __commonJS({
|
|
|
29506
29191
|
}
|
|
29507
29192
|
function popCallback(streams) {
|
|
29508
29193
|
if (!streams.length)
|
|
29509
|
-
return
|
|
29194
|
+
return noop;
|
|
29510
29195
|
if (typeof streams[streams.length - 1] !== "function")
|
|
29511
|
-
return
|
|
29196
|
+
return noop;
|
|
29512
29197
|
return streams.pop();
|
|
29513
29198
|
}
|
|
29514
29199
|
function pipeline() {
|
|
@@ -30114,7 +29799,7 @@ var require_buffer_list3 = __commonJS({
|
|
|
30114
29799
|
}
|
|
30115
29800
|
}, {
|
|
30116
29801
|
key: "join",
|
|
30117
|
-
value: function
|
|
29802
|
+
value: function join9(s) {
|
|
30118
29803
|
if (this.length === 0)
|
|
30119
29804
|
return "";
|
|
30120
29805
|
var p = this.head;
|
|
@@ -31307,7 +30992,7 @@ var require_end_of_stream3 = __commonJS({
|
|
|
31307
30992
|
callback.apply(this, args);
|
|
31308
30993
|
};
|
|
31309
30994
|
}
|
|
31310
|
-
function
|
|
30995
|
+
function noop() {
|
|
31311
30996
|
}
|
|
31312
30997
|
function isRequest(stream) {
|
|
31313
30998
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -31317,7 +31002,7 @@ var require_end_of_stream3 = __commonJS({
|
|
|
31317
31002
|
return eos(stream, null, opts);
|
|
31318
31003
|
if (!opts)
|
|
31319
31004
|
opts = {};
|
|
31320
|
-
callback = once(callback ||
|
|
31005
|
+
callback = once(callback || noop);
|
|
31321
31006
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
31322
31007
|
var writable = opts.writable || opts.writable !== false && stream.writable;
|
|
31323
31008
|
var onlegacyfinish = function onlegacyfinish2() {
|
|
@@ -32602,7 +32287,7 @@ var require_pipeline3 = __commonJS({
|
|
|
32602
32287
|
var _require$codes = require_errors3().codes;
|
|
32603
32288
|
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
|
32604
32289
|
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
|
|
32605
|
-
function
|
|
32290
|
+
function noop(err) {
|
|
32606
32291
|
if (err)
|
|
32607
32292
|
throw err;
|
|
32608
32293
|
}
|
|
@@ -32648,9 +32333,9 @@ var require_pipeline3 = __commonJS({
|
|
|
32648
32333
|
}
|
|
32649
32334
|
function popCallback(streams) {
|
|
32650
32335
|
if (!streams.length)
|
|
32651
|
-
return
|
|
32336
|
+
return noop;
|
|
32652
32337
|
if (typeof streams[streams.length - 1] !== "function")
|
|
32653
|
-
return
|
|
32338
|
+
return noop;
|
|
32654
32339
|
return streams.pop();
|
|
32655
32340
|
}
|
|
32656
32341
|
function pipeline() {
|
|
@@ -33486,7 +33171,7 @@ var require_buffer_list4 = __commonJS({
|
|
|
33486
33171
|
}
|
|
33487
33172
|
}, {
|
|
33488
33173
|
key: "join",
|
|
33489
|
-
value: function
|
|
33174
|
+
value: function join9(s) {
|
|
33490
33175
|
if (this.length === 0)
|
|
33491
33176
|
return "";
|
|
33492
33177
|
var p = this.head;
|
|
@@ -34679,7 +34364,7 @@ var require_end_of_stream4 = __commonJS({
|
|
|
34679
34364
|
callback.apply(this, args);
|
|
34680
34365
|
};
|
|
34681
34366
|
}
|
|
34682
|
-
function
|
|
34367
|
+
function noop() {
|
|
34683
34368
|
}
|
|
34684
34369
|
function isRequest(stream) {
|
|
34685
34370
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -34689,7 +34374,7 @@ var require_end_of_stream4 = __commonJS({
|
|
|
34689
34374
|
return eos(stream, null, opts);
|
|
34690
34375
|
if (!opts)
|
|
34691
34376
|
opts = {};
|
|
34692
|
-
callback = once(callback ||
|
|
34377
|
+
callback = once(callback || noop);
|
|
34693
34378
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
34694
34379
|
var writable = opts.writable || opts.writable !== false && stream.writable;
|
|
34695
34380
|
var onlegacyfinish = function onlegacyfinish2() {
|
|
@@ -35974,7 +35659,7 @@ var require_pipeline4 = __commonJS({
|
|
|
35974
35659
|
var _require$codes = require_errors4().codes;
|
|
35975
35660
|
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
|
35976
35661
|
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
|
|
35977
|
-
function
|
|
35662
|
+
function noop(err) {
|
|
35978
35663
|
if (err)
|
|
35979
35664
|
throw err;
|
|
35980
35665
|
}
|
|
@@ -36020,9 +35705,9 @@ var require_pipeline4 = __commonJS({
|
|
|
36020
35705
|
}
|
|
36021
35706
|
function popCallback(streams) {
|
|
36022
35707
|
if (!streams.length)
|
|
36023
|
-
return
|
|
35708
|
+
return noop;
|
|
36024
35709
|
if (typeof streams[streams.length - 1] !== "function")
|
|
36025
|
-
return
|
|
35710
|
+
return noop;
|
|
36026
35711
|
return streams.pop();
|
|
36027
35712
|
}
|
|
36028
35713
|
function pipeline() {
|
|
@@ -36860,7 +36545,7 @@ var require_buffer_list5 = __commonJS({
|
|
|
36860
36545
|
}
|
|
36861
36546
|
}, {
|
|
36862
36547
|
key: "join",
|
|
36863
|
-
value: function
|
|
36548
|
+
value: function join9(s) {
|
|
36864
36549
|
if (this.length === 0)
|
|
36865
36550
|
return "";
|
|
36866
36551
|
var p = this.head;
|
|
@@ -38053,7 +37738,7 @@ var require_end_of_stream5 = __commonJS({
|
|
|
38053
37738
|
callback.apply(this, args);
|
|
38054
37739
|
};
|
|
38055
37740
|
}
|
|
38056
|
-
function
|
|
37741
|
+
function noop() {
|
|
38057
37742
|
}
|
|
38058
37743
|
function isRequest(stream) {
|
|
38059
37744
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -38063,7 +37748,7 @@ var require_end_of_stream5 = __commonJS({
|
|
|
38063
37748
|
return eos(stream, null, opts);
|
|
38064
37749
|
if (!opts)
|
|
38065
37750
|
opts = {};
|
|
38066
|
-
callback = once(callback ||
|
|
37751
|
+
callback = once(callback || noop);
|
|
38067
37752
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
38068
37753
|
var writable = opts.writable || opts.writable !== false && stream.writable;
|
|
38069
37754
|
var onlegacyfinish = function onlegacyfinish2() {
|
|
@@ -39348,7 +39033,7 @@ var require_pipeline5 = __commonJS({
|
|
|
39348
39033
|
var _require$codes = require_errors5().codes;
|
|
39349
39034
|
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
|
|
39350
39035
|
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
|
|
39351
|
-
function
|
|
39036
|
+
function noop(err) {
|
|
39352
39037
|
if (err)
|
|
39353
39038
|
throw err;
|
|
39354
39039
|
}
|
|
@@ -39394,9 +39079,9 @@ var require_pipeline5 = __commonJS({
|
|
|
39394
39079
|
}
|
|
39395
39080
|
function popCallback(streams) {
|
|
39396
39081
|
if (!streams.length)
|
|
39397
|
-
return
|
|
39082
|
+
return noop;
|
|
39398
39083
|
if (typeof streams[streams.length - 1] !== "function")
|
|
39399
|
-
return
|
|
39084
|
+
return noop;
|
|
39400
39085
|
return streams.pop();
|
|
39401
39086
|
}
|
|
39402
39087
|
function pipeline() {
|
|
@@ -39460,7 +39145,7 @@ var require_extract = __commonJS({
|
|
|
39460
39145
|
var headers = require_headers();
|
|
39461
39146
|
var Writable = require_readable6().Writable;
|
|
39462
39147
|
var PassThrough = require_readable6().PassThrough;
|
|
39463
|
-
var
|
|
39148
|
+
var noop = function() {
|
|
39464
39149
|
};
|
|
39465
39150
|
var overflow = function(size) {
|
|
39466
39151
|
size &= 511;
|
|
@@ -39499,7 +39184,7 @@ var require_extract = __commonJS({
|
|
|
39499
39184
|
this._buffer = bl();
|
|
39500
39185
|
this._missing = 0;
|
|
39501
39186
|
this._partial = false;
|
|
39502
|
-
this._onparse =
|
|
39187
|
+
this._onparse = noop;
|
|
39503
39188
|
this._header = null;
|
|
39504
39189
|
this._stream = null;
|
|
39505
39190
|
this._overflow = null;
|
|
@@ -39647,7 +39332,7 @@ var require_extract = __commonJS({
|
|
|
39647
39332
|
if (this._destroyed)
|
|
39648
39333
|
return;
|
|
39649
39334
|
var cb = this._cb;
|
|
39650
|
-
this._cb =
|
|
39335
|
+
this._cb = noop;
|
|
39651
39336
|
if (this._overflow)
|
|
39652
39337
|
this._write(this._overflow, void 0, cb);
|
|
39653
39338
|
else
|
|
@@ -39703,7 +39388,7 @@ var require_fs_constants = __commonJS({
|
|
|
39703
39388
|
var require_end_of_stream6 = __commonJS({
|
|
39704
39389
|
"../../node_modules/end-of-stream/index.js"(exports, module2) {
|
|
39705
39390
|
var once = require_once();
|
|
39706
|
-
var
|
|
39391
|
+
var noop = function() {
|
|
39707
39392
|
};
|
|
39708
39393
|
var isRequest = function(stream) {
|
|
39709
39394
|
return stream.setHeader && typeof stream.abort === "function";
|
|
@@ -39716,7 +39401,7 @@ var require_end_of_stream6 = __commonJS({
|
|
|
39716
39401
|
return eos(stream, null, opts);
|
|
39717
39402
|
if (!opts)
|
|
39718
39403
|
opts = {};
|
|
39719
|
-
callback = once(callback ||
|
|
39404
|
+
callback = once(callback || noop);
|
|
39720
39405
|
var ws = stream._writableState;
|
|
39721
39406
|
var rs = stream._readableState;
|
|
39722
39407
|
var readable = opts.readable || opts.readable !== false && stream.readable;
|
|
@@ -39808,7 +39493,7 @@ var require_pack = __commonJS({
|
|
|
39808
39493
|
var DMODE = parseInt("755", 8);
|
|
39809
39494
|
var FMODE = parseInt("644", 8);
|
|
39810
39495
|
var END_OF_TAR = alloc(1024);
|
|
39811
|
-
var
|
|
39496
|
+
var noop = function() {
|
|
39812
39497
|
};
|
|
39813
39498
|
var overflow = function(self2, size) {
|
|
39814
39499
|
size &= 511;
|
|
@@ -39884,7 +39569,7 @@ var require_pack = __commonJS({
|
|
|
39884
39569
|
if (!(this instanceof Pack))
|
|
39885
39570
|
return new Pack(opts);
|
|
39886
39571
|
Readable.call(this, opts);
|
|
39887
|
-
this._drain =
|
|
39572
|
+
this._drain = noop;
|
|
39888
39573
|
this._finalized = false;
|
|
39889
39574
|
this._finalizing = false;
|
|
39890
39575
|
this._destroyed = false;
|
|
@@ -39901,7 +39586,7 @@ var require_pack = __commonJS({
|
|
|
39901
39586
|
buffer = null;
|
|
39902
39587
|
}
|
|
39903
39588
|
if (!callback)
|
|
39904
|
-
callback =
|
|
39589
|
+
callback = noop;
|
|
39905
39590
|
var self2 = this;
|
|
39906
39591
|
if (!header.size || header.type === "symlink")
|
|
39907
39592
|
header.size = 0;
|
|
@@ -40025,7 +39710,7 @@ var require_pack = __commonJS({
|
|
|
40025
39710
|
};
|
|
40026
39711
|
Pack.prototype._read = function(n) {
|
|
40027
39712
|
var drain = this._drain;
|
|
40028
|
-
this._drain =
|
|
39713
|
+
this._drain = noop;
|
|
40029
39714
|
drain();
|
|
40030
39715
|
};
|
|
40031
39716
|
module2.exports = Pack;
|
|
@@ -47256,9 +46941,9 @@ var require_load = __commonJS({
|
|
|
47256
46941
|
var require_lib4 = __commonJS({
|
|
47257
46942
|
"../../node_modules/jszip/lib/index.js"(exports, module2) {
|
|
47258
46943
|
"use strict";
|
|
47259
|
-
function
|
|
47260
|
-
if (!(this instanceof
|
|
47261
|
-
return new
|
|
46944
|
+
function JSZip2() {
|
|
46945
|
+
if (!(this instanceof JSZip2)) {
|
|
46946
|
+
return new JSZip2();
|
|
47262
46947
|
}
|
|
47263
46948
|
if (arguments.length) {
|
|
47264
46949
|
throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
@@ -47267,7 +46952,7 @@ var require_lib4 = __commonJS({
|
|
|
47267
46952
|
this.comment = null;
|
|
47268
46953
|
this.root = "";
|
|
47269
46954
|
this.clone = function() {
|
|
47270
|
-
var newObj = new
|
|
46955
|
+
var newObj = new JSZip2();
|
|
47271
46956
|
for (var i in this) {
|
|
47272
46957
|
if (typeof this[i] !== "function") {
|
|
47273
46958
|
newObj[i] = this[i];
|
|
@@ -47276,16 +46961,16 @@ var require_lib4 = __commonJS({
|
|
|
47276
46961
|
return newObj;
|
|
47277
46962
|
};
|
|
47278
46963
|
}
|
|
47279
|
-
|
|
47280
|
-
|
|
47281
|
-
|
|
47282
|
-
|
|
47283
|
-
|
|
47284
|
-
|
|
47285
|
-
return new
|
|
46964
|
+
JSZip2.prototype = require_object();
|
|
46965
|
+
JSZip2.prototype.loadAsync = require_load();
|
|
46966
|
+
JSZip2.support = require_support();
|
|
46967
|
+
JSZip2.defaults = require_defaults();
|
|
46968
|
+
JSZip2.version = "3.7.0";
|
|
46969
|
+
JSZip2.loadAsync = function(content, options) {
|
|
46970
|
+
return new JSZip2().loadAsync(content, options);
|
|
47286
46971
|
};
|
|
47287
|
-
|
|
47288
|
-
module2.exports =
|
|
46972
|
+
JSZip2.external = require_external();
|
|
46973
|
+
module2.exports = JSZip2;
|
|
47289
46974
|
}
|
|
47290
46975
|
});
|
|
47291
46976
|
|
|
@@ -48164,7 +47849,7 @@ var require_parse_pgm = __commonJS({
|
|
|
48164
47849
|
});
|
|
48165
47850
|
|
|
48166
47851
|
// ../../node_modules/@math.gl/geoid/dist/es5/index.js
|
|
48167
|
-
var
|
|
47852
|
+
var require_es59 = __commonJS({
|
|
48168
47853
|
"../../node_modules/@math.gl/geoid/dist/es5/index.js"(exports) {
|
|
48169
47854
|
"use strict";
|
|
48170
47855
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -49997,7 +49682,7 @@ var require_context = __commonJS({
|
|
|
49997
49682
|
});
|
|
49998
49683
|
|
|
49999
49684
|
// ../../node_modules/@luma.gl/gltools/dist/es5/index.js
|
|
50000
|
-
var
|
|
49685
|
+
var require_es510 = __commonJS({
|
|
50001
49686
|
"../../node_modules/@luma.gl/gltools/dist/es5/index.js"(exports) {
|
|
50002
49687
|
"use strict";
|
|
50003
49688
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -50144,10 +49829,10 @@ var require_init3 = __commonJS({
|
|
|
50144
49829
|
exports.default = exports.lumaStats = void 0;
|
|
50145
49830
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
50146
49831
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
50147
|
-
var _gltools =
|
|
49832
|
+
var _gltools = require_es510();
|
|
50148
49833
|
var _probe = require_es53();
|
|
50149
49834
|
var _env = require_env2();
|
|
50150
|
-
var
|
|
49835
|
+
var VERSION17 = true ? "8.5.4" : "untranspiled source";
|
|
50151
49836
|
var STARTUP_MESSAGE = "set luma.log.level=1 (or higher) to trace rendering";
|
|
50152
49837
|
var StatsManager = function() {
|
|
50153
49838
|
function StatsManager2() {
|
|
@@ -50169,16 +49854,16 @@ var require_init3 = __commonJS({
|
|
|
50169
49854
|
}();
|
|
50170
49855
|
var lumaStats = new StatsManager();
|
|
50171
49856
|
exports.lumaStats = lumaStats;
|
|
50172
|
-
if (_env.global.luma && _env.global.luma.VERSION !==
|
|
50173
|
-
throw new Error("luma.gl - multiple VERSIONs detected: ".concat(_env.global.luma.VERSION, " vs ").concat(
|
|
49857
|
+
if (_env.global.luma && _env.global.luma.VERSION !== VERSION17) {
|
|
49858
|
+
throw new Error("luma.gl - multiple VERSIONs detected: ".concat(_env.global.luma.VERSION, " vs ").concat(VERSION17));
|
|
50174
49859
|
}
|
|
50175
49860
|
if (!_env.global.luma) {
|
|
50176
49861
|
if ((0, _env.isBrowser)()) {
|
|
50177
|
-
_gltools.log.log(1, "luma.gl ".concat(
|
|
49862
|
+
_gltools.log.log(1, "luma.gl ".concat(VERSION17, " - ").concat(STARTUP_MESSAGE))();
|
|
50178
49863
|
}
|
|
50179
49864
|
_env.global.luma = _env.global.luma || {
|
|
50180
|
-
VERSION:
|
|
50181
|
-
version:
|
|
49865
|
+
VERSION: VERSION17,
|
|
49866
|
+
version: VERSION17,
|
|
50182
49867
|
log: _gltools.log,
|
|
50183
49868
|
stats: lumaStats,
|
|
50184
49869
|
globals: {
|
|
@@ -50422,7 +50107,7 @@ var require_stub_methods = __commonJS({
|
|
|
50422
50107
|
value: true
|
|
50423
50108
|
});
|
|
50424
50109
|
exports.stubRemovedMethods = stubRemovedMethods;
|
|
50425
|
-
var _gltools =
|
|
50110
|
+
var _gltools = require_es510();
|
|
50426
50111
|
function stubRemovedMethods(instance, className, version2, methodNames) {
|
|
50427
50112
|
var upgradeMessage = "See luma.gl ".concat(version2, " Upgrade Guide at https://luma.gl/docs/upgrade-guide");
|
|
50428
50113
|
var prototype = Object.getPrototypeOf(instance);
|
|
@@ -50447,7 +50132,7 @@ var require_check_props = __commonJS({
|
|
|
50447
50132
|
value: true
|
|
50448
50133
|
});
|
|
50449
50134
|
exports.checkProps = checkProps;
|
|
50450
|
-
var _gltools =
|
|
50135
|
+
var _gltools = require_es510();
|
|
50451
50136
|
function checkProps(className, props, propChecks) {
|
|
50452
50137
|
var _propChecks$removedPr = propChecks.removedProps, removedProps = _propChecks$removedPr === void 0 ? {} : _propChecks$removedPr, _propChecks$deprecate = propChecks.deprecatedProps, deprecatedProps = _propChecks$deprecate === void 0 ? {} : _propChecks$deprecate, _propChecks$replacedP = propChecks.replacedProps, replacedProps = _propChecks$replacedP === void 0 ? {} : _propChecks$replacedP;
|
|
50453
50138
|
for (var propName in removedProps) {
|
|
@@ -50674,7 +50359,7 @@ var require_resource = __commonJS({
|
|
|
50674
50359
|
exports.default = void 0;
|
|
50675
50360
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
50676
50361
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
50677
|
-
var _gltools =
|
|
50362
|
+
var _gltools = require_es510();
|
|
50678
50363
|
var _init = require_init3();
|
|
50679
50364
|
var _webglUtils = require_webgl_utils();
|
|
50680
50365
|
var _utils = require_utils4();
|
|
@@ -51123,7 +50808,7 @@ var require_buffer = __commonJS({
|
|
|
51123
50808
|
var _resource = _interopRequireDefault(require_resource());
|
|
51124
50809
|
var _accessor = _interopRequireDefault(require_accessor());
|
|
51125
50810
|
var _webglUtils = require_webgl_utils();
|
|
51126
|
-
var _gltools =
|
|
50811
|
+
var _gltools = require_es510();
|
|
51127
50812
|
var _utils = require_utils4();
|
|
51128
50813
|
function _createSuper(Derived) {
|
|
51129
50814
|
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
@@ -51502,7 +51187,7 @@ var require_texture_formats = __commonJS({
|
|
|
51502
51187
|
exports.isLinearFilteringSupported = isLinearFilteringSupported;
|
|
51503
51188
|
exports.TYPE_SIZES = exports.DATA_FORMAT_CHANNELS = exports.TEXTURE_FORMATS = void 0;
|
|
51504
51189
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
51505
|
-
var _gltools =
|
|
51190
|
+
var _gltools = require_es510();
|
|
51506
51191
|
var _TEXTURE_FORMATS;
|
|
51507
51192
|
var _DATA_FORMAT_CHANNELS;
|
|
51508
51193
|
var _TYPE_SIZES;
|
|
@@ -51583,7 +51268,7 @@ var require_texture = __commonJS({
|
|
|
51583
51268
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
51584
51269
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
51585
51270
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
51586
|
-
var _gltools =
|
|
51271
|
+
var _gltools = require_es510();
|
|
51587
51272
|
var _env = require_env2();
|
|
51588
51273
|
var _resource = _interopRequireDefault(require_resource());
|
|
51589
51274
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
@@ -52303,7 +51988,7 @@ var require_texture_2d = __commonJS({
|
|
|
52303
51988
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
52304
51989
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
52305
51990
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
52306
|
-
var _gltools =
|
|
51991
|
+
var _gltools = require_es510();
|
|
52307
51992
|
var _texture = _interopRequireDefault(require_texture());
|
|
52308
51993
|
var _loadFile = require_load_file();
|
|
52309
51994
|
function _createSuper(Derived) {
|
|
@@ -52388,7 +52073,7 @@ var require_texture_cube = __commonJS({
|
|
|
52388
52073
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
52389
52074
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
52390
52075
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
52391
|
-
var _gltools =
|
|
52076
|
+
var _gltools = require_es510();
|
|
52392
52077
|
var _texture = _interopRequireDefault(require_texture());
|
|
52393
52078
|
function _createSuper(Derived) {
|
|
52394
52079
|
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
@@ -52554,7 +52239,7 @@ var require_texture_3d = __commonJS({
|
|
|
52554
52239
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
52555
52240
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
52556
52241
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
52557
|
-
var _gltools =
|
|
52242
|
+
var _gltools = require_es510();
|
|
52558
52243
|
var _texture = _interopRequireDefault(require_texture());
|
|
52559
52244
|
var _textureFormats = require_texture_formats();
|
|
52560
52245
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
@@ -52836,7 +52521,7 @@ var require_renderbuffer = __commonJS({
|
|
|
52836
52521
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
52837
52522
|
var _resource = _interopRequireDefault(require_resource());
|
|
52838
52523
|
var _renderbufferFormats = _interopRequireDefault(require_renderbuffer_formats());
|
|
52839
|
-
var _gltools =
|
|
52524
|
+
var _gltools = require_es510();
|
|
52840
52525
|
var _utils = require_utils4();
|
|
52841
52526
|
function _createSuper(Derived) {
|
|
52842
52527
|
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
@@ -52986,7 +52671,7 @@ var require_clear = __commonJS({
|
|
|
52986
52671
|
exports.clear = clear;
|
|
52987
52672
|
exports.clearBuffer = clearBuffer;
|
|
52988
52673
|
var _slicedToArray2 = _interopRequireDefault(require_slicedToArray());
|
|
52989
|
-
var _gltools =
|
|
52674
|
+
var _gltools = require_es510();
|
|
52990
52675
|
var _utils = require_utils4();
|
|
52991
52676
|
var GL_DEPTH_BUFFER_BIT = 256;
|
|
52992
52677
|
var GL_STENCIL_BUFFER_BIT = 1024;
|
|
@@ -53129,7 +52814,7 @@ var require_copy_and_blit = __commonJS({
|
|
|
53129
52814
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
53130
52815
|
var _framebuffer = _interopRequireDefault(require_framebuffer());
|
|
53131
52816
|
var _texture = _interopRequireDefault(require_texture());
|
|
53132
|
-
var _gltools =
|
|
52817
|
+
var _gltools = require_es510();
|
|
53133
52818
|
var _webglUtils = require_webgl_utils();
|
|
53134
52819
|
var _typedArrayUtils = require_typed_array_utils();
|
|
53135
52820
|
var _formatUtils = require_format_utils();
|
|
@@ -53498,7 +53183,7 @@ var require_limits = __commonJS({
|
|
|
53498
53183
|
exports.getContextInfo = getContextInfo;
|
|
53499
53184
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
53500
53185
|
var _webglLimitsTable = _interopRequireDefault(require_webgl_limits_table());
|
|
53501
|
-
var _gltools =
|
|
53186
|
+
var _gltools = require_es510();
|
|
53502
53187
|
function getContextLimits(gl) {
|
|
53503
53188
|
gl.luma = gl.luma || {};
|
|
53504
53189
|
if (!gl.luma.limits) {
|
|
@@ -53611,7 +53296,7 @@ var require_features = __commonJS({
|
|
|
53611
53296
|
exports.hasFeatures = hasFeatures;
|
|
53612
53297
|
exports.getFeatures = getFeatures;
|
|
53613
53298
|
var _webglFeaturesTable = _interopRequireDefault(require_webgl_features_table());
|
|
53614
|
-
var _gltools =
|
|
53299
|
+
var _gltools = require_es510();
|
|
53615
53300
|
var _utils = require_utils4();
|
|
53616
53301
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
53617
53302
|
var it;
|
|
@@ -53872,7 +53557,7 @@ var require_framebuffer = __commonJS({
|
|
|
53872
53557
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
53873
53558
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
53874
53559
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
53875
|
-
var _gltools =
|
|
53560
|
+
var _gltools = require_es510();
|
|
53876
53561
|
var _resource = _interopRequireDefault(require_resource());
|
|
53877
53562
|
var _texture2d = _interopRequireDefault(require_texture_2d());
|
|
53878
53563
|
var _renderbuffer = _interopRequireDefault(require_renderbuffer());
|
|
@@ -54859,7 +54544,7 @@ var require_shader = __commonJS({
|
|
|
54859
54544
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
54860
54545
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
54861
54546
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
54862
|
-
var _gltools =
|
|
54547
|
+
var _gltools = require_es510();
|
|
54863
54548
|
var _glslUtils = require_glsl_utils();
|
|
54864
54549
|
var _utils = require_utils4();
|
|
54865
54550
|
var _resource = _interopRequireDefault(require_resource());
|
|
@@ -55057,7 +54742,7 @@ var require_uniforms = __commonJS({
|
|
|
55057
54742
|
exports.checkUniformValues = checkUniformValues;
|
|
55058
54743
|
exports.copyUniform = copyUniform;
|
|
55059
54744
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
55060
|
-
var _gltools =
|
|
54745
|
+
var _gltools = require_es510();
|
|
55061
54746
|
var _framebuffer = _interopRequireDefault(require_framebuffer());
|
|
55062
54747
|
var _renderbuffer = _interopRequireDefault(require_renderbuffer());
|
|
55063
54748
|
var _texture = _interopRequireDefault(require_texture());
|
|
@@ -55390,7 +55075,7 @@ var require_program_configuration = __commonJS({
|
|
|
55390
55075
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
55391
55076
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
55392
55077
|
var _accessor = _interopRequireDefault(require_accessor());
|
|
55393
|
-
var _gltools =
|
|
55078
|
+
var _gltools = require_es510();
|
|
55394
55079
|
var _attributeUtils = require_attribute_utils();
|
|
55395
55080
|
var ProgramConfiguration = function() {
|
|
55396
55081
|
function ProgramConfiguration2(program) {
|
|
@@ -55549,7 +55234,7 @@ var require_program = __commonJS({
|
|
|
55549
55234
|
var _uniforms = require_uniforms();
|
|
55550
55235
|
var _shader = require_shader();
|
|
55551
55236
|
var _programConfiguration = _interopRequireDefault(require_program_configuration());
|
|
55552
|
-
var _gltools =
|
|
55237
|
+
var _gltools = require_es510();
|
|
55553
55238
|
var _webglUtils = require_webgl_utils();
|
|
55554
55239
|
var _attributeUtils = require_attribute_utils();
|
|
55555
55240
|
var _utils = require_utils4();
|
|
@@ -55960,7 +55645,7 @@ var require_query = __commonJS({
|
|
|
55960
55645
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
55961
55646
|
var _resource = _interopRequireDefault(require_resource());
|
|
55962
55647
|
var _features = require_features2();
|
|
55963
|
-
var _gltools =
|
|
55648
|
+
var _gltools = require_es510();
|
|
55964
55649
|
var _utils = require_utils4();
|
|
55965
55650
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
55966
55651
|
var it;
|
|
@@ -56224,7 +55909,7 @@ var require_transform_feedback = __commonJS({
|
|
|
56224
55909
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
56225
55910
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
56226
55911
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
56227
|
-
var _gltools =
|
|
55912
|
+
var _gltools = require_es510();
|
|
56228
55913
|
var _resource = _interopRequireDefault(require_resource());
|
|
56229
55914
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
56230
55915
|
var _utils = require_utils4();
|
|
@@ -56509,7 +56194,7 @@ var require_vertex_array_object = __commonJS({
|
|
|
56509
56194
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
56510
56195
|
var _resource = _interopRequireDefault(require_resource());
|
|
56511
56196
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
56512
|
-
var _gltools =
|
|
56197
|
+
var _gltools = require_es510();
|
|
56513
56198
|
var _arrayUtilsFlat = require_array_utils_flat();
|
|
56514
56199
|
var _utils = require_utils4();
|
|
56515
56200
|
var _probe = require_es53();
|
|
@@ -56837,7 +56522,7 @@ var require_vertex_array = __commonJS({
|
|
|
56837
56522
|
exports.default = void 0;
|
|
56838
56523
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
56839
56524
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
56840
|
-
var _gltools =
|
|
56525
|
+
var _gltools = require_es510();
|
|
56841
56526
|
var _accessor2 = _interopRequireDefault(require_accessor());
|
|
56842
56527
|
var _buffer = _interopRequireDefault(require_buffer());
|
|
56843
56528
|
var _vertexArrayObject = _interopRequireDefault(require_vertex_array_object());
|
|
@@ -57713,7 +57398,7 @@ var require_debug_program_configuration = __commonJS({
|
|
|
57713
57398
|
});
|
|
57714
57399
|
|
|
57715
57400
|
// ../../node_modules/@luma.gl/webgl/dist/es5/index.js
|
|
57716
|
-
var
|
|
57401
|
+
var require_es511 = __commonJS({
|
|
57717
57402
|
"../../node_modules/@luma.gl/webgl/dist/es5/index.js"(exports) {
|
|
57718
57403
|
"use strict";
|
|
57719
57404
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -58059,7 +57744,7 @@ var require_es512 = __commonJS({
|
|
|
58059
57744
|
var _loadFile = require_load_file();
|
|
58060
57745
|
var _getShaderName = _interopRequireDefault(require_get_shader_name());
|
|
58061
57746
|
var _getShaderVersion = _interopRequireDefault(require_get_shader_version());
|
|
58062
|
-
var _gltools =
|
|
57747
|
+
var _gltools = require_es510();
|
|
58063
57748
|
var _assert = _interopRequireDefault(require_assert6());
|
|
58064
57749
|
var _utils = require_utils3();
|
|
58065
57750
|
var _uniforms = require_uniforms();
|
|
@@ -58083,8 +57768,8 @@ var require_animation_loop = __commonJS({
|
|
|
58083
57768
|
var _asyncToGenerator2 = _interopRequireDefault(require_asyncToGenerator());
|
|
58084
57769
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
58085
57770
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
58086
|
-
var _gltools =
|
|
58087
|
-
var _webgl =
|
|
57771
|
+
var _gltools = require_es510();
|
|
57772
|
+
var _webgl = require_es511();
|
|
58088
57773
|
var _env = require_env2();
|
|
58089
57774
|
var isPage = (0, _env.isBrowser)() && typeof document !== "undefined";
|
|
58090
57775
|
var statIdCounter = 0;
|
|
@@ -63754,7 +63439,7 @@ var require_pose2 = __commonJS({
|
|
|
63754
63439
|
});
|
|
63755
63440
|
|
|
63756
63441
|
// ../../node_modules/@luma.gl/shadertools/node_modules/@math.gl/core/dist/es5/index.js
|
|
63757
|
-
var
|
|
63442
|
+
var require_es512 = __commonJS({
|
|
63758
63443
|
"../../node_modules/@luma.gl/shadertools/node_modules/@math.gl/core/dist/es5/index.js"(exports) {
|
|
63759
63444
|
"use strict";
|
|
63760
63445
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -64004,7 +63689,7 @@ var require_project = __commonJS({
|
|
|
64004
63689
|
value: true
|
|
64005
63690
|
});
|
|
64006
63691
|
exports.project = void 0;
|
|
64007
|
-
var _core =
|
|
63692
|
+
var _core = require_es512();
|
|
64008
63693
|
var IDENTITY_MATRIX = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
|
|
64009
63694
|
var DEFAULT_MODULE_OPTIONS = {
|
|
64010
63695
|
modelMatrix: IDENTITY_MATRIX,
|
|
@@ -65334,7 +65019,7 @@ var require_modules = __commonJS({
|
|
|
65334
65019
|
});
|
|
65335
65020
|
|
|
65336
65021
|
// ../../node_modules/@luma.gl/shadertools/dist/es5/index.js
|
|
65337
|
-
var
|
|
65022
|
+
var require_es513 = __commonJS({
|
|
65338
65023
|
"../../node_modules/@luma.gl/shadertools/dist/es5/index.js"(exports) {
|
|
65339
65024
|
"use strict";
|
|
65340
65025
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -65431,8 +65116,8 @@ var require_program_manager = __commonJS({
|
|
|
65431
65116
|
exports.default = void 0;
|
|
65432
65117
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
65433
65118
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
65434
|
-
var _shadertools =
|
|
65435
|
-
var _webgl =
|
|
65119
|
+
var _shadertools = require_es513();
|
|
65120
|
+
var _webgl = require_es511();
|
|
65436
65121
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
65437
65122
|
var it;
|
|
65438
65123
|
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
|
|
@@ -65680,7 +65365,7 @@ var require_model_utils = __commonJS({
|
|
|
65680
65365
|
exports.getBuffersFromGeometry = getBuffersFromGeometry;
|
|
65681
65366
|
exports.inferAttributeAccessor = inferAttributeAccessor;
|
|
65682
65367
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
65683
|
-
var _webgl =
|
|
65368
|
+
var _webgl = require_es511();
|
|
65684
65369
|
function ownKeys(object, enumerableOnly) {
|
|
65685
65370
|
var keys = Object.keys(object);
|
|
65686
65371
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -65797,9 +65482,9 @@ var require_model = __commonJS({
|
|
|
65797
65482
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
65798
65483
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
65799
65484
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
65800
|
-
var _gltools =
|
|
65485
|
+
var _gltools = require_es510();
|
|
65801
65486
|
var _programManager = _interopRequireDefault(require_program_manager());
|
|
65802
|
-
var _webgl =
|
|
65487
|
+
var _webgl = require_es511();
|
|
65803
65488
|
var _modelUtils = require_model_utils();
|
|
65804
65489
|
var LOG_DRAW_PRIORITY = 2;
|
|
65805
65490
|
var LOG_DRAW_TIMEOUT = 1e4;
|
|
@@ -66246,8 +65931,8 @@ var require_buffer_transform = __commonJS({
|
|
|
66246
65931
|
exports.default = void 0;
|
|
66247
65932
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
66248
65933
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
66249
|
-
var _gltools =
|
|
66250
|
-
var _webgl =
|
|
65934
|
+
var _gltools = require_es510();
|
|
65935
|
+
var _webgl = require_es511();
|
|
66251
65936
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
66252
65937
|
var it;
|
|
66253
65938
|
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
|
|
@@ -66547,8 +66232,8 @@ var require_transform_shader_utils = __commonJS({
|
|
|
66547
66232
|
exports.getSizeUniforms = getSizeUniforms;
|
|
66548
66233
|
exports.getVaryingType = getVaryingType;
|
|
66549
66234
|
exports.processAttributeDefinition = processAttributeDefinition;
|
|
66550
|
-
var _webgl =
|
|
66551
|
-
var _shadertools =
|
|
66235
|
+
var _webgl = require_es511();
|
|
66236
|
+
var _shadertools = require_es513();
|
|
66552
66237
|
var SAMPLER_UNIFORM_PREFIX = "transform_uSampler_";
|
|
66553
66238
|
var SIZE_UNIFORM_PREFIX = "transform_uSize_";
|
|
66554
66239
|
var VS_POS_VARIABLE = "transform_position";
|
|
@@ -66676,8 +66361,8 @@ var require_texture_transform = __commonJS({
|
|
|
66676
66361
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
66677
66362
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
66678
66363
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
66679
|
-
var _webgl =
|
|
66680
|
-
var _shadertools =
|
|
66364
|
+
var _webgl = require_es511();
|
|
66365
|
+
var _shadertools = require_es513();
|
|
66681
66366
|
var _transformShaderUtils = require_transform_shader_utils();
|
|
66682
66367
|
var _SRC_TEX_PARAMETER_OV;
|
|
66683
66368
|
var SRC_TEX_PARAMETER_OVERRIDES = (_SRC_TEX_PARAMETER_OV = {}, (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10241, 9728), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10240, 9728), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10242, 33071), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10243, 33071), _SRC_TEX_PARAMETER_OV);
|
|
@@ -67002,11 +66687,11 @@ var require_transform2 = __commonJS({
|
|
|
67002
66687
|
exports.default = void 0;
|
|
67003
66688
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
67004
66689
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
67005
|
-
var _shadertools =
|
|
66690
|
+
var _shadertools = require_es513();
|
|
67006
66691
|
var _bufferTransform = _interopRequireDefault(require_buffer_transform());
|
|
67007
66692
|
var _textureTransform = _interopRequireDefault(require_texture_transform());
|
|
67008
|
-
var _gltools =
|
|
67009
|
-
var _webgl =
|
|
66693
|
+
var _gltools = require_es510();
|
|
66694
|
+
var _webgl = require_es511();
|
|
67010
66695
|
var _model = _interopRequireDefault(require_model());
|
|
67011
66696
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
67012
66697
|
var it;
|
|
@@ -67281,7 +66966,7 @@ var require_geometry = __commonJS({
|
|
|
67281
66966
|
var _defineProperty2 = _interopRequireDefault(require_defineProperty());
|
|
67282
66967
|
var _classCallCheck2 = _interopRequireDefault(require_classCallCheck());
|
|
67283
66968
|
var _createClass2 = _interopRequireDefault(require_createClass());
|
|
67284
|
-
var _webgl =
|
|
66969
|
+
var _webgl = require_es511();
|
|
67285
66970
|
function ownKeys(object, enumerableOnly) {
|
|
67286
66971
|
var keys = Object.keys(object);
|
|
67287
66972
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -67431,7 +67116,7 @@ var require_truncated_cone_geometry = __commonJS({
|
|
|
67431
67116
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
67432
67117
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
67433
67118
|
var _geometry = _interopRequireDefault(require_geometry());
|
|
67434
|
-
var _webgl =
|
|
67119
|
+
var _webgl = require_es511();
|
|
67435
67120
|
function ownKeys(object, enumerableOnly) {
|
|
67436
67121
|
var keys = Object.keys(object);
|
|
67437
67122
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -67613,7 +67298,7 @@ var require_cone_geometry = __commonJS({
|
|
|
67613
67298
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
67614
67299
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
67615
67300
|
var _truncatedConeGeometry = _interopRequireDefault(require_truncated_cone_geometry());
|
|
67616
|
-
var _webgl =
|
|
67301
|
+
var _webgl = require_es511();
|
|
67617
67302
|
function ownKeys(object, enumerableOnly) {
|
|
67618
67303
|
var keys = Object.keys(object);
|
|
67619
67304
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -67707,7 +67392,7 @@ var require_cube_geometry = __commonJS({
|
|
|
67707
67392
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
67708
67393
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
67709
67394
|
var _geometry = _interopRequireDefault(require_geometry());
|
|
67710
|
-
var _webgl =
|
|
67395
|
+
var _webgl = require_es511();
|
|
67711
67396
|
function ownKeys(object, enumerableOnly) {
|
|
67712
67397
|
var keys = Object.keys(object);
|
|
67713
67398
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -67820,7 +67505,7 @@ var require_cylinder_geometry = __commonJS({
|
|
|
67820
67505
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
67821
67506
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
67822
67507
|
var _truncatedConeGeometry = _interopRequireDefault(require_truncated_cone_geometry());
|
|
67823
|
-
var _webgl =
|
|
67508
|
+
var _webgl = require_es511();
|
|
67824
67509
|
function ownKeys(object, enumerableOnly) {
|
|
67825
67510
|
var keys = Object.keys(object);
|
|
67826
67511
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -71696,7 +71381,7 @@ var require_pose3 = __commonJS({
|
|
|
71696
71381
|
});
|
|
71697
71382
|
|
|
71698
71383
|
// ../../node_modules/@luma.gl/engine/node_modules/@math.gl/core/dist/es5/index.js
|
|
71699
|
-
var
|
|
71384
|
+
var require_es514 = __commonJS({
|
|
71700
71385
|
"../../node_modules/@luma.gl/engine/node_modules/@math.gl/core/dist/es5/index.js"(exports) {
|
|
71701
71386
|
"use strict";
|
|
71702
71387
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -71952,9 +71637,9 @@ var require_ico_sphere_geometry = __commonJS({
|
|
|
71952
71637
|
var _inherits2 = _interopRequireDefault(require_inherits());
|
|
71953
71638
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
71954
71639
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
71955
|
-
var _core =
|
|
71640
|
+
var _core = require_es514();
|
|
71956
71641
|
var _geometry = _interopRequireDefault(require_geometry());
|
|
71957
|
-
var _webgl =
|
|
71642
|
+
var _webgl = require_es511();
|
|
71958
71643
|
function ownKeys(object, enumerableOnly) {
|
|
71959
71644
|
var keys = Object.keys(object);
|
|
71960
71645
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -72231,7 +71916,7 @@ var require_plane_geometry = __commonJS({
|
|
|
72231
71916
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
72232
71917
|
var _geometry = _interopRequireDefault(require_geometry());
|
|
72233
71918
|
var _geometryUtils = require_geometry_utils();
|
|
72234
|
-
var _webgl =
|
|
71919
|
+
var _webgl = require_es511();
|
|
72235
71920
|
function ownKeys(object, enumerableOnly) {
|
|
72236
71921
|
var keys = Object.keys(object);
|
|
72237
71922
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -72413,7 +72098,7 @@ var require_sphere_geometry = __commonJS({
|
|
|
72413
72098
|
var _possibleConstructorReturn2 = _interopRequireDefault(require_possibleConstructorReturn());
|
|
72414
72099
|
var _getPrototypeOf2 = _interopRequireDefault(require_getPrototypeOf());
|
|
72415
72100
|
var _geometry = _interopRequireDefault(require_geometry());
|
|
72416
|
-
var _webgl =
|
|
72101
|
+
var _webgl = require_es511();
|
|
72417
72102
|
function ownKeys(object, enumerableOnly) {
|
|
72418
72103
|
var keys = Object.keys(object);
|
|
72419
72104
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -72974,7 +72659,7 @@ var require_clip_space = __commonJS({
|
|
|
72974
72659
|
});
|
|
72975
72660
|
|
|
72976
72661
|
// ../../node_modules/@luma.gl/engine/dist/es5/index.js
|
|
72977
|
-
var
|
|
72662
|
+
var require_es515 = __commonJS({
|
|
72978
72663
|
"../../node_modules/@luma.gl/engine/dist/es5/index.js"(exports) {
|
|
72979
72664
|
"use strict";
|
|
72980
72665
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
@@ -73090,7 +72775,7 @@ var require_es516 = __commonJS({
|
|
|
73090
72775
|
});
|
|
73091
72776
|
|
|
73092
72777
|
// ../../node_modules/@luma.gl/constants/dist/es5/index.js
|
|
73093
|
-
var
|
|
72778
|
+
var require_es516 = __commonJS({
|
|
73094
72779
|
"../../node_modules/@luma.gl/constants/dist/es5/index.js"(exports) {
|
|
73095
72780
|
"use strict";
|
|
73096
72781
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -73719,9 +73404,7 @@ var require_es517 = __commonJS({
|
|
|
73719
73404
|
|
|
73720
73405
|
// src/index.ts
|
|
73721
73406
|
__export(exports, {
|
|
73722
|
-
DepsInstaller: () => DepsInstaller,
|
|
73723
73407
|
I3SConverter: () => I3SConverter,
|
|
73724
|
-
NodePages: () => NodePages,
|
|
73725
73408
|
Tiles3DConverter: () => Tiles3DConverter
|
|
73726
73409
|
});
|
|
73727
73410
|
|
|
@@ -73748,7 +73431,7 @@ var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.e
|
|
|
73748
73431
|
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
73749
73432
|
|
|
73750
73433
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
73751
|
-
var DEFAULT_VERSION = "
|
|
73434
|
+
var DEFAULT_VERSION = "beta";
|
|
73752
73435
|
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
73753
73436
|
if (typeof __VERSION__ === "undefined") {
|
|
73754
73437
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
@@ -73781,13 +73464,13 @@ var nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
|
|
|
73781
73464
|
// ../worker-utils/src/lib/worker-farm/worker-job.ts
|
|
73782
73465
|
var WorkerJob = class {
|
|
73783
73466
|
constructor(jobName, workerThread) {
|
|
73784
|
-
this.name = jobName;
|
|
73785
|
-
this.workerThread = workerThread;
|
|
73786
73467
|
this.isRunning = true;
|
|
73787
73468
|
this._resolve = () => {
|
|
73788
73469
|
};
|
|
73789
73470
|
this._reject = () => {
|
|
73790
73471
|
};
|
|
73472
|
+
this.name = jobName;
|
|
73473
|
+
this.workerThread = workerThread;
|
|
73791
73474
|
this.result = new Promise((resolve, reject) => {
|
|
73792
73475
|
this._resolve = resolve;
|
|
73793
73476
|
this._reject = reject;
|
|
@@ -73812,6 +73495,9 @@ var WorkerJob = class {
|
|
|
73812
73495
|
}
|
|
73813
73496
|
};
|
|
73814
73497
|
|
|
73498
|
+
// ../worker-utils/src/lib/worker-farm/worker-thread.ts
|
|
73499
|
+
var import_worker_threads = __toModule(require("worker_threads"));
|
|
73500
|
+
|
|
73815
73501
|
// ../worker-utils/src/lib/worker-utils/get-loadable-worker-url.ts
|
|
73816
73502
|
var workerURLCache = new Map();
|
|
73817
73503
|
function getLoadableWorkerURL(props) {
|
|
@@ -73899,10 +73585,10 @@ var WorkerThread = class {
|
|
|
73899
73585
|
this.url = url;
|
|
73900
73586
|
this.onMessage = NOOP;
|
|
73901
73587
|
this.onError = (error) => console.log(error);
|
|
73902
|
-
this.worker = this._createBrowserWorker();
|
|
73588
|
+
this.worker = isBrowser2 ? this._createBrowserWorker() : this._createNodeWorker();
|
|
73903
73589
|
}
|
|
73904
73590
|
static isSupported() {
|
|
73905
|
-
return typeof Worker !== "undefined";
|
|
73591
|
+
return typeof Worker !== "undefined" && isBrowser2 || typeof import_worker_threads.Worker !== void 0;
|
|
73906
73592
|
}
|
|
73907
73593
|
destroy() {
|
|
73908
73594
|
this.onMessage = NOOP;
|
|
@@ -73945,6 +73631,27 @@ var WorkerThread = class {
|
|
|
73945
73631
|
worker.onmessageerror = (event) => console.error(event);
|
|
73946
73632
|
return worker;
|
|
73947
73633
|
}
|
|
73634
|
+
_createNodeWorker() {
|
|
73635
|
+
let worker;
|
|
73636
|
+
if (this.url) {
|
|
73637
|
+
const absolute = this.url.includes(":/") || this.url.startsWith("/");
|
|
73638
|
+
const url = absolute ? this.url : `./${this.url}`;
|
|
73639
|
+
worker = new import_worker_threads.Worker(url, { eval: false });
|
|
73640
|
+
} else if (this.source) {
|
|
73641
|
+
worker = new import_worker_threads.Worker(this.source, { eval: true });
|
|
73642
|
+
} else {
|
|
73643
|
+
throw new Error("no worker");
|
|
73644
|
+
}
|
|
73645
|
+
worker.on("message", (data) => {
|
|
73646
|
+
this.onMessage(data);
|
|
73647
|
+
});
|
|
73648
|
+
worker.on("error", (error) => {
|
|
73649
|
+
this.onError(error);
|
|
73650
|
+
});
|
|
73651
|
+
worker.on("exit", (code) => {
|
|
73652
|
+
});
|
|
73653
|
+
return worker;
|
|
73654
|
+
}
|
|
73948
73655
|
};
|
|
73949
73656
|
|
|
73950
73657
|
// ../worker-utils/src/lib/worker-farm/worker-pool.ts
|
|
@@ -73965,6 +73672,9 @@ var WorkerPool = class {
|
|
|
73965
73672
|
this.url = props.url;
|
|
73966
73673
|
this.setProps(props);
|
|
73967
73674
|
}
|
|
73675
|
+
static isSupported() {
|
|
73676
|
+
return WorkerThread.isSupported();
|
|
73677
|
+
}
|
|
73968
73678
|
destroy() {
|
|
73969
73679
|
this.idleQueue.forEach((worker) => worker.destroy());
|
|
73970
73680
|
this.isDestroyed = true;
|
|
@@ -73987,9 +73697,9 @@ var WorkerPool = class {
|
|
|
73987
73697
|
this.onDebug = props.onDebug;
|
|
73988
73698
|
}
|
|
73989
73699
|
}
|
|
73990
|
-
async startJob(name8,
|
|
73700
|
+
async startJob(name8, onMessage3 = (job, type, data) => job.done(data), onError = (job, error) => job.error(error)) {
|
|
73991
73701
|
const startPromise = new Promise((onStart) => {
|
|
73992
|
-
this.jobQueue.push({ name: name8, onMessage:
|
|
73702
|
+
this.jobQueue.push({ name: name8, onMessage: onMessage3, onError, onStart });
|
|
73993
73703
|
return this;
|
|
73994
73704
|
});
|
|
73995
73705
|
this._startQueuedJob();
|
|
@@ -74054,9 +73764,9 @@ var WorkerPool = class {
|
|
|
74054
73764
|
var DEFAULT_PROPS = {
|
|
74055
73765
|
maxConcurrency: 3,
|
|
74056
73766
|
maxMobileConcurrency: 1,
|
|
73767
|
+
reuseWorkers: true,
|
|
74057
73768
|
onDebug: () => {
|
|
74058
|
-
}
|
|
74059
|
-
reuseWorkers: true
|
|
73769
|
+
}
|
|
74060
73770
|
};
|
|
74061
73771
|
var WorkerFarm = class {
|
|
74062
73772
|
constructor(props) {
|
|
@@ -74077,6 +73787,7 @@ var WorkerFarm = class {
|
|
|
74077
73787
|
for (const workerPool of this.workerPools.values()) {
|
|
74078
73788
|
workerPool.destroy();
|
|
74079
73789
|
}
|
|
73790
|
+
this.workerPools = new Map();
|
|
74080
73791
|
}
|
|
74081
73792
|
setProps(props) {
|
|
74082
73793
|
this.props = { ...this.props, ...props };
|
|
@@ -74108,8 +73819,34 @@ var WorkerFarm = class {
|
|
|
74108
73819
|
}
|
|
74109
73820
|
};
|
|
74110
73821
|
|
|
73822
|
+
// ../worker-utils/src/lib/worker-utils/remove-nontransferable-options.ts
|
|
73823
|
+
function removeNontransferableOptions(object) {
|
|
73824
|
+
return JSON.parse(stringifyJSON(object));
|
|
73825
|
+
}
|
|
73826
|
+
function stringifyJSON(v) {
|
|
73827
|
+
const cache = new Set();
|
|
73828
|
+
return JSON.stringify(v, (key, value) => {
|
|
73829
|
+
if (typeof value === "object" && value !== null) {
|
|
73830
|
+
if (cache.has(value)) {
|
|
73831
|
+
try {
|
|
73832
|
+
return JSON.parse(JSON.stringify(value));
|
|
73833
|
+
} catch (err) {
|
|
73834
|
+
return void 0;
|
|
73835
|
+
}
|
|
73836
|
+
}
|
|
73837
|
+
cache.add(value);
|
|
73838
|
+
}
|
|
73839
|
+
return value;
|
|
73840
|
+
});
|
|
73841
|
+
}
|
|
73842
|
+
|
|
74111
73843
|
// ../worker-utils/src/lib/worker-api/get-worker-url.ts
|
|
74112
|
-
var NPM_TAG = "
|
|
73844
|
+
var NPM_TAG = "beta";
|
|
73845
|
+
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : NPM_TAG;
|
|
73846
|
+
function getWorkerName(worker) {
|
|
73847
|
+
const warning = worker.version !== VERSION2 ? ` (worker-utils@${VERSION2})` : "";
|
|
73848
|
+
return `${worker.name}@${worker.version}${warning}`;
|
|
73849
|
+
}
|
|
74113
73850
|
function getWorkerURL(worker, options = {}) {
|
|
74114
73851
|
const workerOptions = options[worker.id] || {};
|
|
74115
73852
|
const workerFile = `${worker.id}-worker.js`;
|
|
@@ -74132,6 +73869,50 @@ function getWorkerURL(worker, options = {}) {
|
|
|
74132
73869
|
return url;
|
|
74133
73870
|
}
|
|
74134
73871
|
|
|
73872
|
+
// ../worker-utils/src/lib/worker-api/process-on-worker.ts
|
|
73873
|
+
async function processOnWorker(worker, data, options = {}, context = {}) {
|
|
73874
|
+
const name8 = getWorkerName(worker);
|
|
73875
|
+
const workerFarm = WorkerFarm.getWorkerFarm(options);
|
|
73876
|
+
const { source } = options;
|
|
73877
|
+
const workerPoolProps = { name: name8, source };
|
|
73878
|
+
if (!source) {
|
|
73879
|
+
workerPoolProps.url = getWorkerURL(worker, options);
|
|
73880
|
+
}
|
|
73881
|
+
const workerPool = workerFarm.getWorkerPool(workerPoolProps);
|
|
73882
|
+
const jobName = options.jobName || worker.name;
|
|
73883
|
+
const job = await workerPool.startJob(jobName, onMessage.bind(null, context));
|
|
73884
|
+
const transferableOptions = removeNontransferableOptions(options);
|
|
73885
|
+
job.postMessage("process", { input: data, options: transferableOptions });
|
|
73886
|
+
const result = await job.result;
|
|
73887
|
+
return result.result;
|
|
73888
|
+
}
|
|
73889
|
+
async function onMessage(context, job, type, payload) {
|
|
73890
|
+
switch (type) {
|
|
73891
|
+
case "done":
|
|
73892
|
+
job.done(payload);
|
|
73893
|
+
break;
|
|
73894
|
+
case "error":
|
|
73895
|
+
job.error(new Error(payload.error));
|
|
73896
|
+
break;
|
|
73897
|
+
case "process":
|
|
73898
|
+
const { id, input, options } = payload;
|
|
73899
|
+
try {
|
|
73900
|
+
if (!context.process) {
|
|
73901
|
+
job.postMessage("error", { id, error: "Worker not set up to process on main thread" });
|
|
73902
|
+
return;
|
|
73903
|
+
}
|
|
73904
|
+
const result = await context.process(input, options);
|
|
73905
|
+
job.postMessage("done", { id, result });
|
|
73906
|
+
} catch (error) {
|
|
73907
|
+
const message = error instanceof Error ? error.message : "unknown error";
|
|
73908
|
+
job.postMessage("error", { id, error: message });
|
|
73909
|
+
}
|
|
73910
|
+
break;
|
|
73911
|
+
default:
|
|
73912
|
+
console.warn(`process-on-worker: unknown message ${type}`);
|
|
73913
|
+
}
|
|
73914
|
+
}
|
|
73915
|
+
|
|
74135
73916
|
// ../worker-utils/src/lib/worker-api/validate-worker-version.ts
|
|
74136
73917
|
function validateWorkerVersion(worker, coreVersion = VERSION) {
|
|
74137
73918
|
assert3(worker, "no worker provided");
|
|
@@ -74182,8 +73963,8 @@ function requireFromString(code, filename2 = "", options) {
|
|
|
74182
73963
|
}
|
|
74183
73964
|
|
|
74184
73965
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
74185
|
-
var LATEST = "
|
|
74186
|
-
var
|
|
73966
|
+
var LATEST = "beta";
|
|
73967
|
+
var VERSION3 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
74187
73968
|
var loadLibraryPromises = {};
|
|
74188
73969
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
74189
73970
|
if (moduleName) {
|
|
@@ -74205,7 +73986,7 @@ function getLibraryUrl(library, moduleName, options) {
|
|
|
74205
73986
|
}
|
|
74206
73987
|
if (options.CDN) {
|
|
74207
73988
|
assert3(options.CDN.startsWith("http"));
|
|
74208
|
-
return `${options.CDN}/${moduleName}@${
|
|
73989
|
+
return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
|
|
74209
73990
|
}
|
|
74210
73991
|
if (isWorker) {
|
|
74211
73992
|
return `../src/libs/${library}`;
|
|
@@ -74375,6 +74156,9 @@ function canParseWithWorker(loader, options) {
|
|
|
74375
74156
|
if (!WorkerFarm.isSupported()) {
|
|
74376
74157
|
return false;
|
|
74377
74158
|
}
|
|
74159
|
+
if (!isBrowser2 && !options?._nodeWorkers) {
|
|
74160
|
+
return false;
|
|
74161
|
+
}
|
|
74378
74162
|
return loader.worker && options?.worker;
|
|
74379
74163
|
}
|
|
74380
74164
|
async function parseWithWorker(loader, data, options, context, parseOnMainThread) {
|
|
@@ -74383,15 +74167,17 @@ async function parseWithWorker(loader, data, options, context, parseOnMainThread
|
|
|
74383
74167
|
const workerFarm = WorkerFarm.getWorkerFarm(options);
|
|
74384
74168
|
const workerPool = workerFarm.getWorkerPool({ name: name8, url });
|
|
74385
74169
|
options = JSON.parse(JSON.stringify(options));
|
|
74386
|
-
|
|
74170
|
+
context = JSON.parse(JSON.stringify(context || {}));
|
|
74171
|
+
const job = await workerPool.startJob("process-on-worker", onMessage2.bind(null, parseOnMainThread));
|
|
74387
74172
|
job.postMessage("process", {
|
|
74388
74173
|
input: data,
|
|
74389
|
-
options
|
|
74174
|
+
options,
|
|
74175
|
+
context
|
|
74390
74176
|
});
|
|
74391
74177
|
const result = await job.result;
|
|
74392
74178
|
return await result.result;
|
|
74393
74179
|
}
|
|
74394
|
-
async function
|
|
74180
|
+
async function onMessage2(parseOnMainThread, job, type, payload) {
|
|
74395
74181
|
switch (type) {
|
|
74396
74182
|
case "done":
|
|
74397
74183
|
job.done(payload);
|
|
@@ -74414,6 +74200,17 @@ async function onMessage(parseOnMainThread, job, type, payload) {
|
|
|
74414
74200
|
}
|
|
74415
74201
|
}
|
|
74416
74202
|
|
|
74203
|
+
// ../loader-utils/src/lib/worker-loader-utils/encode-with-worker.ts
|
|
74204
|
+
function canEncodeWithWorker(writer, options) {
|
|
74205
|
+
if (!WorkerFarm.isSupported()) {
|
|
74206
|
+
return false;
|
|
74207
|
+
}
|
|
74208
|
+
if (!isBrowser && !options?._nodeWorkers) {
|
|
74209
|
+
return false;
|
|
74210
|
+
}
|
|
74211
|
+
return writer.worker && options?.worker;
|
|
74212
|
+
}
|
|
74213
|
+
|
|
74417
74214
|
// ../loader-utils/src/lib/binary-utils/get-first-characters.ts
|
|
74418
74215
|
function getFirstCharacters(data, length = 5) {
|
|
74419
74216
|
if (typeof data === "string") {
|
|
@@ -74954,7 +74751,7 @@ async function getResponseError(response) {
|
|
|
74954
74751
|
text += ` ${await response.text()}`;
|
|
74955
74752
|
}
|
|
74956
74753
|
message += text;
|
|
74957
|
-
message = message.length > 60 ? `${message.slice(60)}...` : message;
|
|
74754
|
+
message = message.length > 60 ? `${message.slice(0, 60)}...` : message;
|
|
74958
74755
|
} catch (error) {
|
|
74959
74756
|
}
|
|
74960
74757
|
return message;
|
|
@@ -75059,7 +74856,8 @@ var DEFAULT_LOADER_OPTIONS = {
|
|
|
75059
74856
|
worker: true,
|
|
75060
74857
|
maxConcurrency: 3,
|
|
75061
74858
|
maxMobileConcurrency: 1,
|
|
75062
|
-
reuseWorkers:
|
|
74859
|
+
reuseWorkers: isBrowser,
|
|
74860
|
+
_nodeWorkers: false,
|
|
75063
74861
|
_workerType: "",
|
|
75064
74862
|
limit: 0,
|
|
75065
74863
|
_limitMB: 0,
|
|
@@ -75619,6 +75417,12 @@ async function parse(data, loaders, options, context) {
|
|
|
75619
75417
|
}
|
|
75620
75418
|
async function parseWithLoader(loader, data, options, context) {
|
|
75621
75419
|
validateWorkerVersion(loader);
|
|
75420
|
+
if (isResponse(data)) {
|
|
75421
|
+
const response = data;
|
|
75422
|
+
const { ok, redirected, status, statusText, type, url } = response;
|
|
75423
|
+
const headers = Object.fromEntries(response.headers.entries());
|
|
75424
|
+
context.response = { headers, ok, redirected, status, statusText, type, url };
|
|
75425
|
+
}
|
|
75622
75426
|
data = await getArrayBufferOrStringFromData(data, loader, options);
|
|
75623
75427
|
if (loader.parseTextSync && typeof data === "string") {
|
|
75624
75428
|
options.dataType = "text";
|
|
@@ -75657,6 +75461,11 @@ async function load(url, loaders, options, context) {
|
|
|
75657
75461
|
|
|
75658
75462
|
// ../core/src/lib/api/encode.ts
|
|
75659
75463
|
async function encode(data, writer, options) {
|
|
75464
|
+
const globalOptions = getGlobalLoaderOptions();
|
|
75465
|
+
options = { ...globalOptions, ...options };
|
|
75466
|
+
if (canEncodeWithWorker(writer, options)) {
|
|
75467
|
+
return await processOnWorker(writer, data, options);
|
|
75468
|
+
}
|
|
75660
75469
|
if (writer.encode) {
|
|
75661
75470
|
return await writer.encode(data, options);
|
|
75662
75471
|
}
|
|
@@ -75716,8 +75525,8 @@ function getTemporaryFilename(filename2) {
|
|
|
75716
75525
|
|
|
75717
75526
|
// ../tiles/src/tileset/tileset-3d.ts
|
|
75718
75527
|
var import_core10 = __toModule(require_es56());
|
|
75719
|
-
var
|
|
75720
|
-
var import_stats2 = __toModule(
|
|
75528
|
+
var import_geospatial6 = __toModule(require_es57());
|
|
75529
|
+
var import_stats2 = __toModule(require_es5());
|
|
75721
75530
|
|
|
75722
75531
|
// ../tiles/src/utils/doubly-linked-list-node.ts
|
|
75723
75532
|
var DoublyLinkedListNode = class {
|
|
@@ -75895,7 +75704,7 @@ function calculateTransformProps(tileHeader, tile) {
|
|
|
75895
75704
|
|
|
75896
75705
|
// ../tiles/src/tileset/helpers/frame-state.ts
|
|
75897
75706
|
var import_core2 = __toModule(require_es56());
|
|
75898
|
-
var import_culling = __toModule(
|
|
75707
|
+
var import_culling = __toModule(require_es58());
|
|
75899
75708
|
var import_geospatial2 = __toModule(require_es57());
|
|
75900
75709
|
var scratchVector = new import_core2.Vector3();
|
|
75901
75710
|
var scratchPosition = new import_core2.Vector3();
|
|
@@ -75914,23 +75723,59 @@ function getFrameState(viewport, frameNumber) {
|
|
|
75914
75723
|
const viewportCenterCartesian = import_geospatial2.Ellipsoid.WGS84.cartographicToCartesian(viewportCenterCartographic, new import_core2.Vector3());
|
|
75915
75724
|
const enuToFixedTransform = import_geospatial2.Ellipsoid.WGS84.eastNorthUpToFixedFrame(viewportCenterCartesian);
|
|
75916
75725
|
const cameraPositionCartographic = viewport.unprojectPosition(viewport.cameraPosition);
|
|
75917
|
-
const
|
|
75726
|
+
const cameraPositionCartesian2 = import_geospatial2.Ellipsoid.WGS84.cartographicToCartesian(cameraPositionCartographic, new import_core2.Vector3());
|
|
75918
75727
|
const cameraDirectionCartesian = new import_core2.Vector3(enuToFixedTransform.transformAsVector(new import_core2.Vector3(cameraDirection).scale(metersPerUnit))).normalize();
|
|
75919
75728
|
const cameraUpCartesian = new import_core2.Vector3(enuToFixedTransform.transformAsVector(new import_core2.Vector3(cameraUp).scale(metersPerUnit))).normalize();
|
|
75920
75729
|
commonSpacePlanesToWGS84(viewport, viewportCenterCartesian);
|
|
75730
|
+
const ViewportClass = viewport.constructor;
|
|
75731
|
+
const { longitude, latitude, width, bearing, zoom } = viewport;
|
|
75732
|
+
const topDownViewport = new ViewportClass({
|
|
75733
|
+
longitude,
|
|
75734
|
+
latitude,
|
|
75735
|
+
height,
|
|
75736
|
+
width,
|
|
75737
|
+
bearing,
|
|
75738
|
+
zoom,
|
|
75739
|
+
pitch: 0
|
|
75740
|
+
});
|
|
75921
75741
|
return {
|
|
75922
75742
|
camera: {
|
|
75923
|
-
position:
|
|
75743
|
+
position: cameraPositionCartesian2,
|
|
75924
75744
|
direction: cameraDirectionCartesian,
|
|
75925
75745
|
up: cameraUpCartesian
|
|
75926
75746
|
},
|
|
75927
75747
|
viewport,
|
|
75748
|
+
topDownViewport,
|
|
75928
75749
|
height,
|
|
75929
75750
|
cullingVolume,
|
|
75930
75751
|
frameNumber,
|
|
75931
75752
|
sseDenominator: 1.15
|
|
75932
75753
|
};
|
|
75933
75754
|
}
|
|
75755
|
+
function limitSelectedTiles(tiles, frameState, maximumTilesSelected) {
|
|
75756
|
+
if (maximumTilesSelected === 0 || tiles.length <= maximumTilesSelected) {
|
|
75757
|
+
return [tiles, []];
|
|
75758
|
+
}
|
|
75759
|
+
const tuples = [];
|
|
75760
|
+
const { longitude: viewportLongitude, latitude: viewportLatitude } = frameState.viewport;
|
|
75761
|
+
for (const [index, tile] of tiles.entries()) {
|
|
75762
|
+
const [longitude, latitude] = tile.header.mbs;
|
|
75763
|
+
const deltaLon = Math.abs(viewportLongitude - longitude);
|
|
75764
|
+
const deltaLat = Math.abs(viewportLatitude - latitude);
|
|
75765
|
+
const distance = Math.sqrt(deltaLat * deltaLat + deltaLon * deltaLon);
|
|
75766
|
+
tuples.push([index, distance]);
|
|
75767
|
+
}
|
|
75768
|
+
const tuplesSorted = tuples.sort((a, b) => a[1] - b[1]);
|
|
75769
|
+
const selectedTiles = [];
|
|
75770
|
+
for (let i = 0; i < maximumTilesSelected; i++) {
|
|
75771
|
+
selectedTiles.push(tiles[tuplesSorted[i][0]]);
|
|
75772
|
+
}
|
|
75773
|
+
const unselectedTiles = [];
|
|
75774
|
+
for (let i = maximumTilesSelected; i < tuplesSorted.length; i++) {
|
|
75775
|
+
unselectedTiles.push(tiles[tuplesSorted[i][0]]);
|
|
75776
|
+
}
|
|
75777
|
+
return [selectedTiles, unselectedTiles];
|
|
75778
|
+
}
|
|
75934
75779
|
function commonSpacePlanesToWGS84(viewport, viewportCenterCartesian) {
|
|
75935
75780
|
const frustumPlanes = viewport.getFrustumPlanes();
|
|
75936
75781
|
let i = 0;
|
|
@@ -75946,7 +75791,8 @@ function commonSpacePlanesToWGS84(viewport, viewportCenterCartesian) {
|
|
|
75946
75791
|
|
|
75947
75792
|
// ../tiles/src/tileset/helpers/zoom.ts
|
|
75948
75793
|
var import_core3 = __toModule(require_es56());
|
|
75949
|
-
var import_culling2 = __toModule(
|
|
75794
|
+
var import_culling2 = __toModule(require_es58());
|
|
75795
|
+
var import_geospatial3 = __toModule(require_es57());
|
|
75950
75796
|
var WGS84_RADIUS_X = 6378137;
|
|
75951
75797
|
var WGS84_RADIUS_Y = 6378137;
|
|
75952
75798
|
var WGS84_RADIUS_Z = 6356752314245179e-9;
|
|
@@ -75967,6 +75813,15 @@ function getZoomFromBoundingVolume(boundingVolume, cartorgraphicCenter) {
|
|
|
75967
75813
|
}
|
|
75968
75814
|
return 1;
|
|
75969
75815
|
}
|
|
75816
|
+
function getZoomFromFullExtent(fullExtent, cartorgraphicCenter, cartesianCenter) {
|
|
75817
|
+
const extentVertex = import_geospatial3.Ellipsoid.WGS84.cartographicToCartesian([fullExtent.xmax, fullExtent.ymax, fullExtent.zmax], new import_core3.Vector3());
|
|
75818
|
+
const extentSize = Math.sqrt(Math.pow(extentVertex[0] - cartesianCenter[0], 2) + Math.pow(extentVertex[1] - cartesianCenter[1], 2) + Math.pow(extentVertex[2] - cartesianCenter[2], 2));
|
|
75819
|
+
return Math.log2(WGS84_RADIUS_Z / (extentSize + cartorgraphicCenter[2]));
|
|
75820
|
+
}
|
|
75821
|
+
function getZoomFromExtent(extent, cartorgraphicCenter, cartesianCenter) {
|
|
75822
|
+
const [xmin, ymin, xmax, ymax] = extent;
|
|
75823
|
+
return getZoomFromFullExtent({ xmin, xmax, ymin, ymax, zmin: 0, zmax: 0 }, cartorgraphicCenter, cartesianCenter);
|
|
75824
|
+
}
|
|
75970
75825
|
function getObbSize(halfAxes) {
|
|
75971
75826
|
halfAxes.getColumn(0, scratchVector2);
|
|
75972
75827
|
const axeY = halfAxes.getColumn(1);
|
|
@@ -75978,7 +75833,7 @@ function getObbSize(halfAxes) {
|
|
|
75978
75833
|
|
|
75979
75834
|
// ../tiles/src/tileset/tile-3d.ts
|
|
75980
75835
|
var import_core7 = __toModule(require_es56());
|
|
75981
|
-
var import_culling4 = __toModule(
|
|
75836
|
+
var import_culling4 = __toModule(require_es58());
|
|
75982
75837
|
|
|
75983
75838
|
// ../tiles/src/constants.ts
|
|
75984
75839
|
var TILE_CONTENT_STATE = {
|
|
@@ -76015,8 +75870,8 @@ var TILE3D_OPTIMIZATION_HINT = {
|
|
|
76015
75870
|
|
|
76016
75871
|
// ../tiles/src/tileset/helpers/bounding-volume.ts
|
|
76017
75872
|
var import_core4 = __toModule(require_es56());
|
|
76018
|
-
var import_culling3 = __toModule(
|
|
76019
|
-
var
|
|
75873
|
+
var import_culling3 = __toModule(require_es58());
|
|
75874
|
+
var import_geospatial4 = __toModule(require_es57());
|
|
76020
75875
|
function defined2(x) {
|
|
76021
75876
|
return x !== void 0 && x !== null;
|
|
76022
75877
|
}
|
|
@@ -76030,8 +75885,8 @@ function createBoundingVolume(boundingVolumeHeader, transform9, result) {
|
|
|
76030
75885
|
}
|
|
76031
75886
|
if (boundingVolumeHeader.region) {
|
|
76032
75887
|
const [west, south, east, north, minHeight, maxHeight] = boundingVolumeHeader.region;
|
|
76033
|
-
const northWest =
|
|
76034
|
-
const southEast =
|
|
75888
|
+
const northWest = import_geospatial4.Ellipsoid.WGS84.cartographicToCartesian([(0, import_core4.degrees)(west), (0, import_core4.degrees)(north), minHeight], scratchNorthWest);
|
|
75889
|
+
const southEast = import_geospatial4.Ellipsoid.WGS84.cartographicToCartesian([(0, import_core4.degrees)(east), (0, import_core4.degrees)(south), maxHeight], scratchSouthEast);
|
|
76035
75890
|
const centerInCartesian = new import_core4.Vector3().addVectors(northWest, southEast).multiplyScalar(0.5);
|
|
76036
75891
|
const radius = new import_core4.Vector3().subVectors(northWest, southEast).len() / 2;
|
|
76037
75892
|
return createSphere([centerInCartesian[0], centerInCartesian[1], centerInCartesian[2], radius], new import_core4.Matrix4());
|
|
@@ -76135,7 +75990,14 @@ function getTiles3DScreenSpaceError(tile, frameState, useParentLodMetric) {
|
|
|
76135
75990
|
|
|
76136
75991
|
// ../tiles/src/tileset/helpers/i3s-lod.ts
|
|
76137
75992
|
var import_core6 = __toModule(require_es56());
|
|
76138
|
-
var
|
|
75993
|
+
var import_geospatial5 = __toModule(require_es57());
|
|
75994
|
+
var cameraPositionCartesian = new import_core6.Vector3();
|
|
75995
|
+
var toEye = new import_core6.Vector3();
|
|
75996
|
+
var cameraPositionEnu = new import_core6.Vector3();
|
|
75997
|
+
var extraVertexEnu = new import_core6.Vector3();
|
|
75998
|
+
var projectedOriginVector = new import_core6.Vector3();
|
|
75999
|
+
var enuToCartesianMatrix = new import_core6.Matrix4();
|
|
76000
|
+
var cartesianToEnuMatrix = new import_core6.Matrix4();
|
|
76139
76001
|
function getLodStatus(tile, frameState) {
|
|
76140
76002
|
if (tile.lodMetricValue === 0 || isNaN(tile.lodMetricValue)) {
|
|
76141
76003
|
return "DIG";
|
|
@@ -76152,33 +76014,29 @@ function getLodStatus(tile, frameState) {
|
|
|
76152
76014
|
return "OUT";
|
|
76153
76015
|
}
|
|
76154
76016
|
function getProjectedRadius(tile, frameState) {
|
|
76155
|
-
const
|
|
76156
|
-
const ViewportClass = originalViewport.constructor;
|
|
76157
|
-
const { longitude, latitude, height, width, bearing, zoom } = originalViewport;
|
|
76158
|
-
const viewport = new ViewportClass({ longitude, latitude, height, width, bearing, zoom, pitch: 0 });
|
|
76017
|
+
const { topDownViewport: viewport } = frameState;
|
|
76159
76018
|
const mbsLat = tile.header.mbs[1];
|
|
76160
76019
|
const mbsLon = tile.header.mbs[0];
|
|
76161
76020
|
const mbsZ = tile.header.mbs[2];
|
|
76162
76021
|
const mbsR = tile.header.mbs[3];
|
|
76163
76022
|
const mbsCenterCartesian = [...tile.boundingVolume.center];
|
|
76164
76023
|
const cameraPositionCartographic = viewport.unprojectPosition(viewport.cameraPosition);
|
|
76165
|
-
|
|
76166
|
-
|
|
76167
|
-
|
|
76168
|
-
|
|
76169
|
-
|
|
76170
|
-
const cameraPositionEnu = new import_core6.Vector3(cameraPositionCartesian).transform(cartesianToEnuMatrix);
|
|
76024
|
+
import_geospatial5.Ellipsoid.WGS84.cartographicToCartesian(cameraPositionCartographic, cameraPositionCartesian);
|
|
76025
|
+
toEye.copy(cameraPositionCartesian).subtract(mbsCenterCartesian).normalize();
|
|
76026
|
+
import_geospatial5.Ellipsoid.WGS84.eastNorthUpToFixedFrame(mbsCenterCartesian, enuToCartesianMatrix);
|
|
76027
|
+
cartesianToEnuMatrix.copy(enuToCartesianMatrix).invert();
|
|
76028
|
+
cameraPositionEnu.copy(cameraPositionCartesian).transform(cartesianToEnuMatrix);
|
|
76171
76029
|
const projection = Math.sqrt(cameraPositionEnu[0] * cameraPositionEnu[0] + cameraPositionEnu[1] * cameraPositionEnu[1]);
|
|
76172
76030
|
const extraZ = projection * projection / cameraPositionEnu[2];
|
|
76173
|
-
|
|
76031
|
+
extraVertexEnu.copy([cameraPositionEnu[0], cameraPositionEnu[1], extraZ]);
|
|
76174
76032
|
const extraVertexCartesian = extraVertexEnu.transform(enuToCartesianMatrix);
|
|
76175
|
-
const extraVectorCartesian =
|
|
76033
|
+
const extraVectorCartesian = extraVertexCartesian.subtract(mbsCenterCartesian).normalize();
|
|
76176
76034
|
const radiusVector = toEye.cross(extraVectorCartesian).normalize().scale(mbsR);
|
|
76177
|
-
const sphereMbsBorderVertexCartesian =
|
|
76178
|
-
const sphereMbsBorderVertexCartographic =
|
|
76035
|
+
const sphereMbsBorderVertexCartesian = radiusVector.add(mbsCenterCartesian);
|
|
76036
|
+
const sphereMbsBorderVertexCartographic = import_geospatial5.Ellipsoid.WGS84.cartesianToCartographic(sphereMbsBorderVertexCartesian);
|
|
76179
76037
|
const projectedOrigin = viewport.project([mbsLon, mbsLat, mbsZ]);
|
|
76180
76038
|
const projectedMbsBorderVertex = viewport.project(sphereMbsBorderVertexCartographic);
|
|
76181
|
-
const projectedRadius =
|
|
76039
|
+
const projectedRadius = projectedOriginVector.copy(projectedOrigin).subtract(projectedMbsBorderVertex).magnitude();
|
|
76182
76040
|
return projectedRadius;
|
|
76183
76041
|
}
|
|
76184
76042
|
|
|
@@ -76285,6 +76143,8 @@ var DEFAULT_PROPS4 = {
|
|
|
76285
76143
|
};
|
|
76286
76144
|
var TilesetTraverser = class {
|
|
76287
76145
|
constructor(options) {
|
|
76146
|
+
this.lastUpdate = new Date().getTime();
|
|
76147
|
+
this.updateDebounceTime = 1e3;
|
|
76288
76148
|
this.options = { ...DEFAULT_PROPS4, ...options };
|
|
76289
76149
|
this._traversalStack = new ManagedArray();
|
|
76290
76150
|
this._emptyTraversalStack = new ManagedArray();
|
|
@@ -76294,6 +76154,9 @@ var TilesetTraverser = class {
|
|
|
76294
76154
|
this.requestedTiles = {};
|
|
76295
76155
|
this.emptyTiles = {};
|
|
76296
76156
|
}
|
|
76157
|
+
get traversalFinished() {
|
|
76158
|
+
return true;
|
|
76159
|
+
}
|
|
76297
76160
|
traverse(root, frameState, options) {
|
|
76298
76161
|
this.root = root;
|
|
76299
76162
|
this.options = { ...this.options, ...options };
|
|
@@ -76341,7 +76204,11 @@ var TilesetTraverser = class {
|
|
|
76341
76204
|
this.touchTile(tile, frameState);
|
|
76342
76205
|
tile._shouldRefine = shouldRefine && parentRefines;
|
|
76343
76206
|
}
|
|
76344
|
-
|
|
76207
|
+
const newTime = new Date().getTime();
|
|
76208
|
+
if (this.traversalFinished || newTime - this.lastUpdate > this.updateDebounceTime) {
|
|
76209
|
+
this.lastUpdate = newTime;
|
|
76210
|
+
this.options.onTraversalEnd(frameState);
|
|
76211
|
+
}
|
|
76345
76212
|
}
|
|
76346
76213
|
updateChildTiles(tile, frameState) {
|
|
76347
76214
|
const children = tile.children;
|
|
@@ -76593,6 +76460,9 @@ var TileHeader = class {
|
|
|
76593
76460
|
throw new Error("Unsupported tileset type");
|
|
76594
76461
|
}
|
|
76595
76462
|
}
|
|
76463
|
+
unselect() {
|
|
76464
|
+
this._selectedFrame = 0;
|
|
76465
|
+
}
|
|
76596
76466
|
_getPriority() {
|
|
76597
76467
|
const traverser = this.tileset._traverser;
|
|
76598
76468
|
const { skipLevelOfDetail } = traverser.options;
|
|
@@ -76872,6 +76742,25 @@ var Tileset3DTraverser = class extends TilesetTraverser {
|
|
|
76872
76742
|
}
|
|
76873
76743
|
};
|
|
76874
76744
|
|
|
76745
|
+
// ../tiles/src/tileset/traversers/i3s-frame-counter.ts
|
|
76746
|
+
var I3SPendingTilesRegister = class {
|
|
76747
|
+
constructor() {
|
|
76748
|
+
this.frameNumberMap = new Map();
|
|
76749
|
+
}
|
|
76750
|
+
register(frameNumber) {
|
|
76751
|
+
const oldCount = this.frameNumberMap.get(frameNumber) || 0;
|
|
76752
|
+
this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
|
|
76753
|
+
}
|
|
76754
|
+
deregister(frameNumber) {
|
|
76755
|
+
const oldCount = this.frameNumberMap.get(frameNumber) || 1;
|
|
76756
|
+
this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
|
|
76757
|
+
}
|
|
76758
|
+
isZero(frameNumber) {
|
|
76759
|
+
const count = this.frameNumberMap.get(frameNumber) || 0;
|
|
76760
|
+
return count === 0;
|
|
76761
|
+
}
|
|
76762
|
+
};
|
|
76763
|
+
|
|
76875
76764
|
// ../tiles/src/tileset/traversers/i3s-tile-manager.ts
|
|
76876
76765
|
var STATUS = {
|
|
76877
76766
|
REQUESTED: "REQUESTED",
|
|
@@ -76880,32 +76769,45 @@ var STATUS = {
|
|
|
76880
76769
|
};
|
|
76881
76770
|
var I3STileManager = class {
|
|
76882
76771
|
constructor() {
|
|
76772
|
+
this.pendingTilesRegister = new I3SPendingTilesRegister();
|
|
76883
76773
|
this._statusMap = {};
|
|
76884
76774
|
}
|
|
76885
76775
|
add(request, key, callback, frameState) {
|
|
76886
76776
|
if (!this._statusMap[key]) {
|
|
76777
|
+
const { frameNumber } = frameState;
|
|
76887
76778
|
this._statusMap[key] = { request, callback, key, frameState, status: STATUS.REQUESTED };
|
|
76779
|
+
this.pendingTilesRegister.register(frameNumber);
|
|
76888
76780
|
request().then((data) => {
|
|
76889
76781
|
this._statusMap[key].status = STATUS.COMPLETED;
|
|
76782
|
+
this.pendingTilesRegister.deregister(frameNumber);
|
|
76890
76783
|
this._statusMap[key].callback(data, frameState);
|
|
76891
76784
|
}).catch((error) => {
|
|
76892
76785
|
this._statusMap[key].status = STATUS.ERROR;
|
|
76786
|
+
this.pendingTilesRegister.deregister(frameNumber);
|
|
76893
76787
|
callback(error);
|
|
76894
76788
|
});
|
|
76895
76789
|
}
|
|
76896
76790
|
}
|
|
76897
76791
|
update(key, frameState) {
|
|
76898
76792
|
if (this._statusMap[key]) {
|
|
76793
|
+
this.pendingTilesRegister.deregister(this._statusMap[key].frameState.frameNumber);
|
|
76794
|
+
this.pendingTilesRegister.register(frameState.frameNumber);
|
|
76899
76795
|
this._statusMap[key].frameState = frameState;
|
|
76900
76796
|
}
|
|
76901
76797
|
}
|
|
76902
76798
|
find(key) {
|
|
76903
76799
|
return this._statusMap[key];
|
|
76904
76800
|
}
|
|
76801
|
+
hasPendingTiles(frameNumber) {
|
|
76802
|
+
return !this.pendingTilesRegister.isZero(frameNumber);
|
|
76803
|
+
}
|
|
76905
76804
|
};
|
|
76906
76805
|
|
|
76907
76806
|
// ../tiles/src/tileset/traversers/i3s-tileset-traverser.ts
|
|
76908
76807
|
var I3STilesetTraverser = class extends TilesetTraverser {
|
|
76808
|
+
get traversalFinished() {
|
|
76809
|
+
return !this._tileManager.hasPendingTiles(this._frameNumber || 0);
|
|
76810
|
+
}
|
|
76909
76811
|
constructor(options) {
|
|
76910
76812
|
super(options);
|
|
76911
76813
|
this._tileManager = new I3STileManager();
|
|
@@ -76956,7 +76858,7 @@ var I3STilesetTraverser = class extends TilesetTraverser {
|
|
|
76956
76858
|
tile.children.push(childTile);
|
|
76957
76859
|
const frameState = this._tileManager.find(childTile.id).frameState;
|
|
76958
76860
|
this.updateTile(childTile, frameState);
|
|
76959
|
-
if (this._frameNumber === frameState.frameNumber) {
|
|
76861
|
+
if (this._frameNumber === frameState.frameNumber && (this.traversalFinished || new Date().getTime() - this.lastUpdate > this.updateDebounceTime)) {
|
|
76960
76862
|
this.executeTraversal(childTile, frameState);
|
|
76961
76863
|
}
|
|
76962
76864
|
}
|
|
@@ -76965,11 +76867,13 @@ var I3STilesetTraverser = class extends TilesetTraverser {
|
|
|
76965
76867
|
// ../tiles/src/tileset/tileset-3d.ts
|
|
76966
76868
|
var DEFAULT_PROPS5 = {
|
|
76967
76869
|
description: "",
|
|
76968
|
-
ellipsoid:
|
|
76870
|
+
ellipsoid: import_geospatial6.Ellipsoid.WGS84,
|
|
76969
76871
|
modelMatrix: new import_core10.Matrix4(),
|
|
76970
76872
|
throttleRequests: true,
|
|
76971
76873
|
maxRequests: 64,
|
|
76972
76874
|
maximumMemoryUsage: 32,
|
|
76875
|
+
maximumTilesSelected: 0,
|
|
76876
|
+
debounceTime: 0,
|
|
76973
76877
|
onTileLoad: () => {
|
|
76974
76878
|
},
|
|
76975
76879
|
onTileUnload: () => {
|
|
@@ -76996,10 +76900,11 @@ var TILES_LOADED = "Tiles Loaded";
|
|
|
76996
76900
|
var TILES_LOADING = "Tiles Loading";
|
|
76997
76901
|
var TILES_UNLOADED = "Tiles Unloaded";
|
|
76998
76902
|
var TILES_LOAD_FAILED = "Failed Tile Loads";
|
|
76999
|
-
var POINTS_COUNT = "Points";
|
|
76903
|
+
var POINTS_COUNT = "Points/Vertices";
|
|
77000
76904
|
var TILES_GPU_MEMORY = "Tile Memory Use";
|
|
77001
76905
|
var Tileset3D = class {
|
|
77002
76906
|
constructor(json, options) {
|
|
76907
|
+
this.updatePromise = null;
|
|
77003
76908
|
assert2(json);
|
|
77004
76909
|
this.options = { ...DEFAULT_PROPS5, ...options };
|
|
77005
76910
|
this.tileset = json;
|
|
@@ -77047,7 +76952,7 @@ var Tileset3D = class {
|
|
|
77047
76952
|
this.asset = {};
|
|
77048
76953
|
this.credits = {};
|
|
77049
76954
|
this.description = this.options.description || "";
|
|
77050
|
-
this._initializeTileSet(json);
|
|
76955
|
+
this.tilesetInitializationPromise = this._initializeTileSet(json);
|
|
77051
76956
|
}
|
|
77052
76957
|
destroy() {
|
|
77053
76958
|
this._destroy();
|
|
@@ -77083,18 +76988,39 @@ var Tileset3D = class {
|
|
|
77083
76988
|
hasExtension(extensionName) {
|
|
77084
76989
|
return Boolean(this._extensionsUsed && this._extensionsUsed.indexOf(extensionName) > -1);
|
|
77085
76990
|
}
|
|
77086
|
-
update(viewports) {
|
|
76991
|
+
update(viewports = null) {
|
|
76992
|
+
this.tilesetInitializationPromise.then(() => {
|
|
76993
|
+
if (!viewports && this.lastUpdatedVieports) {
|
|
76994
|
+
viewports = this.lastUpdatedVieports;
|
|
76995
|
+
} else {
|
|
76996
|
+
this.lastUpdatedVieports = viewports;
|
|
76997
|
+
}
|
|
76998
|
+
this.doUpdate(viewports);
|
|
76999
|
+
});
|
|
77000
|
+
}
|
|
77001
|
+
async selectTiles(viewports = null) {
|
|
77002
|
+
await this.tilesetInitializationPromise;
|
|
77003
|
+
if (viewports) {
|
|
77004
|
+
this.lastUpdatedVieports = viewports;
|
|
77005
|
+
}
|
|
77006
|
+
if (!this.updatePromise) {
|
|
77007
|
+
this.updatePromise = new Promise((resolve) => {
|
|
77008
|
+
setTimeout(() => {
|
|
77009
|
+
this.doUpdate(this.lastUpdatedVieports);
|
|
77010
|
+
resolve(this._frameNumber);
|
|
77011
|
+
this.updatePromise = null;
|
|
77012
|
+
}, this.options.debounceTime);
|
|
77013
|
+
});
|
|
77014
|
+
}
|
|
77015
|
+
return this.updatePromise;
|
|
77016
|
+
}
|
|
77017
|
+
doUpdate(viewports = null) {
|
|
77087
77018
|
if ("loadTiles" in this.options && !this.options.loadTiles) {
|
|
77088
77019
|
return;
|
|
77089
77020
|
}
|
|
77090
77021
|
if (this.traverseCounter > 0) {
|
|
77091
77022
|
return;
|
|
77092
77023
|
}
|
|
77093
|
-
if (!viewports && this.lastUpdatedVieports) {
|
|
77094
|
-
viewports = this.lastUpdatedVieports;
|
|
77095
|
-
} else {
|
|
77096
|
-
this.lastUpdatedVieports = viewports;
|
|
77097
|
-
}
|
|
77098
77024
|
if (!(viewports instanceof Array)) {
|
|
77099
77025
|
viewports = [viewports];
|
|
77100
77026
|
}
|
|
@@ -77139,7 +77065,11 @@ var Tileset3D = class {
|
|
|
77139
77065
|
}
|
|
77140
77066
|
const currentFrameStateData = this.frameStateData[id];
|
|
77141
77067
|
const selectedTiles = Object.values(this._traverser.selectedTiles);
|
|
77142
|
-
|
|
77068
|
+
const [filteredSelectedTiles, unselectedTiles] = limitSelectedTiles(selectedTiles, frameState, this.options.maximumTilesSelected);
|
|
77069
|
+
currentFrameStateData.selectedTiles = filteredSelectedTiles;
|
|
77070
|
+
for (const tile of unselectedTiles) {
|
|
77071
|
+
tile.unselect();
|
|
77072
|
+
}
|
|
77143
77073
|
currentFrameStateData._requestedTiles = Object.values(this._traverser.requestedTiles);
|
|
77144
77074
|
currentFrameStateData._emptyTiles = Object.values(this._traverser.emptyTiles);
|
|
77145
77075
|
this.traverseCounter--;
|
|
@@ -77194,6 +77124,8 @@ var Tileset3D = class {
|
|
|
77194
77124
|
tilesRenderable++;
|
|
77195
77125
|
if (tile.content.pointCount) {
|
|
77196
77126
|
pointsRenderable += tile.content.pointCount;
|
|
77127
|
+
} else {
|
|
77128
|
+
pointsRenderable += tile.content.vertexCount;
|
|
77197
77129
|
}
|
|
77198
77130
|
}
|
|
77199
77131
|
}
|
|
@@ -77201,17 +77133,43 @@ var Tileset3D = class {
|
|
|
77201
77133
|
this.stats.get(TILES_RENDERABLE).count = tilesRenderable;
|
|
77202
77134
|
this.stats.get(POINTS_COUNT).count = pointsRenderable;
|
|
77203
77135
|
}
|
|
77204
|
-
_initializeTileSet(tilesetJson) {
|
|
77136
|
+
async _initializeTileSet(tilesetJson) {
|
|
77137
|
+
if (this.type === TILESET_TYPE.I3S) {
|
|
77138
|
+
this.calculateViewPropsI3S();
|
|
77139
|
+
tilesetJson.root = await tilesetJson.root;
|
|
77140
|
+
}
|
|
77205
77141
|
this.root = this._initializeTileHeaders(tilesetJson, null);
|
|
77206
77142
|
if (this.type === TILESET_TYPE.TILES3D) {
|
|
77207
|
-
this.
|
|
77143
|
+
this._initializeTiles3DTileset(tilesetJson);
|
|
77144
|
+
this.calculateViewPropsTiles3D();
|
|
77208
77145
|
}
|
|
77209
77146
|
if (this.type === TILESET_TYPE.I3S) {
|
|
77210
77147
|
this._initializeI3STileset();
|
|
77211
77148
|
}
|
|
77212
|
-
this._calculateViewProps();
|
|
77213
77149
|
}
|
|
77214
|
-
|
|
77150
|
+
calculateViewPropsI3S() {
|
|
77151
|
+
const fullExtent = this.tileset.fullExtent;
|
|
77152
|
+
if (fullExtent) {
|
|
77153
|
+
const { xmin, xmax, ymin, ymax, zmin, zmax } = fullExtent;
|
|
77154
|
+
this.cartographicCenter = new import_core10.Vector3(xmin + (xmax - xmin) / 2, ymin + (ymax - ymin) / 2, zmin + (zmax - zmin) / 2);
|
|
77155
|
+
this.cartesianCenter = import_geospatial6.Ellipsoid.WGS84.cartographicToCartesian(this.cartographicCenter, new import_core10.Vector3());
|
|
77156
|
+
this.zoom = getZoomFromFullExtent(fullExtent, this.cartographicCenter, this.cartesianCenter);
|
|
77157
|
+
return;
|
|
77158
|
+
}
|
|
77159
|
+
const extent = this.tileset.store?.extent;
|
|
77160
|
+
if (extent) {
|
|
77161
|
+
const [xmin, ymin, xmax, ymax] = extent;
|
|
77162
|
+
this.cartographicCenter = new import_core10.Vector3(xmin + (xmax - xmin) / 2, ymin + (ymax - ymin) / 2, 0);
|
|
77163
|
+
this.cartesianCenter = import_geospatial6.Ellipsoid.WGS84.cartographicToCartesian(this.cartographicCenter, new import_core10.Vector3());
|
|
77164
|
+
this.zoom = getZoomFromExtent(extent, this.cartographicCenter, this.cartesianCenter);
|
|
77165
|
+
return;
|
|
77166
|
+
}
|
|
77167
|
+
console.warn("Extent is not defined in the tileset header");
|
|
77168
|
+
this.cartographicCenter = new import_core10.Vector3();
|
|
77169
|
+
this.zoom = 1;
|
|
77170
|
+
return;
|
|
77171
|
+
}
|
|
77172
|
+
calculateViewPropsTiles3D() {
|
|
77215
77173
|
const root = this.root;
|
|
77216
77174
|
assert2(root);
|
|
77217
77175
|
const { center } = root.boundingVolume;
|
|
@@ -77221,7 +77179,7 @@ var Tileset3D = class {
|
|
|
77221
77179
|
this.zoom = 1;
|
|
77222
77180
|
return;
|
|
77223
77181
|
}
|
|
77224
|
-
this.cartographicCenter =
|
|
77182
|
+
this.cartographicCenter = import_geospatial6.Ellipsoid.WGS84.cartesianToCartographic(center, new import_core10.Vector3());
|
|
77225
77183
|
this.cartesianCenter = center;
|
|
77226
77184
|
this.zoom = getZoomFromBoundingVolume(root.boundingVolume, this.cartographicCenter);
|
|
77227
77185
|
}
|
|
@@ -77369,7 +77327,7 @@ var Tileset3D = class {
|
|
|
77369
77327
|
this._unloadTile(tile);
|
|
77370
77328
|
tile.destroy();
|
|
77371
77329
|
}
|
|
77372
|
-
|
|
77330
|
+
_initializeTiles3DTileset(tilesetJson) {
|
|
77373
77331
|
this.asset = tilesetJson.asset;
|
|
77374
77332
|
if (!this.asset) {
|
|
77375
77333
|
throw new Error("Tileset must have an asset property.");
|
|
@@ -77411,7 +77369,7 @@ function getQueryParamString(queryParams) {
|
|
|
77411
77369
|
}
|
|
77412
77370
|
|
|
77413
77371
|
// ../3d-tiles/src/lib/utils/version.ts
|
|
77414
|
-
var
|
|
77372
|
+
var VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
77415
77373
|
|
|
77416
77374
|
// ../3d-tiles/src/lib/constants.ts
|
|
77417
77375
|
var TILE3D_TYPE = {
|
|
@@ -77445,7 +77403,7 @@ function getMagicString3(arrayBuffer, byteOffset = 0) {
|
|
|
77445
77403
|
}
|
|
77446
77404
|
|
|
77447
77405
|
// ../draco/src/lib/utils/version.ts
|
|
77448
|
-
var
|
|
77406
|
+
var VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
77449
77407
|
|
|
77450
77408
|
// ../draco/src/draco-loader.ts
|
|
77451
77409
|
var DEFAULT_DRACO_OPTIONS = {
|
|
@@ -77461,7 +77419,7 @@ var DracoLoader = {
|
|
|
77461
77419
|
id: "draco",
|
|
77462
77420
|
module: "draco",
|
|
77463
77421
|
shapes: ["mesh"],
|
|
77464
|
-
version:
|
|
77422
|
+
version: VERSION5,
|
|
77465
77423
|
worker: true,
|
|
77466
77424
|
extensions: ["drc"],
|
|
77467
77425
|
mimeTypes: ["application/octet-stream"],
|
|
@@ -78372,7 +78330,6 @@ var DRACO_WASM_WRAPPER_URL = `https://www.gstatic.com/draco/versioned/decoders/$
|
|
|
78372
78330
|
var DRACO_WASM_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.wasm`;
|
|
78373
78331
|
var DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_VERSION}/javascript/draco_encoder.js`;
|
|
78374
78332
|
var loadDecoderPromise;
|
|
78375
|
-
var loadEncoderPromise;
|
|
78376
78333
|
async function loadDracoDecoderModule(options) {
|
|
78377
78334
|
const modules = options.modules || {};
|
|
78378
78335
|
if (modules.draco3d) {
|
|
@@ -78384,17 +78341,6 @@ async function loadDracoDecoderModule(options) {
|
|
|
78384
78341
|
}
|
|
78385
78342
|
return await loadDecoderPromise;
|
|
78386
78343
|
}
|
|
78387
|
-
async function loadDracoEncoderModule(options) {
|
|
78388
|
-
const modules = options.modules || {};
|
|
78389
|
-
if (modules.draco3d) {
|
|
78390
|
-
loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then((draco) => {
|
|
78391
|
-
return { draco };
|
|
78392
|
-
});
|
|
78393
|
-
} else {
|
|
78394
|
-
loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
|
|
78395
|
-
}
|
|
78396
|
-
return await loadEncoderPromise;
|
|
78397
|
-
}
|
|
78398
78344
|
async function loadDracoDecoder(options) {
|
|
78399
78345
|
let DracoDecoderModule;
|
|
78400
78346
|
let wasmBinary;
|
|
@@ -78424,303 +78370,19 @@ function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
|
78424
78370
|
});
|
|
78425
78371
|
});
|
|
78426
78372
|
}
|
|
78427
|
-
async function loadDracoEncoder(options) {
|
|
78428
|
-
let DracoEncoderModule = await loadLibrary(DRACO_ENCODER_URL, "draco", options);
|
|
78429
|
-
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
78430
|
-
return new Promise((resolve) => {
|
|
78431
|
-
DracoEncoderModule({
|
|
78432
|
-
onModuleLoaded: (draco) => resolve({ draco })
|
|
78433
|
-
});
|
|
78434
|
-
});
|
|
78435
|
-
}
|
|
78436
78373
|
|
|
78437
|
-
// ../draco/src/
|
|
78438
|
-
var
|
|
78439
|
-
|
|
78440
|
-
|
|
78441
|
-
COLOR_0: "COLOR",
|
|
78442
|
-
TEXCOORD_0: "TEX_COORD"
|
|
78443
|
-
};
|
|
78444
|
-
var noop = () => {
|
|
78445
|
-
};
|
|
78446
|
-
var DracoBuilder = class {
|
|
78447
|
-
constructor(draco) {
|
|
78448
|
-
this.draco = draco;
|
|
78449
|
-
this.dracoEncoder = new this.draco.Encoder();
|
|
78450
|
-
this.dracoMeshBuilder = new this.draco.MeshBuilder();
|
|
78451
|
-
this.dracoMetadataBuilder = new this.draco.MetadataBuilder();
|
|
78452
|
-
}
|
|
78453
|
-
destroy() {
|
|
78454
|
-
this.destroyEncodedObject(this.dracoMeshBuilder);
|
|
78455
|
-
this.destroyEncodedObject(this.dracoEncoder);
|
|
78456
|
-
this.destroyEncodedObject(this.dracoMetadataBuilder);
|
|
78457
|
-
this.dracoMeshBuilder = null;
|
|
78458
|
-
this.dracoEncoder = null;
|
|
78459
|
-
this.draco = null;
|
|
78460
|
-
}
|
|
78461
|
-
destroyEncodedObject(object) {
|
|
78462
|
-
if (object) {
|
|
78463
|
-
this.draco.destroy(object);
|
|
78464
|
-
}
|
|
78465
|
-
}
|
|
78466
|
-
encodeSync(mesh, options = {}) {
|
|
78467
|
-
this.log = noop;
|
|
78468
|
-
this._setOptions(options);
|
|
78469
|
-
return options.pointcloud ? this._encodePointCloud(mesh, options) : this._encodeMesh(mesh, options);
|
|
78470
|
-
}
|
|
78471
|
-
_getAttributesFromMesh(mesh) {
|
|
78472
|
-
const attributes = { ...mesh, ...mesh.attributes };
|
|
78473
|
-
if (mesh.indices) {
|
|
78474
|
-
attributes.indices = mesh.indices;
|
|
78475
|
-
}
|
|
78476
|
-
return attributes;
|
|
78477
|
-
}
|
|
78478
|
-
_encodePointCloud(pointcloud, options) {
|
|
78479
|
-
const dracoPointCloud = new this.draco.PointCloud();
|
|
78480
|
-
if (options.metadata) {
|
|
78481
|
-
this._addGeometryMetadata(dracoPointCloud, options.metadata);
|
|
78482
|
-
}
|
|
78483
|
-
const attributes = this._getAttributesFromMesh(pointcloud);
|
|
78484
|
-
this._createDracoPointCloud(dracoPointCloud, attributes, options);
|
|
78485
|
-
const dracoData = new this.draco.DracoInt8Array();
|
|
78486
|
-
try {
|
|
78487
|
-
const encodedLen = this.dracoEncoder.EncodePointCloudToDracoBuffer(dracoPointCloud, false, dracoData);
|
|
78488
|
-
if (!(encodedLen > 0)) {
|
|
78489
|
-
throw new Error("Draco encoding failed.");
|
|
78490
|
-
}
|
|
78491
|
-
this.log(`DRACO encoded ${dracoPointCloud.num_points()} points
|
|
78492
|
-
with ${dracoPointCloud.num_attributes()} attributes into ${encodedLen} bytes`);
|
|
78493
|
-
return dracoInt8ArrayToArrayBuffer(dracoData);
|
|
78494
|
-
} finally {
|
|
78495
|
-
this.destroyEncodedObject(dracoData);
|
|
78496
|
-
this.destroyEncodedObject(dracoPointCloud);
|
|
78497
|
-
}
|
|
78498
|
-
}
|
|
78499
|
-
_encodeMesh(mesh, options) {
|
|
78500
|
-
const dracoMesh = new this.draco.Mesh();
|
|
78501
|
-
if (options.metadata) {
|
|
78502
|
-
this._addGeometryMetadata(dracoMesh, options.metadata);
|
|
78503
|
-
}
|
|
78504
|
-
const attributes = this._getAttributesFromMesh(mesh);
|
|
78505
|
-
this._createDracoMesh(dracoMesh, attributes, options);
|
|
78506
|
-
const dracoData = new this.draco.DracoInt8Array();
|
|
78507
|
-
try {
|
|
78508
|
-
const encodedLen = this.dracoEncoder.EncodeMeshToDracoBuffer(dracoMesh, dracoData);
|
|
78509
|
-
if (encodedLen <= 0) {
|
|
78510
|
-
throw new Error("Draco encoding failed.");
|
|
78511
|
-
}
|
|
78512
|
-
this.log(`DRACO encoded ${dracoMesh.num_points()} points
|
|
78513
|
-
with ${dracoMesh.num_attributes()} attributes into ${encodedLen} bytes`);
|
|
78514
|
-
return dracoInt8ArrayToArrayBuffer(dracoData);
|
|
78515
|
-
} finally {
|
|
78516
|
-
this.destroyEncodedObject(dracoData);
|
|
78517
|
-
this.destroyEncodedObject(dracoMesh);
|
|
78518
|
-
}
|
|
78519
|
-
}
|
|
78520
|
-
_setOptions(options) {
|
|
78521
|
-
if ("speed" in options) {
|
|
78522
|
-
this.dracoEncoder.SetSpeedOptions(...options.speed);
|
|
78523
|
-
}
|
|
78524
|
-
if ("method" in options) {
|
|
78525
|
-
const dracoMethod = this.draco[options.method || "MESH_SEQUENTIAL_ENCODING"];
|
|
78526
|
-
this.dracoEncoder.SetEncodingMethod(dracoMethod);
|
|
78527
|
-
}
|
|
78528
|
-
if ("quantization" in options) {
|
|
78529
|
-
for (const attribute in options.quantization) {
|
|
78530
|
-
const bits = options.quantization[attribute];
|
|
78531
|
-
const dracoPosition = this.draco[attribute];
|
|
78532
|
-
this.dracoEncoder.SetAttributeQuantization(dracoPosition, bits);
|
|
78533
|
-
}
|
|
78534
|
-
}
|
|
78535
|
-
}
|
|
78536
|
-
_createDracoMesh(dracoMesh, attributes, options) {
|
|
78537
|
-
const optionalMetadata = options.attributesMetadata || {};
|
|
78538
|
-
try {
|
|
78539
|
-
const positions = this._getPositionAttribute(attributes);
|
|
78540
|
-
if (!positions) {
|
|
78541
|
-
throw new Error("positions");
|
|
78542
|
-
}
|
|
78543
|
-
const vertexCount = positions.length / 3;
|
|
78544
|
-
for (let attributeName in attributes) {
|
|
78545
|
-
const attribute = attributes[attributeName];
|
|
78546
|
-
attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;
|
|
78547
|
-
const uniqueId = this._addAttributeToMesh(dracoMesh, attributeName, attribute, vertexCount);
|
|
78548
|
-
if (uniqueId !== -1) {
|
|
78549
|
-
this._addAttributeMetadata(dracoMesh, uniqueId, {
|
|
78550
|
-
name: attributeName,
|
|
78551
|
-
...optionalMetadata[attributeName] || {}
|
|
78552
|
-
});
|
|
78553
|
-
}
|
|
78554
|
-
}
|
|
78555
|
-
} catch (error) {
|
|
78556
|
-
this.destroyEncodedObject(dracoMesh);
|
|
78557
|
-
throw error;
|
|
78558
|
-
}
|
|
78559
|
-
return dracoMesh;
|
|
78560
|
-
}
|
|
78561
|
-
_createDracoPointCloud(dracoPointCloud, attributes, options) {
|
|
78562
|
-
const optionalMetadata = options.attributesMetadata || {};
|
|
78563
|
-
try {
|
|
78564
|
-
const positions = this._getPositionAttribute(attributes);
|
|
78565
|
-
if (!positions) {
|
|
78566
|
-
throw new Error("positions");
|
|
78567
|
-
}
|
|
78568
|
-
const vertexCount = positions.length / 3;
|
|
78569
|
-
for (let attributeName in attributes) {
|
|
78570
|
-
const attribute = attributes[attributeName];
|
|
78571
|
-
attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;
|
|
78572
|
-
const uniqueId = this._addAttributeToMesh(dracoPointCloud, attributeName, attribute, vertexCount);
|
|
78573
|
-
if (uniqueId !== -1) {
|
|
78574
|
-
this._addAttributeMetadata(dracoPointCloud, uniqueId, {
|
|
78575
|
-
name: attributeName,
|
|
78576
|
-
...optionalMetadata[attributeName] || {}
|
|
78577
|
-
});
|
|
78578
|
-
}
|
|
78579
|
-
}
|
|
78580
|
-
} catch (error) {
|
|
78581
|
-
this.destroyEncodedObject(dracoPointCloud);
|
|
78582
|
-
throw error;
|
|
78583
|
-
}
|
|
78584
|
-
return dracoPointCloud;
|
|
78585
|
-
}
|
|
78586
|
-
_addAttributeToMesh(mesh, attributeName, attribute, vertexCount) {
|
|
78587
|
-
if (!ArrayBuffer.isView(attribute)) {
|
|
78588
|
-
return -1;
|
|
78589
|
-
}
|
|
78590
|
-
const type = this._getDracoAttributeType(attributeName);
|
|
78591
|
-
const size = attribute.length / vertexCount;
|
|
78592
|
-
if (type === "indices") {
|
|
78593
|
-
const numFaces = attribute.length / 3;
|
|
78594
|
-
this.log(`Adding attribute ${attributeName}, size ${numFaces}`);
|
|
78595
|
-
this.dracoMeshBuilder.AddFacesToMesh(mesh, numFaces, attribute);
|
|
78596
|
-
return -1;
|
|
78597
|
-
}
|
|
78598
|
-
this.log(`Adding attribute ${attributeName}, size ${size}`);
|
|
78599
|
-
const builder = this.dracoMeshBuilder;
|
|
78600
|
-
const { buffer } = attribute;
|
|
78601
|
-
switch (attribute.constructor) {
|
|
78602
|
-
case Int8Array:
|
|
78603
|
-
return builder.AddInt8Attribute(mesh, type, vertexCount, size, new Int8Array(buffer));
|
|
78604
|
-
case Int16Array:
|
|
78605
|
-
return builder.AddInt16Attribute(mesh, type, vertexCount, size, new Int16Array(buffer));
|
|
78606
|
-
case Int32Array:
|
|
78607
|
-
return builder.AddInt32Attribute(mesh, type, vertexCount, size, new Int32Array(buffer));
|
|
78608
|
-
case Uint8Array:
|
|
78609
|
-
case Uint8ClampedArray:
|
|
78610
|
-
return builder.AddUInt8Attribute(mesh, type, vertexCount, size, new Uint8Array(buffer));
|
|
78611
|
-
case Uint16Array:
|
|
78612
|
-
return builder.AddUInt16Attribute(mesh, type, vertexCount, size, new Uint16Array(buffer));
|
|
78613
|
-
case Uint32Array:
|
|
78614
|
-
return builder.AddUInt32Attribute(mesh, type, vertexCount, size, new Uint32Array(buffer));
|
|
78615
|
-
case Float32Array:
|
|
78616
|
-
default:
|
|
78617
|
-
return builder.AddFloatAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));
|
|
78618
|
-
}
|
|
78619
|
-
}
|
|
78620
|
-
_getDracoAttributeType(attributeName) {
|
|
78621
|
-
switch (attributeName.toLowerCase()) {
|
|
78622
|
-
case "indices":
|
|
78623
|
-
return "indices";
|
|
78624
|
-
case "position":
|
|
78625
|
-
case "positions":
|
|
78626
|
-
case "vertices":
|
|
78627
|
-
return this.draco.POSITION;
|
|
78628
|
-
case "normal":
|
|
78629
|
-
case "normals":
|
|
78630
|
-
return this.draco.NORMAL;
|
|
78631
|
-
case "color":
|
|
78632
|
-
case "colors":
|
|
78633
|
-
return this.draco.COLOR;
|
|
78634
|
-
case "texcoord":
|
|
78635
|
-
case "texcoords":
|
|
78636
|
-
return this.draco.TEX_COORD;
|
|
78637
|
-
default:
|
|
78638
|
-
return this.draco.GENERIC;
|
|
78639
|
-
}
|
|
78640
|
-
}
|
|
78641
|
-
_getPositionAttribute(attributes) {
|
|
78642
|
-
for (const attributeName in attributes) {
|
|
78643
|
-
const attribute = attributes[attributeName];
|
|
78644
|
-
const dracoType = this._getDracoAttributeType(attributeName);
|
|
78645
|
-
if (dracoType === this.draco.POSITION) {
|
|
78646
|
-
return attribute;
|
|
78647
|
-
}
|
|
78648
|
-
}
|
|
78649
|
-
return null;
|
|
78650
|
-
}
|
|
78651
|
-
_addGeometryMetadata(dracoGeometry, metadata) {
|
|
78652
|
-
const dracoMetadata = new this.draco.Metadata();
|
|
78653
|
-
this._populateDracoMetadata(dracoMetadata, metadata);
|
|
78654
|
-
this.dracoMeshBuilder.AddMetadata(dracoGeometry, dracoMetadata);
|
|
78655
|
-
}
|
|
78656
|
-
_addAttributeMetadata(dracoGeometry, uniqueAttributeId, metadata) {
|
|
78657
|
-
const dracoAttributeMetadata = new this.draco.Metadata();
|
|
78658
|
-
this._populateDracoMetadata(dracoAttributeMetadata, metadata);
|
|
78659
|
-
this.dracoMeshBuilder.SetMetadataForAttribute(dracoGeometry, uniqueAttributeId, dracoAttributeMetadata);
|
|
78660
|
-
}
|
|
78661
|
-
_populateDracoMetadata(dracoMetadata, metadata) {
|
|
78662
|
-
for (const [key, value] of getEntries(metadata)) {
|
|
78663
|
-
switch (typeof value) {
|
|
78664
|
-
case "number":
|
|
78665
|
-
if (Math.trunc(value) === value) {
|
|
78666
|
-
this.dracoMetadataBuilder.AddIntEntry(dracoMetadata, key, value);
|
|
78667
|
-
} else {
|
|
78668
|
-
this.dracoMetadataBuilder.AddDoubleEntry(dracoMetadata, key, value);
|
|
78669
|
-
}
|
|
78670
|
-
break;
|
|
78671
|
-
case "object":
|
|
78672
|
-
if (value instanceof Int32Array) {
|
|
78673
|
-
this.dracoMetadataBuilder.AddIntEntryArray(dracoMetadata, key, value, value.length);
|
|
78674
|
-
}
|
|
78675
|
-
break;
|
|
78676
|
-
case "string":
|
|
78677
|
-
default:
|
|
78678
|
-
this.dracoMetadataBuilder.AddStringEntry(dracoMetadata, key, value);
|
|
78679
|
-
}
|
|
78680
|
-
}
|
|
78681
|
-
}
|
|
78682
|
-
};
|
|
78683
|
-
function dracoInt8ArrayToArrayBuffer(dracoData) {
|
|
78684
|
-
const byteLength = dracoData.size();
|
|
78685
|
-
const outputBuffer = new ArrayBuffer(byteLength);
|
|
78686
|
-
const outputData = new Int8Array(outputBuffer);
|
|
78687
|
-
for (let i = 0; i < byteLength; ++i) {
|
|
78688
|
-
outputData[i] = dracoData.GetValue(i);
|
|
78689
|
-
}
|
|
78690
|
-
return outputBuffer;
|
|
78691
|
-
}
|
|
78692
|
-
function getEntries(container) {
|
|
78693
|
-
const hasEntriesFunc = container.entries && !container.hasOwnProperty("entries");
|
|
78694
|
-
return hasEntriesFunc ? container.entries() : Object.entries(container);
|
|
78695
|
-
}
|
|
78696
|
-
|
|
78697
|
-
// ../draco/src/draco-writer.ts
|
|
78698
|
-
var DEFAULT_DRACO_OPTIONS2 = {
|
|
78699
|
-
pointcloud: false,
|
|
78700
|
-
attributeNameEntry: "name"
|
|
78701
|
-
};
|
|
78702
|
-
var DracoWriter = {
|
|
78703
|
-
name: "DRACO",
|
|
78704
|
-
id: "draco",
|
|
78374
|
+
// ../draco/src/index.ts
|
|
78375
|
+
var DracoWriterWorker = {
|
|
78376
|
+
id: isBrowser2 ? "draco-writer" : "draco-writer-nodejs",
|
|
78377
|
+
name: "Draco compressed geometry writer",
|
|
78705
78378
|
module: "draco",
|
|
78706
|
-
version:
|
|
78707
|
-
|
|
78708
|
-
encode: encode2,
|
|
78379
|
+
version: VERSION5,
|
|
78380
|
+
worker: true,
|
|
78709
78381
|
options: {
|
|
78710
|
-
draco:
|
|
78382
|
+
draco: {},
|
|
78383
|
+
source: null
|
|
78711
78384
|
}
|
|
78712
78385
|
};
|
|
78713
|
-
async function encode2(data, options = {}) {
|
|
78714
|
-
const { draco } = await loadDracoEncoderModule(options);
|
|
78715
|
-
const dracoBuilder = new DracoBuilder(draco);
|
|
78716
|
-
try {
|
|
78717
|
-
return dracoBuilder.encodeSync(data, options.draco);
|
|
78718
|
-
} finally {
|
|
78719
|
-
dracoBuilder.destroy();
|
|
78720
|
-
}
|
|
78721
|
-
}
|
|
78722
|
-
|
|
78723
|
-
// ../draco/src/index.ts
|
|
78724
78386
|
var DracoLoader2 = {
|
|
78725
78387
|
...DracoLoader,
|
|
78726
78388
|
parse: parse2
|
|
@@ -79849,15 +79511,15 @@ async function loadDraco(tile, dracoData, options, context) {
|
|
|
79849
79511
|
}
|
|
79850
79512
|
|
|
79851
79513
|
// ../gltf/src/lib/utils/version.ts
|
|
79852
|
-
var
|
|
79514
|
+
var VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
79853
79515
|
|
|
79854
79516
|
// ../textures/src/lib/utils/version.ts
|
|
79855
|
-
var
|
|
79517
|
+
var VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
79856
79518
|
|
|
79857
79519
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
79858
|
-
var
|
|
79859
|
-
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${
|
|
79860
|
-
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${
|
|
79520
|
+
var VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
79521
|
+
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.wasm`;
|
|
79522
|
+
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.js`;
|
|
79861
79523
|
var loadBasisTranscoderPromise;
|
|
79862
79524
|
async function loadBasisTrascoderModule(options) {
|
|
79863
79525
|
const modules = options.modules || {};
|
|
@@ -80243,7 +79905,7 @@ function parseBasisFile(BasisFile, data, options) {
|
|
|
80243
79905
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
80244
79906
|
try {
|
|
80245
79907
|
if (!basisFile.startTranscoding()) {
|
|
80246
|
-
|
|
79908
|
+
throw new Error("Failed to start basis transcoding");
|
|
80247
79909
|
}
|
|
80248
79910
|
const imageCount = basisFile.getNumImages();
|
|
80249
79911
|
const images = [];
|
|
@@ -80269,22 +79931,22 @@ function transcodeImage(basisFile, imageIndex, levelIndex, options) {
|
|
|
80269
79931
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
80270
79932
|
const decodedData = new Uint8Array(decodedSize);
|
|
80271
79933
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
80272
|
-
|
|
79934
|
+
throw new Error("failed to start Basis transcoding");
|
|
80273
79935
|
}
|
|
80274
79936
|
return {
|
|
80275
79937
|
width,
|
|
80276
79938
|
height,
|
|
80277
79939
|
data: decodedData,
|
|
80278
79940
|
compressed,
|
|
80279
|
-
|
|
80280
|
-
|
|
79941
|
+
format,
|
|
79942
|
+
hasAlpha
|
|
80281
79943
|
};
|
|
80282
79944
|
}
|
|
80283
79945
|
function parseKTX2File(KTX2File, data, options) {
|
|
80284
79946
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
80285
79947
|
try {
|
|
80286
79948
|
if (!ktx2File.startTranscoding()) {
|
|
80287
|
-
|
|
79949
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
80288
79950
|
}
|
|
80289
79951
|
const levelsCount = ktx2File.getLevels();
|
|
80290
79952
|
const levels = [];
|
|
@@ -80292,7 +79954,7 @@ function parseKTX2File(KTX2File, data, options) {
|
|
|
80292
79954
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
80293
79955
|
break;
|
|
80294
79956
|
}
|
|
80295
|
-
return levels;
|
|
79957
|
+
return [levels];
|
|
80296
79958
|
} finally {
|
|
80297
79959
|
ktx2File.close();
|
|
80298
79960
|
ktx2File.delete();
|
|
@@ -80304,14 +79966,14 @@ function transcodeKTX2Image(ktx2File, levelIndex, options) {
|
|
|
80304
79966
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
80305
79967
|
const decodedData = new Uint8Array(decodedSize);
|
|
80306
79968
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
80307
|
-
|
|
79969
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
80308
79970
|
}
|
|
80309
79971
|
return {
|
|
80310
79972
|
width,
|
|
80311
79973
|
height,
|
|
80312
79974
|
data: decodedData,
|
|
80313
79975
|
compressed,
|
|
80314
|
-
alphaFlag,
|
|
79976
|
+
hasAlpha: alphaFlag,
|
|
80315
79977
|
format
|
|
80316
79978
|
};
|
|
80317
79979
|
}
|
|
@@ -80353,7 +80015,7 @@ var BasisWorkerLoader = {
|
|
|
80353
80015
|
name: "Basis",
|
|
80354
80016
|
id: "basis",
|
|
80355
80017
|
module: "textures",
|
|
80356
|
-
version:
|
|
80018
|
+
version: VERSION7,
|
|
80357
80019
|
worker: true,
|
|
80358
80020
|
extensions: ["basis", "ktx2"],
|
|
80359
80021
|
mimeTypes: ["application/octet-stream", "image/ktx2"],
|
|
@@ -80666,7 +80328,7 @@ var CompressedTextureWorkerLoader = {
|
|
|
80666
80328
|
name: "Texture Containers",
|
|
80667
80329
|
id: "compressed-texture",
|
|
80668
80330
|
module: "textures",
|
|
80669
|
-
version:
|
|
80331
|
+
version: VERSION7,
|
|
80670
80332
|
worker: true,
|
|
80671
80333
|
extensions: [
|
|
80672
80334
|
"ktx",
|
|
@@ -80697,57 +80359,14 @@ var CompressedTextureLoader = {
|
|
|
80697
80359
|
containerFormat: "ktx2",
|
|
80698
80360
|
module: "encoder"
|
|
80699
80361
|
};
|
|
80700
|
-
return await parseBasis(arrayBuffer, options);
|
|
80362
|
+
return (await parseBasis(arrayBuffer, options))[0];
|
|
80701
80363
|
}
|
|
80702
80364
|
return parseCompressedTexture(arrayBuffer);
|
|
80703
80365
|
}
|
|
80704
80366
|
};
|
|
80705
80367
|
|
|
80706
|
-
// ../textures/src/lib/encoders/encode-ktx2-basis-texture.ts
|
|
80707
|
-
async function encodeKTX2BasisTexture(image, options = {}) {
|
|
80708
|
-
const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
|
|
80709
|
-
const { BasisEncoder } = await loadBasisEncoderModule(options);
|
|
80710
|
-
const basisEncoder = new BasisEncoder();
|
|
80711
|
-
try {
|
|
80712
|
-
const basisFileData = new Uint8Array(image.width * image.height * 4);
|
|
80713
|
-
basisEncoder.setCreateKTX2File(true);
|
|
80714
|
-
basisEncoder.setKTX2UASTCSupercompression(true);
|
|
80715
|
-
basisEncoder.setKTX2SRGBTransferFunc(true);
|
|
80716
|
-
basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
|
|
80717
|
-
basisEncoder.setPerceptual(useSRGB);
|
|
80718
|
-
basisEncoder.setMipSRGB(useSRGB);
|
|
80719
|
-
basisEncoder.setQualityLevel(qualityLevel);
|
|
80720
|
-
basisEncoder.setUASTC(encodeUASTC);
|
|
80721
|
-
basisEncoder.setMipGen(mipmaps);
|
|
80722
|
-
const numOutputBytes = basisEncoder.encode(basisFileData);
|
|
80723
|
-
const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
|
|
80724
|
-
return actualKTX2FileData;
|
|
80725
|
-
} catch (error) {
|
|
80726
|
-
console.error("Basis Universal Supercompressed GPU Texture encoder Error: ", error);
|
|
80727
|
-
throw error;
|
|
80728
|
-
} finally {
|
|
80729
|
-
basisEncoder.delete();
|
|
80730
|
-
}
|
|
80731
|
-
}
|
|
80732
|
-
|
|
80733
|
-
// ../textures/src/ktx2-basis-universal-texture-writer.ts
|
|
80734
|
-
var KTX2BasisUniversalTextureWriter = {
|
|
80735
|
-
name: "Basis Universal Supercompressed GPU Texture",
|
|
80736
|
-
id: "ktx2-basis-supercompressed-texture",
|
|
80737
|
-
module: "textures",
|
|
80738
|
-
version: VERSION6,
|
|
80739
|
-
extensions: ["ktx2"],
|
|
80740
|
-
options: {
|
|
80741
|
-
useSRGB: false,
|
|
80742
|
-
qualityLevel: 10,
|
|
80743
|
-
encodeUASTC: false,
|
|
80744
|
-
mipmaps: false
|
|
80745
|
-
},
|
|
80746
|
-
encode: encodeKTX2BasisTexture
|
|
80747
|
-
};
|
|
80748
|
-
|
|
80749
80368
|
// ../images/src/lib/utils/version.ts
|
|
80750
|
-
var
|
|
80369
|
+
var VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
80751
80370
|
|
|
80752
80371
|
// ../images/src/lib/category-api/image-type.ts
|
|
80753
80372
|
var { _parseImageNode } = globalThis;
|
|
@@ -81089,7 +80708,7 @@ var ImageLoader = {
|
|
|
81089
80708
|
id: "image",
|
|
81090
80709
|
module: "images",
|
|
81091
80710
|
name: "Images",
|
|
81092
|
-
version:
|
|
80711
|
+
version: VERSION9,
|
|
81093
80712
|
mimeTypes: MIME_TYPES,
|
|
81094
80713
|
extensions: EXTENSIONS,
|
|
81095
80714
|
parse: parseImage,
|
|
@@ -81152,7 +80771,7 @@ var ImageWriter = {
|
|
|
81152
80771
|
name: "Images",
|
|
81153
80772
|
id: "image",
|
|
81154
80773
|
module: "images",
|
|
81155
|
-
version:
|
|
80774
|
+
version: VERSION9,
|
|
81156
80775
|
extensions: ["jpeg"],
|
|
81157
80776
|
options: {
|
|
81158
80777
|
image: {
|
|
@@ -81198,6 +80817,22 @@ function checkWebPSupport() {
|
|
|
81198
80817
|
}
|
|
81199
80818
|
}
|
|
81200
80819
|
|
|
80820
|
+
// ../textures/src/index.ts
|
|
80821
|
+
var KTX2BasisWriterWorker = {
|
|
80822
|
+
name: "Basis Universal Supercompressed GPU Texture",
|
|
80823
|
+
id: isBrowser ? "ktx2-basis-writer" : "ktx2-basis-writer-nodejs",
|
|
80824
|
+
module: "textures",
|
|
80825
|
+
version: VERSION7,
|
|
80826
|
+
extensions: ["ktx2"],
|
|
80827
|
+
worker: true,
|
|
80828
|
+
options: {
|
|
80829
|
+
useSRGB: false,
|
|
80830
|
+
qualityLevel: 10,
|
|
80831
|
+
encodeUASTC: false,
|
|
80832
|
+
mipmaps: false
|
|
80833
|
+
}
|
|
80834
|
+
};
|
|
80835
|
+
|
|
81201
80836
|
// ../gltf/src/lib/utils/assert.ts
|
|
81202
80837
|
function assert6(condition, message) {
|
|
81203
80838
|
if (!condition) {
|
|
@@ -81233,8 +80868,7 @@ function getTypedArrayForBufferView(json, buffers, bufferViewIndex) {
|
|
|
81233
80868
|
var EXT_meshopt_compression_exports = {};
|
|
81234
80869
|
__export(EXT_meshopt_compression_exports, {
|
|
81235
80870
|
decode: () => decode2,
|
|
81236
|
-
name: () => name
|
|
81237
|
-
preprocess: () => preprocess
|
|
80871
|
+
name: () => name
|
|
81238
80872
|
});
|
|
81239
80873
|
|
|
81240
80874
|
// ../gltf/src/lib/gltf-utils/gltf-utils.ts
|
|
@@ -81683,7 +81317,6 @@ var GLTFScenegraph = class {
|
|
|
81683
81317
|
};
|
|
81684
81318
|
|
|
81685
81319
|
// ../gltf/src/meshopt/meshopt-decoder.ts
|
|
81686
|
-
var isWebAssemblySupported = typeof WebAssembly !== "object";
|
|
81687
81320
|
var wasm_base = "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";
|
|
81688
81321
|
var wasm_simd = "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";
|
|
81689
81322
|
var detector = new Uint8Array([
|
|
@@ -81819,9 +81452,6 @@ var DECODERS = {
|
|
|
81819
81452
|
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
81820
81453
|
INDICES: "meshopt_decodeIndexSequence"
|
|
81821
81454
|
};
|
|
81822
|
-
function isMeshoptSupported() {
|
|
81823
|
-
return isWebAssemblySupported;
|
|
81824
|
-
}
|
|
81825
81455
|
async function meshoptDecodeGltfBuffer(target, count, size, source, mode, filter = "NONE") {
|
|
81826
81456
|
const instance = await loadWasmInstance();
|
|
81827
81457
|
decode(instance, instance.exports[DECODERS[mode]], target, count, size, source, instance.exports[FILTERS[filter || "NONE"]]);
|
|
@@ -81876,12 +81506,6 @@ function decode(instance, fun, target, count, size, source, filter) {
|
|
|
81876
81506
|
// ../gltf/src/lib/extensions/EXT_meshopt_compression.ts
|
|
81877
81507
|
var EXT_MESHOPT_COMPRESSION = "EXT_meshopt_compression";
|
|
81878
81508
|
var name = EXT_MESHOPT_COMPRESSION;
|
|
81879
|
-
function preprocess(gltfData) {
|
|
81880
|
-
const scenegraph = new GLTFScenegraph(gltfData);
|
|
81881
|
-
if (scenegraph.getRequiredExtensions().includes(EXT_MESHOPT_COMPRESSION) && !isMeshoptSupported()) {
|
|
81882
|
-
throw new Error(`gltf: Required extension ${EXT_MESHOPT_COMPRESSION} not supported by browser`);
|
|
81883
|
-
}
|
|
81884
|
-
}
|
|
81885
81509
|
async function decode2(gltfData, options) {
|
|
81886
81510
|
const scenegraph = new GLTFScenegraph(gltfData);
|
|
81887
81511
|
if (!options?.gltf?.decompressMeshes) {
|
|
@@ -81897,18 +81521,19 @@ async function decode2(gltfData, options) {
|
|
|
81897
81521
|
async function decodeMeshoptBufferView(scenegraph, bufferView) {
|
|
81898
81522
|
const meshoptExtension = scenegraph.getObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
|
|
81899
81523
|
if (meshoptExtension) {
|
|
81900
|
-
const buffer = bufferView.buffer;
|
|
81901
81524
|
const {
|
|
81902
81525
|
byteOffset = 0,
|
|
81903
81526
|
byteLength = 0,
|
|
81904
81527
|
byteStride,
|
|
81905
81528
|
count,
|
|
81906
81529
|
mode,
|
|
81907
|
-
filter = "NONE"
|
|
81530
|
+
filter = "NONE",
|
|
81531
|
+
buffer: bufferIndex
|
|
81908
81532
|
} = meshoptExtension;
|
|
81909
|
-
const
|
|
81910
|
-
const
|
|
81911
|
-
|
|
81533
|
+
const buffer = scenegraph.gltf.buffers[bufferIndex];
|
|
81534
|
+
const source = new Uint8Array(buffer.arrayBuffer, buffer.byteOffset + byteOffset, byteLength);
|
|
81535
|
+
const result = new Uint8Array(scenegraph.gltf.buffers[bufferView.buffer].arrayBuffer, bufferView.byteOffset, bufferView.byteLength);
|
|
81536
|
+
await meshoptDecodeGltfBuffer(result, count, byteStride, source, mode, filter);
|
|
81912
81537
|
return result;
|
|
81913
81538
|
}
|
|
81914
81539
|
return null;
|
|
@@ -81918,11 +81543,11 @@ async function decodeMeshoptBufferView(scenegraph, bufferView) {
|
|
|
81918
81543
|
var EXT_texture_webp_exports = {};
|
|
81919
81544
|
__export(EXT_texture_webp_exports, {
|
|
81920
81545
|
name: () => name2,
|
|
81921
|
-
preprocess: () =>
|
|
81546
|
+
preprocess: () => preprocess
|
|
81922
81547
|
});
|
|
81923
81548
|
var EXT_TEXTURE_WEBP = "EXT_texture_webp";
|
|
81924
81549
|
var name2 = EXT_TEXTURE_WEBP;
|
|
81925
|
-
function
|
|
81550
|
+
function preprocess(gltfData, options) {
|
|
81926
81551
|
const scenegraph = new GLTFScenegraph(gltfData);
|
|
81927
81552
|
if (!_isImageFormatSupported("image/webp")) {
|
|
81928
81553
|
if (scenegraph.getRequiredExtensions().includes(EXT_TEXTURE_WEBP)) {
|
|
@@ -81945,11 +81570,11 @@ function preprocess2(gltfData, options) {
|
|
|
81945
81570
|
var KHR_texture_basisu_exports = {};
|
|
81946
81571
|
__export(KHR_texture_basisu_exports, {
|
|
81947
81572
|
name: () => name3,
|
|
81948
|
-
preprocess: () =>
|
|
81573
|
+
preprocess: () => preprocess2
|
|
81949
81574
|
});
|
|
81950
81575
|
var KHR_TEXTURE_BASISU = "KHR_texture_basisu";
|
|
81951
81576
|
var name3 = KHR_TEXTURE_BASISU;
|
|
81952
|
-
function
|
|
81577
|
+
function preprocess2(gltfData, options) {
|
|
81953
81578
|
const scene = new GLTFScenegraph(gltfData);
|
|
81954
81579
|
const { json } = scene;
|
|
81955
81580
|
for (const texture of json.textures || []) {
|
|
@@ -81966,9 +81591,9 @@ function preprocess3(gltfData, options) {
|
|
|
81966
81591
|
var KHR_draco_mesh_compression_exports = {};
|
|
81967
81592
|
__export(KHR_draco_mesh_compression_exports, {
|
|
81968
81593
|
decode: () => decode3,
|
|
81969
|
-
encode: () =>
|
|
81594
|
+
encode: () => encode2,
|
|
81970
81595
|
name: () => name4,
|
|
81971
|
-
preprocess: () =>
|
|
81596
|
+
preprocess: () => preprocess3
|
|
81972
81597
|
});
|
|
81973
81598
|
|
|
81974
81599
|
// ../gltf/src/lib/gltf-utils/gltf-attribute-utils.ts
|
|
@@ -82027,7 +81652,7 @@ function toTypedArray(array, ArrayType, convertTypedArrays = false) {
|
|
|
82027
81652
|
// ../gltf/src/lib/extensions/KHR_draco_mesh_compression.ts
|
|
82028
81653
|
var KHR_DRACO_MESH_COMPRESSION = "KHR_draco_mesh_compression";
|
|
82029
81654
|
var name4 = KHR_DRACO_MESH_COMPRESSION;
|
|
82030
|
-
function
|
|
81655
|
+
function preprocess3(gltfData, options, context) {
|
|
82031
81656
|
const scenegraph = new GLTFScenegraph(gltfData);
|
|
82032
81657
|
for (const primitive of makeMeshPrimitiveIterator(scenegraph)) {
|
|
82033
81658
|
if (scenegraph.getObjectExtension(primitive, KHR_DRACO_MESH_COMPRESSION)) {
|
|
@@ -82048,7 +81673,7 @@ async function decode3(gltfData, options, context) {
|
|
|
82048
81673
|
await Promise.all(promises);
|
|
82049
81674
|
scenegraph.removeExtension(KHR_DRACO_MESH_COMPRESSION);
|
|
82050
81675
|
}
|
|
82051
|
-
function
|
|
81676
|
+
function encode2(gltfData, options = {}) {
|
|
82052
81677
|
const scenegraph = new GLTFScenegraph(gltfData);
|
|
82053
81678
|
for (const mesh of scenegraph.json.meshes || []) {
|
|
82054
81679
|
compressMesh(mesh, options);
|
|
@@ -82124,7 +81749,7 @@ function* makeMeshPrimitiveIterator(scenegraph) {
|
|
|
82124
81749
|
var KHR_lights_punctual_exports = {};
|
|
82125
81750
|
__export(KHR_lights_punctual_exports, {
|
|
82126
81751
|
decode: () => decode4,
|
|
82127
|
-
encode: () =>
|
|
81752
|
+
encode: () => encode3,
|
|
82128
81753
|
name: () => name5
|
|
82129
81754
|
});
|
|
82130
81755
|
var KHR_LIGHTS_PUNCTUAL = "KHR_lights_punctual";
|
|
@@ -82145,7 +81770,7 @@ async function decode4(gltfData) {
|
|
|
82145
81770
|
gltfScenegraph.removeObjectExtension(node2, KHR_LIGHTS_PUNCTUAL);
|
|
82146
81771
|
}
|
|
82147
81772
|
}
|
|
82148
|
-
async function
|
|
81773
|
+
async function encode3(gltfData) {
|
|
82149
81774
|
const gltfScenegraph = new GLTFScenegraph(gltfData);
|
|
82150
81775
|
const { json } = gltfScenegraph;
|
|
82151
81776
|
if (json.lights) {
|
|
@@ -82167,7 +81792,7 @@ async function encode4(gltfData) {
|
|
|
82167
81792
|
var KHR_materials_unlit_exports = {};
|
|
82168
81793
|
__export(KHR_materials_unlit_exports, {
|
|
82169
81794
|
decode: () => decode5,
|
|
82170
|
-
encode: () =>
|
|
81795
|
+
encode: () => encode4,
|
|
82171
81796
|
name: () => name6
|
|
82172
81797
|
});
|
|
82173
81798
|
var KHR_MATERIALS_UNLIT = "KHR_materials_unlit";
|
|
@@ -82184,7 +81809,7 @@ async function decode5(gltfData) {
|
|
|
82184
81809
|
gltfScenegraph.removeObjectExtension(material, KHR_MATERIALS_UNLIT);
|
|
82185
81810
|
}
|
|
82186
81811
|
}
|
|
82187
|
-
function
|
|
81812
|
+
function encode4(gltfData) {
|
|
82188
81813
|
const gltfScenegraph = new GLTFScenegraph(gltfData);
|
|
82189
81814
|
const { json } = gltfScenegraph;
|
|
82190
81815
|
if (gltfScenegraph.materials) {
|
|
@@ -82202,7 +81827,7 @@ function encode5(gltfData) {
|
|
|
82202
81827
|
var KHR_techniques_webgl_exports = {};
|
|
82203
81828
|
__export(KHR_techniques_webgl_exports, {
|
|
82204
81829
|
decode: () => decode6,
|
|
82205
|
-
encode: () =>
|
|
81830
|
+
encode: () => encode5,
|
|
82206
81831
|
name: () => name7
|
|
82207
81832
|
});
|
|
82208
81833
|
var KHR_TECHNIQUES_WEBGL = "KHR_techniques_webgl";
|
|
@@ -82224,7 +81849,7 @@ async function decode6(gltfData) {
|
|
|
82224
81849
|
gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);
|
|
82225
81850
|
}
|
|
82226
81851
|
}
|
|
82227
|
-
async function
|
|
81852
|
+
async function encode5(gltfData, options) {
|
|
82228
81853
|
}
|
|
82229
81854
|
function resolveTechniques(techniquesExtension, gltfScenegraph) {
|
|
82230
81855
|
const { programs = [], shaders = [], techniques = [] } = techniquesExtension;
|
|
@@ -82290,7 +81915,7 @@ function useExtension(extensionName, options) {
|
|
|
82290
81915
|
|
|
82291
81916
|
// ../gltf/src/lib/extensions/KHR_binary_gltf.ts
|
|
82292
81917
|
var KHR_BINARY_GLTF = "KHR_binary_glTF";
|
|
82293
|
-
function
|
|
81918
|
+
function preprocess4(gltfData) {
|
|
82294
81919
|
const gltfScenegraph = new GLTFScenegraph(gltfData);
|
|
82295
81920
|
const { json } = gltfScenegraph;
|
|
82296
81921
|
for (const image of json.images || []) {
|
|
@@ -82371,7 +81996,7 @@ var GLTFV1Normalizer = class {
|
|
|
82371
81996
|
console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail.");
|
|
82372
81997
|
this._addAsset(json);
|
|
82373
81998
|
this._convertTopLevelObjectsToArrays(json);
|
|
82374
|
-
|
|
81999
|
+
preprocess4(gltf);
|
|
82375
82000
|
this._convertObjectIdsToArrayIndices(json);
|
|
82376
82001
|
this._updateObjects(json);
|
|
82377
82002
|
this._updateMaterial(json);
|
|
@@ -82488,7 +82113,7 @@ var GLTFV1Normalizer = class {
|
|
|
82488
82113
|
metallicFactor: 1,
|
|
82489
82114
|
roughnessFactor: 1
|
|
82490
82115
|
};
|
|
82491
|
-
const textureId = material.values
|
|
82116
|
+
const textureId = material.values?.tex || material.values?.texture2d_0;
|
|
82492
82117
|
const textureIndex = json.textures.findIndex((texture) => texture.id === textureId);
|
|
82493
82118
|
if (textureIndex !== -1) {
|
|
82494
82119
|
material.pbrMetallicRoughness.baseColorTexture = { index: textureIndex };
|
|
@@ -82988,6 +82613,12 @@ async function loadBuffers(gltf, options, context) {
|
|
|
82988
82613
|
byteLength: arrayBuffer.byteLength
|
|
82989
82614
|
};
|
|
82990
82615
|
delete buffer.uri;
|
|
82616
|
+
} else if (gltf.buffers[i] === null) {
|
|
82617
|
+
gltf.buffers[i] = {
|
|
82618
|
+
arrayBuffer: new ArrayBuffer(buffer.byteLength),
|
|
82619
|
+
byteOffset: 0,
|
|
82620
|
+
byteLength: buffer.byteLength
|
|
82621
|
+
};
|
|
82991
82622
|
}
|
|
82992
82623
|
}
|
|
82993
82624
|
}
|
|
@@ -83030,7 +82661,7 @@ async function loadImage(gltf, image, index, options, context) {
|
|
|
83030
82661
|
mipmaps: false,
|
|
83031
82662
|
width: parsedImage[0].width,
|
|
83032
82663
|
height: parsedImage[0].height,
|
|
83033
|
-
data: parsedImage
|
|
82664
|
+
data: parsedImage[0]
|
|
83034
82665
|
};
|
|
83035
82666
|
}
|
|
83036
82667
|
gltf.images = gltf.images || [];
|
|
@@ -83042,7 +82673,7 @@ var GLTFLoader = {
|
|
|
83042
82673
|
name: "glTF",
|
|
83043
82674
|
id: "gltf",
|
|
83044
82675
|
module: "gltf",
|
|
83045
|
-
version:
|
|
82676
|
+
version: VERSION6,
|
|
83046
82677
|
extensions: ["gltf", "glb"],
|
|
83047
82678
|
mimeTypes: ["model/gltf+json", "model/gltf-binary"],
|
|
83048
82679
|
text: true,
|
|
@@ -83140,7 +82771,7 @@ var GLTFWriter = {
|
|
|
83140
82771
|
name: "glTF",
|
|
83141
82772
|
id: "gltf",
|
|
83142
82773
|
module: "gltf",
|
|
83143
|
-
version:
|
|
82774
|
+
version: VERSION6,
|
|
83144
82775
|
extensions: ["glb"],
|
|
83145
82776
|
mimeTypes: ["model/gltf-binary"],
|
|
83146
82777
|
binary: true,
|
|
@@ -83236,7 +82867,7 @@ function parseBatchedModel(tile, arrayBuffer, byteOffset, options, context) {
|
|
|
83236
82867
|
|
|
83237
82868
|
// ../3d-tiles/src/lib/parsers/parse-3d-tile-instanced-model.ts
|
|
83238
82869
|
var import_core15 = __toModule(require_es56());
|
|
83239
|
-
var
|
|
82870
|
+
var import_geospatial7 = __toModule(require_es57());
|
|
83240
82871
|
async function parseInstancedModel3DTile(tile, arrayBuffer, byteOffset, options, context) {
|
|
83241
82872
|
byteOffset = parseInstancedModel(tile, arrayBuffer, byteOffset, options, context);
|
|
83242
82873
|
await extractGLTF(tile, tile.gltfFormat, options, context);
|
|
@@ -83334,7 +82965,7 @@ function extractInstancedAttributes(tile, featureTable, batchTable, instancesLen
|
|
|
83334
82965
|
}
|
|
83335
82966
|
throw new Error("i3dm: oct-encoded orientation not implemented");
|
|
83336
82967
|
} else if (tile.eastNorthUp) {
|
|
83337
|
-
|
|
82968
|
+
import_geospatial7.Ellipsoid.WGS84.eastNorthUpToFixedFrame(instancePosition, instanceTransform);
|
|
83338
82969
|
instanceTransform.getRotationMatrix3(instanceRotation);
|
|
83339
82970
|
} else {
|
|
83340
82971
|
instanceRotation.identity();
|
|
@@ -83391,7 +83022,7 @@ async function parseComposite3DTile(tile, arrayBuffer, byteOffset, options, cont
|
|
|
83391
83022
|
return byteOffset;
|
|
83392
83023
|
}
|
|
83393
83024
|
|
|
83394
|
-
// ../3d-tiles/src/lib/parsers/parse-3d-tile-gltf.
|
|
83025
|
+
// ../3d-tiles/src/lib/parsers/parse-3d-tile-gltf.ts
|
|
83395
83026
|
async function parseGltf3DTile(tile, arrayBuffer, options, context) {
|
|
83396
83027
|
tile.rotateYtoZ = true;
|
|
83397
83028
|
tile.gltfUpAxis = options["3d-tiles"] && options["3d-tiles"].assetGltfUpAxis ? options["3d-tiles"].assetGltfUpAxis : "Y";
|
|
@@ -83475,7 +83106,7 @@ var Tile3DSubtreeLoader = {
|
|
|
83475
83106
|
id: "3d-tiles-subtree",
|
|
83476
83107
|
name: "3D Tiles Subtree",
|
|
83477
83108
|
module: "3d-tiles",
|
|
83478
|
-
version:
|
|
83109
|
+
version: VERSION4,
|
|
83479
83110
|
extensions: ["subtree"],
|
|
83480
83111
|
mimeTypes: ["application/octet-stream"],
|
|
83481
83112
|
tests: ["subtree"],
|
|
@@ -83490,18 +83121,25 @@ var SUBDIVISION_COUNT_MAP = {
|
|
|
83490
83121
|
QUADTREE: QUADTREE_DEVISION_COUNT,
|
|
83491
83122
|
OCTREE: OCTREE_DEVISION_COUNT
|
|
83492
83123
|
};
|
|
83493
|
-
async function parseImplicitTiles(
|
|
83494
|
-
|
|
83495
|
-
|
|
83496
|
-
|
|
83497
|
-
|
|
83498
|
-
|
|
83499
|
-
|
|
83500
|
-
|
|
83501
|
-
|
|
83502
|
-
|
|
83503
|
-
|
|
83504
|
-
|
|
83124
|
+
async function parseImplicitTiles(params) {
|
|
83125
|
+
const {
|
|
83126
|
+
options,
|
|
83127
|
+
parentData = {
|
|
83128
|
+
mortonIndex: 0,
|
|
83129
|
+
x: 0,
|
|
83130
|
+
y: 0,
|
|
83131
|
+
z: 0
|
|
83132
|
+
},
|
|
83133
|
+
childIndex = 0,
|
|
83134
|
+
globalData = {
|
|
83135
|
+
level: 0,
|
|
83136
|
+
mortonIndex: 0,
|
|
83137
|
+
x: 0,
|
|
83138
|
+
y: 0,
|
|
83139
|
+
z: 0
|
|
83140
|
+
}
|
|
83141
|
+
} = params;
|
|
83142
|
+
let { subtree, level = 0 } = params;
|
|
83505
83143
|
const {
|
|
83506
83144
|
subdivisionScheme,
|
|
83507
83145
|
subtreeLevels,
|
|
@@ -83557,7 +83195,14 @@ async function parseImplicitTiles(subtree, options, parentData = {
|
|
|
83557
83195
|
const childTileLevel = level + 1;
|
|
83558
83196
|
const pData = { mortonIndex: childTileMortonIndex, x: childTileX, y: childTileY, z: childTileZ };
|
|
83559
83197
|
for (let index = 0; index < childrenPerTile; index++) {
|
|
83560
|
-
const currentTile = await parseImplicitTiles(
|
|
83198
|
+
const currentTile = await parseImplicitTiles({
|
|
83199
|
+
subtree,
|
|
83200
|
+
options,
|
|
83201
|
+
parentData: pData,
|
|
83202
|
+
childIndex: index,
|
|
83203
|
+
level: childTileLevel,
|
|
83204
|
+
globalData
|
|
83205
|
+
});
|
|
83561
83206
|
if (currentTile.contentUrl || currentTile.children.length) {
|
|
83562
83207
|
const globalLevel = lev + 1;
|
|
83563
83208
|
const childCoordinates = { childTileX, childTileY, childTileZ };
|
|
@@ -83747,7 +83392,7 @@ async function normalizeImplicitTileData(tile, rootSubtree, options) {
|
|
|
83747
83392
|
tile.lodMetricType = LOD_METRIC_TYPE.GEOMETRIC_ERROR;
|
|
83748
83393
|
tile.lodMetricValue = tile.geometricError;
|
|
83749
83394
|
tile.transformMatrix = tile.transform;
|
|
83750
|
-
const { children, contentUrl } = await parseImplicitTiles(rootSubtree, options);
|
|
83395
|
+
const { children, contentUrl } = await parseImplicitTiles({ subtree: rootSubtree, options });
|
|
83751
83396
|
if (contentUrl) {
|
|
83752
83397
|
tile.contentUrl = contentUrl;
|
|
83753
83398
|
tile.content = { uri: contentUrl.replace(`${options.basePath}/`, "") };
|
|
@@ -83765,7 +83410,7 @@ var Tiles3DLoader = {
|
|
|
83765
83410
|
id: "3d-tiles",
|
|
83766
83411
|
name: "3D Tiles",
|
|
83767
83412
|
module: "3d-tiles",
|
|
83768
|
-
version:
|
|
83413
|
+
version: VERSION4,
|
|
83769
83414
|
extensions: ["cmpt", "pnts", "b3dm", "i3dm"],
|
|
83770
83415
|
mimeTypes: ["application/octet-stream"],
|
|
83771
83416
|
tests: ["cmpt", "pnts", "b3dm", "i3dm"],
|
|
@@ -84060,7 +83705,7 @@ var Tile3DWriter = {
|
|
|
84060
83705
|
name: "3D Tile",
|
|
84061
83706
|
id: "3d-tiles",
|
|
84062
83707
|
module: "3d-tiles",
|
|
84063
|
-
version:
|
|
83708
|
+
version: VERSION4,
|
|
84064
83709
|
extensions: ["cmpt", "pnts", "b3dm", "i3dm"],
|
|
84065
83710
|
mimeTypes: ["application/octet-stream"],
|
|
84066
83711
|
encodeSync: encodeSync3,
|
|
@@ -84199,31 +83844,37 @@ var NodePages = class {
|
|
|
84199
83844
|
this.updateResourceInMesh(node2);
|
|
84200
83845
|
return node2.index;
|
|
84201
83846
|
}
|
|
84202
|
-
async save(layers0Path,
|
|
83847
|
+
async save(layers0Path, writeQueue, slpk = false) {
|
|
84203
83848
|
if (slpk) {
|
|
84204
83849
|
for (const [index, nodePage] of this.nodePages.entries()) {
|
|
84205
83850
|
const nodePageStr = JSON.stringify(nodePage);
|
|
84206
83851
|
const slpkPath = (0, import_path2.join)(layers0Path, "nodepages");
|
|
84207
|
-
|
|
83852
|
+
writeQueue.enqueue({
|
|
83853
|
+
archiveKey: `nodePages/${index.toString()}.json.gz`,
|
|
83854
|
+
writePromise: this.writeFile(slpkPath, nodePageStr, `${index.toString()}.json`)
|
|
83855
|
+
});
|
|
84208
83856
|
}
|
|
84209
83857
|
const metadata = (0, import_json_map_transform.default)({ nodeCount: this.nodesCounter }, METADATA());
|
|
84210
83858
|
const compress = false;
|
|
84211
|
-
|
|
83859
|
+
writeQueue.enqueue({
|
|
83860
|
+
archiveKey: "metadata.json",
|
|
83861
|
+
writePromise: this.writeFile(layers0Path, JSON.stringify(metadata), "metadata.json", compress)
|
|
83862
|
+
});
|
|
84212
83863
|
} else {
|
|
84213
83864
|
for (const [index, nodePage] of this.nodePages.entries()) {
|
|
84214
83865
|
const nodePageStr = JSON.stringify(nodePage);
|
|
84215
83866
|
const nodePagePath = (0, import_path2.join)(layers0Path, "nodepages", index.toString());
|
|
84216
|
-
|
|
83867
|
+
writeQueue.enqueue({ writePromise: this.writeFile(nodePagePath, nodePageStr) });
|
|
84217
83868
|
}
|
|
84218
83869
|
}
|
|
84219
83870
|
}
|
|
84220
83871
|
};
|
|
84221
83872
|
|
|
84222
|
-
// src/lib/utils/file-utils.
|
|
83873
|
+
// src/lib/utils/file-utils.ts
|
|
84223
83874
|
var import_fs3 = __toModule(require("fs"));
|
|
84224
83875
|
var import_path4 = __toModule(require("path"));
|
|
84225
83876
|
|
|
84226
|
-
// src/lib/utils/compress-util.
|
|
83877
|
+
// src/lib/utils/compress-util.ts
|
|
84227
83878
|
var import_zlib = __toModule(require("zlib"));
|
|
84228
83879
|
var import_path3 = __toModule(require("path"));
|
|
84229
83880
|
var import_fs2 = __toModule(require("fs"));
|
|
@@ -84247,11 +83898,11 @@ function compressFileWithGzip(pathFile) {
|
|
|
84247
83898
|
input.pipe(gzip).pipe(output);
|
|
84248
83899
|
});
|
|
84249
83900
|
}
|
|
84250
|
-
async function compressWithChildProcess() {
|
|
83901
|
+
async function compressWithChildProcess(inputFolder, outputFile, level, inputFiles, sevenZipExe) {
|
|
84251
83902
|
if (process.platform === "win32") {
|
|
84252
|
-
await compressWithChildProcessWindows(
|
|
83903
|
+
await compressWithChildProcessWindows(inputFolder, outputFile, level, inputFiles, sevenZipExe);
|
|
84253
83904
|
} else {
|
|
84254
|
-
await compressWithChildProcessUnix(
|
|
83905
|
+
await compressWithChildProcessUnix(inputFolder, outputFile, level, inputFiles);
|
|
84255
83906
|
}
|
|
84256
83907
|
}
|
|
84257
83908
|
async function compressWithChildProcessUnix(inputFolder, outputFile, level = 0, inputFiles = ".") {
|
|
@@ -84284,12 +83935,20 @@ async function compressWithChildProcessWindows(inputFolder, outputFile, level =
|
|
|
84284
83935
|
});
|
|
84285
83936
|
}
|
|
84286
83937
|
|
|
84287
|
-
// src/lib/utils/file-utils.
|
|
83938
|
+
// src/lib/utils/file-utils.ts
|
|
84288
83939
|
async function writeFile3(path2, data, fileName = "index.json") {
|
|
83940
|
+
let toWriteData;
|
|
83941
|
+
if (data instanceof Promise) {
|
|
83942
|
+
toWriteData = new Uint8Array(await data);
|
|
83943
|
+
} else if (data instanceof ArrayBuffer) {
|
|
83944
|
+
toWriteData = new Uint8Array(data);
|
|
83945
|
+
} else {
|
|
83946
|
+
toWriteData = data;
|
|
83947
|
+
}
|
|
84289
83948
|
await import_fs3.promises.mkdir(path2, { recursive: true });
|
|
84290
83949
|
const pathFile = (0, import_path4.join)(path2, fileName);
|
|
84291
83950
|
try {
|
|
84292
|
-
await import_fs3.promises.writeFile(pathFile,
|
|
83951
|
+
await import_fs3.promises.writeFile(pathFile, toWriteData);
|
|
84293
83952
|
} catch (err) {
|
|
84294
83953
|
throw err;
|
|
84295
83954
|
}
|
|
@@ -84315,7 +83974,7 @@ function getAbsoluteFilePath(filePath) {
|
|
|
84315
83974
|
return (0, import_path4.isAbsolute)(filePath) ? filePath : (0, import_path4.join)(process.cwd(), filePath);
|
|
84316
83975
|
}
|
|
84317
83976
|
|
|
84318
|
-
// src/lib/utils/statistic-utills.
|
|
83977
|
+
// src/lib/utils/statistic-utills.ts
|
|
84319
83978
|
var import_path5 = __toModule(require("path"));
|
|
84320
83979
|
var import_fs4 = __toModule(require("fs"));
|
|
84321
83980
|
function timeConverter(time) {
|
|
@@ -84373,16 +84032,17 @@ async function getTotalFilesSize(dirPath) {
|
|
|
84373
84032
|
return totalFileSize;
|
|
84374
84033
|
}
|
|
84375
84034
|
|
|
84376
|
-
// src/i3s-converter/helpers/geometry-converter.
|
|
84035
|
+
// src/i3s-converter/helpers/geometry-converter.ts
|
|
84377
84036
|
var import_core21 = __toModule(require_es56());
|
|
84378
|
-
var
|
|
84037
|
+
var import_geospatial9 = __toModule(require_es57());
|
|
84379
84038
|
var import_md5 = __toModule(require_md52());
|
|
84380
84039
|
|
|
84381
84040
|
// src/i3s-converter/helpers/geometry-attributes.ts
|
|
84382
84041
|
var VALUES_PER_VERTEX = 3;
|
|
84383
84042
|
var POSITIONS_AND_NORMALS_PER_TRIANGLE = 9;
|
|
84384
84043
|
function generateAttributes(attributes) {
|
|
84385
|
-
const { positions, normals, texCoords, colors, featureIndices
|
|
84044
|
+
const { positions, normals, texCoords, colors, featureIndices } = attributes;
|
|
84045
|
+
const triangleCount = positions.length / POSITIONS_AND_NORMALS_PER_TRIANGLE;
|
|
84386
84046
|
if (!featureIndices.length) {
|
|
84387
84047
|
return {
|
|
84388
84048
|
faceRange: new Uint32Array([0, triangleCount - 1]),
|
|
@@ -84527,14 +84187,14 @@ function groupAttributesAndRangesByFeatureId(unifiedObjects, featureCount) {
|
|
|
84527
84187
|
|
|
84528
84188
|
// src/i3s-converter/helpers/coordinate-converter.ts
|
|
84529
84189
|
var import_core20 = __toModule(require_es56());
|
|
84530
|
-
var
|
|
84531
|
-
var import_culling5 = __toModule(
|
|
84190
|
+
var import_geospatial8 = __toModule(require_es57());
|
|
84191
|
+
var import_culling5 = __toModule(require_es58());
|
|
84532
84192
|
function createBoundingVolumes(tile, geoidHeightModel) {
|
|
84533
84193
|
let radius;
|
|
84534
84194
|
let halfSize;
|
|
84535
84195
|
let quaternion;
|
|
84536
84196
|
const boundingVolume = tile.boundingVolume;
|
|
84537
|
-
const cartographicCenter =
|
|
84197
|
+
const cartographicCenter = import_geospatial8.Ellipsoid.WGS84.cartesianToCartographic(boundingVolume.center, new import_core20.Vector3());
|
|
84538
84198
|
cartographicCenter[2] = cartographicCenter[2] - geoidHeightModel.getHeight(cartographicCenter[1], cartographicCenter[0]);
|
|
84539
84199
|
if (boundingVolume instanceof import_culling5.OrientedBoundingBox) {
|
|
84540
84200
|
halfSize = boundingVolume.halfSize;
|
|
@@ -84558,8 +84218,8 @@ function createBoundingVolumesFromGeometry(cartesianPositions, geoidHeightModel)
|
|
|
84558
84218
|
const positionVectors = convertPositionsToVectors(cartesianPositions);
|
|
84559
84219
|
const geometryObb = (0, import_culling5.makeOrientedBoundingBoxFromPoints)(positionVectors);
|
|
84560
84220
|
const geometryMbs = (0, import_culling5.makeBoundingSphereFromPoints)(positionVectors);
|
|
84561
|
-
let mbsCenter =
|
|
84562
|
-
let obbCenter =
|
|
84221
|
+
let mbsCenter = import_geospatial8.Ellipsoid.WGS84.cartesianToCartographic(geometryMbs.center, new import_core20.Vector3());
|
|
84222
|
+
let obbCenter = import_geospatial8.Ellipsoid.WGS84.cartesianToCartographic(geometryObb.center, new import_core20.Vector3());
|
|
84563
84223
|
mbsCenter[2] = mbsCenter[2] - geoidHeightModel.getHeight(mbsCenter[1], mbsCenter[0]);
|
|
84564
84224
|
obbCenter[2] = obbCenter[2] - geoidHeightModel.getHeight(obbCenter[1], obbCenter[0]);
|
|
84565
84225
|
return {
|
|
@@ -84579,22 +84239,25 @@ function convertPositionsToVectors(positions) {
|
|
|
84579
84239
|
}
|
|
84580
84240
|
return result;
|
|
84581
84241
|
}
|
|
84582
|
-
function
|
|
84583
|
-
|
|
84584
|
-
if (
|
|
84585
|
-
|
|
84242
|
+
function convertBoundingVolumeToI3SFullExtent(boundingVolume) {
|
|
84243
|
+
let sphere;
|
|
84244
|
+
if (boundingVolume instanceof import_culling5.BoundingSphere) {
|
|
84245
|
+
sphere = boundingVolume;
|
|
84246
|
+
} else {
|
|
84247
|
+
sphere = boundingVolume.getBoundingSphere();
|
|
84586
84248
|
}
|
|
84587
|
-
const
|
|
84588
|
-
const
|
|
84589
|
-
const
|
|
84590
|
-
const
|
|
84591
|
-
|
|
84592
|
-
|
|
84593
|
-
|
|
84594
|
-
|
|
84595
|
-
|
|
84596
|
-
|
|
84597
|
-
|
|
84249
|
+
const center = sphere.center;
|
|
84250
|
+
const radius = sphere.radius;
|
|
84251
|
+
const vertexMax = import_geospatial8.Ellipsoid.WGS84.cartesianToCartographic(new import_core20.Vector3(center[0] + radius, center[1] + radius, center[2] + radius), new import_core20.Vector3());
|
|
84252
|
+
const vertexMin = import_geospatial8.Ellipsoid.WGS84.cartesianToCartographic(new import_core20.Vector3(center[0] - radius, center[1] - radius, center[2] - radius), new import_core20.Vector3());
|
|
84253
|
+
return {
|
|
84254
|
+
xmin: vertexMin[0],
|
|
84255
|
+
xmax: vertexMax[0],
|
|
84256
|
+
ymin: vertexMin[1],
|
|
84257
|
+
ymax: vertexMax[1],
|
|
84258
|
+
zmin: vertexMin[2],
|
|
84259
|
+
zmax: vertexMax[2]
|
|
84260
|
+
};
|
|
84598
84261
|
}
|
|
84599
84262
|
function createObbFromMbs(mbs) {
|
|
84600
84263
|
const radius = mbs[3];
|
|
@@ -84603,7 +84266,49 @@ function createObbFromMbs(mbs) {
|
|
|
84603
84266
|
return new import_culling5.OrientedBoundingBox(center, halfAxex);
|
|
84604
84267
|
}
|
|
84605
84268
|
|
|
84606
|
-
// src/i3s-converter/helpers/
|
|
84269
|
+
// src/i3s-converter/helpers/gltf-attributes.ts
|
|
84270
|
+
function getB3DMAttributesWithoutBufferView(attributes) {
|
|
84271
|
+
const attributesWithoutBufferView = {};
|
|
84272
|
+
for (const attributeName in attributes) {
|
|
84273
|
+
attributesWithoutBufferView[attributeName] = {
|
|
84274
|
+
value: attributes[attributeName].value
|
|
84275
|
+
};
|
|
84276
|
+
}
|
|
84277
|
+
return attributesWithoutBufferView;
|
|
84278
|
+
}
|
|
84279
|
+
function prepareDataForAttributesConversion(tileContent) {
|
|
84280
|
+
const gltfMaterials = tileContent.gltf?.materials?.map((material) => ({ id: material.id }));
|
|
84281
|
+
let nodes = tileContent.gltf?.scene?.nodes || tileContent.gltf?.scenes?.[0]?.nodes || tileContent.gltf?.nodes || [];
|
|
84282
|
+
const prepearedNodes = nodes.map((node2) => {
|
|
84283
|
+
if (!node2.mesh) {
|
|
84284
|
+
return node2;
|
|
84285
|
+
}
|
|
84286
|
+
return {
|
|
84287
|
+
...node2,
|
|
84288
|
+
mesh: {
|
|
84289
|
+
...node2.mesh,
|
|
84290
|
+
primitives: node2.mesh?.primitives.map((primitive) => ({
|
|
84291
|
+
...primitive,
|
|
84292
|
+
indices: { value: primitive?.indices?.value },
|
|
84293
|
+
attributes: getB3DMAttributesWithoutBufferView(primitive.attributes),
|
|
84294
|
+
material: {
|
|
84295
|
+
id: primitive?.material?.id
|
|
84296
|
+
}
|
|
84297
|
+
}))
|
|
84298
|
+
}
|
|
84299
|
+
};
|
|
84300
|
+
});
|
|
84301
|
+
const cartographicOrigin = tileContent.cartographicOrigin;
|
|
84302
|
+
const cartesianModelMatrix = tileContent.cartesianModelMatrix;
|
|
84303
|
+
return {
|
|
84304
|
+
gltfMaterials,
|
|
84305
|
+
nodes: prepearedNodes,
|
|
84306
|
+
cartographicOrigin,
|
|
84307
|
+
cartesianModelMatrix
|
|
84308
|
+
};
|
|
84309
|
+
}
|
|
84310
|
+
|
|
84311
|
+
// src/i3s-converter/helpers/geometry-converter.ts
|
|
84607
84312
|
var DEFAULT_ROUGHNESS_FACTOR = 1;
|
|
84608
84313
|
var DEFAULT_METALLIC_FACTOR = 1;
|
|
84609
84314
|
var VALUES_PER_VERTEX2 = 3;
|
|
@@ -84615,10 +84320,11 @@ var DOUBLE_TYPE = "Float64";
|
|
|
84615
84320
|
var OBJECT_ID_TYPE = "Oid32";
|
|
84616
84321
|
var BATCHED_ID_POSSIBLE_ATTRIBUTE_NAMES = ["CUSTOM_ATTRIBUTE_2", "_BATCHID", "BATCHID"];
|
|
84617
84322
|
var scratchVector4 = new import_core21.Vector3();
|
|
84618
|
-
async function convertB3dmToI3sGeometry(tileContent, nodeId, featuresHashArray, attributeStorageInfo, draco, generateBoundingVolumes, geoidHeightModel) {
|
|
84323
|
+
async function convertB3dmToI3sGeometry(tileContent, nodeId, featuresHashArray, attributeStorageInfo, draco, generateBoundingVolumes, geoidHeightModel, workerSource) {
|
|
84619
84324
|
const useCartesianPositions = generateBoundingVolumes;
|
|
84620
|
-
const materialAndTextureList = convertMaterials(tileContent);
|
|
84621
|
-
const
|
|
84325
|
+
const materialAndTextureList = convertMaterials(tileContent.gltf?.materials);
|
|
84326
|
+
const dataForAttributesConversion = prepareDataForAttributesConversion(tileContent);
|
|
84327
|
+
const convertedAttributesMap = await convertAttributes(dataForAttributesConversion, useCartesianPositions);
|
|
84622
84328
|
if (generateBoundingVolumes) {
|
|
84623
84329
|
_generateBoundingVolumesFromGeometry(convertedAttributesMap, geoidHeightModel);
|
|
84624
84330
|
}
|
|
@@ -84629,7 +84335,7 @@ async function convertB3dmToI3sGeometry(tileContent, nodeId, featuresHashArray,
|
|
|
84629
84335
|
}
|
|
84630
84336
|
const result = [];
|
|
84631
84337
|
let nodesCounter = nodeId;
|
|
84632
|
-
let { materials = [] } = tileContent.gltf;
|
|
84338
|
+
let { materials = [] } = tileContent.gltf || { materials: [] };
|
|
84633
84339
|
if (!materials?.length) {
|
|
84634
84340
|
materials.push({ id: "default" });
|
|
84635
84341
|
}
|
|
@@ -84639,6 +84345,9 @@ async function convertB3dmToI3sGeometry(tileContent, nodeId, featuresHashArray,
|
|
|
84639
84345
|
continue;
|
|
84640
84346
|
}
|
|
84641
84347
|
const convertedAttributes = convertedAttributesMap.get(sourceMaterial.id);
|
|
84348
|
+
if (!convertedAttributes) {
|
|
84349
|
+
continue;
|
|
84350
|
+
}
|
|
84642
84351
|
const { material, texture } = materialAndTextureList[i];
|
|
84643
84352
|
result.push(await _makeNodeResources({
|
|
84644
84353
|
convertedAttributes,
|
|
@@ -84648,7 +84357,8 @@ async function convertB3dmToI3sGeometry(tileContent, nodeId, featuresHashArray,
|
|
|
84648
84357
|
nodeId: nodesCounter,
|
|
84649
84358
|
featuresHashArray,
|
|
84650
84359
|
attributeStorageInfo,
|
|
84651
|
-
draco
|
|
84360
|
+
draco,
|
|
84361
|
+
workerSource
|
|
84652
84362
|
}));
|
|
84653
84363
|
nodesCounter++;
|
|
84654
84364
|
}
|
|
@@ -84664,7 +84374,7 @@ function _generateBoundingVolumesFromGeometry(convertedAttributesMap, geoidHeigh
|
|
|
84664
84374
|
const cartographicOrigin = boundingVolumes.obb.center;
|
|
84665
84375
|
for (let index = 0; index < attributes.positions.length; index += VALUES_PER_VERTEX2) {
|
|
84666
84376
|
const vertex = attributes.positions.subarray(index, index + VALUES_PER_VERTEX2);
|
|
84667
|
-
|
|
84377
|
+
import_geospatial9.Ellipsoid.WGS84.cartesianToCartographic(Array.from(vertex), scratchVector4);
|
|
84668
84378
|
scratchVector4[2] = scratchVector4[2] - geoidHeightModel.getHeight(scratchVector4[1], scratchVector4[0]);
|
|
84669
84379
|
scratchVector4 = scratchVector4.subtract(cartographicOrigin);
|
|
84670
84380
|
attributes.positions.set(scratchVector4, index);
|
|
@@ -84679,12 +84389,12 @@ async function _makeNodeResources({
|
|
|
84679
84389
|
nodeId,
|
|
84680
84390
|
featuresHashArray,
|
|
84681
84391
|
attributeStorageInfo,
|
|
84682
|
-
draco
|
|
84392
|
+
draco,
|
|
84393
|
+
workerSource
|
|
84683
84394
|
}) {
|
|
84684
84395
|
const boundingVolumes = convertedAttributes.boundingVolumes;
|
|
84685
84396
|
const vertexCount = convertedAttributes.positions.length / VALUES_PER_VERTEX2;
|
|
84686
|
-
const
|
|
84687
|
-
const { faceRange, featureIds, positions, normals, colors, texCoords, featureCount } = generateAttributes({ triangleCount, ...convertedAttributes });
|
|
84397
|
+
const { faceRange, featureIds, positions, normals, colors, texCoords, featureCount } = generateAttributes(convertedAttributes);
|
|
84688
84398
|
if (tileContent.batchTableJson) {
|
|
84689
84399
|
makeFeatureIdsUnique(featureIds, convertedAttributes.featureIndices, featuresHashArray, tileContent.batchTableJson);
|
|
84690
84400
|
}
|
|
@@ -84692,20 +84402,20 @@ async function _makeNodeResources({
|
|
|
84692
84402
|
const typedFeatureIds = generateBigUint64Array(featureIds);
|
|
84693
84403
|
header.set([vertexCount, featureCount], 0);
|
|
84694
84404
|
const fileBuffer = new Uint8Array(concatenateArrayBuffers(header.buffer, positions.buffer, normals.buffer, texture ? texCoords.buffer : new ArrayBuffer(0), colors.buffer, typedFeatureIds.buffer, faceRange.buffer));
|
|
84695
|
-
const compressedGeometry = draco ?
|
|
84405
|
+
const compressedGeometry = draco ? generateCompressedGeometry(vertexCount, convertedAttributes, {
|
|
84696
84406
|
positions,
|
|
84697
84407
|
normals,
|
|
84698
84408
|
texCoords: texture ? texCoords : new Float32Array(0),
|
|
84699
84409
|
colors,
|
|
84700
84410
|
featureIds,
|
|
84701
84411
|
faceRange
|
|
84702
|
-
}) : null;
|
|
84412
|
+
}, workerSource.draco) : null;
|
|
84703
84413
|
const attributes = convertBatchTableToAttributeBuffers(tileContent.batchTableJson, featureIds, attributeStorageInfo);
|
|
84704
84414
|
return {
|
|
84705
84415
|
geometry: fileBuffer,
|
|
84706
84416
|
compressedGeometry,
|
|
84707
84417
|
texture,
|
|
84708
|
-
sharedResources: getSharedResources(tileContent, nodeId),
|
|
84418
|
+
sharedResources: getSharedResources(tileContent.gltf?.materials || [], nodeId),
|
|
84709
84419
|
meshMaterial: material,
|
|
84710
84420
|
vertexCount,
|
|
84711
84421
|
attributes,
|
|
@@ -84713,34 +84423,41 @@ async function _makeNodeResources({
|
|
|
84713
84423
|
boundingVolumes
|
|
84714
84424
|
};
|
|
84715
84425
|
}
|
|
84716
|
-
function convertAttributes(
|
|
84426
|
+
async function convertAttributes(attributesData, useCartesianPositions) {
|
|
84427
|
+
const { gltfMaterials, nodes, cartographicOrigin, cartesianModelMatrix } = attributesData;
|
|
84717
84428
|
const attributesMap = new Map();
|
|
84718
|
-
for (const material of
|
|
84429
|
+
for (const material of gltfMaterials || [{ id: "default" }]) {
|
|
84719
84430
|
attributesMap.set(material.id, {
|
|
84720
84431
|
positions: new Float32Array(0),
|
|
84721
84432
|
normals: new Float32Array(0),
|
|
84722
84433
|
texCoords: new Float32Array(0),
|
|
84723
84434
|
colors: new Uint8Array(0),
|
|
84435
|
+
featureIndicesGroups: [],
|
|
84724
84436
|
featureIndices: [],
|
|
84725
84437
|
boundingVolumes: null
|
|
84726
84438
|
});
|
|
84727
84439
|
}
|
|
84728
|
-
|
|
84729
|
-
convertNodes(nodes, tileContent, attributesMap, useCartesianPositions);
|
|
84440
|
+
convertNodes(nodes, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions);
|
|
84730
84441
|
for (const attrKey of attributesMap.keys()) {
|
|
84731
84442
|
const attributes = attributesMap.get(attrKey);
|
|
84443
|
+
if (!attributes) {
|
|
84444
|
+
continue;
|
|
84445
|
+
}
|
|
84732
84446
|
if (attributes.positions.length === 0) {
|
|
84733
84447
|
attributesMap.delete(attrKey);
|
|
84734
84448
|
continue;
|
|
84735
84449
|
}
|
|
84736
|
-
|
|
84450
|
+
if (attributes.featureIndicesGroups) {
|
|
84451
|
+
attributes.featureIndices = attributes.featureIndicesGroups.reduce((acc, value) => acc.concat(value));
|
|
84452
|
+
delete attributes.featureIndicesGroups;
|
|
84453
|
+
}
|
|
84737
84454
|
}
|
|
84738
84455
|
return attributesMap;
|
|
84739
84456
|
}
|
|
84740
|
-
function convertNodes(nodes,
|
|
84457
|
+
function convertNodes(nodes, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions, matrix = new import_core21.Matrix4([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])) {
|
|
84741
84458
|
if (nodes) {
|
|
84742
84459
|
for (const node2 of nodes) {
|
|
84743
|
-
convertNode(node2,
|
|
84460
|
+
convertNode(node2, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions, matrix);
|
|
84744
84461
|
}
|
|
84745
84462
|
}
|
|
84746
84463
|
}
|
|
@@ -84750,26 +84467,26 @@ function getCompositeTransformationMatrix(node2, matrix) {
|
|
|
84750
84467
|
if (nodeMatrix) {
|
|
84751
84468
|
transformationMatrix = matrix.multiplyRight(nodeMatrix);
|
|
84752
84469
|
}
|
|
84470
|
+
if (translation) {
|
|
84471
|
+
transformationMatrix = transformationMatrix.translate(translation);
|
|
84472
|
+
}
|
|
84753
84473
|
if (rotation) {
|
|
84754
84474
|
transformationMatrix = transformationMatrix.rotateXYZ(rotation);
|
|
84755
84475
|
}
|
|
84756
84476
|
if (scale) {
|
|
84757
84477
|
transformationMatrix = transformationMatrix.scale(scale);
|
|
84758
84478
|
}
|
|
84759
|
-
if (translation) {
|
|
84760
|
-
transformationMatrix = transformationMatrix.translate(translation);
|
|
84761
|
-
}
|
|
84762
84479
|
return transformationMatrix;
|
|
84763
84480
|
}
|
|
84764
|
-
function convertNode(node2,
|
|
84481
|
+
function convertNode(node2, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions, matrix = new import_core21.Matrix4([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])) {
|
|
84765
84482
|
const transformationMatrix = getCompositeTransformationMatrix(node2, matrix);
|
|
84766
84483
|
const mesh = node2.mesh;
|
|
84767
84484
|
if (mesh) {
|
|
84768
|
-
convertMesh(mesh,
|
|
84485
|
+
convertMesh(mesh, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions, transformationMatrix);
|
|
84769
84486
|
}
|
|
84770
|
-
convertNodes(node2.children,
|
|
84487
|
+
convertNodes(node2.children || [], cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions, transformationMatrix);
|
|
84771
84488
|
}
|
|
84772
|
-
function convertMesh(mesh,
|
|
84489
|
+
function convertMesh(mesh, cartographicOrigin, cartesianModelMatrix, attributesMap, useCartesianPositions = false, matrix = new import_core21.Matrix4([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])) {
|
|
84773
84490
|
for (const primitive of mesh.primitives) {
|
|
84774
84491
|
let outputAttributes = null;
|
|
84775
84492
|
if (primitive.material) {
|
|
@@ -84779,27 +84496,31 @@ function convertMesh(mesh, content, attributesMap, useCartesianPositions = false
|
|
|
84779
84496
|
}
|
|
84780
84497
|
assert2(outputAttributes !== null, "Primitive - material mapping failed");
|
|
84781
84498
|
const attributes = primitive.attributes;
|
|
84499
|
+
if (!outputAttributes) {
|
|
84500
|
+
continue;
|
|
84501
|
+
}
|
|
84782
84502
|
outputAttributes.positions = concatenateTypedArrays(outputAttributes.positions, transformVertexArray({
|
|
84783
84503
|
vertices: attributes.POSITION.value,
|
|
84784
|
-
cartographicOrigin
|
|
84785
|
-
cartesianModelMatrix
|
|
84504
|
+
cartographicOrigin,
|
|
84505
|
+
cartesianModelMatrix,
|
|
84786
84506
|
nodeMatrix: matrix,
|
|
84787
|
-
indices: primitive.indices
|
|
84507
|
+
indices: primitive.indices?.value,
|
|
84788
84508
|
attributeSpecificTransformation: transformVertexPositions,
|
|
84789
84509
|
useCartesianPositions
|
|
84790
84510
|
}));
|
|
84791
84511
|
outputAttributes.normals = concatenateTypedArrays(outputAttributes.normals, transformVertexArray({
|
|
84792
84512
|
vertices: attributes.NORMAL && attributes.NORMAL.value,
|
|
84793
|
-
cartographicOrigin
|
|
84794
|
-
cartesianModelMatrix
|
|
84513
|
+
cartographicOrigin,
|
|
84514
|
+
cartesianModelMatrix,
|
|
84795
84515
|
nodeMatrix: matrix,
|
|
84796
|
-
indices: primitive.indices
|
|
84516
|
+
indices: primitive.indices?.value,
|
|
84797
84517
|
attributeSpecificTransformation: transformVertexNormals,
|
|
84798
84518
|
useCartesianPositions: false
|
|
84799
84519
|
}));
|
|
84800
|
-
outputAttributes.texCoords = concatenateTypedArrays(outputAttributes.texCoords, flattenTexCoords(attributes.TEXCOORD_0 && attributes.TEXCOORD_0.value, primitive.indices
|
|
84801
|
-
outputAttributes.colors = concatenateTypedArrays(outputAttributes.colors, flattenColors(attributes.COLOR_0, primitive.indices
|
|
84802
|
-
outputAttributes.
|
|
84520
|
+
outputAttributes.texCoords = concatenateTypedArrays(outputAttributes.texCoords, flattenTexCoords(attributes.TEXCOORD_0 && attributes.TEXCOORD_0.value, primitive.indices?.value));
|
|
84521
|
+
outputAttributes.colors = concatenateTypedArrays(outputAttributes.colors, flattenColors(attributes.COLOR_0, primitive.indices?.value));
|
|
84522
|
+
outputAttributes.featureIndicesGroups = outputAttributes.featureIndicesGroups || [];
|
|
84523
|
+
outputAttributes.featureIndicesGroups.push(flattenBatchIds(getBatchIdsByAttributeName(attributes), primitive.indices?.value));
|
|
84803
84524
|
}
|
|
84804
84525
|
}
|
|
84805
84526
|
function transformVertexArray(args) {
|
|
@@ -84828,7 +84549,7 @@ function transformVertexPositions(vertexVector, calleeArgs) {
|
|
|
84828
84549
|
if (useCartesianPositions) {
|
|
84829
84550
|
return vertexVector;
|
|
84830
84551
|
}
|
|
84831
|
-
|
|
84552
|
+
import_geospatial9.Ellipsoid.WGS84.cartesianToCartographic([vertexVector[0], vertexVector[1], vertexVector[2]], vertexVector);
|
|
84832
84553
|
vertexVector = vertexVector.subtract(cartographicOrigin);
|
|
84833
84554
|
return vertexVector;
|
|
84834
84555
|
}
|
|
@@ -84895,9 +84616,8 @@ function getBatchIdsByAttributeName(attributes) {
|
|
|
84895
84616
|
}
|
|
84896
84617
|
return batchIds;
|
|
84897
84618
|
}
|
|
84898
|
-
function convertMaterials(
|
|
84619
|
+
function convertMaterials(sourceMaterials = []) {
|
|
84899
84620
|
const result = [];
|
|
84900
|
-
const sourceMaterials = tileContent.gltf.materials || [];
|
|
84901
84621
|
for (const sourceMaterial of sourceMaterials) {
|
|
84902
84622
|
result.push(convertMaterial(sourceMaterial));
|
|
84903
84623
|
}
|
|
@@ -84906,8 +84626,8 @@ function convertMaterials(tileContent) {
|
|
|
84906
84626
|
function convertMaterial(sourceMaterial) {
|
|
84907
84627
|
const material = {
|
|
84908
84628
|
doubleSided: sourceMaterial.doubleSided,
|
|
84909
|
-
emissiveFactor: sourceMaterial.emissiveFactor
|
|
84910
|
-
alphaMode: (sourceMaterial.alphaMode
|
|
84629
|
+
emissiveFactor: sourceMaterial.emissiveFactor?.map((c) => Math.round(c * 255)),
|
|
84630
|
+
alphaMode: convertAlphaMode(sourceMaterial.alphaMode),
|
|
84911
84631
|
pbrMetallicRoughness: {
|
|
84912
84632
|
roughnessFactor: sourceMaterial?.pbrMetallicRoughness?.roughnessFactor || DEFAULT_ROUGHNESS_FACTOR,
|
|
84913
84633
|
metallicFactor: sourceMaterial?.pbrMetallicRoughness?.metallicFactor || DEFAULT_METALLIC_FACTOR
|
|
@@ -84931,14 +84651,28 @@ function convertMaterial(sourceMaterial) {
|
|
|
84931
84651
|
}
|
|
84932
84652
|
return { material, texture };
|
|
84933
84653
|
}
|
|
84654
|
+
function convertAlphaMode(gltfAlphaMode) {
|
|
84655
|
+
switch (gltfAlphaMode) {
|
|
84656
|
+
case "OPAQUE":
|
|
84657
|
+
return "opaque";
|
|
84658
|
+
case "MASK":
|
|
84659
|
+
return "mask";
|
|
84660
|
+
case "BLEND":
|
|
84661
|
+
return "blend";
|
|
84662
|
+
default:
|
|
84663
|
+
return "opaque";
|
|
84664
|
+
}
|
|
84665
|
+
}
|
|
84934
84666
|
function getDefaultMaterial() {
|
|
84935
84667
|
return {
|
|
84936
84668
|
alphaMode: "opaque",
|
|
84937
|
-
pbrMetallicRoughness: {
|
|
84669
|
+
pbrMetallicRoughness: {
|
|
84670
|
+
metallicFactor: 1,
|
|
84671
|
+
roughnessFactor: 1
|
|
84672
|
+
}
|
|
84938
84673
|
};
|
|
84939
84674
|
}
|
|
84940
|
-
function getSharedResources(
|
|
84941
|
-
const gltfMaterials = tileContent.gltf.materials;
|
|
84675
|
+
function getSharedResources(gltfMaterials, nodeId) {
|
|
84942
84676
|
const i3sResources = {};
|
|
84943
84677
|
if (!gltfMaterials || !gltfMaterials.length) {
|
|
84944
84678
|
return i3sResources;
|
|
@@ -84967,7 +84701,7 @@ function convertGLTFMaterialToI3sSharedResources(gltfMaterial, nodeId) {
|
|
|
84967
84701
|
colorFactor[3] = colorFactor[3] || 1;
|
|
84968
84702
|
}
|
|
84969
84703
|
return {
|
|
84970
|
-
materialDefinitionInfo: extractSharedResourcesMaterialInfo(colorFactor, metallicFactor),
|
|
84704
|
+
materialDefinitionInfo: extractSharedResourcesMaterialInfo(colorFactor || [1, 1, 1, 1], metallicFactor),
|
|
84971
84705
|
textureDefinitionInfo
|
|
84972
84706
|
};
|
|
84973
84707
|
}
|
|
@@ -84982,24 +84716,27 @@ function extractSharedResourcesMaterialInfo(baseColorFactor, metallicFactor = 1)
|
|
|
84982
84716
|
dielectricSpecular[3] = 1;
|
|
84983
84717
|
const specular = dielectricSpecular.lerp(dielectricSpecular, baseColorVector, metallicFactor);
|
|
84984
84718
|
return {
|
|
84985
|
-
|
|
84986
|
-
|
|
84719
|
+
params: {
|
|
84720
|
+
diffuse: diffuse.toArray(),
|
|
84721
|
+
specular: specular.toArray(),
|
|
84722
|
+
renderMode: "solid"
|
|
84723
|
+
}
|
|
84987
84724
|
};
|
|
84988
84725
|
}
|
|
84989
84726
|
function extractSharedResourcesTextureInfo(texture, nodeId) {
|
|
84990
84727
|
return {
|
|
84991
|
-
encoding: [texture.source.mimeType],
|
|
84728
|
+
encoding: texture?.source?.mimeType ? [texture.source.mimeType] : void 0,
|
|
84992
84729
|
images: [
|
|
84993
84730
|
{
|
|
84994
84731
|
id: generateImageId(texture, nodeId),
|
|
84995
|
-
size: texture.source
|
|
84996
|
-
length: [texture.source
|
|
84732
|
+
size: texture.source?.image.width,
|
|
84733
|
+
length: [texture.source?.image.data.length]
|
|
84997
84734
|
}
|
|
84998
84735
|
]
|
|
84999
84736
|
};
|
|
85000
84737
|
}
|
|
85001
84738
|
function generateImageId(texture, nodeId) {
|
|
85002
|
-
const { width, height } = texture.source
|
|
84739
|
+
const { width, height } = texture.source?.image;
|
|
85003
84740
|
const levelCountOfTexture = 1;
|
|
85004
84741
|
const indexOfLevel = 0;
|
|
85005
84742
|
const indexOfTextureInStore = nodeId + 1;
|
|
@@ -85071,7 +84808,9 @@ function convertBatchTableToAttributeBuffers(batchTable, featureIds, attributeSt
|
|
|
85071
84808
|
default:
|
|
85072
84809
|
attributeBuffer = generateStringAttributeBuffer(batchTableWithFeatureIds[key]);
|
|
85073
84810
|
}
|
|
85074
|
-
|
|
84811
|
+
if (attributeBuffer) {
|
|
84812
|
+
attributeBuffers.push(attributeBuffer);
|
|
84813
|
+
}
|
|
85075
84814
|
}
|
|
85076
84815
|
}
|
|
85077
84816
|
return attributeBuffers;
|
|
@@ -85114,7 +84853,7 @@ function generateBigUint64Array(featureIds) {
|
|
|
85114
84853
|
}
|
|
85115
84854
|
return typedFeatureIds;
|
|
85116
84855
|
}
|
|
85117
|
-
async function generateCompressedGeometry(vertexCount, convertedAttributes, attributes) {
|
|
84856
|
+
async function generateCompressedGeometry(vertexCount, convertedAttributes, attributes, dracoWorkerSoure) {
|
|
85118
84857
|
const { positions, normals, texCoords, colors, featureIds, faceRange } = attributes;
|
|
85119
84858
|
const indices = new Uint32Array(vertexCount);
|
|
85120
84859
|
for (let index = 0; index < indices.length; index++) {
|
|
@@ -85137,12 +84876,16 @@ async function generateCompressedGeometry(vertexCount, convertedAttributes, attr
|
|
|
85137
84876
|
"i3s-feature-ids": new Int32Array(featureIds)
|
|
85138
84877
|
}
|
|
85139
84878
|
};
|
|
85140
|
-
return
|
|
84879
|
+
return encode({ attributes: compressedAttributes, indices }, DracoWriterWorker, {
|
|
84880
|
+
...DracoWriterWorker.options,
|
|
84881
|
+
source: dracoWorkerSoure,
|
|
84882
|
+
reuseWorkers: true,
|
|
84883
|
+
_nodeWorkers: true,
|
|
85141
84884
|
draco: {
|
|
85142
84885
|
method: "MESH_SEQUENTIAL_ENCODING",
|
|
85143
84886
|
attributesMetadata
|
|
85144
84887
|
}
|
|
85145
|
-
})
|
|
84888
|
+
});
|
|
85146
84889
|
}
|
|
85147
84890
|
function generateFeatureIndexAttribute(featureIndex, faceRange) {
|
|
85148
84891
|
const orderedFeatureIndices = new Uint32Array(featureIndex.length);
|
|
@@ -85202,7 +84945,7 @@ async function createSceneServerPath(layerName, layers0, rootPath) {
|
|
|
85202
84945
|
await writeFile3(nodePagePath, JSON.stringify(sceneServer));
|
|
85203
84946
|
}
|
|
85204
84947
|
|
|
85205
|
-
// src/lib/utils/lod-conversion-utils.
|
|
84948
|
+
// src/lib/utils/lod-conversion-utils.ts
|
|
85206
84949
|
var DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR = 16;
|
|
85207
84950
|
function convertGeometricErrorToScreenThreshold(tile, coordinates) {
|
|
85208
84951
|
const lodSelection = [];
|
|
@@ -85241,13 +84984,13 @@ function convertScreenThresholdToGeometricError(node2) {
|
|
|
85241
84984
|
}
|
|
85242
84985
|
|
|
85243
84986
|
// src/pgm-loader.ts
|
|
85244
|
-
var import_geoid = __toModule(
|
|
85245
|
-
var
|
|
84987
|
+
var import_geoid = __toModule(require_es59());
|
|
84988
|
+
var VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
85246
84989
|
var PGMLoader = {
|
|
85247
84990
|
name: "PGM - Netpbm grayscale image format",
|
|
85248
84991
|
id: "pgm",
|
|
85249
84992
|
module: "tile-converter",
|
|
85250
|
-
version:
|
|
84993
|
+
version: VERSION10,
|
|
85251
84994
|
mimeTypes: ["image/x-portable-graymap"],
|
|
85252
84995
|
parse: async (arrayBuffer, options) => (0, import_geoid.parsePGM)(new Uint8Array(arrayBuffer), options),
|
|
85253
84996
|
extensions: ["pgm"],
|
|
@@ -85758,10 +85501,10 @@ function transfromTextureDefinitions(textureDefinitionInfos, thisObject, origina
|
|
|
85758
85501
|
}
|
|
85759
85502
|
|
|
85760
85503
|
// src/i3s-converter/helpers/node-debug.ts
|
|
85761
|
-
var import_culling6 = __toModule(
|
|
85762
|
-
var import_engine = __toModule(
|
|
85504
|
+
var import_culling6 = __toModule(require_es58());
|
|
85505
|
+
var import_engine = __toModule(require_es515());
|
|
85763
85506
|
var import_core23 = __toModule(require_es56());
|
|
85764
|
-
var
|
|
85507
|
+
var import_geospatial10 = __toModule(require_es57());
|
|
85765
85508
|
function validateNodeBoundingVolumes(node2) {
|
|
85766
85509
|
if (!node2?.parentNode?.obb || !node2?.parentNode?.mbs) {
|
|
85767
85510
|
return [];
|
|
@@ -85802,7 +85545,7 @@ function getTileObbVertices(node2) {
|
|
|
85802
85545
|
const halfSize = node2.obb.halfSize;
|
|
85803
85546
|
const attributes = geometry.getAttributes();
|
|
85804
85547
|
const positions = new Float32Array(attributes.POSITION.value);
|
|
85805
|
-
const obbCenterCartesian =
|
|
85548
|
+
const obbCenterCartesian = import_geospatial10.Ellipsoid.WGS84.cartographicToCartesian(node2.obb.center);
|
|
85806
85549
|
let vertices = [];
|
|
85807
85550
|
for (let i = 0; i < positions.length; i += 3) {
|
|
85808
85551
|
const positionsVector = new import_core23.Vector3(positions[i] *= halfSize[0], positions[i + 1] *= halfSize[1], positions[i + 2] *= halfSize[2]);
|
|
@@ -85815,7 +85558,7 @@ function isAllVerticesInsideBoundingVolume(boundingVolume, positions) {
|
|
|
85815
85558
|
let isVerticesInsideObb = true;
|
|
85816
85559
|
for (let index = 0; index < positions.length / 3; index += 3) {
|
|
85817
85560
|
const point = [positions[index], positions[index + 1], positions[index + 2]];
|
|
85818
|
-
const cartographicPoint =
|
|
85561
|
+
const cartographicPoint = import_geospatial10.Ellipsoid.WGS84.cartesianToCartographic(point);
|
|
85819
85562
|
const distance = boundingVolume.distanceTo(cartographicPoint);
|
|
85820
85563
|
if (distance > 0) {
|
|
85821
85564
|
isVerticesInsideObb = false;
|
|
@@ -85825,6 +85568,94 @@ function isAllVerticesInsideBoundingVolume(boundingVolume, positions) {
|
|
|
85825
85568
|
return isVerticesInsideObb;
|
|
85826
85569
|
}
|
|
85827
85570
|
|
|
85571
|
+
// src/lib/utils/queue.ts
|
|
85572
|
+
var Queue = class extends Array {
|
|
85573
|
+
enqueue(val) {
|
|
85574
|
+
this.push(val);
|
|
85575
|
+
}
|
|
85576
|
+
dequeue() {
|
|
85577
|
+
return this.shift();
|
|
85578
|
+
}
|
|
85579
|
+
peek() {
|
|
85580
|
+
return this[0];
|
|
85581
|
+
}
|
|
85582
|
+
isEmpty() {
|
|
85583
|
+
return this.length === 0;
|
|
85584
|
+
}
|
|
85585
|
+
};
|
|
85586
|
+
|
|
85587
|
+
// src/lib/utils/write-queue.ts
|
|
85588
|
+
var WriteQueue = class extends Queue {
|
|
85589
|
+
constructor(listeningInterval = 2e3, writeConcurrency = 400) {
|
|
85590
|
+
super();
|
|
85591
|
+
this.writePromise = null;
|
|
85592
|
+
this.fileMap = {};
|
|
85593
|
+
this.listeningInterval = listeningInterval;
|
|
85594
|
+
this.writeConcurrency = writeConcurrency;
|
|
85595
|
+
}
|
|
85596
|
+
startListening() {
|
|
85597
|
+
this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);
|
|
85598
|
+
}
|
|
85599
|
+
stopListening() {
|
|
85600
|
+
if (this.intervalId) {
|
|
85601
|
+
clearInterval(this.intervalId);
|
|
85602
|
+
}
|
|
85603
|
+
}
|
|
85604
|
+
async startWrite() {
|
|
85605
|
+
if (this.writePromise) {
|
|
85606
|
+
await this.writePromise;
|
|
85607
|
+
this.writePromise = null;
|
|
85608
|
+
return;
|
|
85609
|
+
}
|
|
85610
|
+
this.writePromise = this.doWrite();
|
|
85611
|
+
await this.writePromise;
|
|
85612
|
+
this.writePromise = null;
|
|
85613
|
+
}
|
|
85614
|
+
async finalize() {
|
|
85615
|
+
this.stopListening();
|
|
85616
|
+
await this.startWrite();
|
|
85617
|
+
}
|
|
85618
|
+
async doWrite() {
|
|
85619
|
+
while (this.length) {
|
|
85620
|
+
const promises = [];
|
|
85621
|
+
const archiveKeys = [];
|
|
85622
|
+
for (let i = 0; i < this.writeConcurrency; i++) {
|
|
85623
|
+
const item = this.dequeue();
|
|
85624
|
+
if (!item) {
|
|
85625
|
+
break;
|
|
85626
|
+
}
|
|
85627
|
+
const { archiveKey, writePromise } = item;
|
|
85628
|
+
archiveKeys.push(archiveKey);
|
|
85629
|
+
promises.push(writePromise);
|
|
85630
|
+
}
|
|
85631
|
+
const writeResults = await Promise.all(promises);
|
|
85632
|
+
this.updateFileMap(archiveKeys, writeResults);
|
|
85633
|
+
}
|
|
85634
|
+
this.writePromise = null;
|
|
85635
|
+
}
|
|
85636
|
+
updateFileMap(archiveKeys, writeResults) {
|
|
85637
|
+
for (let i = 0; i < archiveKeys.length; i++) {
|
|
85638
|
+
const archiveKey = archiveKeys[i];
|
|
85639
|
+
if (!archiveKey) {
|
|
85640
|
+
continue;
|
|
85641
|
+
}
|
|
85642
|
+
this.fileMap[archiveKey] = writeResults[i];
|
|
85643
|
+
}
|
|
85644
|
+
}
|
|
85645
|
+
};
|
|
85646
|
+
|
|
85647
|
+
// src/i3s-attributes-worker.ts
|
|
85648
|
+
var VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
85649
|
+
var I3SAttributesWorker = {
|
|
85650
|
+
id: "i3s-attributes",
|
|
85651
|
+
name: "I3S Attributes Worker",
|
|
85652
|
+
module: "tile-converter",
|
|
85653
|
+
version: VERSION11,
|
|
85654
|
+
options: {
|
|
85655
|
+
useCartesianPositions: false
|
|
85656
|
+
}
|
|
85657
|
+
};
|
|
85658
|
+
|
|
85828
85659
|
// src/i3s-converter/i3s-converter.ts
|
|
85829
85660
|
var ION_DEFAULT_TOKEN = import_process.default.env.IonToken || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYWMxMzcyYy0zZjJkLTQwODctODNlNi01MDRkZmMzMjIxOWIiLCJpZCI6OTYyMCwic2NvcGVzIjpbImFzbCIsImFzciIsImdjIl0sImlhdCI6MTU2Mjg2NjI3M30.1FNiClUyk00YH_nWfSGpiQAjR5V2OvREDq1PJ5QMjWQ";
|
|
85830
85661
|
var HARDCODED_NODES_PER_PAGE = 64;
|
|
@@ -85844,8 +85675,9 @@ var I3SConverter = class {
|
|
|
85844
85675
|
this.sourceTileset = null;
|
|
85845
85676
|
this.geoidHeightModel = null;
|
|
85846
85677
|
this.Loader = Tiles3DLoader;
|
|
85678
|
+
this.workerSource = {};
|
|
85679
|
+
this.writeQueue = new WriteQueue();
|
|
85847
85680
|
this.nodePages = new NodePages(writeFile3, HARDCODED_NODES_PER_PAGE);
|
|
85848
|
-
this.fileMap = {};
|
|
85849
85681
|
this.options = {};
|
|
85850
85682
|
this.layers0Path = "";
|
|
85851
85683
|
this.materialMap = new Map();
|
|
@@ -85860,6 +85692,7 @@ var I3SConverter = class {
|
|
|
85860
85692
|
this.validate = false;
|
|
85861
85693
|
this.generateTextures = false;
|
|
85862
85694
|
this.generateBoundingVolumes = false;
|
|
85695
|
+
this.layersHasTexture = false;
|
|
85863
85696
|
}
|
|
85864
85697
|
async convert(options) {
|
|
85865
85698
|
this.conversionStartTime = import_process.default.hrtime();
|
|
@@ -85882,23 +85715,33 @@ var I3SConverter = class {
|
|
|
85882
85715
|
this.Loader = inputUrl.indexOf(CESIUM_DATASET_PREFIX) !== -1 ? CesiumIonLoader : Tiles3DLoader;
|
|
85883
85716
|
this.generateTextures = Boolean(generateTextures);
|
|
85884
85717
|
this.generateBoundingVolumes = Boolean(generateBoundingVolumes);
|
|
85718
|
+
this.writeQueue = new WriteQueue();
|
|
85719
|
+
this.writeQueue.startListening();
|
|
85885
85720
|
console.log("Loading egm file...");
|
|
85886
85721
|
this.geoidHeightModel = await load(egmFilePath, PGMLoader);
|
|
85887
85722
|
console.log("Loading egm file completed!");
|
|
85888
85723
|
if (slpk) {
|
|
85889
85724
|
this.nodePages.useWriteFunction(writeFileForSlpk);
|
|
85890
85725
|
}
|
|
85891
|
-
|
|
85892
|
-
|
|
85893
|
-
|
|
85894
|
-
tilesetOptions
|
|
85726
|
+
await this.loadWorkers();
|
|
85727
|
+
try {
|
|
85728
|
+
const preloadOptions = await this._fetchPreloadOptions();
|
|
85729
|
+
const tilesetOptions = { loadOptions: { basis: { format: "rgba32" } } };
|
|
85730
|
+
if (preloadOptions.headers) {
|
|
85731
|
+
tilesetOptions.loadOptions.fetch = { headers: preloadOptions.headers };
|
|
85732
|
+
}
|
|
85733
|
+
Object.assign(tilesetOptions, preloadOptions);
|
|
85734
|
+
const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);
|
|
85735
|
+
this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
|
|
85736
|
+
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
85737
|
+
await this._finishConversion({ slpk: Boolean(slpk), outputPath, tilesetName });
|
|
85738
|
+
return sourceTilesetJson;
|
|
85739
|
+
} catch (error) {
|
|
85740
|
+
throw error;
|
|
85741
|
+
} finally {
|
|
85742
|
+
const workerFarm = WorkerFarm.getWorkerFarm({});
|
|
85743
|
+
workerFarm.destroy();
|
|
85895
85744
|
}
|
|
85896
|
-
Object.assign(tilesetOptions, preloadOptions);
|
|
85897
|
-
const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);
|
|
85898
|
-
this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
|
|
85899
|
-
await this._createAndSaveTileset(outputPath, tilesetName);
|
|
85900
|
-
await this._finishConversion({ slpk: Boolean(slpk), outputPath, tilesetName });
|
|
85901
|
-
return sourceTilesetJson;
|
|
85902
85745
|
}
|
|
85903
85746
|
async _createAndSaveTileset(outputPath, tilesetName) {
|
|
85904
85747
|
const tilesetPath = (0, import_path7.join)(`${outputPath}`, `${tilesetName}`);
|
|
@@ -85922,14 +85765,19 @@ var I3SConverter = class {
|
|
|
85922
85765
|
const root0 = this._formRootNodeIndexDocument(boundingVolumes);
|
|
85923
85766
|
await this._convertNodesTree(root0, sourceRootTile, parentId, boundingVolumes);
|
|
85924
85767
|
this.layers0.materialDefinitions = this.materialDefinitions;
|
|
85768
|
+
if (this.layersHasTexture === false) {
|
|
85769
|
+
this.layers0.store.defaultGeometrySchema.ordering = this.layers0.store.defaultGeometrySchema.ordering.filter((attribute) => attribute !== "uv0");
|
|
85770
|
+
}
|
|
85925
85771
|
await this._writeLayers0();
|
|
85926
85772
|
createSceneServerPath(tilesetName, this.layers0, tilesetPath);
|
|
85927
85773
|
await this._writeNodeIndexDocument(root0, "root", (0, import_path7.join)(this.layers0Path, "nodes", "root"));
|
|
85928
|
-
await this.nodePages.save(this.layers0Path, this.
|
|
85774
|
+
await this.nodePages.save(this.layers0Path, this.writeQueue, isCreateSlpk);
|
|
85775
|
+
await this.writeQueue.finalize();
|
|
85929
85776
|
await this._createSlpk(tilesetPath);
|
|
85930
85777
|
}
|
|
85931
85778
|
_formLayers0(tilesetName) {
|
|
85932
|
-
const
|
|
85779
|
+
const fullExtent = convertBoundingVolumeToI3SFullExtent(this.sourceTileset?.boundingVolume || this.sourceTileset?.root?.boundingVolume);
|
|
85780
|
+
const extent = [fullExtent.xmin, fullExtent.ymin, fullExtent.xmax, fullExtent.ymax];
|
|
85933
85781
|
const layers0data = {
|
|
85934
85782
|
version: `{${v4().toUpperCase()}}`,
|
|
85935
85783
|
id: 0,
|
|
@@ -85978,9 +85826,12 @@ var I3SConverter = class {
|
|
|
85978
85826
|
const [child] = await this._createNode(root0, sourceRootTile, parentId, 0);
|
|
85979
85827
|
const childPath = (0, import_path7.join)(this.layers0Path, "nodes", child.path);
|
|
85980
85828
|
if (this.options.slpk) {
|
|
85981
|
-
this.
|
|
85829
|
+
this.writeQueue.enqueue({
|
|
85830
|
+
archiveKey: "nodes/1/3dNodeIndexDocument.json.gz",
|
|
85831
|
+
writePromise: writeFileForSlpk(childPath, JSON.stringify(child), "3dNodeIndexDocument.json")
|
|
85832
|
+
});
|
|
85982
85833
|
} else {
|
|
85983
|
-
|
|
85834
|
+
this.writeQueue.enqueue({ writePromise: writeFile3(childPath, JSON.stringify(child)) });
|
|
85984
85835
|
}
|
|
85985
85836
|
} else {
|
|
85986
85837
|
await this._addChildrenWithNeighborsAndWriteFile({
|
|
@@ -85994,16 +85845,24 @@ var I3SConverter = class {
|
|
|
85994
85845
|
}
|
|
85995
85846
|
async _writeLayers0() {
|
|
85996
85847
|
if (this.options.slpk) {
|
|
85997
|
-
this.
|
|
85848
|
+
this.writeQueue.enqueue({
|
|
85849
|
+
archiveKey: "3dSceneLayer.json.gz",
|
|
85850
|
+
writePromise: writeFileForSlpk(this.layers0Path, JSON.stringify(this.layers0), "3dSceneLayer.json")
|
|
85851
|
+
});
|
|
85998
85852
|
} else {
|
|
85999
|
-
|
|
85853
|
+
this.writeQueue.enqueue({
|
|
85854
|
+
writePromise: writeFile3(this.layers0Path, JSON.stringify(this.layers0))
|
|
85855
|
+
});
|
|
86000
85856
|
}
|
|
86001
85857
|
}
|
|
86002
85858
|
async _writeNodeIndexDocument(root0, nodePath, rootPath) {
|
|
86003
85859
|
if (this.options.slpk) {
|
|
86004
|
-
this.
|
|
85860
|
+
this.writeQueue.enqueue({
|
|
85861
|
+
archiveKey: `nodes/${nodePath}/3dNodeIndexDocument.json.gz`,
|
|
85862
|
+
writePromise: writeFileForSlpk(rootPath, JSON.stringify(root0), "3dNodeIndexDocument.json")
|
|
85863
|
+
});
|
|
86005
85864
|
} else {
|
|
86006
|
-
|
|
85865
|
+
this.writeQueue.enqueue({ writePromise: writeFile3(rootPath, JSON.stringify(root0)) });
|
|
86007
85866
|
}
|
|
86008
85867
|
}
|
|
86009
85868
|
async _createSlpk(tilesetPath) {
|
|
@@ -86104,6 +85963,7 @@ var I3SConverter = class {
|
|
|
86104
85963
|
boundingVolumes: null
|
|
86105
85964
|
};
|
|
86106
85965
|
for (const resources of resourcesData || [emptyResources]) {
|
|
85966
|
+
this.layersHasTexture = this.layersHasTexture || Boolean(resources.texture);
|
|
86107
85967
|
if (this.generateBoundingVolumes && resources.boundingVolumes) {
|
|
86108
85968
|
boundingVolumes = resources.boundingVolumes;
|
|
86109
85969
|
}
|
|
@@ -86142,7 +86002,7 @@ var I3SConverter = class {
|
|
|
86142
86002
|
if (!this.isContentSupported(sourceTile)) {
|
|
86143
86003
|
return null;
|
|
86144
86004
|
}
|
|
86145
|
-
const resourcesData = await convertB3dmToI3sGeometry(sourceTile.content, Number(this.nodePages.nodesCounter), this.featuresHashArray, this.layers0?.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.geoidHeightModel);
|
|
86005
|
+
const resourcesData = await convertB3dmToI3sGeometry(sourceTile.content, Number(this.nodePages.nodesCounter), this.featuresHashArray, this.layers0?.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.geoidHeightModel, this.workerSource);
|
|
86146
86006
|
return resourcesData;
|
|
86147
86007
|
}
|
|
86148
86008
|
_createNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
|
|
@@ -86239,31 +86099,47 @@ var I3SConverter = class {
|
|
|
86239
86099
|
async _writeGeometries(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
|
|
86240
86100
|
if (this.options.slpk) {
|
|
86241
86101
|
const slpkGeometryPath = (0, import_path7.join)(childPath, "geometries");
|
|
86242
|
-
this.
|
|
86102
|
+
this.writeQueue.enqueue({
|
|
86103
|
+
archiveKey: `${slpkChildPath}/geometries/0.bin.gz`,
|
|
86104
|
+
writePromise: writeFileForSlpk(slpkGeometryPath, geometryBuffer, "0.bin")
|
|
86105
|
+
});
|
|
86243
86106
|
} else {
|
|
86244
86107
|
const geometryPath = (0, import_path7.join)(childPath, "geometries/0/");
|
|
86245
|
-
|
|
86108
|
+
this.writeQueue.enqueue({
|
|
86109
|
+
writePromise: writeFile3(geometryPath, geometryBuffer, "index.bin")
|
|
86110
|
+
});
|
|
86246
86111
|
}
|
|
86247
86112
|
if (this.options.draco) {
|
|
86248
86113
|
if (this.options.slpk) {
|
|
86249
86114
|
const slpkCompressedGeometryPath = (0, import_path7.join)(childPath, "geometries");
|
|
86250
|
-
this.
|
|
86115
|
+
this.writeQueue.enqueue({
|
|
86116
|
+
archiveKey: `${slpkChildPath}/geometries/1.bin.gz`,
|
|
86117
|
+
writePromise: writeFileForSlpk(slpkCompressedGeometryPath, compressedGeometry, "1.bin")
|
|
86118
|
+
});
|
|
86251
86119
|
} else {
|
|
86252
86120
|
const compressedGeometryPath = (0, import_path7.join)(childPath, "geometries/1/");
|
|
86253
|
-
|
|
86121
|
+
this.writeQueue.enqueue({
|
|
86122
|
+
writePromise: writeFile3(compressedGeometryPath, compressedGeometry, "index.bin")
|
|
86123
|
+
});
|
|
86254
86124
|
}
|
|
86255
86125
|
}
|
|
86256
86126
|
}
|
|
86257
86127
|
async _writeShared(sharedResources, childPath, slpkChildPath, nodePath) {
|
|
86128
|
+
if (!sharedResources) {
|
|
86129
|
+
return;
|
|
86130
|
+
}
|
|
86258
86131
|
sharedResources.nodePath = nodePath;
|
|
86259
86132
|
const sharedData = (0, import_json_map_transform6.default)(sharedResources, SHARED_RESOURCES());
|
|
86260
86133
|
const sharedDataStr = JSON.stringify(sharedData);
|
|
86261
86134
|
if (this.options.slpk) {
|
|
86262
86135
|
const slpkSharedPath = (0, import_path7.join)(childPath, "shared");
|
|
86263
|
-
this.
|
|
86136
|
+
this.writeQueue.enqueue({
|
|
86137
|
+
archiveKey: `${slpkChildPath}/shared/sharedResource.json.gz`,
|
|
86138
|
+
writePromise: writeFileForSlpk(slpkSharedPath, sharedDataStr, "sharedResource.json")
|
|
86139
|
+
});
|
|
86264
86140
|
} else {
|
|
86265
86141
|
const sharedPath = (0, import_path7.join)(childPath, "shared/");
|
|
86266
|
-
|
|
86142
|
+
this.writeQueue.enqueue({ writePromise: writeFile3(sharedPath, sharedDataStr) });
|
|
86267
86143
|
}
|
|
86268
86144
|
}
|
|
86269
86145
|
async _writeTexture(texture, childPath, slpkChildPath) {
|
|
@@ -86278,7 +86154,12 @@ var I3SConverter = class {
|
|
|
86278
86154
|
await this.writeTextureFile(textureData, "0", format, childPath, slpkChildPath);
|
|
86279
86155
|
if (this.generateTextures) {
|
|
86280
86156
|
formats2.push({ name: "1", format: "ktx2" });
|
|
86281
|
-
const ktx2TextureData =
|
|
86157
|
+
const ktx2TextureData = encode(texture.image, KTX2BasisWriterWorker, {
|
|
86158
|
+
...KTX2BasisWriterWorker.options,
|
|
86159
|
+
source: this.workerSource.ktx2,
|
|
86160
|
+
reuseWorkers: true,
|
|
86161
|
+
_nodeWorkers: true
|
|
86162
|
+
});
|
|
86282
86163
|
await this.writeTextureFile(ktx2TextureData, "1", "ktx2", childPath, slpkChildPath);
|
|
86283
86164
|
}
|
|
86284
86165
|
break;
|
|
@@ -86288,7 +86169,7 @@ var I3SConverter = class {
|
|
|
86288
86169
|
await this.writeTextureFile(textureData, "1", format, childPath, slpkChildPath);
|
|
86289
86170
|
if (this.generateTextures) {
|
|
86290
86171
|
formats2.push({ name: "0", format: "jpg" });
|
|
86291
|
-
const decodedFromKTX2TextureData =
|
|
86172
|
+
const decodedFromKTX2TextureData = encode(texture.image.data[0], ImageWriter);
|
|
86292
86173
|
await this.writeTextureFile(decodedFromKTX2TextureData, "0", "jpg", childPath, slpkChildPath);
|
|
86293
86174
|
}
|
|
86294
86175
|
}
|
|
@@ -86302,23 +86183,33 @@ var I3SConverter = class {
|
|
|
86302
86183
|
if (this.options.slpk) {
|
|
86303
86184
|
const slpkTexturePath = (0, import_path7.join)(childPath, "textures");
|
|
86304
86185
|
const compress = false;
|
|
86305
|
-
this.
|
|
86186
|
+
this.writeQueue.enqueue({
|
|
86187
|
+
archiveKey: `${slpkChildPath}/textures/${name8}.${format}`,
|
|
86188
|
+
writePromise: writeFileForSlpk(slpkTexturePath, textureData, `${name8}.${format}`, compress)
|
|
86189
|
+
});
|
|
86306
86190
|
} else {
|
|
86307
86191
|
const texturePath = (0, import_path7.join)(childPath, `textures/${name8}/`);
|
|
86308
|
-
|
|
86192
|
+
this.writeQueue.enqueue({
|
|
86193
|
+
writePromise: writeFile3(texturePath, textureData, `index.${format}`)
|
|
86194
|
+
});
|
|
86309
86195
|
}
|
|
86310
86196
|
}
|
|
86311
|
-
async _writeAttributes(attributes, childPath, slpkChildPath) {
|
|
86312
|
-
if (attributes
|
|
86197
|
+
async _writeAttributes(attributes = [], childPath, slpkChildPath) {
|
|
86198
|
+
if (attributes?.length && this.layers0?.attributeStorageInfo?.length) {
|
|
86313
86199
|
for (let index = 0; index < attributes.length; index++) {
|
|
86314
86200
|
const folderName = this.layers0.attributeStorageInfo[index].key;
|
|
86315
86201
|
const fileBuffer = new Uint8Array(attributes[index]);
|
|
86316
86202
|
if (this.options.slpk) {
|
|
86317
86203
|
const slpkAttributesPath = (0, import_path7.join)(childPath, "attributes", folderName);
|
|
86318
|
-
this.
|
|
86204
|
+
this.writeQueue.enqueue({
|
|
86205
|
+
archiveKey: `${slpkChildPath}/attributes/${folderName}.bin.gz`,
|
|
86206
|
+
writePromise: writeFileForSlpk(slpkAttributesPath, fileBuffer, "0.bin")
|
|
86207
|
+
});
|
|
86319
86208
|
} else {
|
|
86320
86209
|
const attributesPath = (0, import_path7.join)(childPath, `attributes/${folderName}/0`);
|
|
86321
|
-
|
|
86210
|
+
this.writeQueue.enqueue({
|
|
86211
|
+
writePromise: writeFile3(attributesPath, fileBuffer, "index.bin")
|
|
86212
|
+
});
|
|
86322
86213
|
}
|
|
86323
86214
|
}
|
|
86324
86215
|
}
|
|
@@ -86524,6 +86415,26 @@ var I3SConverter = class {
|
|
|
86524
86415
|
isContentSupported(sourceRootTile) {
|
|
86525
86416
|
return ["b3dm", "glTF"].includes(sourceRootTile?.content?.type);
|
|
86526
86417
|
}
|
|
86418
|
+
async loadWorkers() {
|
|
86419
|
+
console.log(`Loading workers source...`);
|
|
86420
|
+
if (this.options.draco) {
|
|
86421
|
+
const url = getWorkerURL(DracoWriterWorker, { ...getGlobalLoaderOptions() });
|
|
86422
|
+
const sourceResponse2 = await fetchFile(url);
|
|
86423
|
+
const source2 = await sourceResponse2.text();
|
|
86424
|
+
this.workerSource.draco = source2;
|
|
86425
|
+
}
|
|
86426
|
+
if (this.generateTextures) {
|
|
86427
|
+
const url = getWorkerURL(KTX2BasisWriterWorker, { ...getGlobalLoaderOptions() });
|
|
86428
|
+
const sourceResponse2 = await fetchFile(url);
|
|
86429
|
+
const source2 = await sourceResponse2.text();
|
|
86430
|
+
this.workerSource.ktx2 = source2;
|
|
86431
|
+
}
|
|
86432
|
+
const i3sAttributesWorkerUrl = getWorkerURL(I3SAttributesWorker, { ...getGlobalLoaderOptions() });
|
|
86433
|
+
const sourceResponse = await fetchFile(i3sAttributesWorkerUrl);
|
|
86434
|
+
const source = await sourceResponse.text();
|
|
86435
|
+
this.workerSource.I3SAttributes = source;
|
|
86436
|
+
console.log(`Loading workers source completed!`);
|
|
86437
|
+
}
|
|
86527
86438
|
};
|
|
86528
86439
|
|
|
86529
86440
|
// src/3d-tiles-converter/3d-tiles-converter.ts
|
|
@@ -86533,7 +86444,7 @@ var import_json_map_transform8 = __toModule(require_json_map_transform());
|
|
|
86533
86444
|
|
|
86534
86445
|
// ../i3s/src/lib/parsers/parse-i3s-tile-content.ts
|
|
86535
86446
|
var import_core26 = __toModule(require_es56());
|
|
86536
|
-
var
|
|
86447
|
+
var import_geospatial11 = __toModule(require_es57());
|
|
86537
86448
|
|
|
86538
86449
|
// ../i3s/src/types.ts
|
|
86539
86450
|
var DATA_TYPE;
|
|
@@ -86578,7 +86489,7 @@ function generateTilesetAttributeUrls(tileset, resource) {
|
|
|
86578
86489
|
}
|
|
86579
86490
|
|
|
86580
86491
|
// ../i3s/src/lib/parsers/constants.ts
|
|
86581
|
-
var import_constants14 = __toModule(
|
|
86492
|
+
var import_constants14 = __toModule(require_es516());
|
|
86582
86493
|
function getConstructorForDataFormat(dataType) {
|
|
86583
86494
|
switch (dataType) {
|
|
86584
86495
|
case DATA_TYPE.UInt8:
|
|
@@ -86668,7 +86579,10 @@ async function parseI3STileContent(arrayBuffer, tile, tileset, options, context)
|
|
|
86668
86579
|
tile.content.texture = await parse(arrayBuffer2, loader, options2);
|
|
86669
86580
|
}
|
|
86670
86581
|
} else if (loader === CompressedTextureLoader || loader === BasisLoader) {
|
|
86671
|
-
|
|
86582
|
+
let texture = await load(arrayBuffer2, loader, tile.textureLoaderOptions);
|
|
86583
|
+
if (loader === BasisLoader) {
|
|
86584
|
+
texture = texture[0];
|
|
86585
|
+
}
|
|
86672
86586
|
tile.content.texture = {
|
|
86673
86587
|
compressed: true,
|
|
86674
86588
|
mipmaps: false,
|
|
@@ -86692,6 +86606,7 @@ async function parseI3SNodeGeometry(arrayBuffer, tile, tileset, options) {
|
|
|
86692
86606
|
return tile;
|
|
86693
86607
|
}
|
|
86694
86608
|
const content = tile.content;
|
|
86609
|
+
const contentByteLength = arrayBuffer.byteLength;
|
|
86695
86610
|
let attributes;
|
|
86696
86611
|
let vertexCount;
|
|
86697
86612
|
let byteOffset = 0;
|
|
@@ -86767,7 +86682,7 @@ async function parseI3SNodeGeometry(arrayBuffer, tile, tileset, options) {
|
|
|
86767
86682
|
}
|
|
86768
86683
|
}
|
|
86769
86684
|
content.vertexCount = vertexCount;
|
|
86770
|
-
content.byteLength =
|
|
86685
|
+
content.byteLength = contentByteLength;
|
|
86771
86686
|
return tile;
|
|
86772
86687
|
}
|
|
86773
86688
|
function updateAttributesMetadata(attributes, decompressedGeometry) {
|
|
@@ -86820,38 +86735,38 @@ function parseHeaders(tileset, arrayBuffer) {
|
|
|
86820
86735
|
byteOffset
|
|
86821
86736
|
};
|
|
86822
86737
|
}
|
|
86823
|
-
function normalizeAttributes(arrayBuffer, byteOffset, vertexAttributes,
|
|
86738
|
+
function normalizeAttributes(arrayBuffer, byteOffset, vertexAttributes, attributeCount, attributesOrder) {
|
|
86824
86739
|
const attributes = {};
|
|
86825
86740
|
for (const attribute of attributesOrder) {
|
|
86826
86741
|
if (vertexAttributes[attribute]) {
|
|
86827
86742
|
const { valueType, valuesPerElement } = vertexAttributes[attribute];
|
|
86828
|
-
|
|
86829
|
-
|
|
86743
|
+
if (byteOffset + attributeCount * valuesPerElement * sizeOf(valueType) <= arrayBuffer.byteLength) {
|
|
86744
|
+
const buffer = arrayBuffer.slice(byteOffset);
|
|
86745
|
+
let value;
|
|
86746
|
+
if (valueType === "UInt64") {
|
|
86747
|
+
value = parseUint64Values(buffer, attributeCount * valuesPerElement, sizeOf(valueType));
|
|
86748
|
+
} else {
|
|
86749
|
+
const TypedArrayType = getConstructorForDataFormat(valueType);
|
|
86750
|
+
value = new TypedArrayType(buffer, 0, attributeCount * valuesPerElement);
|
|
86751
|
+
}
|
|
86752
|
+
attributes[attribute] = {
|
|
86753
|
+
value,
|
|
86754
|
+
type: GL_TYPE_MAP[valueType],
|
|
86755
|
+
size: valuesPerElement
|
|
86756
|
+
};
|
|
86757
|
+
switch (attribute) {
|
|
86758
|
+
case "color":
|
|
86759
|
+
attributes.color.normalized = true;
|
|
86760
|
+
break;
|
|
86761
|
+
case "position":
|
|
86762
|
+
case "region":
|
|
86763
|
+
case "normal":
|
|
86764
|
+
default:
|
|
86765
|
+
}
|
|
86766
|
+
byteOffset = byteOffset + attributeCount * valuesPerElement * sizeOf(valueType);
|
|
86767
|
+
} else if (attribute !== "uv0") {
|
|
86830
86768
|
break;
|
|
86831
86769
|
}
|
|
86832
|
-
const buffer = arrayBuffer.slice(byteOffset);
|
|
86833
|
-
let value;
|
|
86834
|
-
if (valueType === "UInt64") {
|
|
86835
|
-
value = parseUint64Values(buffer, count * valuesPerElement, sizeOf(valueType));
|
|
86836
|
-
} else {
|
|
86837
|
-
const TypedArrayType = getConstructorForDataFormat(valueType);
|
|
86838
|
-
value = new TypedArrayType(buffer, 0, count * valuesPerElement);
|
|
86839
|
-
}
|
|
86840
|
-
attributes[attribute] = {
|
|
86841
|
-
value,
|
|
86842
|
-
type: GL_TYPE_MAP[valueType],
|
|
86843
|
-
size: valuesPerElement
|
|
86844
|
-
};
|
|
86845
|
-
switch (attribute) {
|
|
86846
|
-
case "color":
|
|
86847
|
-
attributes.color.normalized = true;
|
|
86848
|
-
break;
|
|
86849
|
-
case "position":
|
|
86850
|
-
case "region":
|
|
86851
|
-
case "normal":
|
|
86852
|
-
default:
|
|
86853
|
-
}
|
|
86854
|
-
byteOffset = byteOffset + count * valuesPerElement * sizeOf(valueType);
|
|
86855
86770
|
}
|
|
86856
86771
|
}
|
|
86857
86772
|
return { attributes, byteOffset };
|
|
@@ -86876,8 +86791,8 @@ function parsePositions2(attribute, tile) {
|
|
|
86876
86791
|
const enuMatrix = new import_core26.Matrix4();
|
|
86877
86792
|
const cartographicOrigin = new import_core26.Vector3(mbs[0], mbs[1], mbs[2]);
|
|
86878
86793
|
const cartesianOrigin = new import_core26.Vector3();
|
|
86879
|
-
|
|
86880
|
-
|
|
86794
|
+
import_geospatial11.Ellipsoid.WGS84.cartographicToCartesian(cartographicOrigin, cartesianOrigin);
|
|
86795
|
+
import_geospatial11.Ellipsoid.WGS84.eastNorthUpToFixedFrame(cartesianOrigin, enuMatrix);
|
|
86881
86796
|
attribute.value = offsetsToCartesians(value, metadata, cartographicOrigin);
|
|
86882
86797
|
return enuMatrix;
|
|
86883
86798
|
}
|
|
@@ -86891,7 +86806,7 @@ function offsetsToCartesians(vertices, metadata = {}, cartographicOrigin) {
|
|
|
86891
86806
|
positions[i + 2] = vertices[i + 2] + cartographicOrigin.z;
|
|
86892
86807
|
}
|
|
86893
86808
|
for (let i = 0; i < positions.length; i += 3) {
|
|
86894
|
-
|
|
86809
|
+
import_geospatial11.Ellipsoid.WGS84.cartographicToCartesian(positions.subarray(i, i + 3), scratchVector5);
|
|
86895
86810
|
positions[i] = scratchVector5.x;
|
|
86896
86811
|
positions[i + 1] = scratchVector5.y;
|
|
86897
86812
|
positions[i + 2] = scratchVector5.z;
|
|
@@ -87002,13 +86917,13 @@ function getFeatureIdsFromFeatureIndexMetadata(featureIndex) {
|
|
|
87002
86917
|
}
|
|
87003
86918
|
|
|
87004
86919
|
// ../i3s/src/i3s-content-loader.ts
|
|
87005
|
-
var
|
|
86920
|
+
var VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
87006
86921
|
var I3SContentLoader = {
|
|
87007
86922
|
name: "I3S Content (Indexed Scene Layers)",
|
|
87008
86923
|
id: "i3s-content",
|
|
87009
86924
|
module: "i3s",
|
|
87010
86925
|
worker: true,
|
|
87011
|
-
version:
|
|
86926
|
+
version: VERSION12,
|
|
87012
86927
|
mimeTypes: ["application/octet-stream"],
|
|
87013
86928
|
parse: parse6,
|
|
87014
86929
|
extensions: ["bin"],
|
|
@@ -87023,11 +86938,11 @@ async function parse6(data, options, context) {
|
|
|
87023
86938
|
}
|
|
87024
86939
|
|
|
87025
86940
|
// ../i3s/src/lib/parsers/parse-i3s.ts
|
|
87026
|
-
var import_culling7 = __toModule(
|
|
87027
|
-
var
|
|
86941
|
+
var import_culling7 = __toModule(require_es58());
|
|
86942
|
+
var import_geospatial12 = __toModule(require_es57());
|
|
87028
86943
|
|
|
87029
86944
|
// ../i3s/src/i3s-node-page-loader.ts
|
|
87030
|
-
var
|
|
86945
|
+
var VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
87031
86946
|
async function parseNodePage(data) {
|
|
87032
86947
|
return JSON.parse(new TextDecoder().decode(data));
|
|
87033
86948
|
}
|
|
@@ -87035,7 +86950,7 @@ var I3SNodePageLoader = {
|
|
|
87035
86950
|
name: "I3S Node Page",
|
|
87036
86951
|
id: "i3s-node-page",
|
|
87037
86952
|
module: "i3s",
|
|
87038
|
-
version:
|
|
86953
|
+
version: VERSION13,
|
|
87039
86954
|
mimeTypes: ["application/json"],
|
|
87040
86955
|
parse: parse7,
|
|
87041
86956
|
extensions: ["json"],
|
|
@@ -87079,10 +86994,14 @@ var I3SNodePagesTiles = class {
|
|
|
87079
86994
|
async formTileFromNodePages(id) {
|
|
87080
86995
|
const node2 = await this.getNodeById(id);
|
|
87081
86996
|
const children = [];
|
|
86997
|
+
const childNodesPromises = [];
|
|
87082
86998
|
for (const child of node2.children || []) {
|
|
87083
|
-
|
|
86999
|
+
childNodesPromises.push(this.getNodeById(child));
|
|
87000
|
+
}
|
|
87001
|
+
const childNodes = await Promise.all(childNodesPromises);
|
|
87002
|
+
for (const childNode of childNodes) {
|
|
87084
87003
|
children.push({
|
|
87085
|
-
id:
|
|
87004
|
+
id: childNode.index.toString(),
|
|
87086
87005
|
obb: childNode.obb
|
|
87087
87006
|
});
|
|
87088
87007
|
}
|
|
@@ -87240,12 +87159,12 @@ function normalizeTileNonUrlData(tile) {
|
|
|
87240
87159
|
if (tile.mbs) {
|
|
87241
87160
|
mbs = tile.mbs;
|
|
87242
87161
|
boundingVolume.sphere = [
|
|
87243
|
-
...
|
|
87162
|
+
...import_geospatial12.Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)),
|
|
87244
87163
|
tile.mbs[3]
|
|
87245
87164
|
];
|
|
87246
87165
|
} else if (tile.obb) {
|
|
87247
87166
|
boundingVolume.box = [
|
|
87248
|
-
...
|
|
87167
|
+
...import_geospatial12.Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center),
|
|
87249
87168
|
...tile.obb.halfSize,
|
|
87250
87169
|
...tile.obb.quaternion
|
|
87251
87170
|
];
|
|
@@ -87265,7 +87184,7 @@ async function normalizeTilesetData(tileset, options, context) {
|
|
|
87265
87184
|
tileset.url = context.url;
|
|
87266
87185
|
if (tileset.nodePages) {
|
|
87267
87186
|
tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);
|
|
87268
|
-
tileset.root =
|
|
87187
|
+
tileset.root = tileset.nodePagesTile.formTileFromNodePages(0);
|
|
87269
87188
|
} else {
|
|
87270
87189
|
const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);
|
|
87271
87190
|
tileset.root = await load(rootNodeUrl, tileset.loader, {
|
|
@@ -87285,7 +87204,7 @@ async function normalizeTilesetData(tileset, options, context) {
|
|
|
87285
87204
|
}
|
|
87286
87205
|
|
|
87287
87206
|
// ../i3s/src/i3s-loader.ts
|
|
87288
|
-
var
|
|
87207
|
+
var VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
87289
87208
|
var TILESET_REGEX = /layers\/[0-9]+$/;
|
|
87290
87209
|
var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
87291
87210
|
var SLPK_HEX = "504b0304";
|
|
@@ -87293,7 +87212,7 @@ var I3SLoader = {
|
|
|
87293
87212
|
name: "I3S (Indexed Scene Layers)",
|
|
87294
87213
|
id: "i3s",
|
|
87295
87214
|
module: "i3s",
|
|
87296
|
-
version:
|
|
87215
|
+
version: VERSION14,
|
|
87297
87216
|
mimeTypes: ["application/octet-stream"],
|
|
87298
87217
|
parse: parseI3S,
|
|
87299
87218
|
extensions: ["bin"],
|
|
@@ -87422,12 +87341,12 @@ function parseStringsAttribute(arrayBuffer) {
|
|
|
87422
87341
|
}
|
|
87423
87342
|
|
|
87424
87343
|
// ../i3s/src/i3s-attribute-loader.ts
|
|
87425
|
-
var
|
|
87344
|
+
var VERSION15 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
87426
87345
|
var I3SAttributeLoader = {
|
|
87427
87346
|
name: "I3S Attribute",
|
|
87428
87347
|
id: "i3s-attribute",
|
|
87429
87348
|
module: "i3s",
|
|
87430
|
-
version:
|
|
87349
|
+
version: VERSION15,
|
|
87431
87350
|
mimeTypes: ["application/binary"],
|
|
87432
87351
|
parse: parse8,
|
|
87433
87352
|
extensions: ["bin"],
|
|
@@ -87441,15 +87360,15 @@ async function parse8(data, options) {
|
|
|
87441
87360
|
|
|
87442
87361
|
// src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.ts
|
|
87443
87362
|
var import_core30 = __toModule(require_es56());
|
|
87444
|
-
var
|
|
87445
|
-
var import_culling8 = __toModule(
|
|
87363
|
+
var import_geospatial13 = __toModule(require_es57());
|
|
87364
|
+
var import_culling8 = __toModule(require_es58());
|
|
87446
87365
|
function i3sObbTo3dTilesObb(i3SObb, geoidHeightModel) {
|
|
87447
87366
|
const tiles3DCenter = [
|
|
87448
87367
|
i3SObb.center[0],
|
|
87449
87368
|
i3SObb.center[1],
|
|
87450
87369
|
i3SObb.center[2] + geoidHeightModel.getHeight(i3SObb.center[1], i3SObb.center[0])
|
|
87451
87370
|
];
|
|
87452
|
-
const cartesianCenter =
|
|
87371
|
+
const cartesianCenter = import_geospatial13.Ellipsoid.WGS84.cartographicToCartesian(tiles3DCenter, new import_core30.Vector3());
|
|
87453
87372
|
const tiles3DObb = new import_culling8.OrientedBoundingBox().fromCenterHalfSizeQuaternion(cartesianCenter, i3SObb.halfSize, i3SObb.quaternion);
|
|
87454
87373
|
return [...tiles3DObb.center, ...tiles3DObb.halfAxes.toArray()];
|
|
87455
87374
|
}
|
|
@@ -87494,7 +87413,7 @@ var TILESET = () => ({
|
|
|
87494
87413
|
|
|
87495
87414
|
// src/3d-tiles-converter/helpers/b3dm-converter.ts
|
|
87496
87415
|
var import_core32 = __toModule(require_es56());
|
|
87497
|
-
var
|
|
87416
|
+
var import_geospatial14 = __toModule(require_es57());
|
|
87498
87417
|
|
|
87499
87418
|
// src/3d-tiles-converter/helpers/texture-atlas.ts
|
|
87500
87419
|
function convertTextureAtlas(texCoords, uvRegions) {
|
|
@@ -87531,18 +87450,18 @@ function normalizeRegions(regions) {
|
|
|
87531
87450
|
var Z_UP_TO_Y_UP_MATRIX = new import_core32.Matrix4([1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
|
|
87532
87451
|
var scratchVector6 = new import_core32.Vector3();
|
|
87533
87452
|
var B3dmConverter = class {
|
|
87534
|
-
async convert(
|
|
87535
|
-
|
|
87536
|
-
const gltf = await this.buildGltf(i3sTile);
|
|
87453
|
+
async convert(i3sAttributesData, featureAttributes = null) {
|
|
87454
|
+
const gltf = await this.buildGltf(i3sAttributesData);
|
|
87537
87455
|
const b3dm = encodeSync({
|
|
87538
87456
|
gltfEncoded: new Uint8Array(gltf),
|
|
87539
87457
|
type: "b3dm",
|
|
87540
|
-
featuresLength: this._getFeaturesLength(
|
|
87541
|
-
batchTable:
|
|
87458
|
+
featuresLength: this._getFeaturesLength(featureAttributes),
|
|
87459
|
+
batchTable: featureAttributes
|
|
87542
87460
|
}, Tile3DWriter);
|
|
87543
87461
|
return b3dm;
|
|
87544
87462
|
}
|
|
87545
|
-
async buildGltf(
|
|
87463
|
+
async buildGltf(i3sAttributesData) {
|
|
87464
|
+
const { tileContent, textureFormat } = i3sAttributesData;
|
|
87546
87465
|
const {
|
|
87547
87466
|
material,
|
|
87548
87467
|
attributes,
|
|
@@ -87550,9 +87469,9 @@ var B3dmConverter = class {
|
|
|
87550
87469
|
cartesianOrigin,
|
|
87551
87470
|
cartographicOrigin,
|
|
87552
87471
|
modelMatrix
|
|
87553
|
-
} =
|
|
87472
|
+
} = tileContent;
|
|
87554
87473
|
const gltfBuilder = new GLTFScenegraph();
|
|
87555
|
-
const textureIndex = await this._addI3sTextureToGltf(
|
|
87474
|
+
const textureIndex = await this._addI3sTextureToGltf(tileContent, textureFormat, gltfBuilder);
|
|
87556
87475
|
const pbrMaterialInfo = this._convertI3sMaterialToGltfMaterial(material, textureIndex);
|
|
87557
87476
|
const materialIndex = gltfBuilder.addMaterial(pbrMaterialInfo);
|
|
87558
87477
|
const positions = attributes.positions;
|
|
@@ -87568,7 +87487,8 @@ var B3dmConverter = class {
|
|
|
87568
87487
|
const meshIndex = gltfBuilder.addMesh({
|
|
87569
87488
|
attributes,
|
|
87570
87489
|
indices,
|
|
87571
|
-
material: materialIndex
|
|
87490
|
+
material: materialIndex,
|
|
87491
|
+
mode: 4
|
|
87572
87492
|
});
|
|
87573
87493
|
const transformMatrix = this._generateTransformMatrix(cartesianOrigin);
|
|
87574
87494
|
const nodeIndex = gltfBuilder.addNode({ meshIndex, matrix: transformMatrix });
|
|
@@ -87578,11 +87498,8 @@ var B3dmConverter = class {
|
|
|
87578
87498
|
const gltfBuffer = encodeSync(gltfBuilder.gltf, GLTFWriter);
|
|
87579
87499
|
return gltfBuffer;
|
|
87580
87500
|
}
|
|
87581
|
-
async _addI3sTextureToGltf(
|
|
87582
|
-
const {
|
|
87583
|
-
content: { texture, material, attributes },
|
|
87584
|
-
header: { textureFormat }
|
|
87585
|
-
} = i3sTile;
|
|
87501
|
+
async _addI3sTextureToGltf(tileContent, textureFormat, gltfBuilder) {
|
|
87502
|
+
const { texture, material, attributes } = tileContent;
|
|
87586
87503
|
let textureIndex = null;
|
|
87587
87504
|
let selectedTexture = texture;
|
|
87588
87505
|
if (!texture && material) {
|
|
@@ -87590,8 +87507,7 @@ var B3dmConverter = class {
|
|
|
87590
87507
|
}
|
|
87591
87508
|
if (selectedTexture) {
|
|
87592
87509
|
const mimeType = this._deduceMimeTypeFromFormat(textureFormat);
|
|
87593
|
-
const
|
|
87594
|
-
const imageIndex = gltfBuilder.addImage(imageBuffer, mimeType);
|
|
87510
|
+
const imageIndex = gltfBuilder.addImage(selectedTexture, mimeType);
|
|
87595
87511
|
textureIndex = gltfBuilder.addTexture({ imageIndex });
|
|
87596
87512
|
delete attributes.colors;
|
|
87597
87513
|
}
|
|
@@ -87603,7 +87519,7 @@ var B3dmConverter = class {
|
|
|
87603
87519
|
const vertex = positionsValue.subarray(index, index + 3);
|
|
87604
87520
|
const cartesianOriginVector = new import_core32.Vector3(cartesianOrigin);
|
|
87605
87521
|
let vertexVector = new import_core32.Vector3(Array.from(vertex)).transform(modelMatrix).add(cartographicOrigin);
|
|
87606
|
-
|
|
87522
|
+
import_geospatial14.Ellipsoid.WGS84.cartographicToCartesian(vertexVector, scratchVector6);
|
|
87607
87523
|
vertexVector = scratchVector6.subtract(cartesianOriginVector);
|
|
87608
87524
|
newPositionsValue.set(vertexVector, index);
|
|
87609
87525
|
}
|
|
@@ -87641,6 +87557,8 @@ var B3dmConverter = class {
|
|
|
87641
87557
|
return "image/jpeg";
|
|
87642
87558
|
case "png":
|
|
87643
87559
|
return "image/png";
|
|
87560
|
+
case "ktx2":
|
|
87561
|
+
return "image/ktx2";
|
|
87644
87562
|
default:
|
|
87645
87563
|
console.warn(`Unexpected texture format in I3S: ${format}`);
|
|
87646
87564
|
return "image/jpeg";
|
|
@@ -87717,10 +87635,23 @@ var B3dmConverter = class {
|
|
|
87717
87635
|
}
|
|
87718
87636
|
};
|
|
87719
87637
|
|
|
87638
|
+
// src/3d-tiles-attributes-worker.ts
|
|
87639
|
+
var VERSION16 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
87640
|
+
var Tile3dAttributesWorker = {
|
|
87641
|
+
id: "3d-tiles-attributes",
|
|
87642
|
+
name: "3DTiles Attributes Worker",
|
|
87643
|
+
module: "tile-converter",
|
|
87644
|
+
version: VERSION16,
|
|
87645
|
+
options: {
|
|
87646
|
+
attributes: null
|
|
87647
|
+
}
|
|
87648
|
+
};
|
|
87649
|
+
|
|
87720
87650
|
// src/3d-tiles-converter/3d-tiles-converter.ts
|
|
87721
87651
|
var I3S = "I3S";
|
|
87722
87652
|
var Tiles3DConverter = class {
|
|
87723
87653
|
constructor() {
|
|
87654
|
+
this.workerSource = {};
|
|
87724
87655
|
this.options = {};
|
|
87725
87656
|
this.tilesetPath = "";
|
|
87726
87657
|
this.vertexCounter = 0;
|
|
@@ -87728,6 +87659,7 @@ var Tiles3DConverter = class {
|
|
|
87728
87659
|
this.geoidHeightModel = null;
|
|
87729
87660
|
this.sourceTileset = null;
|
|
87730
87661
|
this.attributeStorageInfo = null;
|
|
87662
|
+
this.workerSource = {};
|
|
87731
87663
|
}
|
|
87732
87664
|
async convert(options) {
|
|
87733
87665
|
const { inputUrl, outputPath, tilesetName, maxDepth, egmFilePath } = options;
|
|
@@ -87736,10 +87668,14 @@ var Tiles3DConverter = class {
|
|
|
87736
87668
|
console.log("Loading egm file...");
|
|
87737
87669
|
this.geoidHeightModel = await load(egmFilePath, PGMLoader);
|
|
87738
87670
|
console.log("Loading egm file completed!");
|
|
87671
|
+
await this.loadWorkers();
|
|
87739
87672
|
const sourceTilesetJson = await load(inputUrl, I3SLoader, {});
|
|
87740
87673
|
this.sourceTileset = new Tileset3D(sourceTilesetJson, {
|
|
87741
|
-
loadOptions: {
|
|
87674
|
+
loadOptions: {
|
|
87675
|
+
i3s: { coordinateSystem: COORDINATE_SYSTEM.LNGLAT_OFFSETS, decodeTextures: false }
|
|
87676
|
+
}
|
|
87742
87677
|
});
|
|
87678
|
+
await this.sourceTileset.tilesetInitializationPromise;
|
|
87743
87679
|
const rootNode = this.sourceTileset.root;
|
|
87744
87680
|
if (!rootNode.header.obb) {
|
|
87745
87681
|
rootNode.header.obb = createObbFromMbs(rootNode.header.mbs);
|
|
@@ -87761,6 +87697,8 @@ var Tiles3DConverter = class {
|
|
|
87761
87697
|
const tileset = (0, import_json_map_transform8.default)({ root: rootTile }, TILESET());
|
|
87762
87698
|
await writeFile3(this.tilesetPath, JSON.stringify(tileset), "tileset.json");
|
|
87763
87699
|
this._finishConversion({ slpk: false, outputPath, tilesetName });
|
|
87700
|
+
const workerFarm = WorkerFarm.getWorkerFarm({});
|
|
87701
|
+
workerFarm.destroy();
|
|
87764
87702
|
}
|
|
87765
87703
|
async _addChildren(parentSourceNode, parentNode, level) {
|
|
87766
87704
|
if (this.options.maxDepth && level > this.options.maxDepth) {
|
|
@@ -87772,9 +87710,9 @@ var Tiles3DConverter = class {
|
|
|
87772
87710
|
if (sourceChild.contentUrl) {
|
|
87773
87711
|
await this.sourceTileset._loadTile(sourceChild);
|
|
87774
87712
|
this.vertexCounter += sourceChild.content.vertexCount;
|
|
87775
|
-
let
|
|
87713
|
+
let featureAttributes = null;
|
|
87776
87714
|
if (this.attributeStorageInfo) {
|
|
87777
|
-
|
|
87715
|
+
featureAttributes = await this._loadChildAttributes(sourceChild, this.attributeStorageInfo);
|
|
87778
87716
|
}
|
|
87779
87717
|
if (!sourceChild.header.obb) {
|
|
87780
87718
|
sourceChild.header.obb = createObbFromMbs(sourceChild.header.mbs);
|
|
@@ -87787,7 +87725,11 @@ var Tiles3DConverter = class {
|
|
|
87787
87725
|
geometricError: convertScreenThresholdToGeometricError(sourceChild),
|
|
87788
87726
|
children: []
|
|
87789
87727
|
};
|
|
87790
|
-
const
|
|
87728
|
+
const i3sAttributesData = {
|
|
87729
|
+
tileContent: sourceChild.content,
|
|
87730
|
+
textureFormat: sourceChild?.header?.textureFormat
|
|
87731
|
+
};
|
|
87732
|
+
const b3dm = await new B3dmConverter().convert(i3sAttributesData, featureAttributes);
|
|
87791
87733
|
child.content = {
|
|
87792
87734
|
uri: `${sourceChild.id}.b3dm`,
|
|
87793
87735
|
boundingVolume
|
|
@@ -87880,73 +87822,18 @@ var Tiles3DConverter = class {
|
|
|
87880
87822
|
console.log(`File(s) size: `, filesSize, " bytes");
|
|
87881
87823
|
console.log(`------------------------------------------------`);
|
|
87882
87824
|
}
|
|
87883
|
-
|
|
87884
|
-
|
|
87885
|
-
|
|
87886
|
-
|
|
87887
|
-
|
|
87888
|
-
|
|
87889
|
-
|
|
87890
|
-
module: "zip",
|
|
87891
|
-
name: "Zip Archive",
|
|
87892
|
-
version: VERSION14,
|
|
87893
|
-
extensions: ["zip"],
|
|
87894
|
-
mimeTypes: ["application/zip"],
|
|
87895
|
-
category: "archive",
|
|
87896
|
-
tests: ["PK"],
|
|
87897
|
-
options: {},
|
|
87898
|
-
parse: parseZipAsync
|
|
87899
|
-
};
|
|
87900
|
-
async function parseZipAsync(data, options = {}) {
|
|
87901
|
-
const promises = [];
|
|
87902
|
-
const fileMap = {};
|
|
87903
|
-
try {
|
|
87904
|
-
const jsZip = new import_jszip2.default();
|
|
87905
|
-
const zip = await jsZip.loadAsync(data, options);
|
|
87906
|
-
zip.forEach((relativePath, zipEntry) => {
|
|
87907
|
-
const subFilename = zipEntry.name;
|
|
87908
|
-
const promise = loadZipEntry(jsZip, subFilename, options).then((arrayBufferOrError) => {
|
|
87909
|
-
fileMap[relativePath] = arrayBufferOrError;
|
|
87910
|
-
});
|
|
87911
|
-
promises.push(promise);
|
|
87912
|
-
});
|
|
87913
|
-
await Promise.all(promises);
|
|
87914
|
-
return fileMap;
|
|
87915
|
-
} catch (error) {
|
|
87916
|
-
options.log.error(`Unable to read zip archive: ${error}`);
|
|
87917
|
-
throw error;
|
|
87918
|
-
}
|
|
87919
|
-
}
|
|
87920
|
-
async function loadZipEntry(jsZip, subFilename, options = {}) {
|
|
87921
|
-
try {
|
|
87922
|
-
const arrayBuffer = await jsZip.file(subFilename).async(options.dataType || "arraybuffer");
|
|
87923
|
-
return arrayBuffer;
|
|
87924
|
-
} catch (error) {
|
|
87925
|
-
options.log.error(`Unable to read ${subFilename} from zip archive: ${error}`);
|
|
87926
|
-
return error;
|
|
87927
|
-
}
|
|
87928
|
-
}
|
|
87929
|
-
|
|
87930
|
-
// src/deps-installer/deps-installer.js
|
|
87931
|
-
var import_path9 = __toModule(require("path"));
|
|
87932
|
-
var PGM_LINK = "https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip";
|
|
87933
|
-
var DepsInstaller = class {
|
|
87934
|
-
async install(path2 = "") {
|
|
87935
|
-
console.log('Installing "EGM2008-5" model...');
|
|
87936
|
-
const fileMap = await load(PGM_LINK, ZipLoader, {});
|
|
87937
|
-
let depsPath = process.cwd();
|
|
87938
|
-
if (path2) {
|
|
87939
|
-
depsPath = (0, import_path9.join)(depsPath, path2);
|
|
87940
|
-
}
|
|
87941
|
-
await writeFile3(depsPath, new Uint8Array(fileMap["geoids/egm2008-5.pgm"]), "egm2008-5.pgm");
|
|
87942
|
-
console.log("All dependencies were installed succesfully.");
|
|
87825
|
+
async loadWorkers() {
|
|
87826
|
+
console.log(`Loading workers source...`);
|
|
87827
|
+
const tile3dAttributesWorkerUrl = getWorkerURL(Tile3dAttributesWorker, { ...getGlobalLoaderOptions() });
|
|
87828
|
+
const sourceResponse = await fetchFile(tile3dAttributesWorkerUrl);
|
|
87829
|
+
const source = await sourceResponse.text();
|
|
87830
|
+
this.workerSource.tile3dWorkerSource = source;
|
|
87831
|
+
console.log(`Loading workers source completed!`);
|
|
87943
87832
|
}
|
|
87944
87833
|
};
|
|
87945
87834
|
// Annotate the CommonJS export names for ESM import in node:
|
|
87946
87835
|
0 && (module.exports = {
|
|
87947
|
-
DepsInstaller,
|
|
87948
87836
|
I3SConverter,
|
|
87949
|
-
NodePages,
|
|
87950
87837
|
Tiles3DConverter
|
|
87951
87838
|
});
|
|
87952
87839
|
/*!
|