@loaders.gl/i3s 3.2.0-alpha.1 → 3.2.0-alpha.4
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/arcgis-webscene-loader.d.ts +7 -0
- package/dist/arcgis-webscene-loader.d.ts.map +1 -0
- package/dist/arcgis-webscene-loader.js +28 -0
- package/dist/dist.min.js +83 -7
- package/dist/es5/arcgis-webscene-loader.js +50 -0
- package/dist/es5/arcgis-webscene-loader.js.map +1 -0
- 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/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +53 -59
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js +68 -0
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +1 -0
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +10 -9
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +8 -12
- 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 +17 -0
- package/dist/esm/arcgis-webscene-loader.js.map +1 -0
- 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/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +12 -2
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js +35 -0
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +1 -0
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +2 -1
- 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/i3s-content-worker.js +23 -13
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +1 -0
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js +9 -3
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts +7 -0
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -0
- package/dist/lib/parsers/parse-arcgis-webscene.js +45 -0
- package/dist/lib/parsers/parse-i3s-tile-content.js +2 -1
- package/dist/lib/parsers/parse-i3s.js +1 -1
- package/dist/types.d.ts +272 -31
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/arcgis-webscene-loader.ts +31 -0
- package/src/index.ts +5 -1
- package/src/lib/helpers/i3s-nodepages-tiles.ts +11 -3
- package/src/lib/parsers/parse-arcgis-webscene.ts +51 -0
- package/src/lib/parsers/parse-i3s-tile-content.ts +2 -1
- package/src/lib/parsers/parse-i3s.ts +1 -1
- package/src/types.ts +284 -31
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Loader for ArcGis WebScene
|
|
4
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
5
|
+
*/
|
|
6
|
+
export declare const ArcGisWebSceneLoader: LoaderWithParser;
|
|
7
|
+
//# sourceMappingURL=arcgis-webscene-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-webscene-loader.d.ts","sourceRoot":"","sources":["../src/arcgis-webscene-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAS/D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBASlC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArcGisWebSceneLoader = void 0;
|
|
4
|
+
const parse_arcgis_webscene_1 = require("./lib/parsers/parse-arcgis-webscene");
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
|
|
8
|
+
/**
|
|
9
|
+
* Loader for ArcGis WebScene
|
|
10
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
11
|
+
*/
|
|
12
|
+
exports.ArcGisWebSceneLoader = {
|
|
13
|
+
name: 'ArcGIS Web Scene Loader',
|
|
14
|
+
id: 'arcgis-web-scene',
|
|
15
|
+
module: 'i3s',
|
|
16
|
+
version: VERSION,
|
|
17
|
+
mimeTypes: ['application/json'],
|
|
18
|
+
parse,
|
|
19
|
+
extensions: ['json'],
|
|
20
|
+
options: {}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Parse ArcGis webscene
|
|
24
|
+
* @param data
|
|
25
|
+
*/
|
|
26
|
+
async function parse(data) {
|
|
27
|
+
return (0, parse_arcgis_webscene_1.parseWebscene)(data);
|
|
28
|
+
}
|
package/dist/dist.min.js
CHANGED
|
@@ -268,7 +268,7 @@
|
|
|
268
268
|
this.worker = isBrowser2 ? this._createBrowserWorker() : this._createNodeWorker();
|
|
269
269
|
}
|
|
270
270
|
static isSupported() {
|
|
271
|
-
return typeof Worker !== "undefined" && isBrowser2;
|
|
271
|
+
return typeof Worker !== "undefined" && isBrowser2 || typeof Worker2 !== void 0;
|
|
272
272
|
}
|
|
273
273
|
destroy() {
|
|
274
274
|
this.onMessage = NOOP;
|
|
@@ -674,10 +674,12 @@
|
|
|
674
674
|
const workerFarm = WorkerFarm.getWorkerFarm(options);
|
|
675
675
|
const workerPool = workerFarm.getWorkerPool({ name, url });
|
|
676
676
|
options = JSON.parse(JSON.stringify(options));
|
|
677
|
+
context = JSON.parse(JSON.stringify(context || {}));
|
|
677
678
|
const job = await workerPool.startJob("process-on-worker", onMessage.bind(null, parseOnMainThread));
|
|
678
679
|
job.postMessage("process", {
|
|
679
680
|
input: data,
|
|
680
|
-
options
|
|
681
|
+
options,
|
|
682
|
+
context
|
|
681
683
|
});
|
|
682
684
|
const result = await job.result;
|
|
683
685
|
return await result.result;
|
|
@@ -1021,7 +1023,7 @@
|
|
|
1021
1023
|
text += ` ${await response.text()}`;
|
|
1022
1024
|
}
|
|
1023
1025
|
message += text;
|
|
1024
|
-
message = message.length > 60 ? `${message.slice(60)}...` : message;
|
|
1026
|
+
message = message.length > 60 ? `${message.slice(0, 60)}...` : message;
|
|
1025
1027
|
} catch (error) {
|
|
1026
1028
|
}
|
|
1027
1029
|
return message;
|
|
@@ -3024,6 +3026,12 @@
|
|
|
3024
3026
|
}
|
|
3025
3027
|
async function parseWithLoader(loader, data, options, context) {
|
|
3026
3028
|
validateWorkerVersion(loader);
|
|
3029
|
+
if (isResponse(data)) {
|
|
3030
|
+
const response = data;
|
|
3031
|
+
const { ok, redirected, status, statusText, type, url } = response;
|
|
3032
|
+
const headers = Object.fromEntries(response.headers.entries());
|
|
3033
|
+
context.response = { headers, ok, redirected, status, statusText, type, url };
|
|
3034
|
+
}
|
|
3027
3035
|
data = await getArrayBufferOrStringFromData(data, loader, options);
|
|
3028
3036
|
if (loader.parseTextSync && typeof data === "string") {
|
|
3029
3037
|
options.dataType = "text";
|
|
@@ -3046,6 +3054,7 @@
|
|
|
3046
3054
|
init_src();
|
|
3047
3055
|
init_src2();
|
|
3048
3056
|
init_normalize_loader();
|
|
3057
|
+
init_is_type();
|
|
3049
3058
|
init_option_utils();
|
|
3050
3059
|
init_get_data();
|
|
3051
3060
|
init_loader_context();
|
|
@@ -9594,6 +9603,7 @@
|
|
|
9594
9603
|
return tile;
|
|
9595
9604
|
}
|
|
9596
9605
|
const content = tile.content;
|
|
9606
|
+
const contentByteLength = arrayBuffer.byteLength;
|
|
9597
9607
|
let attributes;
|
|
9598
9608
|
let vertexCount;
|
|
9599
9609
|
let byteOffset = 0;
|
|
@@ -9669,7 +9679,7 @@
|
|
|
9669
9679
|
}
|
|
9670
9680
|
}
|
|
9671
9681
|
content.vertexCount = vertexCount;
|
|
9672
|
-
content.byteLength =
|
|
9682
|
+
content.byteLength = contentByteLength;
|
|
9673
9683
|
return tile;
|
|
9674
9684
|
}
|
|
9675
9685
|
function updateAttributesMetadata(attributes, decompressedGeometry) {
|
|
@@ -10492,6 +10502,7 @@
|
|
|
10492
10502
|
this.nodesPerPage = tileset.nodePages?.nodesPerPage || 64;
|
|
10493
10503
|
this.lodSelectionMetricType = tileset.nodePages?.lodSelectionMetricType;
|
|
10494
10504
|
this.options = options;
|
|
10505
|
+
this.nodesInNodePages = 0;
|
|
10495
10506
|
this.initSelectedFormatsForTextureDefinitions(tileset);
|
|
10496
10507
|
}
|
|
10497
10508
|
async getNodeById(id) {
|
|
@@ -10503,6 +10514,7 @@
|
|
|
10503
10514
|
promise: load(nodePageUrl, I3SNodePageLoader, this.options)
|
|
10504
10515
|
};
|
|
10505
10516
|
this.nodePages[pageIndex] = await this.pendingNodePages[pageIndex].promise;
|
|
10517
|
+
this.nodesInNodePages += this.nodePages[pageIndex].nodes.length;
|
|
10506
10518
|
this.pendingNodePages[pageIndex].status = "Done";
|
|
10507
10519
|
}
|
|
10508
10520
|
if (this.pendingNodePages[pageIndex].status === "Pending") {
|
|
@@ -10514,10 +10526,14 @@
|
|
|
10514
10526
|
async formTileFromNodePages(id) {
|
|
10515
10527
|
const node2 = await this.getNodeById(id);
|
|
10516
10528
|
const children = [];
|
|
10529
|
+
const childNodesPromises = [];
|
|
10517
10530
|
for (const child of node2.children || []) {
|
|
10518
|
-
|
|
10531
|
+
childNodesPromises.push(this.getNodeById(child));
|
|
10532
|
+
}
|
|
10533
|
+
const childNodes = await Promise.all(childNodesPromises);
|
|
10534
|
+
for (const childNode of childNodes) {
|
|
10519
10535
|
children.push({
|
|
10520
|
-
id:
|
|
10536
|
+
id: childNode.index.toString(),
|
|
10521
10537
|
obb: childNode.obb
|
|
10522
10538
|
});
|
|
10523
10539
|
}
|
|
@@ -10702,7 +10718,7 @@
|
|
|
10702
10718
|
tileset.url = context.url;
|
|
10703
10719
|
if (tileset.nodePages) {
|
|
10704
10720
|
tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);
|
|
10705
|
-
tileset.root =
|
|
10721
|
+
tileset.root = tileset.nodePagesTile.formTileFromNodePages(0);
|
|
10706
10722
|
} else {
|
|
10707
10723
|
const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);
|
|
10708
10724
|
tileset.root = await load(rootNodeUrl, tileset.loader, {
|
|
@@ -11058,9 +11074,68 @@
|
|
|
11058
11074
|
}
|
|
11059
11075
|
});
|
|
11060
11076
|
|
|
11077
|
+
// src/lib/parsers/parse-arcgis-webscene.ts
|
|
11078
|
+
async function parseWebscene(data) {
|
|
11079
|
+
const layer0 = JSON.parse(new TextDecoder().decode(data));
|
|
11080
|
+
const { operationalLayers } = layer0;
|
|
11081
|
+
return {
|
|
11082
|
+
header: layer0,
|
|
11083
|
+
layers: parseOperationalLayers(operationalLayers)
|
|
11084
|
+
};
|
|
11085
|
+
}
|
|
11086
|
+
function parseOperationalLayers(layersList) {
|
|
11087
|
+
let layers = [];
|
|
11088
|
+
for (let index = 0; index < layersList.length; index++) {
|
|
11089
|
+
const layer = layersList[index];
|
|
11090
|
+
if (SUPPORTED_LAYERS_TYPES.includes(layer.layerType)) {
|
|
11091
|
+
layers.push(layer);
|
|
11092
|
+
}
|
|
11093
|
+
if (layer.layers?.length) {
|
|
11094
|
+
layers = [...layers, ...parseOperationalLayers(layer.layers)];
|
|
11095
|
+
}
|
|
11096
|
+
}
|
|
11097
|
+
return layers;
|
|
11098
|
+
}
|
|
11099
|
+
var ARCGIS_SCENE_SERVER_LAYER_TYPE, BUILDING_SCENE_LAYER, INTEGRATED_MESH_LAYER, SUPPORTED_LAYERS_TYPES;
|
|
11100
|
+
var init_parse_arcgis_webscene = __esm({
|
|
11101
|
+
"src/lib/parsers/parse-arcgis-webscene.ts"() {
|
|
11102
|
+
ARCGIS_SCENE_SERVER_LAYER_TYPE = "ArcGISSceneServiceLayer";
|
|
11103
|
+
BUILDING_SCENE_LAYER = "BuildingSceneLayer";
|
|
11104
|
+
INTEGRATED_MESH_LAYER = "IntegratedMeshLayer";
|
|
11105
|
+
SUPPORTED_LAYERS_TYPES = [
|
|
11106
|
+
ARCGIS_SCENE_SERVER_LAYER_TYPE,
|
|
11107
|
+
INTEGRATED_MESH_LAYER,
|
|
11108
|
+
BUILDING_SCENE_LAYER
|
|
11109
|
+
];
|
|
11110
|
+
}
|
|
11111
|
+
});
|
|
11112
|
+
|
|
11113
|
+
// src/arcgis-webscene-loader.ts
|
|
11114
|
+
async function parse7(data) {
|
|
11115
|
+
return parseWebscene(data);
|
|
11116
|
+
}
|
|
11117
|
+
var VERSION14, ArcGisWebSceneLoader;
|
|
11118
|
+
var init_arcgis_webscene_loader = __esm({
|
|
11119
|
+
"src/arcgis-webscene-loader.ts"() {
|
|
11120
|
+
init_parse_arcgis_webscene();
|
|
11121
|
+
VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
11122
|
+
ArcGisWebSceneLoader = {
|
|
11123
|
+
name: "ArcGIS Web Scene Loader",
|
|
11124
|
+
id: "arcgis-web-scene",
|
|
11125
|
+
module: "i3s",
|
|
11126
|
+
version: VERSION14,
|
|
11127
|
+
mimeTypes: ["application/json"],
|
|
11128
|
+
parse: parse7,
|
|
11129
|
+
extensions: ["json"],
|
|
11130
|
+
options: {}
|
|
11131
|
+
};
|
|
11132
|
+
}
|
|
11133
|
+
});
|
|
11134
|
+
|
|
11061
11135
|
// src/index.ts
|
|
11062
11136
|
var src_exports = {};
|
|
11063
11137
|
__export(src_exports, {
|
|
11138
|
+
ArcGisWebSceneLoader: () => ArcGisWebSceneLoader,
|
|
11064
11139
|
COORDINATE_SYSTEM: () => COORDINATE_SYSTEM,
|
|
11065
11140
|
I3SAttributeLoader: () => I3SAttributeLoader,
|
|
11066
11141
|
I3SBuildingSceneLayerLoader: () => I3SBuildingSceneLayerLoader,
|
|
@@ -11074,6 +11149,7 @@
|
|
|
11074
11149
|
init_i3s_content_loader();
|
|
11075
11150
|
init_i3s_attribute_loader();
|
|
11076
11151
|
init_i3s_building_scene_layer_loader();
|
|
11152
|
+
init_arcgis_webscene_loader();
|
|
11077
11153
|
init_constants2();
|
|
11078
11154
|
}
|
|
11079
11155
|
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ArcGisWebSceneLoader = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _parseArcgisWebscene = require("./lib/parsers/parse-arcgis-webscene");
|
|
15
|
+
|
|
16
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'beta';
|
|
17
|
+
var ArcGisWebSceneLoader = {
|
|
18
|
+
name: 'ArcGIS Web Scene Loader',
|
|
19
|
+
id: 'arcgis-web-scene',
|
|
20
|
+
module: 'i3s',
|
|
21
|
+
version: VERSION,
|
|
22
|
+
mimeTypes: ['application/json'],
|
|
23
|
+
parse: parse,
|
|
24
|
+
extensions: ['json'],
|
|
25
|
+
options: {}
|
|
26
|
+
};
|
|
27
|
+
exports.ArcGisWebSceneLoader = ArcGisWebSceneLoader;
|
|
28
|
+
|
|
29
|
+
function parse(_x) {
|
|
30
|
+
return _parse.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function _parse() {
|
|
34
|
+
_parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
|
|
35
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
36
|
+
while (1) {
|
|
37
|
+
switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
return _context.abrupt("return", (0, _parseArcgisWebscene.parseWebscene)(data));
|
|
40
|
+
|
|
41
|
+
case 1:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context.stop();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}, _callee);
|
|
47
|
+
}));
|
|
48
|
+
return _parse.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=arcgis-webscene-loader.js.map
|
|
@@ -0,0 +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,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.2.0-alpha.
|
|
27
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'latest';
|
|
28
28
|
var EMPTY_VALUE = '';
|
|
29
29
|
var REJECTED_STATUS = 'rejected';
|
|
30
30
|
var I3SAttributeLoader = {
|
|
@@ -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.2.0-alpha.
|
|
16
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'beta';
|
|
17
17
|
var I3SBuildingSceneLayerLoader = {
|
|
18
18
|
name: 'I3S Building Scene Layer',
|
|
19
19
|
id: 'i3s-building-scene-layer',
|
|
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
|
|
15
15
|
|
|
16
|
-
var VERSION = typeof "3.2.0-alpha.
|
|
16
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'beta';
|
|
17
17
|
var I3SContentLoader = {
|
|
18
18
|
name: 'I3S Content (Indexed Scene Layers)',
|
|
19
19
|
id: 'i3s-content',
|
package/dist/es5/i3s-loader.js
CHANGED
|
@@ -21,7 +21,7 @@ var _parseI3s = require("./lib/parsers/parse-i3s");
|
|
|
21
21
|
|
|
22
22
|
var _constants = require("./lib/parsers/constants");
|
|
23
23
|
|
|
24
|
-
var VERSION = typeof "3.2.0-alpha.
|
|
24
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'latest';
|
|
25
25
|
var TILESET_REGEX = /layers\/[0-9]+$/;
|
|
26
26
|
var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
27
27
|
var SLPK_HEX = '504b0304';
|
|
@@ -11,7 +11,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
-
var VERSION = typeof "3.2.0-alpha.
|
|
14
|
+
var VERSION = typeof "3.2.0-alpha.4" !== 'undefined' ? "3.2.0-alpha.4" : 'latest';
|
|
15
15
|
|
|
16
16
|
function parseNodePage(_x) {
|
|
17
17
|
return _parseNodePage.apply(this, arguments);
|
package/dist/es5/index.js
CHANGED
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "I3SBuildingSceneLayerLoader", {
|
|
|
33
33
|
return _i3sBuildingSceneLayerLoader.I3SBuildingSceneLayerLoader;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "ArcGisWebSceneLoader", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _arcgisWebsceneLoader.ArcGisWebSceneLoader;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
Object.defineProperty(exports, "COORDINATE_SYSTEM", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function get() {
|
|
@@ -48,5 +54,7 @@ var _i3sAttributeLoader = require("./i3s-attribute-loader");
|
|
|
48
54
|
|
|
49
55
|
var _i3sBuildingSceneLayerLoader = require("./i3s-building-scene-layer-loader");
|
|
50
56
|
|
|
57
|
+
var _arcgisWebsceneLoader = require("./arcgis-webscene-loader");
|
|
58
|
+
|
|
51
59
|
var _constants = require("./lib/parsers/constants");
|
|
52
60
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AA0BA","sourcesContent":["export {I3SLoader} from './i3s-loader';\nexport {I3SContentLoader} from './i3s-content-loader';\nexport {I3SAttributeLoader, loadFeatureAttributes} from './i3s-attribute-loader';\nexport {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';\nexport {ArcGisWebSceneLoader} from './arcgis-webscene-loader';\nexport type {\n BoundingVolumes,\n Mbs,\n Obb,\n SceneLayer3D,\n AttributeStorageInfo,\n Field,\n ESRIField,\n PopupInfo,\n Node3DIndexDocument,\n LodSelection,\n NodeReference,\n Resource,\n MaxScreenThresholdSQ,\n NodeInPage,\n SharedResources,\n Attribute,\n Extent,\n FeatureAttribute,\n FieldInfo,\n I3SMaterialDefinition,\n TextureDefinitionInfo,\n MaterialDefinitionInfo,\n FullExtent\n} from './types';\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n"],"file":"index.js"}
|
|
@@ -49,11 +49,13 @@ var I3SNodePagesTiles = function () {
|
|
|
49
49
|
(0, _defineProperty2.default)(this, "options", void 0);
|
|
50
50
|
(0, _defineProperty2.default)(this, "lodSelectionMetricType", void 0);
|
|
51
51
|
(0, _defineProperty2.default)(this, "textureDefinitionsSelectedFormats", []);
|
|
52
|
+
(0, _defineProperty2.default)(this, "nodesInNodePages", void 0);
|
|
52
53
|
(0, _defineProperty2.default)(this, "textureLoaderOptions", {});
|
|
53
54
|
this.tileset = _objectSpread({}, tileset);
|
|
54
55
|
this.nodesPerPage = ((_tileset$nodePages = tileset.nodePages) === null || _tileset$nodePages === void 0 ? void 0 : _tileset$nodePages.nodesPerPage) || 64;
|
|
55
56
|
this.lodSelectionMetricType = (_tileset$nodePages2 = tileset.nodePages) === null || _tileset$nodePages2 === void 0 ? void 0 : _tileset$nodePages2.lodSelectionMetricType;
|
|
56
57
|
this.options = options;
|
|
58
|
+
this.nodesInNodePages = 0;
|
|
57
59
|
this.initSelectedFormatsForTextureDefinitions(tileset);
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -70,7 +72,7 @@ var I3SNodePagesTiles = function () {
|
|
|
70
72
|
pageIndex = Math.floor(id / this.nodesPerPage);
|
|
71
73
|
|
|
72
74
|
if (!(!this.nodePages[pageIndex] && !this.pendingNodePages[pageIndex])) {
|
|
73
|
-
_context.next =
|
|
75
|
+
_context.next = 9;
|
|
74
76
|
break;
|
|
75
77
|
}
|
|
76
78
|
|
|
@@ -84,25 +86,26 @@ var I3SNodePagesTiles = function () {
|
|
|
84
86
|
|
|
85
87
|
case 6:
|
|
86
88
|
this.nodePages[pageIndex] = _context.sent;
|
|
89
|
+
this.nodesInNodePages += this.nodePages[pageIndex].nodes.length;
|
|
87
90
|
this.pendingNodePages[pageIndex].status = 'Done';
|
|
88
91
|
|
|
89
|
-
case
|
|
92
|
+
case 9:
|
|
90
93
|
if (!(this.pendingNodePages[pageIndex].status === 'Pending')) {
|
|
91
|
-
_context.next =
|
|
94
|
+
_context.next = 13;
|
|
92
95
|
break;
|
|
93
96
|
}
|
|
94
97
|
|
|
95
|
-
_context.next =
|
|
98
|
+
_context.next = 12;
|
|
96
99
|
return this.pendingNodePages[pageIndex].promise;
|
|
97
100
|
|
|
98
|
-
case
|
|
101
|
+
case 12:
|
|
99
102
|
this.nodePages[pageIndex] = _context.sent;
|
|
100
103
|
|
|
101
|
-
case
|
|
104
|
+
case 13:
|
|
102
105
|
nodeIndex = id % this.nodesPerPage;
|
|
103
106
|
return _context.abrupt("return", this.nodePages[pageIndex].nodes[nodeIndex]);
|
|
104
107
|
|
|
105
|
-
case
|
|
108
|
+
case 15:
|
|
106
109
|
case "end":
|
|
107
110
|
return _context.stop();
|
|
108
111
|
}
|
|
@@ -120,7 +123,7 @@ var I3SNodePagesTiles = function () {
|
|
|
120
123
|
key: "formTileFromNodePages",
|
|
121
124
|
value: function () {
|
|
122
125
|
var _formTileFromNodePages = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(id) {
|
|
123
|
-
var node, children, _iterator, _step, child, childNode, contentUrl, textureUrl, materialDefinition, textureFormat, attributeUrls, isDracoGeometry, _ref, url, isDracoGeometryResult, _this$getInformationF, textureData, nodeMaterialDefinition, lodSelection;
|
|
126
|
+
var node, children, childNodesPromises, _iterator, _step, child, childNodes, _iterator2, _step2, childNode, contentUrl, textureUrl, materialDefinition, textureFormat, attributeUrls, isDracoGeometry, _ref, url, isDracoGeometryResult, _this$getInformationF, textureData, nodeMaterialDefinition, lodSelection;
|
|
124
127
|
|
|
125
128
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
126
129
|
while (1) {
|
|
@@ -132,50 +135,41 @@ var I3SNodePagesTiles = function () {
|
|
|
132
135
|
case 2:
|
|
133
136
|
node = _context2.sent;
|
|
134
137
|
children = [];
|
|
138
|
+
childNodesPromises = [];
|
|
135
139
|
_iterator = _createForOfIteratorHelper(node.children || []);
|
|
136
|
-
_context2.prev = 5;
|
|
137
|
-
|
|
138
|
-
_iterator.s();
|
|
139
140
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
try {
|
|
142
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
143
|
+
child = _step.value;
|
|
144
|
+
childNodesPromises.push(this.getNodeById(child));
|
|
145
|
+
}
|
|
146
|
+
} catch (err) {
|
|
147
|
+
_iterator.e(err);
|
|
148
|
+
} finally {
|
|
149
|
+
_iterator.f();
|
|
144
150
|
}
|
|
145
151
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return this.getNodeById(child);
|
|
152
|
+
_context2.next = 9;
|
|
153
|
+
return Promise.all(childNodesPromises);
|
|
149
154
|
|
|
150
|
-
case
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
id: child.toString(),
|
|
154
|
-
obb: childNode.obb
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
case 13:
|
|
158
|
-
_context2.next = 7;
|
|
159
|
-
break;
|
|
155
|
+
case 9:
|
|
156
|
+
childNodes = _context2.sent;
|
|
157
|
+
_iterator2 = _createForOfIteratorHelper(childNodes);
|
|
160
158
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
_iterator.f();
|
|
175
|
-
|
|
176
|
-
return _context2.finish(20);
|
|
159
|
+
try {
|
|
160
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
161
|
+
childNode = _step2.value;
|
|
162
|
+
children.push({
|
|
163
|
+
id: childNode.index.toString(),
|
|
164
|
+
obb: childNode.obb
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
} catch (err) {
|
|
168
|
+
_iterator2.e(err);
|
|
169
|
+
} finally {
|
|
170
|
+
_iterator2.f();
|
|
171
|
+
}
|
|
177
172
|
|
|
178
|
-
case 23:
|
|
179
173
|
textureFormat = 'jpg';
|
|
180
174
|
attributeUrls = [];
|
|
181
175
|
isDracoGeometry = false;
|
|
@@ -214,12 +208,12 @@ var I3SNodePagesTiles = function () {
|
|
|
214
208
|
isDracoGeometry: isDracoGeometry
|
|
215
209
|
}));
|
|
216
210
|
|
|
217
|
-
case
|
|
211
|
+
case 18:
|
|
218
212
|
case "end":
|
|
219
213
|
return _context2.stop();
|
|
220
214
|
}
|
|
221
215
|
}
|
|
222
|
-
}, _callee2, this
|
|
216
|
+
}, _callee2, this);
|
|
223
217
|
}));
|
|
224
218
|
|
|
225
219
|
function formTileFromNodePages(_x2) {
|
|
@@ -310,21 +304,21 @@ var I3SNodePagesTiles = function () {
|
|
|
310
304
|
var possibleI3sFormats = this.getSupportedTextureFormats();
|
|
311
305
|
var textureSetDefinitions = tileset.textureSetDefinitions || [];
|
|
312
306
|
|
|
313
|
-
var
|
|
314
|
-
|
|
307
|
+
var _iterator3 = _createForOfIteratorHelper(textureSetDefinitions),
|
|
308
|
+
_step3;
|
|
315
309
|
|
|
316
310
|
try {
|
|
317
|
-
for (
|
|
318
|
-
var textureSetDefinition =
|
|
311
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
312
|
+
var textureSetDefinition = _step3.value;
|
|
319
313
|
var formats = textureSetDefinition && textureSetDefinition.formats || [];
|
|
320
314
|
var selectedFormat = null;
|
|
321
315
|
|
|
322
|
-
var
|
|
323
|
-
|
|
316
|
+
var _iterator4 = _createForOfIteratorHelper(possibleI3sFormats),
|
|
317
|
+
_step4;
|
|
324
318
|
|
|
325
319
|
try {
|
|
326
320
|
var _loop = function _loop() {
|
|
327
|
-
var i3sFormat =
|
|
321
|
+
var i3sFormat = _step4.value;
|
|
328
322
|
var format = formats.find(function (value) {
|
|
329
323
|
return value.format === i3sFormat;
|
|
330
324
|
});
|
|
@@ -335,15 +329,15 @@ var I3SNodePagesTiles = function () {
|
|
|
335
329
|
}
|
|
336
330
|
};
|
|
337
331
|
|
|
338
|
-
for (
|
|
332
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
339
333
|
var _ret = _loop();
|
|
340
334
|
|
|
341
335
|
if (_ret === "break") break;
|
|
342
336
|
}
|
|
343
337
|
} catch (err) {
|
|
344
|
-
|
|
338
|
+
_iterator4.e(err);
|
|
345
339
|
} finally {
|
|
346
|
-
|
|
340
|
+
_iterator4.f();
|
|
347
341
|
}
|
|
348
342
|
|
|
349
343
|
if (selectedFormat && selectedFormat.format === 'ktx2') {
|
|
@@ -357,9 +351,9 @@ var I3SNodePagesTiles = function () {
|
|
|
357
351
|
this.textureDefinitionsSelectedFormats.push(selectedFormat);
|
|
358
352
|
}
|
|
359
353
|
} catch (err) {
|
|
360
|
-
|
|
354
|
+
_iterator3.e(err);
|
|
361
355
|
} finally {
|
|
362
|
-
|
|
356
|
+
_iterator3.f();
|
|
363
357
|
}
|
|
364
358
|
}
|
|
365
359
|
}, {
|