@loaders.gl/i3s 4.0.0-alpha.18 → 4.0.0-alpha.19
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/dist.min.js +61 -47
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-loader.js +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-slpk-loader.js +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +1 -0
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-loader.js +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-slpk-loader.js +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +1 -0
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/i3s-content-worker-node.js +47 -47
- package/dist/i3s-content-worker-node.js.map +2 -2
- package/dist/i3s-content-worker.js +46 -33
- package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s.js +1 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/lib/parsers/parse-i3s.ts +1 -0
- package/src/types.ts +3 -0
package/dist/dist.min.js
CHANGED
|
@@ -1250,32 +1250,33 @@
|
|
|
1250
1250
|
});
|
|
1251
1251
|
|
|
1252
1252
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
1253
|
-
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
1253
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
|
|
1254
1254
|
if (moduleName) {
|
|
1255
|
-
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
1255
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
1256
1256
|
}
|
|
1257
1257
|
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
1258
1258
|
return await loadLibraryPromises[libraryUrl];
|
|
1259
1259
|
}
|
|
1260
|
-
function getLibraryUrl(library, moduleName, options) {
|
|
1261
|
-
if (library.startsWith("http")) {
|
|
1260
|
+
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
1261
|
+
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
1262
1262
|
return library;
|
|
1263
1263
|
}
|
|
1264
|
+
libraryName = libraryName || library;
|
|
1264
1265
|
const modules = options.modules || {};
|
|
1265
|
-
if (modules[
|
|
1266
|
-
return modules[
|
|
1266
|
+
if (modules[libraryName]) {
|
|
1267
|
+
return modules[libraryName];
|
|
1267
1268
|
}
|
|
1268
1269
|
if (!isBrowser2) {
|
|
1269
|
-
return `modules/${moduleName}/dist/libs/${
|
|
1270
|
+
return `modules/${moduleName}/dist/libs/${libraryName}`;
|
|
1270
1271
|
}
|
|
1271
1272
|
if (options.CDN) {
|
|
1272
1273
|
assert2(options.CDN.startsWith("http"));
|
|
1273
|
-
return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${
|
|
1274
|
+
return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${libraryName}`;
|
|
1274
1275
|
}
|
|
1275
1276
|
if (isWorker) {
|
|
1276
|
-
return `../src/libs/${
|
|
1277
|
+
return `../src/libs/${libraryName}`;
|
|
1277
1278
|
}
|
|
1278
|
-
return `modules/${moduleName}/src/libs/${
|
|
1279
|
+
return `modules/${moduleName}/src/libs/${libraryName}`;
|
|
1279
1280
|
}
|
|
1280
1281
|
async function loadLibraryFromFile(libraryUrl) {
|
|
1281
1282
|
if (libraryUrl.endsWith("wasm")) {
|
|
@@ -2672,6 +2673,7 @@
|
|
|
2672
2673
|
mimeType: void 0,
|
|
2673
2674
|
nothrow: false,
|
|
2674
2675
|
log: new ConsoleLog(),
|
|
2676
|
+
useLocalLibraries: false,
|
|
2675
2677
|
CDN: "https://unpkg.com/@loaders.gl",
|
|
2676
2678
|
worker: true,
|
|
2677
2679
|
maxConcurrency: 3,
|
|
@@ -7741,13 +7743,13 @@
|
|
|
7741
7743
|
let wasmBinary;
|
|
7742
7744
|
switch (options.draco && options.draco.decoderType) {
|
|
7743
7745
|
case "js":
|
|
7744
|
-
DracoDecoderModule = await loadLibrary(
|
|
7746
|
+
DracoDecoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER], "draco", options, DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER);
|
|
7745
7747
|
break;
|
|
7746
7748
|
case "wasm":
|
|
7747
7749
|
default:
|
|
7748
7750
|
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
7749
|
-
await loadLibrary(
|
|
7750
|
-
await loadLibrary(
|
|
7751
|
+
await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER], "draco", options, DRACO_EXTERNAL_LIBRARIES.DECODER),
|
|
7752
|
+
await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM], "draco", options, DRACO_EXTERNAL_LIBRARIES.DECODER_WASM)
|
|
7751
7753
|
]);
|
|
7752
7754
|
}
|
|
7753
7755
|
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
@@ -7765,17 +7767,25 @@
|
|
|
7765
7767
|
});
|
|
7766
7768
|
});
|
|
7767
7769
|
}
|
|
7768
|
-
var DRACO_DECODER_VERSION, DRACO_ENCODER_VERSION, STATIC_DECODER_URL,
|
|
7770
|
+
var DRACO_DECODER_VERSION, DRACO_ENCODER_VERSION, STATIC_DECODER_URL, DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS, loadDecoderPromise;
|
|
7769
7771
|
var init_draco_module_loader = __esm({
|
|
7770
7772
|
"../draco/src/lib/draco-module-loader.ts"() {
|
|
7771
7773
|
init_src();
|
|
7772
7774
|
DRACO_DECODER_VERSION = "1.5.5";
|
|
7773
7775
|
DRACO_ENCODER_VERSION = "1.4.1";
|
|
7774
7776
|
STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7777
|
+
DRACO_EXTERNAL_LIBRARIES = {
|
|
7778
|
+
DECODER: "draco_wasm_wrapper.js",
|
|
7779
|
+
DECODER_WASM: "draco_decoder.wasm",
|
|
7780
|
+
FALLBACK_DECODER: "draco_decoder.js",
|
|
7781
|
+
ENCODER: "draco_encoder.js"
|
|
7782
|
+
};
|
|
7783
|
+
DRACO_EXTERNAL_LIBRARY_URLS = {
|
|
7784
|
+
[DRACO_EXTERNAL_LIBRARIES.DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER}`,
|
|
7785
|
+
[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER_WASM}`,
|
|
7786
|
+
[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER}`,
|
|
7787
|
+
[DRACO_EXTERNAL_LIBRARIES.ENCODER]: `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/${DRACO_EXTERNAL_LIBRARIES.ENCODER}`
|
|
7788
|
+
};
|
|
7779
7789
|
}
|
|
7780
7790
|
});
|
|
7781
7791
|
|
|
@@ -7823,8 +7833,8 @@
|
|
|
7823
7833
|
let BASIS = null;
|
|
7824
7834
|
let wasmBinary = null;
|
|
7825
7835
|
[BASIS, wasmBinary] = await Promise.all([
|
|
7826
|
-
await loadLibrary(
|
|
7827
|
-
await loadLibrary(
|
|
7836
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
|
|
7837
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
|
|
7828
7838
|
]);
|
|
7829
7839
|
BASIS = BASIS || globalThis.BASIS;
|
|
7830
7840
|
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
@@ -7854,8 +7864,8 @@
|
|
|
7854
7864
|
let BASIS_ENCODER = null;
|
|
7855
7865
|
let wasmBinary = null;
|
|
7856
7866
|
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
7857
|
-
await loadLibrary(
|
|
7858
|
-
await loadLibrary(
|
|
7867
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
|
|
7868
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
|
|
7859
7869
|
]);
|
|
7860
7870
|
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
7861
7871
|
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
@@ -7873,13 +7883,16 @@
|
|
|
7873
7883
|
});
|
|
7874
7884
|
});
|
|
7875
7885
|
}
|
|
7876
|
-
var
|
|
7886
|
+
var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
|
|
7877
7887
|
var init_basis_module_loader = __esm({
|
|
7878
7888
|
"../textures/src/lib/parsers/basis-module-loader.ts"() {
|
|
7879
7889
|
init_src();
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7890
|
+
BASIS_EXTERNAL_LIBRARIES = {
|
|
7891
|
+
TRANSCODER: "basis_transcoder.js",
|
|
7892
|
+
TRANSCODER_WASM: "basis_transcoder.wasm",
|
|
7893
|
+
ENCODER: "basis_encoder.js",
|
|
7894
|
+
ENCODER_WASM: "basis_encoder.wasm"
|
|
7895
|
+
};
|
|
7883
7896
|
}
|
|
7884
7897
|
});
|
|
7885
7898
|
|
|
@@ -9025,20 +9038,20 @@
|
|
|
9025
9038
|
}
|
|
9026
9039
|
return value;
|
|
9027
9040
|
}
|
|
9028
|
-
var
|
|
9041
|
+
var VERSION8, EMPTY_VALUE, REJECTED_STATUS, I3SAttributeLoader;
|
|
9029
9042
|
var init_i3s_attribute_loader = __esm({
|
|
9030
9043
|
"src/i3s-attribute-loader.ts"() {
|
|
9031
9044
|
init_src3();
|
|
9032
9045
|
init_parse_i3s_attribute();
|
|
9033
9046
|
init_url_utils2();
|
|
9034
|
-
|
|
9047
|
+
VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
9035
9048
|
EMPTY_VALUE = "";
|
|
9036
9049
|
REJECTED_STATUS = "rejected";
|
|
9037
9050
|
I3SAttributeLoader = {
|
|
9038
9051
|
name: "I3S Attribute",
|
|
9039
9052
|
id: "i3s-attribute",
|
|
9040
9053
|
module: "i3s",
|
|
9041
|
-
version:
|
|
9054
|
+
version: VERSION8,
|
|
9042
9055
|
mimeTypes: ["application/binary"],
|
|
9043
9056
|
parse: async (arrayBuffer, options) => parseI3STileAttribute(arrayBuffer, options),
|
|
9044
9057
|
extensions: ["bin"],
|
|
@@ -9521,17 +9534,17 @@
|
|
|
9521
9534
|
}
|
|
9522
9535
|
return await parseI3STileContent(data, tileOptions, tilesetOptions, options, context);
|
|
9523
9536
|
}
|
|
9524
|
-
var
|
|
9537
|
+
var VERSION9, I3SContentLoader;
|
|
9525
9538
|
var init_i3s_content_loader = __esm({
|
|
9526
9539
|
"src/i3s-content-loader.ts"() {
|
|
9527
9540
|
init_parse_i3s_tile_content();
|
|
9528
|
-
|
|
9541
|
+
VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
9529
9542
|
I3SContentLoader = {
|
|
9530
9543
|
name: "I3S Content (Indexed Scene Layers)",
|
|
9531
9544
|
id: "i3s-content",
|
|
9532
9545
|
module: "i3s",
|
|
9533
9546
|
worker: true,
|
|
9534
|
-
version:
|
|
9547
|
+
version: VERSION9,
|
|
9535
9548
|
mimeTypes: ["application/octet-stream"],
|
|
9536
9549
|
parse: parse3,
|
|
9537
9550
|
extensions: ["bin"],
|
|
@@ -10135,15 +10148,15 @@
|
|
|
10135
10148
|
async function parseNodePage(data, options) {
|
|
10136
10149
|
return JSON.parse(new TextDecoder().decode(data));
|
|
10137
10150
|
}
|
|
10138
|
-
var
|
|
10151
|
+
var VERSION10, I3SNodePageLoader;
|
|
10139
10152
|
var init_i3s_node_page_loader = __esm({
|
|
10140
10153
|
"src/i3s-node-page-loader.ts"() {
|
|
10141
|
-
|
|
10154
|
+
VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10142
10155
|
I3SNodePageLoader = {
|
|
10143
10156
|
name: "I3S Node Page",
|
|
10144
10157
|
id: "i3s-node-page",
|
|
10145
10158
|
module: "i3s",
|
|
10146
|
-
version:
|
|
10159
|
+
version: VERSION10,
|
|
10147
10160
|
mimeTypes: ["application/json"],
|
|
10148
10161
|
parse: parseNodePage,
|
|
10149
10162
|
extensions: ["json"],
|
|
@@ -10407,6 +10420,7 @@
|
|
|
10407
10420
|
}
|
|
10408
10421
|
return {
|
|
10409
10422
|
...tileset,
|
|
10423
|
+
loader: I3SLoader,
|
|
10410
10424
|
url,
|
|
10411
10425
|
basePath: url,
|
|
10412
10426
|
type: TILESET_TYPE.I3S,
|
|
@@ -10478,14 +10492,14 @@
|
|
|
10478
10492
|
}
|
|
10479
10493
|
return null;
|
|
10480
10494
|
}
|
|
10481
|
-
var
|
|
10495
|
+
var VERSION11, TILESET_REGEX, TILE_HEADER_REGEX, SLPK_HEX, POINT_CLOUD, I3SLoader;
|
|
10482
10496
|
var init_i3s_loader = __esm({
|
|
10483
10497
|
"src/i3s-loader.ts"() {
|
|
10484
10498
|
init_src3();
|
|
10485
10499
|
init_i3s_content_loader();
|
|
10486
10500
|
init_parse_i3s();
|
|
10487
10501
|
init_constants();
|
|
10488
|
-
|
|
10502
|
+
VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10489
10503
|
TILESET_REGEX = /layers\/[0-9]+$/;
|
|
10490
10504
|
TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
10491
10505
|
SLPK_HEX = "504b0304";
|
|
@@ -10494,7 +10508,7 @@
|
|
|
10494
10508
|
name: "I3S (Indexed Scene Layers)",
|
|
10495
10509
|
id: "i3s",
|
|
10496
10510
|
module: "i3s",
|
|
10497
|
-
version:
|
|
10511
|
+
version: VERSION11,
|
|
10498
10512
|
mimeTypes: ["application/octet-stream"],
|
|
10499
10513
|
parse: parseI3S,
|
|
10500
10514
|
extensions: ["bin"],
|
|
@@ -15439,17 +15453,17 @@
|
|
|
15439
15453
|
async function parseSLPK2(data, options = {}) {
|
|
15440
15454
|
return (await parseSLPK(new DataViewFileProvider(new DataView(data)))).getFile(options.slpk?.path ?? "", options.slpk?.pathMode);
|
|
15441
15455
|
}
|
|
15442
|
-
var
|
|
15456
|
+
var VERSION12, SLPKLoader;
|
|
15443
15457
|
var init_i3s_slpk_loader = __esm({
|
|
15444
15458
|
"src/i3s-slpk-loader.ts"() {
|
|
15445
15459
|
init_parse_slpk();
|
|
15446
15460
|
init_data_view_file_provider();
|
|
15447
|
-
|
|
15461
|
+
VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
15448
15462
|
SLPKLoader = {
|
|
15449
15463
|
name: "I3S SLPK (Scene Layer Package)",
|
|
15450
15464
|
id: "slpk",
|
|
15451
15465
|
module: "i3s",
|
|
15452
|
-
version:
|
|
15466
|
+
version: VERSION12,
|
|
15453
15467
|
mimeTypes: ["application/octet-stream"],
|
|
15454
15468
|
parse: parseSLPK2,
|
|
15455
15469
|
extensions: ["slpk"],
|
|
@@ -15502,16 +15516,16 @@
|
|
|
15502
15516
|
}
|
|
15503
15517
|
return parseBuildingSceneLayer(data, context.url);
|
|
15504
15518
|
}
|
|
15505
|
-
var
|
|
15519
|
+
var VERSION13, I3SBuildingSceneLayerLoader;
|
|
15506
15520
|
var init_i3s_building_scene_layer_loader = __esm({
|
|
15507
15521
|
"src/i3s-building-scene-layer-loader.ts"() {
|
|
15508
15522
|
init_parse_i3s_building_scene_layer();
|
|
15509
|
-
|
|
15523
|
+
VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
15510
15524
|
I3SBuildingSceneLayerLoader = {
|
|
15511
15525
|
name: "I3S Building Scene Layer",
|
|
15512
15526
|
id: "i3s-building-scene-layer",
|
|
15513
15527
|
module: "i3s",
|
|
15514
|
-
version:
|
|
15528
|
+
version: VERSION13,
|
|
15515
15529
|
mimeTypes: ["application/json"],
|
|
15516
15530
|
parse: parse4,
|
|
15517
15531
|
extensions: ["json"],
|
|
@@ -15592,16 +15606,16 @@
|
|
|
15592
15606
|
async function parse5(data) {
|
|
15593
15607
|
return parseWebscene(data);
|
|
15594
15608
|
}
|
|
15595
|
-
var
|
|
15609
|
+
var VERSION14, ArcGisWebSceneLoader;
|
|
15596
15610
|
var init_arcgis_webscene_loader = __esm({
|
|
15597
15611
|
"src/arcgis-webscene-loader.ts"() {
|
|
15598
15612
|
init_parse_arcgis_webscene();
|
|
15599
|
-
|
|
15613
|
+
VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
15600
15614
|
ArcGisWebSceneLoader = {
|
|
15601
15615
|
name: "ArcGIS Web Scene Loader",
|
|
15602
15616
|
id: "arcgis-web-scene",
|
|
15603
15617
|
module: "i3s",
|
|
15604
|
-
version:
|
|
15618
|
+
version: VERSION14,
|
|
15605
15619
|
mimeTypes: ["application/json"],
|
|
15606
15620
|
parse: parse5,
|
|
15607
15621
|
extensions: ["json"],
|
|
@@ -8,7 +8,7 @@ exports.ArcGisWebSceneLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseArcgisWebscene = require("./lib/parsers/parse-arcgis-webscene");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'beta';
|
|
12
12
|
var ArcGisWebSceneLoader = {
|
|
13
13
|
name: 'ArcGIS Web Scene Loader',
|
|
14
14
|
id: 'arcgis-web-scene',
|
|
@@ -15,7 +15,7 @@ var _parseI3sAttribute = require("./lib/parsers/parse-i3s-attribute");
|
|
|
15
15
|
var _urlUtils = require("./lib/utils/url-utils");
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
18
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
|
|
19
19
|
var EMPTY_VALUE = '';
|
|
20
20
|
var REJECTED_STATUS = 'rejected';
|
|
21
21
|
var I3SAttributeLoader = {
|
|
@@ -8,7 +8,7 @@ exports.I3SBuildingSceneLayerLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseI3sBuildingSceneLayer = require("./lib/parsers/parse-i3s-building-scene-layer");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'beta';
|
|
12
12
|
var I3SBuildingSceneLayerLoader = {
|
|
13
13
|
name: 'I3S Building Scene Layer',
|
|
14
14
|
id: 'i3s-building-scene-layer',
|
|
@@ -8,7 +8,7 @@ exports.I3SContentLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'beta';
|
|
12
12
|
var I3SContentLoader = {
|
|
13
13
|
name: 'I3S Content (Indexed Scene Layers)',
|
|
14
14
|
id: 'i3s-content',
|
package/dist/es5/i3s-loader.js
CHANGED
|
@@ -12,7 +12,7 @@ var _core = require("@loaders.gl/core");
|
|
|
12
12
|
var _i3sContentLoader = require("./i3s-content-loader");
|
|
13
13
|
var _parseI3s = require("./lib/parsers/parse-i3s");
|
|
14
14
|
var _constants = require("./lib/parsers/constants");
|
|
15
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
15
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
|
|
16
16
|
var TILESET_REGEX = /layers\/[0-9]+$/;
|
|
17
17
|
var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
18
18
|
var SLPK_HEX = '504b0304';
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.I3SNodePageLoader = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
10
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
|
|
11
11
|
function parseNodePage(_x, _x2) {
|
|
12
12
|
return _parseNodePage.apply(this, arguments);
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseSlpk = require("./lib/parsers/parse-slpk/parse-slpk");
|
|
11
11
|
var _dataViewFileProvider = require("./lib/parsers/parse-zip/data-view-file-provider");
|
|
12
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
12
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
|
|
13
13
|
var SLPKLoader = {
|
|
14
14
|
name: 'I3S SLPK (Scene Layer Package)',
|
|
15
15
|
id: 'slpk',
|
|
@@ -107,6 +107,7 @@ function _normalizeTilesetData() {
|
|
|
107
107
|
root = _context.sent;
|
|
108
108
|
case 12:
|
|
109
109
|
return _context.abrupt("return", _objectSpread(_objectSpread({}, tileset), {}, {
|
|
110
|
+
loader: _i3sLoader.I3SLoader,
|
|
110
111
|
url: url,
|
|
111
112
|
basePath: url,
|
|
112
113
|
type: _tiles.TILESET_TYPE.I3S,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-i3s.js","names":["_culling","require","_geospatial","_core","_tiles","_i3sNodepagesTiles","_interopRequireDefault","_urlUtils","_i3sLoader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","normalizeTileData","tile","context","url","contentUrl","geometryData","concat","href","textureUrl","textureData","attributeUrls","attributeData","generateTileAttributeUrls","children","normalizeTileNonUrlData","textureFormat","isDracoGeometry","_tile$lodSelection","_tile$lodSelection2","boundingVolume","mbs","sphere","_toConsumableArray2","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","_x","_x2","_x3","_normalizeTilesetData","_asyncToGenerator2","_regenerator","mark","_callee","tileset","options","nodePagesTile","root","_options$i3s","rootNodeUrl","wrap","_callee$","_context","prev","next","nodePages","I3SNodePagesTiles","formTileFromNodePages","sent","getUrlWithToken","i3s","token","load","I3SLoader","loadContent","isTileHeader","isTileset","abrupt","basePath","TILESET_TYPE","I3S","stop"],"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument,\n SceneLayer3D\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport { I3SLoader } from '../../i3s-loader';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n const children = tile.children || [];\n\n return normalizeTileNonUrlData({\n ...tile,\n children,\n url,\n contentUrl,\n textureUrl,\n textureFormat: 'jpg', // `jpg` format will cause `ImageLoader` usage that will be able to handle `png` as well\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : SceneLayer3D, options : LoaderOptions, context: LoaderContext): Promise<I3STilesetHeader> {\n const url = context.url;\n let nodePagesTile: I3SNodePagesTiles | undefined;\n let root: I3STileHeader;\n if (tileset.nodePages) {\n nodePagesTile = new I3SNodePagesTiles(tileset, url, options);\n root = await nodePagesTile.formTileFromNodePages(0);\n } else {\n // @ts-expect-error options is not properly typed\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n root = await load(rootNodeUrl, I3SLoader, {\n ...options,\n i3s: {\n // @ts-expect-error options is not properly typed\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n return {\n ...tileset,\n url,\n basePath: url,\n type: TILESET_TYPE.I3S,\n nodePagesTile,\n root,\n lodMetricType: root.lodMetricType,\n lodMetricValue: root.lodMetricValue\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-i3s.js","names":["_culling","require","_geospatial","_core","_tiles","_i3sNodepagesTiles","_interopRequireDefault","_urlUtils","_i3sLoader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","normalizeTileData","tile","context","url","contentUrl","geometryData","concat","href","textureUrl","textureData","attributeUrls","attributeData","generateTileAttributeUrls","children","normalizeTileNonUrlData","textureFormat","isDracoGeometry","_tile$lodSelection","_tile$lodSelection2","boundingVolume","mbs","sphere","_toConsumableArray2","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","_x","_x2","_x3","_normalizeTilesetData","_asyncToGenerator2","_regenerator","mark","_callee","tileset","options","nodePagesTile","root","_options$i3s","rootNodeUrl","wrap","_callee$","_context","prev","next","nodePages","I3SNodePagesTiles","formTileFromNodePages","sent","getUrlWithToken","i3s","token","load","I3SLoader","loadContent","isTileHeader","isTileset","abrupt","loader","basePath","TILESET_TYPE","I3S","stop"],"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument,\n SceneLayer3D\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport { I3SLoader } from '../../i3s-loader';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n const children = tile.children || [];\n\n return normalizeTileNonUrlData({\n ...tile,\n children,\n url,\n contentUrl,\n textureUrl,\n textureFormat: 'jpg', // `jpg` format will cause `ImageLoader` usage that will be able to handle `png` as well\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : SceneLayer3D, options : LoaderOptions, context: LoaderContext): Promise<I3STilesetHeader> {\n const url = context.url;\n let nodePagesTile: I3SNodePagesTiles | undefined;\n let root: I3STileHeader;\n if (tileset.nodePages) {\n nodePagesTile = new I3SNodePagesTiles(tileset, url, options);\n root = await nodePagesTile.formTileFromNodePages(0);\n } else {\n // @ts-expect-error options is not properly typed\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n root = await load(rootNodeUrl, I3SLoader, {\n ...options,\n i3s: {\n // @ts-expect-error options is not properly typed\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n return {\n ...tileset,\n loader: I3SLoader,\n url,\n basePath: url,\n type: TILESET_TYPE.I3S,\n nodePagesTile,\n root,\n lodMetricType: root.lodMetricType,\n lodMetricValue: root.lodMetricValue\n }\n}\n"],"mappings":"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"}
|