@loaders.gl/i3s 3.3.0-alpha.1 → 3.3.0-alpha.10
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 +1215 -1478
- package/dist/es5/arcgis-webscene-loader.js +2 -8
- package/dist/es5/arcgis-webscene-loader.js.map +1 -1
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +19 -59
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -10
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +18 -18
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +48 -80
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -12
- package/dist/es5/i3s-node-page-loader.js.map +1 -1
- package/dist/es5/index.js +12 -18
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +18 -78
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/constants.js +3 -19
- package/dist/es5/lib/parsers/constants.js.map +1 -1
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js +128 -30
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-attribute.js +1 -23
- package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js +8 -25
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +90 -199
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +6 -37
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js +0 -7
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
- package/dist/es5/lib/utils/customizeColors.js +164 -0
- package/dist/es5/lib/utils/customizeColors.js.map +1 -0
- package/dist/es5/lib/utils/url-utils.js +3 -8
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/es5/types.js +0 -3
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/workers/i3s-content-nodejs-worker.js +7 -0
- package/dist/es5/workers/i3s-content-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/i3s-content-worker.js +0 -2
- package/dist/es5/workers/i3s-content-worker.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +3 -1
- package/dist/esm/arcgis-webscene-loader.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +9 -26
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +2 -3
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +13 -6
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +16 -24
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -2
- package/dist/esm/i3s-node-page-loader.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +2 -45
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/constants.js +2 -11
- package/dist/esm/lib/parsers/constants.js.map +1 -1
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js +50 -11
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-attribute.js +1 -8
- package/dist/esm/lib/parsers/parse-i3s-attribute.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js +1 -4
- package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +60 -104
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +16 -18
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
- package/dist/esm/lib/utils/customizeColors.js +96 -0
- package/dist/esm/lib/utils/customizeColors.js.map +1 -0
- package/dist/esm/lib/utils/url-utils.js +5 -5
- package/dist/esm/lib/utils/url-utils.js.map +1 -1
- package/dist/esm/types.js +0 -3
- 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/esm/workers/i3s-content-worker.js.map +1 -1
- package/dist/i3s-attribute-loader.d.ts +6 -0
- package/dist/i3s-attribute-loader.d.ts.map +1 -1
- package/dist/i3s-attribute-loader.js +2 -1
- package/dist/i3s-content-loader.d.ts.map +1 -1
- package/dist/i3s-content-loader.js +9 -4
- package/dist/i3s-content-nodejs-worker.js +201 -0
- package/dist/i3s-content-nodejs-worker.js.map +7 -0
- package/dist/i3s-content-worker.js +672 -1045
- package/dist/i3s-loader.d.ts +5 -0
- package/dist/i3s-loader.d.ts.map +1 -1
- package/dist/i3s-loader.js +12 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/parsers/constants.js +1 -1
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -1
- package/dist/lib/parsers/parse-arcgis-webscene.js +49 -7
- 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 +38 -33
- 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/lib/utils/customizeColors.d.ts +14 -0
- package/dist/lib/utils/customizeColors.d.ts.map +1 -0
- package/dist/lib/utils/customizeColors.js +89 -0
- package/dist/types.d.ts +265 -85
- 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 +12 -12
- package/src/i3s-attribute-loader.ts +1 -1
- package/src/i3s-content-loader.ts +19 -6
- package/src/i3s-loader.ts +22 -13
- package/src/index.ts +8 -1
- package/src/lib/parsers/constants.ts +1 -1
- package/src/lib/parsers/parse-arcgis-webscene.ts +57 -7
- package/src/lib/parsers/parse-i3s-tile-content.ts +56 -43
- package/src/lib/parsers/parse-i3s.ts +1 -1
- package/src/lib/utils/customizeColors.ts +129 -0
- package/src/types.ts +198 -3
- package/src/workers/i3s-content-nodejs-worker.ts +5 -0
package/dist/es5/i3s-loader.js
CHANGED
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.I3SLoader = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
var _core = require("@loaders.gl/core");
|
|
17
|
-
|
|
18
12
|
var _i3sContentLoader = require("./i3s-content-loader");
|
|
19
|
-
|
|
20
13
|
var _parseI3s = require("./lib/parsers/parse-i3s");
|
|
21
|
-
|
|
22
14
|
var _constants = require("./lib/parsers/constants");
|
|
23
|
-
|
|
24
|
-
var VERSION = typeof "3.3.0-alpha.1" !== 'undefined' ? "3.3.0-alpha.1" : 'latest';
|
|
15
|
+
var VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
|
|
25
16
|
var TILESET_REGEX = /layers\/[0-9]+$/;
|
|
26
17
|
var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
27
18
|
var SLPK_HEX = '504b0304';
|
|
19
|
+
var POINT_CLOUD = 'PointCloud';
|
|
28
20
|
var I3SLoader = {
|
|
29
21
|
name: 'I3S (Indexed Scene Layers)',
|
|
30
22
|
id: 'i3s',
|
|
@@ -35,105 +27,88 @@ var I3SLoader = {
|
|
|
35
27
|
extensions: ['bin'],
|
|
36
28
|
options: {
|
|
37
29
|
i3s: {
|
|
38
|
-
loadContent: true,
|
|
39
30
|
token: null,
|
|
40
31
|
isTileset: 'auto',
|
|
41
32
|
isTileHeader: 'auto',
|
|
42
33
|
tile: null,
|
|
43
34
|
tileset: null,
|
|
35
|
+
_tileOptions: null,
|
|
36
|
+
_tilesetOptions: null,
|
|
44
37
|
useDracoGeometry: true,
|
|
45
38
|
useCompressedTextures: true,
|
|
46
39
|
decodeTextures: true,
|
|
47
|
-
coordinateSystem: _constants.COORDINATE_SYSTEM.METER_OFFSETS
|
|
40
|
+
coordinateSystem: _constants.COORDINATE_SYSTEM.METER_OFFSETS,
|
|
41
|
+
colorsByAttribute: null
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
44
|
};
|
|
51
45
|
exports.I3SLoader = I3SLoader;
|
|
52
|
-
|
|
53
|
-
function parseI3S(_x, _x2, _x3) {
|
|
46
|
+
function parseI3S(_x) {
|
|
54
47
|
return _parseI3S.apply(this, arguments);
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
function _parseI3S() {
|
|
58
|
-
_parseI3S = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data
|
|
59
|
-
var
|
|
50
|
+
_parseI3S = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
|
|
51
|
+
var options,
|
|
52
|
+
context,
|
|
53
|
+
url,
|
|
54
|
+
magicNumber,
|
|
55
|
+
isTileset,
|
|
56
|
+
isTileHeader,
|
|
57
|
+
_args = arguments;
|
|
60
58
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
61
59
|
while (1) {
|
|
62
60
|
switch (_context.prev = _context.next) {
|
|
63
61
|
case 0:
|
|
62
|
+
options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
63
|
+
context = _args.length > 2 ? _args[2] : undefined;
|
|
64
64
|
url = context.url;
|
|
65
65
|
options.i3s = options.i3s || {};
|
|
66
66
|
magicNumber = getMagicNumber(data);
|
|
67
|
-
|
|
68
67
|
if (!(magicNumber === SLPK_HEX)) {
|
|
69
|
-
_context.next =
|
|
68
|
+
_context.next = 7;
|
|
70
69
|
break;
|
|
71
70
|
}
|
|
72
|
-
|
|
73
71
|
throw new Error('Files with .slpk extention currently are not supported by I3SLoader');
|
|
74
|
-
|
|
75
|
-
case 5:
|
|
72
|
+
case 7:
|
|
76
73
|
if (options.i3s.isTileset === 'auto') {
|
|
77
74
|
isTileset = TILESET_REGEX.test(url);
|
|
78
75
|
} else {
|
|
79
76
|
isTileset = options.i3s.isTileset;
|
|
80
77
|
}
|
|
81
|
-
|
|
82
78
|
if (options.isTileHeader === 'auto') {
|
|
83
79
|
isTileHeader = TILE_HEADER_REGEX.test(url);
|
|
84
80
|
} else {
|
|
85
81
|
isTileHeader = options.i3s.isTileHeader;
|
|
86
82
|
}
|
|
87
|
-
|
|
88
83
|
if (!isTileset) {
|
|
89
|
-
_context.next =
|
|
84
|
+
_context.next = 15;
|
|
90
85
|
break;
|
|
91
86
|
}
|
|
92
|
-
|
|
93
|
-
_context.next = 10;
|
|
87
|
+
_context.next = 12;
|
|
94
88
|
return parseTileset(data, options, context);
|
|
95
|
-
|
|
96
|
-
case 10:
|
|
89
|
+
case 12:
|
|
97
90
|
data = _context.sent;
|
|
98
|
-
_context.next =
|
|
91
|
+
_context.next = 24;
|
|
99
92
|
break;
|
|
100
|
-
|
|
101
|
-
case 13:
|
|
93
|
+
case 15:
|
|
102
94
|
if (!isTileHeader) {
|
|
103
|
-
_context.next = 23;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
_context.next = 16;
|
|
108
|
-
return parseTile(data, options, context);
|
|
109
|
-
|
|
110
|
-
case 16:
|
|
111
|
-
data = _context.sent;
|
|
112
|
-
|
|
113
|
-
if (!options.i3s.loadContent) {
|
|
114
95
|
_context.next = 21;
|
|
115
96
|
break;
|
|
116
97
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
case 21:
|
|
123
|
-
_context.next = 26;
|
|
98
|
+
_context.next = 18;
|
|
99
|
+
return parseTile(data, context);
|
|
100
|
+
case 18:
|
|
101
|
+
data = _context.sent;
|
|
102
|
+
_context.next = 24;
|
|
124
103
|
break;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
_context.next = 25;
|
|
104
|
+
case 21:
|
|
105
|
+
_context.next = 23;
|
|
128
106
|
return parseTileContent(data, options);
|
|
129
|
-
|
|
130
|
-
case 25:
|
|
107
|
+
case 23:
|
|
131
108
|
data = _context.sent;
|
|
132
|
-
|
|
133
|
-
case 26:
|
|
109
|
+
case 24:
|
|
134
110
|
return _context.abrupt("return", data);
|
|
135
|
-
|
|
136
|
-
case 27:
|
|
111
|
+
case 25:
|
|
137
112
|
case "end":
|
|
138
113
|
return _context.stop();
|
|
139
114
|
}
|
|
@@ -142,11 +117,9 @@ function _parseI3S() {
|
|
|
142
117
|
}));
|
|
143
118
|
return _parseI3S.apply(this, arguments);
|
|
144
119
|
}
|
|
145
|
-
|
|
146
|
-
function parseTileContent(_x4, _x5) {
|
|
120
|
+
function parseTileContent(_x2, _x3) {
|
|
147
121
|
return _parseTileContent.apply(this, arguments);
|
|
148
122
|
}
|
|
149
|
-
|
|
150
123
|
function _parseTileContent() {
|
|
151
124
|
_parseTileContent = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(arrayBuffer, options) {
|
|
152
125
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
@@ -155,10 +128,8 @@ function _parseTileContent() {
|
|
|
155
128
|
case 0:
|
|
156
129
|
_context2.next = 2;
|
|
157
130
|
return (0, _core.parse)(arrayBuffer, _i3sContentLoader.I3SContentLoader, options);
|
|
158
|
-
|
|
159
131
|
case 2:
|
|
160
132
|
return _context2.abrupt("return", _context2.sent);
|
|
161
|
-
|
|
162
133
|
case 3:
|
|
163
134
|
case "end":
|
|
164
135
|
return _context2.stop();
|
|
@@ -168,11 +139,9 @@ function _parseTileContent() {
|
|
|
168
139
|
}));
|
|
169
140
|
return _parseTileContent.apply(this, arguments);
|
|
170
141
|
}
|
|
171
|
-
|
|
172
|
-
function parseTileset(_x6, _x7, _x8) {
|
|
142
|
+
function parseTileset(_x4, _x5, _x6) {
|
|
173
143
|
return _parseTileset.apply(this, arguments);
|
|
174
144
|
}
|
|
175
|
-
|
|
176
145
|
function _parseTileset() {
|
|
177
146
|
_parseTileset = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(data, options, context) {
|
|
178
147
|
var tilesetJson;
|
|
@@ -181,14 +150,18 @@ function _parseTileset() {
|
|
|
181
150
|
switch (_context3.prev = _context3.next) {
|
|
182
151
|
case 0:
|
|
183
152
|
tilesetJson = JSON.parse(new TextDecoder().decode(data));
|
|
153
|
+
if (!((tilesetJson === null || tilesetJson === void 0 ? void 0 : tilesetJson.layerType) === POINT_CLOUD)) {
|
|
154
|
+
_context3.next = 3;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
throw new Error('Point Cloud layers currently are not supported by I3SLoader');
|
|
158
|
+
case 3:
|
|
184
159
|
tilesetJson.loader = I3SLoader;
|
|
185
|
-
_context3.next =
|
|
160
|
+
_context3.next = 6;
|
|
186
161
|
return (0, _parseI3s.normalizeTilesetData)(tilesetJson, options, context);
|
|
187
|
-
|
|
188
|
-
case 4:
|
|
162
|
+
case 6:
|
|
189
163
|
return _context3.abrupt("return", tilesetJson);
|
|
190
|
-
|
|
191
|
-
case 5:
|
|
164
|
+
case 7:
|
|
192
165
|
case "end":
|
|
193
166
|
return _context3.stop();
|
|
194
167
|
}
|
|
@@ -197,20 +170,17 @@ function _parseTileset() {
|
|
|
197
170
|
}));
|
|
198
171
|
return _parseTileset.apply(this, arguments);
|
|
199
172
|
}
|
|
200
|
-
|
|
201
|
-
function parseTile(_x9, _x10, _x11) {
|
|
173
|
+
function parseTile(_x7, _x8) {
|
|
202
174
|
return _parseTile.apply(this, arguments);
|
|
203
175
|
}
|
|
204
|
-
|
|
205
176
|
function _parseTile() {
|
|
206
|
-
_parseTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(data,
|
|
177
|
+
_parseTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(data, context) {
|
|
207
178
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
208
179
|
while (1) {
|
|
209
180
|
switch (_context4.prev = _context4.next) {
|
|
210
181
|
case 0:
|
|
211
182
|
data = JSON.parse(new TextDecoder().decode(data));
|
|
212
|
-
return _context4.abrupt("return", (0, _parseI3s.normalizeTileData)(data,
|
|
213
|
-
|
|
183
|
+
return _context4.abrupt("return", (0, _parseI3s.normalizeTileData)(data, context));
|
|
214
184
|
case 2:
|
|
215
185
|
case "end":
|
|
216
186
|
return _context4.stop();
|
|
@@ -220,14 +190,12 @@ function _parseTile() {
|
|
|
220
190
|
}));
|
|
221
191
|
return _parseTile.apply(this, arguments);
|
|
222
192
|
}
|
|
223
|
-
|
|
224
193
|
function getMagicNumber(data) {
|
|
225
194
|
if (data instanceof ArrayBuffer) {
|
|
226
195
|
return (0, _toConsumableArray2.default)(new Uint8Array(data, 0, 4)).map(function (value) {
|
|
227
196
|
return value.toString(16).padStart(2, '0');
|
|
228
197
|
}).join('');
|
|
229
198
|
}
|
|
230
|
-
|
|
231
199
|
return null;
|
|
232
200
|
}
|
|
233
201
|
//# sourceMappingURL=i3s-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"i3s-loader.js","names":["VERSION","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parse","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","colorsByAttribute","data","context","url","magicNumber","getMagicNumber","Error","test","parseTileset","parseTile","parseTileContent","arrayBuffer","I3SContentLoader","tilesetJson","JSON","TextDecoder","decode","layerType","loader","normalizeTilesetData","normalizeTileData","ArrayBuffer","Uint8Array","map","value","toString","padStart","join"],"sources":["../../src/i3s-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parse} from '@loaders.gl/core';\nimport {I3SContentLoader} from './i3s-content-loader';\nimport {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';\nimport {COORDINATE_SYSTEM} from './lib/parsers/constants';\nimport {I3SParseOptions} from './types';\nimport {LoaderOptions} from './../../loader-utils/src/types';\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';\n\nconst TILESET_REGEX = /layers\\/[0-9]+$/;\nconst TILE_HEADER_REGEX = /nodes\\/([0-9-]+|root)$/;\nconst SLPK_HEX = '504b0304';\nconst POINT_CLOUD = 'PointCloud';\n\nexport type I3SLoaderOptions = LoaderOptions & {\n i3s?: I3SParseOptions;\n};\n\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SLoader: LoaderWithParser = {\n name: 'I3S (Indexed Scene Layers)',\n id: 'i3s',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseI3S,\n extensions: ['bin'],\n options: {\n i3s: {\n token: null,\n isTileset: 'auto',\n isTileHeader: 'auto',\n tile: null,\n tileset: null,\n _tileOptions: null,\n _tilesetOptions: null,\n useDracoGeometry: true,\n useCompressedTextures: true,\n decodeTextures: true,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n colorsByAttribute: null\n }\n }\n};\n\nasync function parseI3S(data, options: I3SLoaderOptions = {}, context) {\n const url = context.url;\n options.i3s = options.i3s || {};\n const magicNumber = getMagicNumber(data);\n\n // check if file is slpk\n if (magicNumber === SLPK_HEX) {\n throw new Error('Files with .slpk extention currently are not supported by I3SLoader');\n }\n\n // auto detect file type based on url\n let isTileset;\n if (options.i3s.isTileset === 'auto') {\n isTileset = TILESET_REGEX.test(url);\n } else {\n isTileset = options.i3s.isTileset;\n }\n\n let isTileHeader;\n if (options.isTileHeader === 'auto') {\n isTileHeader = TILE_HEADER_REGEX.test(url);\n } else {\n isTileHeader = options.i3s.isTileHeader;\n }\n\n if (isTileset) {\n data = await parseTileset(data, options, context);\n } else if (isTileHeader) {\n data = await parseTile(data, context);\n } else {\n data = await parseTileContent(data, options);\n }\n\n return data;\n}\n\nasync function parseTileContent(arrayBuffer, options: I3SLoaderOptions) {\n return await parse(arrayBuffer, I3SContentLoader, options);\n}\n\nasync function parseTileset(data, options: I3SLoaderOptions, context) {\n const tilesetJson = JSON.parse(new TextDecoder().decode(data));\n\n if (tilesetJson?.layerType === POINT_CLOUD) {\n throw new Error('Point Cloud layers currently are not supported by I3SLoader');\n }\n // eslint-disable-next-line no-use-before-define\n tilesetJson.loader = I3SLoader;\n await normalizeTilesetData(tilesetJson, options, context);\n\n return tilesetJson;\n}\n\nasync function parseTile(data, context) {\n data = JSON.parse(new TextDecoder().decode(data));\n return normalizeTileData(data, context);\n}\n\nfunction getMagicNumber(data) {\n if (data instanceof ArrayBuffer) {\n // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system\n return [...new Uint8Array(data, 0, 4)]\n .map((value) => value.toString(16).padStart(2, '0'))\n .join('');\n }\n return null;\n}\n"],"mappings":"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"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.I3SNodePageLoader = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var VERSION = typeof "3.3.0-alpha.1" !== 'undefined' ? "3.3.0-alpha.1" : 'latest';
|
|
15
|
-
|
|
10
|
+
var VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
|
|
16
11
|
function parseNodePage(_x) {
|
|
17
12
|
return _parseNodePage.apply(this, arguments);
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function _parseNodePage() {
|
|
21
15
|
_parseNodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
|
|
22
16
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -24,7 +18,6 @@ function _parseNodePage() {
|
|
|
24
18
|
switch (_context.prev = _context.next) {
|
|
25
19
|
case 0:
|
|
26
20
|
return _context.abrupt("return", JSON.parse(new TextDecoder().decode(data)));
|
|
27
|
-
|
|
28
21
|
case 1:
|
|
29
22
|
case "end":
|
|
30
23
|
return _context.stop();
|
|
@@ -34,7 +27,6 @@ function _parseNodePage() {
|
|
|
34
27
|
}));
|
|
35
28
|
return _parseNodePage.apply(this, arguments);
|
|
36
29
|
}
|
|
37
|
-
|
|
38
30
|
var I3SNodePageLoader = {
|
|
39
31
|
name: 'I3S Node Page',
|
|
40
32
|
id: 'i3s-node-page',
|
|
@@ -46,11 +38,9 @@ var I3SNodePageLoader = {
|
|
|
46
38
|
options: {}
|
|
47
39
|
};
|
|
48
40
|
exports.I3SNodePageLoader = I3SNodePageLoader;
|
|
49
|
-
|
|
50
41
|
function parse(_x2) {
|
|
51
42
|
return _parse.apply(this, arguments);
|
|
52
43
|
}
|
|
53
|
-
|
|
54
44
|
function _parse() {
|
|
55
45
|
_parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(data) {
|
|
56
46
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
@@ -59,7 +49,6 @@ function _parse() {
|
|
|
59
49
|
case 0:
|
|
60
50
|
data = parseNodePage(data);
|
|
61
51
|
return _context2.abrupt("return", data);
|
|
62
|
-
|
|
63
52
|
case 2:
|
|
64
53
|
case "end":
|
|
65
54
|
return _context2.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"i3s-node-page-loader.js","names":["VERSION","parseNodePage","data","JSON","parse","TextDecoder","decode","I3SNodePageLoader","name","id","module","version","mimeTypes","extensions","options"],"sources":["../../src/i3s-node-page-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-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';\n\nasync function parseNodePage(data) {\n return JSON.parse(new TextDecoder().decode(data));\n}\n\n/**\n * Loader for I3S node pages\n */\nexport const I3SNodePageLoader: LoaderWithParser = {\n name: 'I3S Node Page',\n id: 'i3s-node-page',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/json'],\n parse,\n extensions: ['json'],\n options: {}\n};\n\nasync function parse(data) {\n data = parseNodePage(data);\n return data;\n}\n"],"mappings":";;;;;;;;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAAC,SAE7DC,aAAa;EAAA;AAAA;AAAA;EAAA,2EAA5B,iBAA6BC,IAAI;IAAA;MAAA;QAAA;UAAA;YAAA,iCACxBC,IAAI,CAACC,KAAK,CAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACJ,IAAI,CAAC,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAClD;EAAA;AAAA;AAKM,IAAMK,iBAAmC,GAAG;EACjDC,IAAI,EAAE,eAAe;EACrBC,EAAE,EAAE,eAAe;EACnBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEX,OAAO;EAChBY,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BR,KAAK,EAALA,KAAK;EACLS,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE,CAAC;AACZ,CAAC;AAAC;AAAA,SAEaV,KAAK;EAAA;AAAA;AAAA;EAAA,mEAApB,kBAAqBF,IAAI;IAAA;MAAA;QAAA;UAAA;YACvBA,IAAI,GAAGD,aAAa,CAACC,IAAI,CAAC;YAAC,kCACpBA,IAAI;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CACZ;EAAA;AAAA"}
|
package/dist/es5/index.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "ArcGisWebSceneLoader", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function get() {
|
|
9
|
-
return
|
|
9
|
+
return _arcgisWebsceneLoader.ArcGisWebSceneLoader;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "COORDINATE_SYSTEM", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function get() {
|
|
15
|
-
return
|
|
15
|
+
return _constants.COORDINATE_SYSTEM;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "I3SAttributeLoader", {
|
|
@@ -21,40 +21,34 @@ Object.defineProperty(exports, "I3SAttributeLoader", {
|
|
|
21
21
|
return _i3sAttributeLoader.I3SAttributeLoader;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
Object.defineProperty(exports, "
|
|
24
|
+
Object.defineProperty(exports, "I3SBuildingSceneLayerLoader", {
|
|
25
25
|
enumerable: true,
|
|
26
26
|
get: function get() {
|
|
27
|
-
return
|
|
27
|
+
return _i3sBuildingSceneLayerLoader.I3SBuildingSceneLayerLoader;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
-
Object.defineProperty(exports, "
|
|
30
|
+
Object.defineProperty(exports, "I3SContentLoader", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function get() {
|
|
33
|
-
return
|
|
33
|
+
return _i3sContentLoader.I3SContentLoader;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
Object.defineProperty(exports, "
|
|
36
|
+
Object.defineProperty(exports, "I3SLoader", {
|
|
37
37
|
enumerable: true,
|
|
38
38
|
get: function get() {
|
|
39
|
-
return
|
|
39
|
+
return _i3sLoader.I3SLoader;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
Object.defineProperty(exports, "
|
|
42
|
+
Object.defineProperty(exports, "loadFeatureAttributes", {
|
|
43
43
|
enumerable: true,
|
|
44
44
|
get: function get() {
|
|
45
|
-
return
|
|
45
|
+
return _i3sAttributeLoader.loadFeatureAttributes;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
|
|
49
48
|
var _i3sLoader = require("./i3s-loader");
|
|
50
|
-
|
|
51
49
|
var _i3sContentLoader = require("./i3s-content-loader");
|
|
52
|
-
|
|
53
50
|
var _i3sAttributeLoader = require("./i3s-attribute-loader");
|
|
54
|
-
|
|
55
51
|
var _i3sBuildingSceneLayerLoader = require("./i3s-building-scene-layer-loader");
|
|
56
|
-
|
|
57
52
|
var _arcgisWebsceneLoader = require("./arcgis-webscene-loader");
|
|
58
|
-
|
|
59
53
|
var _constants = require("./lib/parsers/constants");
|
|
60
54
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"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 StatisticsInfo,\n StatsInfo,\n Histogram,\n ValueCount,\n BuildingSceneSublayer,\n DATA_TYPE,\n OperationalLayer\n} from './types';\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAiCA"}
|