@loaders.gl/i3s 3.2.7 → 3.3.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/dist.min.js +62 -55
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/arcgis-webscene-loader.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +22 -9
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +36 -38
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-node-page-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +75 -77
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/workers/i3s-content-nodejs-worker.js +10 -0
- package/dist/es5/workers/i3s-content-nodejs-worker.js.map +1 -0
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/arcgis-webscene-loader.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +14 -5
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +8 -12
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-node-page-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +35 -33
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/workers/i3s-content-nodejs-worker.js +5 -0
- package/dist/esm/workers/i3s-content-nodejs-worker.js.map +1 -0
- package/dist/i3s-building-scene-layer-loader.js +1 -1
- package/dist/i3s-content-loader.d.ts.map +1 -1
- package/dist/i3s-content-loader.js +10 -5
- package/dist/i3s-content-nodejs-worker.js +200 -0
- package/dist/i3s-content-nodejs-worker.js.map +7 -0
- package/dist/i3s-content-worker.js +56 -49
- package/dist/i3s-loader.d.ts +5 -0
- package/dist/i3s-loader.d.ts.map +1 -1
- package/dist/i3s-loader.js +6 -9
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts +2 -2
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +35 -32
- package/dist/lib/parsers/parse-i3s.d.ts +1 -1
- package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s.js +1 -1
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workers/i3s-content-nodejs-worker.d.ts +2 -0
- package/dist/workers/i3s-content-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/i3s-content-nodejs-worker.js +6 -0
- package/package.json +11 -10
- package/src/i3s-building-scene-layer-loader.ts +1 -1
- package/src/i3s-content-loader.ts +20 -7
- package/src/i3s-loader.ts +15 -12
- package/src/lib/parsers/parse-i3s-tile-content.ts +44 -41
- package/src/lib/parsers/parse-i3s.ts +1 -1
- package/src/types.ts +45 -0
- package/src/workers/i3s-content-nodejs-worker.ts +5 -0
package/dist/dist.min.js
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
var DEFAULT_VERSION, VERSION;
|
|
65
65
|
var init_version = __esm({
|
|
66
66
|
"../worker-utils/src/lib/env-utils/version.ts"() {
|
|
67
|
-
DEFAULT_VERSION = "
|
|
67
|
+
DEFAULT_VERSION = "beta";
|
|
68
68
|
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
69
69
|
if (typeof __VERSION__ === "undefined") {
|
|
70
70
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
this.worker = isBrowser2 ? this._createBrowserWorker() : this._createNodeWorker();
|
|
263
263
|
}
|
|
264
264
|
static isSupported() {
|
|
265
|
-
return typeof Worker !== "undefined" && isBrowser2 || typeof Worker2 !==
|
|
265
|
+
return typeof Worker !== "undefined" && isBrowser2 || typeof Worker2 !== "undefined" && !isBrowser2;
|
|
266
266
|
}
|
|
267
267
|
destroy() {
|
|
268
268
|
this.onMessage = NOOP;
|
|
@@ -536,7 +536,7 @@
|
|
|
536
536
|
var init_get_worker_url = __esm({
|
|
537
537
|
"../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
|
|
538
538
|
init_assert2();
|
|
539
|
-
NPM_TAG = "
|
|
539
|
+
NPM_TAG = "beta";
|
|
540
540
|
}
|
|
541
541
|
});
|
|
542
542
|
|
|
@@ -634,7 +634,7 @@
|
|
|
634
634
|
node = __toModule(require_require_utils());
|
|
635
635
|
init_assert2();
|
|
636
636
|
init_version();
|
|
637
|
-
LATEST = "
|
|
637
|
+
LATEST = "beta";
|
|
638
638
|
VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
639
639
|
loadLibraryPromises = {};
|
|
640
640
|
}
|
|
@@ -6702,6 +6702,7 @@
|
|
|
6702
6702
|
var DEFAULT_DRACO_OPTIONS, DracoLoader;
|
|
6703
6703
|
var init_draco_loader = __esm({
|
|
6704
6704
|
"../draco/src/draco-loader.ts"() {
|
|
6705
|
+
init_src();
|
|
6705
6706
|
init_version3();
|
|
6706
6707
|
DEFAULT_DRACO_OPTIONS = {
|
|
6707
6708
|
draco: {
|
|
@@ -6713,7 +6714,7 @@
|
|
|
6713
6714
|
};
|
|
6714
6715
|
DracoLoader = {
|
|
6715
6716
|
name: "Draco",
|
|
6716
|
-
id: "draco",
|
|
6717
|
+
id: isBrowser2 ? "draco" : "draco-nodejs",
|
|
6717
6718
|
module: "draco",
|
|
6718
6719
|
shapes: ["mesh"],
|
|
6719
6720
|
version: VERSION6,
|
|
@@ -7773,7 +7774,7 @@
|
|
|
7773
7774
|
var VERSION7;
|
|
7774
7775
|
var init_version4 = __esm({
|
|
7775
7776
|
"../textures/src/lib/utils/version.ts"() {
|
|
7776
|
-
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
7777
|
+
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
7777
7778
|
}
|
|
7778
7779
|
});
|
|
7779
7780
|
|
|
@@ -8406,11 +8407,12 @@
|
|
|
8406
8407
|
var BasisWorkerLoader, BasisLoader;
|
|
8407
8408
|
var init_basis_loader = __esm({
|
|
8408
8409
|
"../textures/src/basis-loader.ts"() {
|
|
8410
|
+
init_src();
|
|
8409
8411
|
init_version4();
|
|
8410
8412
|
init_parse_basis();
|
|
8411
8413
|
BasisWorkerLoader = {
|
|
8412
8414
|
name: "Basis",
|
|
8413
|
-
id: "basis",
|
|
8415
|
+
id: isBrowser2 ? "basis" : "basis-nodejs",
|
|
8414
8416
|
module: "textures",
|
|
8415
8417
|
version: VERSION7,
|
|
8416
8418
|
worker: true,
|
|
@@ -9552,29 +9554,36 @@
|
|
|
9552
9554
|
return ImageLoader;
|
|
9553
9555
|
}
|
|
9554
9556
|
}
|
|
9555
|
-
async function parseI3STileContent(arrayBuffer,
|
|
9556
|
-
|
|
9557
|
-
|
|
9558
|
-
|
|
9559
|
-
|
|
9560
|
-
|
|
9561
|
-
|
|
9557
|
+
async function parseI3STileContent(arrayBuffer, tileOptions, tilesetOptions, options, context) {
|
|
9558
|
+
const content = {
|
|
9559
|
+
attributes: {},
|
|
9560
|
+
indices: null,
|
|
9561
|
+
featureIds: [],
|
|
9562
|
+
vertexCount: 0,
|
|
9563
|
+
modelMatrix: new Matrix4(),
|
|
9564
|
+
coordinateSystem: 0,
|
|
9565
|
+
byteLength: 0,
|
|
9566
|
+
texture: null
|
|
9567
|
+
};
|
|
9568
|
+
if (tileOptions.textureUrl) {
|
|
9569
|
+
const url = getUrlWithToken(tileOptions.textureUrl, options?.i3s?.token);
|
|
9570
|
+
const loader = getLoaderForTextureFormat(tileOptions.textureFormat);
|
|
9562
9571
|
const response = await fetch(url, options?.fetch);
|
|
9563
9572
|
const arrayBuffer2 = await response.arrayBuffer();
|
|
9564
9573
|
if (options?.i3s.decodeTextures) {
|
|
9565
9574
|
if (loader === ImageLoader) {
|
|
9566
|
-
const options2 = { ...
|
|
9575
|
+
const options2 = { ...tileOptions.textureLoaderOptions, image: { type: "data" } };
|
|
9567
9576
|
try {
|
|
9568
|
-
|
|
9577
|
+
content.texture = await context.parse(arrayBuffer2, options2);
|
|
9569
9578
|
} catch (e2) {
|
|
9570
|
-
|
|
9579
|
+
content.texture = await parse(arrayBuffer2, loader, options2);
|
|
9571
9580
|
}
|
|
9572
9581
|
} else if (loader === CompressedTextureLoader || loader === BasisLoader) {
|
|
9573
|
-
let texture = await load(arrayBuffer2, loader,
|
|
9582
|
+
let texture = await load(arrayBuffer2, loader, tileOptions.textureLoaderOptions);
|
|
9574
9583
|
if (loader === BasisLoader) {
|
|
9575
9584
|
texture = texture[0];
|
|
9576
9585
|
}
|
|
9577
|
-
|
|
9586
|
+
content.texture = {
|
|
9578
9587
|
compressed: true,
|
|
9579
9588
|
mipmaps: false,
|
|
9580
9589
|
width: texture[0].width,
|
|
@@ -9583,27 +9592,23 @@
|
|
|
9583
9592
|
};
|
|
9584
9593
|
}
|
|
9585
9594
|
} else {
|
|
9586
|
-
|
|
9595
|
+
content.texture = arrayBuffer2;
|
|
9587
9596
|
}
|
|
9588
9597
|
}
|
|
9589
|
-
|
|
9590
|
-
if (
|
|
9591
|
-
|
|
9598
|
+
content.material = makePbrMaterial(tileOptions.materialDefinition, content.texture);
|
|
9599
|
+
if (content.material) {
|
|
9600
|
+
content.texture = null;
|
|
9592
9601
|
}
|
|
9593
|
-
return await parseI3SNodeGeometry(arrayBuffer,
|
|
9602
|
+
return await parseI3SNodeGeometry(arrayBuffer, content, tileOptions, tilesetOptions, options);
|
|
9594
9603
|
}
|
|
9595
|
-
async function parseI3SNodeGeometry(arrayBuffer,
|
|
9596
|
-
if (!tile.content) {
|
|
9597
|
-
return tile;
|
|
9598
|
-
}
|
|
9599
|
-
const content = tile.content;
|
|
9604
|
+
async function parseI3SNodeGeometry(arrayBuffer, content, tileOptions, tilesetOptions, options) {
|
|
9600
9605
|
const contentByteLength = arrayBuffer.byteLength;
|
|
9601
9606
|
let attributes;
|
|
9602
9607
|
let vertexCount;
|
|
9603
9608
|
let byteOffset = 0;
|
|
9604
9609
|
let featureCount = 0;
|
|
9605
9610
|
let indices;
|
|
9606
|
-
if (
|
|
9611
|
+
if (tileOptions.isDracoGeometry) {
|
|
9607
9612
|
const decompressedGeometry = await parse(arrayBuffer, DracoLoader2, {
|
|
9608
9613
|
draco: {
|
|
9609
9614
|
attributeNameEntry: I3S_ATTRIBUTE_TYPE
|
|
@@ -9638,8 +9643,8 @@
|
|
|
9638
9643
|
ordering: attributesOrder,
|
|
9639
9644
|
featureAttributes,
|
|
9640
9645
|
featureAttributeOrder
|
|
9641
|
-
} =
|
|
9642
|
-
const headers = parseHeaders(
|
|
9646
|
+
} = tilesetOptions.store.defaultGeometrySchema;
|
|
9647
|
+
const headers = parseHeaders(arrayBuffer, tilesetOptions);
|
|
9643
9648
|
byteOffset = headers.byteOffset;
|
|
9644
9649
|
vertexCount = headers.vertexCount;
|
|
9645
9650
|
featureCount = headers.featureCount;
|
|
@@ -9649,7 +9654,7 @@
|
|
|
9649
9654
|
attributes = concatAttributes(normalizedVertexAttributes, normalizedFeatureAttributes);
|
|
9650
9655
|
}
|
|
9651
9656
|
if (!options?.i3s?.coordinateSystem || options.i3s.coordinateSystem === COORDINATE_SYSTEM.METER_OFFSETS) {
|
|
9652
|
-
const enuMatrix = parsePositions(attributes.position,
|
|
9657
|
+
const enuMatrix = parsePositions(attributes.position, tileOptions);
|
|
9653
9658
|
content.modelMatrix = enuMatrix.invert();
|
|
9654
9659
|
content.coordinateSystem = COORDINATE_SYSTEM.METER_OFFSETS;
|
|
9655
9660
|
} else {
|
|
@@ -9665,7 +9670,7 @@
|
|
|
9665
9670
|
};
|
|
9666
9671
|
content.indices = indices || null;
|
|
9667
9672
|
if (attributes.id && attributes.id.value) {
|
|
9668
|
-
|
|
9673
|
+
content.featureIds = attributes.id.value;
|
|
9669
9674
|
}
|
|
9670
9675
|
for (const attributeIndex in content.attributes) {
|
|
9671
9676
|
if (!content.attributes[attributeIndex]) {
|
|
@@ -9674,7 +9679,7 @@
|
|
|
9674
9679
|
}
|
|
9675
9680
|
content.vertexCount = vertexCount;
|
|
9676
9681
|
content.byteLength = contentByteLength;
|
|
9677
|
-
return
|
|
9682
|
+
return content;
|
|
9678
9683
|
}
|
|
9679
9684
|
function updateAttributesMetadata(attributes, decompressedGeometry) {
|
|
9680
9685
|
for (const key in decompressedGeometry.loaderData.attributes) {
|
|
@@ -9701,11 +9706,11 @@
|
|
|
9701
9706
|
attribute.normalized = true;
|
|
9702
9707
|
return attribute;
|
|
9703
9708
|
}
|
|
9704
|
-
function parseHeaders(
|
|
9709
|
+
function parseHeaders(arrayBuffer, options) {
|
|
9705
9710
|
let byteOffset = 0;
|
|
9706
9711
|
let vertexCount = 0;
|
|
9707
9712
|
let featureCount = 0;
|
|
9708
|
-
for (const { property, type } of
|
|
9713
|
+
for (const { property, type } of options.store.defaultGeometrySchema.header) {
|
|
9709
9714
|
const TypedArrayTypeHeader = getConstructorForDataFormat(type);
|
|
9710
9715
|
switch (property) {
|
|
9711
9716
|
case HeaderAttributeProperty.vertexCount:
|
|
@@ -9775,8 +9780,8 @@
|
|
|
9775
9780
|
}
|
|
9776
9781
|
return new Uint32Array(values);
|
|
9777
9782
|
}
|
|
9778
|
-
function parsePositions(attribute,
|
|
9779
|
-
const mbs =
|
|
9783
|
+
function parsePositions(attribute, options) {
|
|
9784
|
+
const mbs = options.mbs;
|
|
9780
9785
|
const value = attribute.value;
|
|
9781
9786
|
const metadata = attribute.metadata;
|
|
9782
9787
|
const enuMatrix = new Matrix4();
|
|
@@ -9925,18 +9930,23 @@
|
|
|
9925
9930
|
|
|
9926
9931
|
// src/i3s-content-loader.ts
|
|
9927
9932
|
async function parse3(data, options, context) {
|
|
9928
|
-
const { tile, tileset } = options?.i3s || {};
|
|
9929
|
-
|
|
9930
|
-
|
|
9933
|
+
const { tile, _tileOptions, tileset, _tilesetOptions } = options?.i3s || {};
|
|
9934
|
+
const tileOptions = _tileOptions || tile;
|
|
9935
|
+
const tilesetOptions = _tilesetOptions || tileset;
|
|
9936
|
+
if (!tileOptions || !tilesetOptions) {
|
|
9937
|
+
return null;
|
|
9938
|
+
}
|
|
9939
|
+
return await parseI3STileContent(data, tileOptions, tilesetOptions, options, context);
|
|
9931
9940
|
}
|
|
9932
9941
|
var VERSION9, I3SContentLoader;
|
|
9933
9942
|
var init_i3s_content_loader = __esm({
|
|
9934
9943
|
"src/i3s-content-loader.ts"() {
|
|
9944
|
+
init_src();
|
|
9935
9945
|
init_parse_i3s_tile_content();
|
|
9936
|
-
VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
9946
|
+
VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
9937
9947
|
I3SContentLoader = {
|
|
9938
9948
|
name: "I3S Content (Indexed Scene Layers)",
|
|
9939
|
-
id: "i3s-content",
|
|
9949
|
+
id: isBrowser2 ? "i3s-content" : "i3s-content-nodejs",
|
|
9940
9950
|
module: "i3s",
|
|
9941
9951
|
worker: true,
|
|
9942
9952
|
version: VERSION9,
|
|
@@ -10658,7 +10668,7 @@
|
|
|
10658
10668
|
});
|
|
10659
10669
|
|
|
10660
10670
|
// src/lib/parsers/parse-i3s.ts
|
|
10661
|
-
function normalizeTileData(tile,
|
|
10671
|
+
function normalizeTileData(tile, context) {
|
|
10662
10672
|
const url = context.url || "";
|
|
10663
10673
|
let contentUrl;
|
|
10664
10674
|
if (tile.geometryData) {
|
|
@@ -10742,7 +10752,7 @@
|
|
|
10742
10752
|
});
|
|
10743
10753
|
|
|
10744
10754
|
// src/i3s-loader.ts
|
|
10745
|
-
async function parseI3S(data, options, context) {
|
|
10755
|
+
async function parseI3S(data, options = {}, context) {
|
|
10746
10756
|
const url = context.url;
|
|
10747
10757
|
options.i3s = options.i3s || {};
|
|
10748
10758
|
const magicNumber = getMagicNumber(data);
|
|
@@ -10764,11 +10774,7 @@
|
|
|
10764
10774
|
if (isTileset) {
|
|
10765
10775
|
data = await parseTileset(data, options, context);
|
|
10766
10776
|
} else if (isTileHeader) {
|
|
10767
|
-
data = await parseTile(data,
|
|
10768
|
-
if (options.i3s.loadContent) {
|
|
10769
|
-
options.i3s.tile = data;
|
|
10770
|
-
await load(data.contentUrl, I3SLoader, options);
|
|
10771
|
-
}
|
|
10777
|
+
data = await parseTile(data, context);
|
|
10772
10778
|
} else {
|
|
10773
10779
|
data = await parseTileContent(data, options);
|
|
10774
10780
|
}
|
|
@@ -10783,9 +10789,9 @@
|
|
|
10783
10789
|
await normalizeTilesetData(tilesetJson, options, context);
|
|
10784
10790
|
return tilesetJson;
|
|
10785
10791
|
}
|
|
10786
|
-
async function parseTile(data,
|
|
10792
|
+
async function parseTile(data, context) {
|
|
10787
10793
|
data = JSON.parse(new TextDecoder().decode(data));
|
|
10788
|
-
return normalizeTileData(data,
|
|
10794
|
+
return normalizeTileData(data, context);
|
|
10789
10795
|
}
|
|
10790
10796
|
function getMagicNumber(data) {
|
|
10791
10797
|
if (data instanceof ArrayBuffer) {
|
|
@@ -10814,12 +10820,13 @@
|
|
|
10814
10820
|
extensions: ["bin"],
|
|
10815
10821
|
options: {
|
|
10816
10822
|
i3s: {
|
|
10817
|
-
loadContent: true,
|
|
10818
10823
|
token: null,
|
|
10819
10824
|
isTileset: "auto",
|
|
10820
10825
|
isTileHeader: "auto",
|
|
10821
10826
|
tile: null,
|
|
10822
10827
|
tileset: null,
|
|
10828
|
+
_tileOptions: null,
|
|
10829
|
+
_tilesetOptions: null,
|
|
10823
10830
|
useDracoGeometry: true,
|
|
10824
10831
|
useCompressedTextures: true,
|
|
10825
10832
|
decodeTextures: true,
|
|
@@ -11054,7 +11061,7 @@
|
|
|
11054
11061
|
var init_i3s_building_scene_layer_loader = __esm({
|
|
11055
11062
|
"src/i3s-building-scene-layer-loader.ts"() {
|
|
11056
11063
|
init_parse_i3s_building_scene_layer();
|
|
11057
|
-
VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
11064
|
+
VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
11058
11065
|
I3SBuildingSceneLayerLoader = {
|
|
11059
11066
|
name: "I3S Building Scene Layer",
|
|
11060
11067
|
id: "i3s-building-scene-layer",
|
|
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _parseArcgisWebscene = require("./lib/parsers/parse-arcgis-webscene");
|
|
15
15
|
|
|
16
|
-
var VERSION = typeof "3.
|
|
16
|
+
var VERSION = typeof "3.3.0-alpha.3" !== 'undefined' ? "3.3.0-alpha.3" : 'beta';
|
|
17
17
|
var ArcGisWebSceneLoader = {
|
|
18
18
|
name: 'ArcGIS Web Scene Loader',
|
|
19
19
|
id: 'arcgis-web-scene',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/arcgis-webscene-loader.ts"],"names":["VERSION","ArcGisWebSceneLoader","name","id","module","version","mimeTypes","parse","extensions","options","data"],"mappings":";;;;;;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/arcgis-webscene-loader.ts"],"names":["VERSION","ArcGisWebSceneLoader","name","id","module","version","mimeTypes","parse","extensions","options","data"],"mappings":";;;;;;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,MAAnE;AAMO,IAAMC,oBAAsC,GAAG;AACpDC,EAAAA,IAAI,EAAE,yBAD8C;AAEpDC,EAAAA,EAAE,EAAE,kBAFgD;AAGpDC,EAAAA,MAAM,EAAE,KAH4C;AAIpDC,EAAAA,OAAO,EAAEL,OAJ2C;AAKpDM,EAAAA,SAAS,EAAE,CAAC,kBAAD,CALyC;AAMpDC,EAAAA,KAAK,EAALA,KANoD;AAOpDC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAPwC;AAQpDC,EAAAA,OAAO,EAAE;AAR2C,CAA/C;;;SAeQF,K;;;;;qEAAf,iBAAqBG,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA,6CACS,wCAAcA,IAAd,CADT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {ArcGisWebSceneData} from './types';\n\nimport {parseWebscene} from './lib/parsers/parse-arcgis-webscene';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\n/**\n * Loader for ArcGis WebScene\n * Spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/\n */\nexport const ArcGisWebSceneLoader: LoaderWithParser = {\n name: 'ArcGIS Web Scene Loader',\n id: 'arcgis-web-scene',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/json'],\n parse,\n extensions: ['json'],\n options: {}\n};\n\n/**\n * Parse ArcGis webscene\n * @param data\n */\nasync function parse(data: ArrayBuffer): Promise<ArcGisWebSceneData> {\n return parseWebscene(data);\n}\n"],"file":"arcgis-webscene-loader.js"}
|
|
@@ -24,7 +24,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
24
24
|
|
|
25
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
26
26
|
|
|
27
|
-
var VERSION = typeof "3.
|
|
27
|
+
var VERSION = typeof "3.3.0-alpha.3" !== 'undefined' ? "3.3.0-alpha.3" : 'latest';
|
|
28
28
|
var EMPTY_VALUE = '';
|
|
29
29
|
var REJECTED_STATUS = 'rejected';
|
|
30
30
|
var I3SAttributeLoader = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i3s-attribute-loader.ts"],"names":["VERSION","EMPTY_VALUE","REJECTED_STATUS","I3SAttributeLoader","name","id","module","version","mimeTypes","parse","extensions","options","binary","data","loadFeatureAttributes","tile","featureId","getAttributesData","attributeStorageInfo","attributeUrls","tilesetFields","attributes","attributeLoadPromises","index","length","url","i3s","token","attributeName","attributeType","getAttributeValueType","loadOptions","promise","push","Promise","allSettled","generateAttributesByFeatureId","tileset","header","fields","attribute","hasOwnProperty","attributeValues","valueType","getFeatureIdsAttributeName","objectIdsAttribute","find","includes","objectIdsAttributeName","objectIds","value","attributeIndex","indexOf","getFeatureAttributesByIndex","featureIdIndex","attributesObject","codedValues","getAttributeCodedValues","getAttributeByIndexAndAttributeName","formatAttributeValue","attributeField","field","alias","domain","attributesName","attributeObject","status","String","replace","trim","codeValue","codedValue","code","Number"],"mappings":"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","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {load} from '@loaders.gl/core';\nimport {parseI3STileAttribute} from './lib/parsers/parse-i3s-attribute';\nimport {getUrlWithToken} from './lib/utils/url-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst EMPTY_VALUE = '';\nconst REJECTED_STATUS = 'rejected';\n/**\n * Loader for I3S attributes\n */\nexport const I3SAttributeLoader: LoaderWithParser = {\n name: 'I3S Attribute',\n id: 'i3s-attribute',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/binary'],\n parse,\n extensions: ['bin'],\n options: {},\n binary: true\n};\n\nasync function parse(data, options) {\n data = parseI3STileAttribute(data, options);\n return data;\n}\n\n/**\n * Load attributes based on feature id\n * @param {Object} tile\n * @param {number} featureId\n * @param {Object} options\n * @returns {Promise}\n */\n// eslint-disable-next-line complexity\nexport async function loadFeatureAttributes(tile, featureId, options = {}) {\n const {attributeStorageInfo, attributeUrls, tilesetFields} = getAttributesData(tile);\n\n if (!attributeStorageInfo || !attributeUrls || featureId < 0) {\n return null;\n }\n\n let attributes: object[] = [];\n const attributeLoadPromises: Promise<object>[] = [];\n\n for (let index = 0; index < attributeStorageInfo.length; index++) {\n // @ts-ignore\n const url = getUrlWithToken(attributeUrls[index], options.i3s?.token);\n const attributeName = attributeStorageInfo[index].name;\n const attributeType = getAttributeValueType(attributeStorageInfo[index]);\n const loadOptions = {...options, attributeName, attributeType};\n const promise = load(url, I3SAttributeLoader, loadOptions);\n\n attributeLoadPromises.push(promise);\n }\n try {\n attributes = await Promise.allSettled(attributeLoadPromises);\n } catch (error) {\n // do nothing\n }\n\n if (!attributes.length) {\n return null;\n }\n\n return generateAttributesByFeatureId(attributes, attributeStorageInfo, featureId, tilesetFields);\n}\n\n/**\n * Gets attributes data from tile.\n * @param tile \n * @returns \n */\nfunction getAttributesData(tile) {\n const attributeStorageInfo = tile.tileset?.tileset?.attributeStorageInfo;\n const attributeUrls = tile.header?.attributeUrls;\n const tilesetFields = tile.tileset?.tileset?.fields || [];\n\n return {attributeStorageInfo, attributeUrls, tilesetFields};\n}\n\n/**\n * Get attribute value type based on property names\n * @param {Object} attribute\n * @returns {String}\n */\nfunction getAttributeValueType(attribute) {\n if (attribute.hasOwnProperty('objectIds')) {\n return 'Oid32';\n } else if (attribute.hasOwnProperty('attributeValues')) {\n return attribute.attributeValues.valueType;\n }\n return '';\n}\n\n/**\n * Find in attributeStorageInfo attribute name responsible for feature ids list.\n * @param attributeStorageInfo \n * @returns Feature ids attribute name\n */\nfunction getFeatureIdsAttributeName(attributeStorageInfo) {\n const objectIdsAttribute = attributeStorageInfo.find(attribute => attribute.name.includes('OBJECTID'));\n\n return objectIdsAttribute?.name;\n}\n\n/**\n * Generates mapping featureId to feature attributes\n * @param {Array} attributes\n * @param {Object} attributeStorageInfo\n * @param {number} featureId\n * @returns {Object}\n */\nfunction generateAttributesByFeatureId(attributes, attributeStorageInfo, featureId, tilesetFields) {\n const objectIdsAttributeName = getFeatureIdsAttributeName(attributeStorageInfo);\n const objectIds = attributes.find((attribute) => attribute.value[objectIdsAttributeName]);\n\n if (!objectIds) {\n return null;\n }\n\n const attributeIndex = objectIds.value[objectIdsAttributeName].indexOf(featureId);\n\n if (attributeIndex < 0) {\n return null;\n }\n\n return getFeatureAttributesByIndex(attributes, attributeIndex, attributeStorageInfo, tilesetFields);\n}\n\n/**\n * Generates attribute object for feature mapping by feature id\n * @param {Array} attributes\n * @param {Number} featureIdIndex\n * @param {Object} attributeStorageInfo\n * @returns {Object}\n */\nfunction getFeatureAttributesByIndex(attributes, featureIdIndex, attributeStorageInfo, tilesetFields) {\n const attributesObject = {};\n\n for (let index = 0; index < attributeStorageInfo.length; index++) {\n const attributeName = attributeStorageInfo[index].name;\n const codedValues = getAttributeCodedValues(attributeName, tilesetFields);\n const attribute = getAttributeByIndexAndAttributeName(attributes, index, attributeName);\n attributesObject[attributeName] = formatAttributeValue(attribute, featureIdIndex, codedValues);\n }\n\n return attributesObject;\n}\n\n/**\n * Get coded values list from tileset.\n * @param attributeName \n * @param tilesetFields \n */\nfunction getAttributeCodedValues(attributeName, tilesetFields) {\n const attributeField = tilesetFields\n .find(field => field.name === attributeName || field.alias === attributeName);\n\n return attributeField?.domain?.codedValues || [];\n}\n\n/**\n * Return attribute value if it presents in atrributes list\n * @param {array} attributes\n * @param {number} index\n * @param {string} attributesName\n */\nfunction getAttributeByIndexAndAttributeName(attributes, index, attributesName) {\n const attributeObject = attributes[index];\n\n if (attributeObject.status === REJECTED_STATUS) {\n return null;\n }\n\n return attributeObject.value[attributesName];\n}\n\n/**\n * Do formatting of attribute values or return empty string.\n * @param {Array} attribute\n * @param {Number} featureIdIndex\n * @returns {String}\n */\nfunction formatAttributeValue(attribute, featureIdIndex, codedValues) {\n let value = EMPTY_VALUE;\n\n if (attribute && (featureIdIndex in attribute)) {\n // eslint-disable-next-line no-control-regex\n value = String(attribute[featureIdIndex]).replace(/\\u0000|NaN/g, '').trim();\n }\n\n // Check if coded values are existed. If so we use them.\n if (codedValues.length) {\n const codeValue = codedValues.find(codedValue => codedValue.code === Number(value));\n value = codeValue?.name || EMPTY_VALUE;\n }\n\n return value;\n}\n"],"file":"i3s-attribute-loader.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/i3s-attribute-loader.ts"],"names":["VERSION","EMPTY_VALUE","REJECTED_STATUS","I3SAttributeLoader","name","id","module","version","mimeTypes","parse","extensions","options","binary","data","loadFeatureAttributes","tile","featureId","getAttributesData","attributeStorageInfo","attributeUrls","tilesetFields","attributes","attributeLoadPromises","index","length","url","i3s","token","attributeName","attributeType","getAttributeValueType","loadOptions","promise","push","Promise","allSettled","generateAttributesByFeatureId","tileset","header","fields","attribute","hasOwnProperty","attributeValues","valueType","getFeatureIdsAttributeName","objectIdsAttribute","find","includes","objectIdsAttributeName","objectIds","value","attributeIndex","indexOf","getFeatureAttributesByIndex","featureIdIndex","attributesObject","codedValues","getAttributeCodedValues","getAttributeByIndexAndAttributeName","formatAttributeValue","attributeField","field","alias","domain","attributesName","attributeObject","status","String","replace","trim","codeValue","codedValue","code","Number"],"mappings":"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","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {load} from '@loaders.gl/core';\nimport {parseI3STileAttribute} from './lib/parsers/parse-i3s-attribute';\nimport {getUrlWithToken} from './lib/utils/url-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst EMPTY_VALUE = '';\nconst REJECTED_STATUS = 'rejected';\n/**\n * Loader for I3S attributes\n */\nexport const I3SAttributeLoader: LoaderWithParser = {\n name: 'I3S Attribute',\n id: 'i3s-attribute',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/binary'],\n parse,\n extensions: ['bin'],\n options: {},\n binary: true\n};\n\nasync function parse(data, options) {\n data = parseI3STileAttribute(data, options);\n return data;\n}\n\n/**\n * Load attributes based on feature id\n * @param {Object} tile\n * @param {number} featureId\n * @param {Object} options\n * @returns {Promise}\n */\n// eslint-disable-next-line complexity\nexport async function loadFeatureAttributes(tile, featureId, options = {}) {\n const {attributeStorageInfo, attributeUrls, tilesetFields} = getAttributesData(tile);\n\n if (!attributeStorageInfo || !attributeUrls || featureId < 0) {\n return null;\n }\n\n let attributes: object[] = [];\n const attributeLoadPromises: Promise<object>[] = [];\n\n for (let index = 0; index < attributeStorageInfo.length; index++) {\n // @ts-ignore\n const url = getUrlWithToken(attributeUrls[index], options.i3s?.token);\n const attributeName = attributeStorageInfo[index].name;\n const attributeType = getAttributeValueType(attributeStorageInfo[index]);\n const loadOptions = {...options, attributeName, attributeType};\n const promise = load(url, I3SAttributeLoader, loadOptions);\n\n attributeLoadPromises.push(promise);\n }\n try {\n attributes = await Promise.allSettled(attributeLoadPromises);\n } catch (error) {\n // do nothing\n }\n\n if (!attributes.length) {\n return null;\n }\n\n return generateAttributesByFeatureId(attributes, attributeStorageInfo, featureId, tilesetFields);\n}\n\n/**\n * Gets attributes data from tile.\n * @param tile \n * @returns \n */\nfunction getAttributesData(tile) {\n const attributeStorageInfo = tile.tileset?.tileset?.attributeStorageInfo;\n const attributeUrls = tile.header?.attributeUrls;\n const tilesetFields = tile.tileset?.tileset?.fields || [];\n\n return {attributeStorageInfo, attributeUrls, tilesetFields};\n}\n\n/**\n * Get attribute value type based on property names\n * @param {Object} attribute\n * @returns {String}\n */\nfunction getAttributeValueType(attribute) {\n if (attribute.hasOwnProperty('objectIds')) {\n return 'Oid32';\n } else if (attribute.hasOwnProperty('attributeValues')) {\n return attribute.attributeValues.valueType;\n }\n return '';\n}\n\n/**\n * Find in attributeStorageInfo attribute name responsible for feature ids list.\n * @param attributeStorageInfo \n * @returns Feature ids attribute name\n */\nfunction getFeatureIdsAttributeName(attributeStorageInfo) {\n const objectIdsAttribute = attributeStorageInfo.find(attribute => attribute.name.includes('OBJECTID'));\n\n return objectIdsAttribute?.name;\n}\n\n/**\n * Generates mapping featureId to feature attributes\n * @param {Array} attributes\n * @param {Object} attributeStorageInfo\n * @param {number} featureId\n * @returns {Object}\n */\nfunction generateAttributesByFeatureId(attributes, attributeStorageInfo, featureId, tilesetFields) {\n const objectIdsAttributeName = getFeatureIdsAttributeName(attributeStorageInfo);\n const objectIds = attributes.find((attribute) => attribute.value[objectIdsAttributeName]);\n\n if (!objectIds) {\n return null;\n }\n\n const attributeIndex = objectIds.value[objectIdsAttributeName].indexOf(featureId);\n\n if (attributeIndex < 0) {\n return null;\n }\n\n return getFeatureAttributesByIndex(attributes, attributeIndex, attributeStorageInfo, tilesetFields);\n}\n\n/**\n * Generates attribute object for feature mapping by feature id\n * @param {Array} attributes\n * @param {Number} featureIdIndex\n * @param {Object} attributeStorageInfo\n * @returns {Object}\n */\nfunction getFeatureAttributesByIndex(attributes, featureIdIndex, attributeStorageInfo, tilesetFields) {\n const attributesObject = {};\n\n for (let index = 0; index < attributeStorageInfo.length; index++) {\n const attributeName = attributeStorageInfo[index].name;\n const codedValues = getAttributeCodedValues(attributeName, tilesetFields);\n const attribute = getAttributeByIndexAndAttributeName(attributes, index, attributeName);\n attributesObject[attributeName] = formatAttributeValue(attribute, featureIdIndex, codedValues);\n }\n\n return attributesObject;\n}\n\n/**\n * Get coded values list from tileset.\n * @param attributeName \n * @param tilesetFields \n */\nfunction getAttributeCodedValues(attributeName, tilesetFields) {\n const attributeField = tilesetFields\n .find(field => field.name === attributeName || field.alias === attributeName);\n\n return attributeField?.domain?.codedValues || [];\n}\n\n/**\n * Return attribute value if it presents in atrributes list\n * @param {array} attributes\n * @param {number} index\n * @param {string} attributesName\n */\nfunction getAttributeByIndexAndAttributeName(attributes, index, attributesName) {\n const attributeObject = attributes[index];\n\n if (attributeObject.status === REJECTED_STATUS) {\n return null;\n }\n\n return attributeObject.value[attributesName];\n}\n\n/**\n * Do formatting of attribute values or return empty string.\n * @param {Array} attribute\n * @param {Number} featureIdIndex\n * @returns {String}\n */\nfunction formatAttributeValue(attribute, featureIdIndex, codedValues) {\n let value = EMPTY_VALUE;\n\n if (attribute && (featureIdIndex in attribute)) {\n // eslint-disable-next-line no-control-regex\n value = String(attribute[featureIdIndex]).replace(/\\u0000|NaN/g, '').trim();\n }\n\n // Check if coded values are existed. If so we use them.\n if (codedValues.length) {\n const codeValue = codedValues.find(codedValue => codedValue.code === Number(value));\n value = codeValue?.name || EMPTY_VALUE;\n }\n\n return value;\n}\n"],"file":"i3s-attribute-loader.js"}
|
|
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _parseI3sBuildingSceneLayer = require("./lib/parsers/parse-i3s-building-scene-layer");
|
|
15
15
|
|
|
16
|
-
var VERSION = typeof "3.
|
|
16
|
+
var VERSION = typeof "3.3.0-alpha.3" !== 'undefined' ? "3.3.0-alpha.3" : 'beta';
|
|
17
17
|
var I3SBuildingSceneLayerLoader = {
|
|
18
18
|
name: 'I3S Building Scene Layer',
|
|
19
19
|
id: 'i3s-building-scene-layer',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i3s-building-scene-layer-loader.ts"],"names":["VERSION","I3SBuildingSceneLayerLoader","name","id","module","version","mimeTypes","parse","extensions","options","data","context","url","Error"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/i3s-building-scene-layer-loader.ts"],"names":["VERSION","I3SBuildingSceneLayerLoader","name","id","module","version","mimeTypes","parse","extensions","options","data","context","url","Error"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA,IAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,MAAnE;AAIO,IAAMC,2BAA6C,GAAG;AAC3DC,EAAAA,IAAI,EAAE,0BADqD;AAE3DC,EAAAA,EAAE,EAAE,0BAFuD;AAG3DC,EAAAA,MAAM,EAAE,KAHmD;AAI3DC,EAAAA,OAAO,EAAEL,OAJkD;AAK3DM,EAAAA,SAAS,EAAE,CAAC,kBAAD,CALgD;AAM3DC,EAAAA,KAAK,EAALA,KAN2D;AAO3DC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAP+C;AAQ3DC,EAAAA,OAAO,EAAE;AARkD,CAAtD;;;SAWQF,K;;;;;qEAAf,iBACEG,IADF,EAEED,OAFF,EAGEE,OAHF;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKOA,OALP,aAKOA,OALP,eAKOA,OAAO,CAAEC,GALhB;AAAA;AAAA;AAAA;;AAAA,kBAMU,IAAIC,KAAJ,CAAU,qBAAV,CANV;;AAAA;AAAA,6CASS,yDAAwBH,IAAxB,EAA8BC,OAAO,CAACC,GAAtC,CATT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import type {LoaderWithParser, LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport type {BuildingSceneLayerTileset} from './types';\n\nimport {parseBuildingSceneLayer} from './lib/parsers/parse-i3s-building-scene-layer';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n/**\n * Loader for I3S - Building Scene Layer\n */\nexport const I3SBuildingSceneLayerLoader: LoaderWithParser = {\n name: 'I3S Building Scene Layer',\n id: 'i3s-building-scene-layer',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/json'],\n parse,\n extensions: ['json'],\n options: {}\n};\n\nasync function parse(\n data: ArrayBuffer,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<BuildingSceneLayerTileset> {\n if (!context?.url) {\n throw new Error('Url is not provided');\n }\n\n return parseBuildingSceneLayer(data, context.url);\n}\n"],"file":"i3s-building-scene-layer-loader.js"}
|
|
@@ -11,12 +11,14 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
+
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
15
|
+
|
|
14
16
|
var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
|
|
15
17
|
|
|
16
|
-
var VERSION = typeof "3.
|
|
18
|
+
var VERSION = typeof "3.3.0-alpha.3" !== 'undefined' ? "3.3.0-alpha.3" : 'beta';
|
|
17
19
|
var I3SContentLoader = {
|
|
18
20
|
name: 'I3S Content (Indexed Scene Layers)',
|
|
19
|
-
id: 'i3s-content',
|
|
21
|
+
id: _workerUtils.isBrowser ? 'i3s-content' : 'i3s-content-nodejs',
|
|
20
22
|
module: 'i3s',
|
|
21
23
|
worker: true,
|
|
22
24
|
version: VERSION,
|
|
@@ -35,20 +37,31 @@ function parse(_x, _x2, _x3) {
|
|
|
35
37
|
|
|
36
38
|
function _parse() {
|
|
37
39
|
_parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options, context) {
|
|
38
|
-
var _ref, tile, tileset;
|
|
40
|
+
var _ref, tile, _tileOptions, tileset, _tilesetOptions, tileOptions, tilesetOptions;
|
|
39
41
|
|
|
40
42
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
41
43
|
while (1) {
|
|
42
44
|
switch (_context.prev = _context.next) {
|
|
43
45
|
case 0:
|
|
44
|
-
_ref = (options === null || options === void 0 ? void 0 : options.i3s) || {}, tile = _ref.tile, tileset = _ref.tileset;
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
_ref = (options === null || options === void 0 ? void 0 : options.i3s) || {}, tile = _ref.tile, _tileOptions = _ref._tileOptions, tileset = _ref.tileset, _tilesetOptions = _ref._tilesetOptions;
|
|
47
|
+
tileOptions = _tileOptions || tile;
|
|
48
|
+
tilesetOptions = _tilesetOptions || tileset;
|
|
49
|
+
|
|
50
|
+
if (!(!tileOptions || !tilesetOptions)) {
|
|
51
|
+
_context.next = 5;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return _context.abrupt("return", null);
|
|
56
|
+
|
|
57
|
+
case 5:
|
|
58
|
+
_context.next = 7;
|
|
59
|
+
return (0, _parseI3sTileContent.parseI3STileContent)(data, tileOptions, tilesetOptions, options, context);
|
|
47
60
|
|
|
48
|
-
case
|
|
49
|
-
return _context.abrupt("return",
|
|
61
|
+
case 7:
|
|
62
|
+
return _context.abrupt("return", _context.sent);
|
|
50
63
|
|
|
51
|
-
case
|
|
64
|
+
case 8:
|
|
52
65
|
case "end":
|
|
53
66
|
return _context.stop();
|
|
54
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i3s-content-loader.ts"],"names":["VERSION","I3SContentLoader","name","id","module","worker","version","mimeTypes","parse","extensions","options","data","context","i3s","tile","tileset","
|
|
1
|
+
{"version":3,"sources":["../../src/i3s-content-loader.ts"],"names":["VERSION","I3SContentLoader","name","id","isBrowser","module","worker","version","mimeTypes","parse","extensions","options","data","context","i3s","tile","_tileOptions","tileset","_tilesetOptions","tileOptions","tilesetOptions"],"mappings":";;;;;;;;;;;;;AAAA;;AAGA;;AAMA,IAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,MAAnE;AAIO,IAAMC,gBAAkC,GAAG;AAChDC,EAAAA,IAAI,EAAE,oCAD0C;AAEhDC,EAAAA,EAAE,EAAEC,yBAAY,aAAZ,GAA4B,oBAFgB;AAGhDC,EAAAA,MAAM,EAAE,KAHwC;AAIhDC,EAAAA,MAAM,EAAE,IAJwC;AAKhDC,EAAAA,OAAO,EAAEP,OALuC;AAMhDQ,EAAAA,SAAS,EAAE,CAAC,0BAAD,CANqC;AAOhDC,EAAAA,KAAK,EAALA,KAPgD;AAQhDC,EAAAA,UAAU,EAAE,CAAC,KAAD,CARoC;AAShDC,EAAAA,OAAO,EAAE;AACP,mBAAe;AADR;AATuC,CAA3C;;;SAcQF,K;;;;;qEAAf,iBAAqBG,IAArB,EAA2BD,OAA3B,EAAuDE,OAAvD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,mBACyD,CAAAF,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEG,GAAT,KAAgB,EADzE,EACSC,IADT,QACSA,IADT,EACeC,YADf,QACeA,YADf,EAC6BC,OAD7B,QAC6BA,OAD7B,EACsCC,eADtC,QACsCA,eADtC;AAEQC,YAAAA,WAFR,GAEsBH,YAAY,IAAID,IAFtC;AAGQK,YAAAA,cAHR,GAGyBF,eAAe,IAAID,OAH5C;;AAAA,kBAIM,CAACE,WAAD,IAAgB,CAACC,cAJvB;AAAA;AAAA;AAAA;;AAAA,6CAKW,IALX;;AAAA;AAAA;AAAA,mBAOe,8CACXR,IADW,EAEXO,WAFW,EAGXC,cAHW,EAIXT,OAJW,EAKXE,OALW,CAPf;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import {isBrowser} from '@loaders.gl/worker-utils';\nimport type {LoaderWithParser, LoaderContext} from '@loaders.gl/loader-utils';\nimport type {I3SLoaderOptions} from './i3s-loader';\nimport {parseI3STileContent} from './lib/parsers/parse-i3s-tile-content';\nimport {I3STileOptions, I3STilesetOptions} from './types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SContentLoader: LoaderWithParser = {\n name: 'I3S Content (Indexed Scene Layers)',\n id: isBrowser ? 'i3s-content' : 'i3s-content-nodejs',\n module: 'i3s',\n worker: true,\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse,\n extensions: ['bin'],\n options: {\n 'i3s-content': {}\n }\n};\n\nasync function parse(data, options?: I3SLoaderOptions, context?: LoaderContext) {\n const {tile, _tileOptions, tileset, _tilesetOptions} = options?.i3s || {};\n const tileOptions = _tileOptions || tile;\n const tilesetOptions = _tilesetOptions || tileset;\n if (!tileOptions || !tilesetOptions) {\n return null;\n }\n return await parseI3STileContent(\n data,\n tileOptions as I3STileOptions,\n tilesetOptions as I3STilesetOptions,\n options,\n context\n );\n}\n"],"file":"i3s-content-loader.js"}
|