@loaders.gl/tile-converter 3.3.0-alpha.2 → 3.3.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/3d-tiles-attributes-worker.js +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +8 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.js +57 -43
- package/dist/converter.min.js +21 -21
- package/dist/deps-installer/deps-installer.d.ts +5 -1
- package/dist/deps-installer/deps-installer.d.ts.map +1 -1
- package/dist/deps-installer/deps-installer.js +21 -1
- package/dist/dist.min.js +671 -1028
- package/dist/es5/3d-tiles-attributes-worker.js +1 -1
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +115 -101
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/deps-installer/deps-installer.js +70 -6
- package/dist/es5/deps-installer/deps-installer.js.map +1 -1
- package/dist/es5/i3s-attributes-worker.js +1 -1
- package/dist/es5/i3s-attributes-worker.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +4 -0
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +153 -0
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +40 -44
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +55 -36
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/node-pages.js +10 -2
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +364 -435
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/esm/3d-tiles-attributes-worker.js +1 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +59 -44
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/deps-installer/deps-installer.js +21 -2
- package/dist/esm/deps-installer/deps-installer.js.map +1 -1
- package/dist/esm/i3s-attributes-worker.js +1 -1
- package/dist/esm/i3s-attributes-worker.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +4 -0
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/feature-attributes.js +138 -0
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +19 -21
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +55 -36
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/node-pages.js +9 -2
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +93 -183
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/i3s-attributes-worker.d.ts +5 -1
- package/dist/i3s-attributes-worker.d.ts.map +1 -1
- package/dist/i3s-attributes-worker.js +3 -3
- package/dist/i3s-attributes-worker.js.map +2 -2
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +2 -3
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +3 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +2 -2
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/feature-attributes.d.ts +32 -0
- package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/feature-attributes.js +162 -1
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +5 -4
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.js +29 -27
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.js +50 -30
- package/dist/i3s-converter/helpers/node-pages.d.ts +4 -0
- package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/node-pages.js +9 -2
- package/dist/i3s-converter/i3s-converter.d.ts +24 -48
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +88 -186
- package/dist/i3s-converter/types.d.ts +4 -0
- package/dist/i3s-converter/types.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/3d-tiles-converter/3d-tiles-converter.ts +71 -55
- package/src/deps-installer/deps-installer.ts +29 -2
- package/src/i3s-attributes-worker.ts +5 -1
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +13 -6
- package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
- package/src/i3s-converter/helpers/feature-attributes.ts +182 -0
- package/src/i3s-converter/helpers/geometry-converter.ts +45 -36
- package/src/i3s-converter/helpers/gltf-attributes.ts +54 -33
- package/src/i3s-converter/helpers/node-pages.ts +10 -2
- package/src/i3s-converter/i3s-converter.ts +125 -210
- package/src/i3s-converter/types.ts +4 -0
|
@@ -71,6 +71,13 @@ class NodePages {
|
|
|
71
71
|
const nodeIndex = id % this.nodesPerPage;
|
|
72
72
|
return this.nodePages[pageIndex].nodes[nodeIndex];
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Update all fields in the node excluding id
|
|
76
|
+
*/
|
|
77
|
+
updateAll(id, data) {
|
|
78
|
+
const node = this.getNodeById(id);
|
|
79
|
+
Object.assign(node, data, { index: node.index });
|
|
80
|
+
}
|
|
74
81
|
/**
|
|
75
82
|
* Update material in node.mesh object by node id
|
|
76
83
|
* @param id - end-to-end index of the node
|
|
@@ -104,7 +111,7 @@ class NodePages {
|
|
|
104
111
|
*/
|
|
105
112
|
updateNodeAttributeByNodeId(id) {
|
|
106
113
|
const node = this.getNodeById(id);
|
|
107
|
-
if (!node.mesh) {
|
|
114
|
+
if (!node.mesh || !node.index) {
|
|
108
115
|
return;
|
|
109
116
|
}
|
|
110
117
|
node.mesh.attribute.resource = node.index;
|
|
@@ -150,7 +157,7 @@ class NodePages {
|
|
|
150
157
|
* @param node - node object
|
|
151
158
|
*/
|
|
152
159
|
updateResourceInMesh(node) {
|
|
153
|
-
if (node.mesh) {
|
|
160
|
+
if (node.mesh && isFinite(node.index)) {
|
|
154
161
|
node.mesh.geometry.resource = node.index;
|
|
155
162
|
}
|
|
156
163
|
}
|
|
@@ -112,6 +112,26 @@ export default class I3SConverter {
|
|
|
112
112
|
* @param data.level - level of node (distanse to root node in the tree)
|
|
113
113
|
*/
|
|
114
114
|
private _addChildrenWithNeighborsAndWriteFile;
|
|
115
|
+
/**
|
|
116
|
+
* Convert nested subtree of 3DTiles dataset
|
|
117
|
+
* @param param0
|
|
118
|
+
* @param param0.sourceTile - source 3DTile data
|
|
119
|
+
* @param param0.parentNode - parent I3S node
|
|
120
|
+
* @param param0.childNodes - child I3S nodes
|
|
121
|
+
* @param param0.parentId - parent node ID
|
|
122
|
+
* @param param0.level - tree level
|
|
123
|
+
*/
|
|
124
|
+
private convertNestedTileset;
|
|
125
|
+
/**
|
|
126
|
+
* Convert 3DTiles tile to I3S node
|
|
127
|
+
* @param param0
|
|
128
|
+
* @param param0.sourceTile - source 3DTile data
|
|
129
|
+
* @param param0.parentNode - parent I3S node
|
|
130
|
+
* @param param0.childNodes - child I3S nodes
|
|
131
|
+
* @param param0.parentId - parent node ID
|
|
132
|
+
* @param param0.level - tree level
|
|
133
|
+
*/
|
|
134
|
+
private convertNode;
|
|
115
135
|
/**
|
|
116
136
|
* Add child nodes recursively and write them to files
|
|
117
137
|
* @param data - arguments
|
|
@@ -139,6 +159,8 @@ export default class I3SConverter {
|
|
|
139
159
|
/**
|
|
140
160
|
* Convert tile to one or more I3S nodes
|
|
141
161
|
* @param sourceTile - source tile (3DTile)
|
|
162
|
+
* @param parentId - id of parent node in node pages
|
|
163
|
+
* @param propertyTable - batch table from b3dm / feature properties from EXT_FEATURE_METADATA
|
|
142
164
|
* result.geometry - ArrayBuffer with geometry attributes
|
|
143
165
|
* result.compressedGeometry - ArrayBuffer with compressed (draco) geometry
|
|
144
166
|
* result.texture - texture image
|
|
@@ -150,7 +172,7 @@ export default class I3SConverter {
|
|
|
150
172
|
*/
|
|
151
173
|
private _convertResources;
|
|
152
174
|
/**
|
|
153
|
-
*
|
|
175
|
+
* Update node object (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/node.cmn.md)
|
|
154
176
|
* in node pages (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/nodePage.cmn.md)
|
|
155
177
|
* @param maxScreenThresholdSQ - Level of Details (LOD) metric
|
|
156
178
|
* @param boundingVolumes - Bounding volumes
|
|
@@ -163,7 +185,7 @@ export default class I3SConverter {
|
|
|
163
185
|
* @param resources.featureCount - number of features
|
|
164
186
|
* @return the node object in node pages
|
|
165
187
|
*/
|
|
166
|
-
private
|
|
188
|
+
private _updateNodeInNodePages;
|
|
167
189
|
/**
|
|
168
190
|
* Create a new node page object in node pages
|
|
169
191
|
* @param parentNode - 3DNodeIndexDocument https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md object of the parent node
|
|
@@ -237,57 +259,11 @@ export default class I3SConverter {
|
|
|
237
259
|
* @return material id
|
|
238
260
|
*/
|
|
239
261
|
private _findOrCreateMaterial;
|
|
240
|
-
/**
|
|
241
|
-
* Generate storage attribute for map segmentation.
|
|
242
|
-
* @param attributeIndex - order index of attribute (f_0, f_1 ...).
|
|
243
|
-
* @param key - attribute key from propertyTable.
|
|
244
|
-
* @param attributeType - attribute type.
|
|
245
|
-
* @return Updated storageAttribute.
|
|
246
|
-
*/
|
|
247
|
-
private _createdStorageAttribute;
|
|
248
|
-
/**
|
|
249
|
-
* Get the attribute type for attributeStorageInfo https://github.com/Esri/i3s-spec/blob/master/docs/1.7/attributeStorageInfo.cmn.md
|
|
250
|
-
* @param key - attribute's key
|
|
251
|
-
* @param attribute - attribute's type in propertyTable
|
|
252
|
-
*/
|
|
253
|
-
private getAttributeType;
|
|
254
|
-
/**
|
|
255
|
-
* Setup storage attribute as string.
|
|
256
|
-
* @param storageAttribute - attribute for map segmentation.
|
|
257
|
-
*/
|
|
258
|
-
private _setupStringAttribute;
|
|
259
|
-
/**
|
|
260
|
-
* Setup Id attribute for map segmentation.
|
|
261
|
-
* @param storageAttribute - attribute for map segmentation .
|
|
262
|
-
*/
|
|
263
|
-
private _setupIdAttribute;
|
|
264
|
-
/**
|
|
265
|
-
* Setup double attribute for map segmentation.
|
|
266
|
-
* @param storageAttribute - attribute for map segmentation .
|
|
267
|
-
*/
|
|
268
|
-
private _setupDoubleAttribute;
|
|
269
|
-
/**
|
|
270
|
-
* Setup field attribute for map segmentation.
|
|
271
|
-
* @param key - attribute for map segmentation.
|
|
272
|
-
* @param fieldAttributeType - esri attribute type ('esriFieldTypeString' or 'esriFieldTypeOID').
|
|
273
|
-
*/
|
|
274
|
-
private _createFieldAttribute;
|
|
275
262
|
/**
|
|
276
263
|
* Do conversion of 3DTiles property table to I3s node attributes.
|
|
277
264
|
* @param propertyTable - Table with layer meta data.
|
|
278
265
|
*/
|
|
279
266
|
private _convertPropertyTableToNodeAttributes;
|
|
280
|
-
/**
|
|
281
|
-
* Find and return attribute type based on key form propertyTable.
|
|
282
|
-
* @param attributeType
|
|
283
|
-
*/
|
|
284
|
-
private _getFieldAttributeType;
|
|
285
|
-
/**
|
|
286
|
-
* Generate popup info to show metadata on the map.
|
|
287
|
-
* @param propertyTable - table data with OBJECTID.
|
|
288
|
-
* @return data for correct rendering of popup.
|
|
289
|
-
*/
|
|
290
|
-
private _createPopupInfo;
|
|
291
267
|
/**
|
|
292
268
|
* Print statistics in the end of conversion
|
|
293
269
|
* @param params - output files data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,15 +50,12 @@ const draco_1 = require("@loaders.gl/draco");
|
|
|
50
50
|
const write_queue_1 = __importDefault(require("../lib/utils/write-queue"));
|
|
51
51
|
const i3s_attributes_worker_1 = require("../i3s-attributes-worker");
|
|
52
52
|
const constants_1 = require("../constants");
|
|
53
|
+
const feature_attributes_1 = require("./helpers/feature-attributes");
|
|
53
54
|
const ION_DEFAULT_TOKEN = process_1.default.env?.IonToken || // eslint-disable-line
|
|
54
55
|
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYWMxMzcyYy0zZjJkLTQwODctODNlNi01MDRkZmMzMjIxOWIiLCJpZCI6OTYyMCwic2NvcGVzIjpbImFzbCIsImFzciIsImdjIl0sImlhdCI6MTU2Mjg2NjI3M30.1FNiClUyk00YH_nWfSGpiQAjR5V2OvREDq1PJ5QMjWQ'; // eslint-disable-line
|
|
55
56
|
const HARDCODED_NODES_PER_PAGE = 64;
|
|
56
57
|
const _3D_TILES = '3DTILES';
|
|
57
58
|
const _3D_OBJECT_LAYER_TYPE = '3DObject';
|
|
58
|
-
const STRING_TYPE = 'string';
|
|
59
|
-
const SHORT_INT_TYPE = 'Int32';
|
|
60
|
-
const DOUBLE_TYPE = 'double';
|
|
61
|
-
const OBJECT_ID_TYPE = 'OBJECTID';
|
|
62
59
|
const REFRESH_TOKEN_TIMEOUT = 1800; // 30 minutes in seconds
|
|
63
60
|
const CESIUM_DATASET_PREFIX = 'https://';
|
|
64
61
|
// const FS_FILE_TOO_LARGE = 'ERR_FS_FILE_TOO_LARGE';
|
|
@@ -129,7 +126,18 @@ class I3SConverter {
|
|
|
129
126
|
await this.loadWorkers();
|
|
130
127
|
try {
|
|
131
128
|
const preloadOptions = await this._fetchPreloadOptions();
|
|
132
|
-
const tilesetOptions = {
|
|
129
|
+
const tilesetOptions = {
|
|
130
|
+
loadOptions: {
|
|
131
|
+
_nodeWorkers: true,
|
|
132
|
+
reuseWorkers: true,
|
|
133
|
+
basis: { format: 'rgba32' },
|
|
134
|
+
'basis-nodejs': {
|
|
135
|
+
format: 'rgba32',
|
|
136
|
+
workerUrl: './modules/textures/dist/basis-nodejs-worker.js'
|
|
137
|
+
},
|
|
138
|
+
'draco-nodejs': { workerUrl: './modules/draco/dist/draco-nodejs-worker.js' }
|
|
139
|
+
}
|
|
140
|
+
};
|
|
133
141
|
if (preloadOptions.headers) {
|
|
134
142
|
tilesetOptions.loadOptions.fetch = { headers: preloadOptions.headers };
|
|
135
143
|
}
|
|
@@ -356,6 +364,48 @@ class I3SConverter {
|
|
|
356
364
|
await this._addChildren({ ...data, childNodes });
|
|
357
365
|
await this._addNeighborsAndWriteFile(data.parentNode, childNodes);
|
|
358
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* Convert nested subtree of 3DTiles dataset
|
|
369
|
+
* @param param0
|
|
370
|
+
* @param param0.sourceTile - source 3DTile data
|
|
371
|
+
* @param param0.parentNode - parent I3S node
|
|
372
|
+
* @param param0.childNodes - child I3S nodes
|
|
373
|
+
* @param param0.parentId - parent node ID
|
|
374
|
+
* @param param0.level - tree level
|
|
375
|
+
*/
|
|
376
|
+
async convertNestedTileset({ sourceTile, parentNode, childNodes, parentId, level }) {
|
|
377
|
+
await this.sourceTileset._loadTile(sourceTile);
|
|
378
|
+
await this._addChildren({
|
|
379
|
+
parentNode,
|
|
380
|
+
sourceTiles: sourceTile.children,
|
|
381
|
+
childNodes,
|
|
382
|
+
parentId,
|
|
383
|
+
level: level + 1
|
|
384
|
+
});
|
|
385
|
+
await sourceTile.unloadContent();
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Convert 3DTiles tile to I3S node
|
|
389
|
+
* @param param0
|
|
390
|
+
* @param param0.sourceTile - source 3DTile data
|
|
391
|
+
* @param param0.parentNode - parent I3S node
|
|
392
|
+
* @param param0.childNodes - child I3S nodes
|
|
393
|
+
* @param param0.parentId - parent node ID
|
|
394
|
+
* @param param0.level - tree level
|
|
395
|
+
*/
|
|
396
|
+
async convertNode({ sourceTile, parentNode, childNodes, parentId, level }) {
|
|
397
|
+
const children = await this._createNode(parentNode, sourceTile, parentId, level);
|
|
398
|
+
parentNode.children = parentNode.children || [];
|
|
399
|
+
for (const child of children) {
|
|
400
|
+
parentNode.children.push({
|
|
401
|
+
id: child.id,
|
|
402
|
+
href: `../${child.path}`,
|
|
403
|
+
obb: child.obb,
|
|
404
|
+
mbs: child.mbs
|
|
405
|
+
});
|
|
406
|
+
childNodes.push(child);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
359
409
|
/**
|
|
360
410
|
* Add child nodes recursively and write them to files
|
|
361
411
|
* @param data - arguments
|
|
@@ -370,31 +420,15 @@ class I3SConverter {
|
|
|
370
420
|
if (this.options.maxDepth && level > this.options.maxDepth) {
|
|
371
421
|
return;
|
|
372
422
|
}
|
|
423
|
+
const promises = [];
|
|
373
424
|
for (const sourceTile of sourceTiles) {
|
|
374
425
|
if (sourceTile.type === 'json') {
|
|
375
|
-
|
|
376
|
-
await this._addChildren({
|
|
377
|
-
parentNode,
|
|
378
|
-
sourceTiles: sourceTile.children,
|
|
379
|
-
childNodes,
|
|
380
|
-
parentId,
|
|
381
|
-
level: level + 1
|
|
382
|
-
});
|
|
383
|
-
await sourceTile.unloadContent();
|
|
426
|
+
promises.push(this.convertNestedTileset({ sourceTile, parentNode, childNodes, parentId, level }));
|
|
384
427
|
}
|
|
385
428
|
else {
|
|
386
|
-
|
|
387
|
-
parentNode.children = parentNode.children || [];
|
|
388
|
-
for (const child of children) {
|
|
389
|
-
parentNode.children.push({
|
|
390
|
-
id: child.id,
|
|
391
|
-
href: `../${child.path}`,
|
|
392
|
-
obb: child.obb,
|
|
393
|
-
mbs: child.mbs
|
|
394
|
-
});
|
|
395
|
-
childNodes.push(child);
|
|
396
|
-
}
|
|
429
|
+
promises.push(this.convertNode({ sourceTile, parentNode, childNodes, parentId, level }));
|
|
397
430
|
}
|
|
431
|
+
await Promise.all(promises);
|
|
398
432
|
if (sourceTile.id) {
|
|
399
433
|
console.log(sourceTile.id); // eslint-disable-line
|
|
400
434
|
}
|
|
@@ -445,11 +479,11 @@ class I3SConverter {
|
|
|
445
479
|
await this._updateTilesetOptions();
|
|
446
480
|
await this.sourceTileset._loadTile(sourceTile);
|
|
447
481
|
let boundingVolumes = (0, coordinate_converter_1.createBoundingVolumes)(sourceTile, this.geoidHeightModel);
|
|
448
|
-
const propertyTable = (0, geometry_converter_1.getPropertyTable)(sourceTile);
|
|
482
|
+
const propertyTable = (0, geometry_converter_1.getPropertyTable)(sourceTile.content);
|
|
449
483
|
if (propertyTable && !this.layers0?.attributeStorageInfo?.length) {
|
|
450
484
|
this._convertPropertyTableToNodeAttributes(propertyTable);
|
|
451
485
|
}
|
|
452
|
-
const resourcesData = await this._convertResources(sourceTile, propertyTable);
|
|
486
|
+
const resourcesData = await this._convertResources(sourceTile, parentId, propertyTable);
|
|
453
487
|
const nodes = [];
|
|
454
488
|
const nodesInPage = [];
|
|
455
489
|
const emptyResources = {
|
|
@@ -470,7 +504,7 @@ class I3SConverter {
|
|
|
470
504
|
}
|
|
471
505
|
const lodSelection = (0, lod_conversion_utils_1.convertGeometricErrorToScreenThreshold)(sourceTile, boundingVolumes);
|
|
472
506
|
const maxScreenThresholdSQ = lodSelection.find((val) => val.metricType === 'maxScreenThresholdSQ') || { maxError: 0 };
|
|
473
|
-
const nodeInPage = this.
|
|
507
|
+
const nodeInPage = this._updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources);
|
|
474
508
|
const node = this._createNodeIndexDocument(parentTile, boundingVolumes, lodSelection, nodeInPage, resources);
|
|
475
509
|
if (nodeInPage.mesh) {
|
|
476
510
|
await this._writeResources(resources, node.path);
|
|
@@ -496,6 +530,8 @@ class I3SConverter {
|
|
|
496
530
|
/**
|
|
497
531
|
* Convert tile to one or more I3S nodes
|
|
498
532
|
* @param sourceTile - source tile (3DTile)
|
|
533
|
+
* @param parentId - id of parent node in node pages
|
|
534
|
+
* @param propertyTable - batch table from b3dm / feature properties from EXT_FEATURE_METADATA
|
|
499
535
|
* result.geometry - ArrayBuffer with geometry attributes
|
|
500
536
|
* result.compressedGeometry - ArrayBuffer with compressed (draco) geometry
|
|
501
537
|
* result.texture - texture image
|
|
@@ -505,15 +541,20 @@ class I3SConverter {
|
|
|
505
541
|
* result.attributes - feature attributes
|
|
506
542
|
* result.featureCount - number of features
|
|
507
543
|
*/
|
|
508
|
-
async _convertResources(sourceTile, propertyTable) {
|
|
544
|
+
async _convertResources(sourceTile, parentId, propertyTable) {
|
|
509
545
|
if (!this.isContentSupported(sourceTile)) {
|
|
510
546
|
return null;
|
|
511
547
|
}
|
|
512
|
-
const
|
|
548
|
+
const draftObb = {
|
|
549
|
+
center: [],
|
|
550
|
+
halfSize: [],
|
|
551
|
+
quaternion: []
|
|
552
|
+
};
|
|
553
|
+
const resourcesData = await (0, geometry_converter_1.default)(sourceTile.content, () => this.nodePages.push({ index: 0, obb: draftObb }, parentId), propertyTable, this.featuresHashArray, this.layers0?.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.geoidHeightModel, this.workerSource);
|
|
513
554
|
return resourcesData;
|
|
514
555
|
}
|
|
515
556
|
/**
|
|
516
|
-
*
|
|
557
|
+
* Update node object (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/node.cmn.md)
|
|
517
558
|
* in node pages (https://github.com/Esri/i3s-spec/blob/master/docs/1.7/nodePage.cmn.md)
|
|
518
559
|
* @param maxScreenThresholdSQ - Level of Details (LOD) metric
|
|
519
560
|
* @param boundingVolumes - Bounding volumes
|
|
@@ -526,7 +567,7 @@ class I3SConverter {
|
|
|
526
567
|
* @param resources.featureCount - number of features
|
|
527
568
|
* @return the node object in node pages
|
|
528
569
|
*/
|
|
529
|
-
|
|
570
|
+
_updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
|
|
530
571
|
const { meshMaterial, texture, vertexCount, featureCount, geometry } = resources;
|
|
531
572
|
const nodeInPage = {
|
|
532
573
|
index: 0,
|
|
@@ -548,7 +589,15 @@ class I3SConverter {
|
|
|
548
589
|
}
|
|
549
590
|
};
|
|
550
591
|
}
|
|
551
|
-
|
|
592
|
+
let nodeId = resources.nodeId;
|
|
593
|
+
if (nodeId) {
|
|
594
|
+
this.nodePages.updateAll(nodeId, nodeInPage);
|
|
595
|
+
const node = this.nodePages.getNodeById(nodeId);
|
|
596
|
+
this.nodePages.updateResourceInMesh(node);
|
|
597
|
+
}
|
|
598
|
+
else {
|
|
599
|
+
nodeId = this.nodePages.push(nodeInPage, parentId);
|
|
600
|
+
}
|
|
552
601
|
if (meshMaterial) {
|
|
553
602
|
this.nodePages.updateMaterialByNodeId(nodeId, this._findOrCreateMaterial(meshMaterial));
|
|
554
603
|
}
|
|
@@ -564,7 +613,7 @@ class I3SConverter {
|
|
|
564
613
|
if (featureCount) {
|
|
565
614
|
this.nodePages.updateFeatureCountByNodeId(nodeId, featureCount);
|
|
566
615
|
}
|
|
567
|
-
return
|
|
616
|
+
return this.nodePages.getNodeById(nodeId);
|
|
568
617
|
}
|
|
569
618
|
/**
|
|
570
619
|
* Create a new node page object in node pages
|
|
@@ -822,104 +871,6 @@ class I3SConverter {
|
|
|
822
871
|
this.materialMap.set(hash, newMaterialId);
|
|
823
872
|
return newMaterialId;
|
|
824
873
|
}
|
|
825
|
-
/**
|
|
826
|
-
* Generate storage attribute for map segmentation.
|
|
827
|
-
* @param attributeIndex - order index of attribute (f_0, f_1 ...).
|
|
828
|
-
* @param key - attribute key from propertyTable.
|
|
829
|
-
* @param attributeType - attribute type.
|
|
830
|
-
* @return Updated storageAttribute.
|
|
831
|
-
*/
|
|
832
|
-
_createdStorageAttribute(attributeIndex, key, attributeType) {
|
|
833
|
-
const storageAttribute = {
|
|
834
|
-
key: `f_${attributeIndex}`,
|
|
835
|
-
name: key,
|
|
836
|
-
ordering: ['attributeValues'],
|
|
837
|
-
header: [{ property: 'count', valueType: 'UInt32' }],
|
|
838
|
-
attributeValues: { valueType: 'Int32', valuesPerElement: 1 }
|
|
839
|
-
};
|
|
840
|
-
switch (attributeType) {
|
|
841
|
-
case OBJECT_ID_TYPE:
|
|
842
|
-
this._setupIdAttribute(storageAttribute);
|
|
843
|
-
break;
|
|
844
|
-
case STRING_TYPE:
|
|
845
|
-
this._setupStringAttribute(storageAttribute);
|
|
846
|
-
break;
|
|
847
|
-
case DOUBLE_TYPE:
|
|
848
|
-
this._setupDoubleAttribute(storageAttribute);
|
|
849
|
-
break;
|
|
850
|
-
case SHORT_INT_TYPE:
|
|
851
|
-
break;
|
|
852
|
-
default:
|
|
853
|
-
this._setupStringAttribute(storageAttribute);
|
|
854
|
-
}
|
|
855
|
-
return storageAttribute;
|
|
856
|
-
}
|
|
857
|
-
/**
|
|
858
|
-
* Get the attribute type for attributeStorageInfo https://github.com/Esri/i3s-spec/blob/master/docs/1.7/attributeStorageInfo.cmn.md
|
|
859
|
-
* @param key - attribute's key
|
|
860
|
-
* @param attribute - attribute's type in propertyTable
|
|
861
|
-
*/
|
|
862
|
-
getAttributeType(key, attribute) {
|
|
863
|
-
if (key === OBJECT_ID_TYPE) {
|
|
864
|
-
return OBJECT_ID_TYPE;
|
|
865
|
-
}
|
|
866
|
-
if (typeof attribute === STRING_TYPE) {
|
|
867
|
-
return STRING_TYPE;
|
|
868
|
-
}
|
|
869
|
-
else if (typeof attribute === 'number') {
|
|
870
|
-
return Number.isInteger(attribute) ? SHORT_INT_TYPE : DOUBLE_TYPE;
|
|
871
|
-
}
|
|
872
|
-
return STRING_TYPE;
|
|
873
|
-
}
|
|
874
|
-
/**
|
|
875
|
-
* Setup storage attribute as string.
|
|
876
|
-
* @param storageAttribute - attribute for map segmentation.
|
|
877
|
-
*/
|
|
878
|
-
_setupStringAttribute(storageAttribute) {
|
|
879
|
-
storageAttribute.ordering.unshift('attributeByteCounts');
|
|
880
|
-
storageAttribute.header.push({ property: 'attributeValuesByteCount', valueType: 'UInt32' });
|
|
881
|
-
storageAttribute.attributeValues = {
|
|
882
|
-
valueType: 'String',
|
|
883
|
-
encoding: 'UTF-8',
|
|
884
|
-
valuesPerElement: 1
|
|
885
|
-
};
|
|
886
|
-
storageAttribute.attributeByteCounts = {
|
|
887
|
-
valueType: 'UInt32',
|
|
888
|
-
valuesPerElement: 1
|
|
889
|
-
};
|
|
890
|
-
}
|
|
891
|
-
/**
|
|
892
|
-
* Setup Id attribute for map segmentation.
|
|
893
|
-
* @param storageAttribute - attribute for map segmentation .
|
|
894
|
-
*/
|
|
895
|
-
_setupIdAttribute(storageAttribute) {
|
|
896
|
-
storageAttribute.attributeValues = {
|
|
897
|
-
valueType: 'Oid32',
|
|
898
|
-
valuesPerElement: 1
|
|
899
|
-
};
|
|
900
|
-
}
|
|
901
|
-
/**
|
|
902
|
-
* Setup double attribute for map segmentation.
|
|
903
|
-
* @param storageAttribute - attribute for map segmentation .
|
|
904
|
-
*/
|
|
905
|
-
_setupDoubleAttribute(storageAttribute) {
|
|
906
|
-
storageAttribute.attributeValues = {
|
|
907
|
-
valueType: 'Float64',
|
|
908
|
-
valuesPerElement: 1
|
|
909
|
-
};
|
|
910
|
-
}
|
|
911
|
-
/**
|
|
912
|
-
* Setup field attribute for map segmentation.
|
|
913
|
-
* @param key - attribute for map segmentation.
|
|
914
|
-
* @param fieldAttributeType - esri attribute type ('esriFieldTypeString' or 'esriFieldTypeOID').
|
|
915
|
-
*/
|
|
916
|
-
_createFieldAttribute(key, fieldAttributeType) {
|
|
917
|
-
return {
|
|
918
|
-
name: key,
|
|
919
|
-
type: fieldAttributeType,
|
|
920
|
-
alias: key
|
|
921
|
-
};
|
|
922
|
-
}
|
|
923
874
|
/**
|
|
924
875
|
* Do conversion of 3DTiles property table to I3s node attributes.
|
|
925
876
|
* @param propertyTable - Table with layer meta data.
|
|
@@ -932,11 +883,11 @@ class I3SConverter {
|
|
|
932
883
|
};
|
|
933
884
|
for (const key in propertyTableWithObjectId) {
|
|
934
885
|
const firstAttribute = propertyTableWithObjectId[key][0];
|
|
935
|
-
const attributeType =
|
|
936
|
-
const storageAttribute =
|
|
937
|
-
const fieldAttributeType =
|
|
938
|
-
const fieldAttribute =
|
|
939
|
-
const popupInfo =
|
|
886
|
+
const attributeType = (0, feature_attributes_1.getAttributeType)(key, firstAttribute);
|
|
887
|
+
const storageAttribute = (0, feature_attributes_1.createdStorageAttribute)(attributeIndex, key, attributeType);
|
|
888
|
+
const fieldAttributeType = (0, feature_attributes_1.getFieldAttributeType)(attributeType);
|
|
889
|
+
const fieldAttribute = (0, feature_attributes_1.createFieldAttribute)(key, fieldAttributeType);
|
|
890
|
+
const popupInfo = (0, feature_attributes_1.createPopupInfo)(propertyTableWithObjectId);
|
|
940
891
|
this.layers0.attributeStorageInfo.push(storageAttribute);
|
|
941
892
|
this.layers0.fields.push(fieldAttribute);
|
|
942
893
|
this.layers0.popupInfo = popupInfo;
|
|
@@ -944,55 +895,6 @@ class I3SConverter {
|
|
|
944
895
|
attributeIndex += 1;
|
|
945
896
|
}
|
|
946
897
|
}
|
|
947
|
-
/**
|
|
948
|
-
* Find and return attribute type based on key form propertyTable.
|
|
949
|
-
* @param attributeType
|
|
950
|
-
*/
|
|
951
|
-
_getFieldAttributeType(attributeType) {
|
|
952
|
-
switch (attributeType) {
|
|
953
|
-
case OBJECT_ID_TYPE:
|
|
954
|
-
return 'esriFieldTypeOID';
|
|
955
|
-
case STRING_TYPE:
|
|
956
|
-
return 'esriFieldTypeString';
|
|
957
|
-
case SHORT_INT_TYPE:
|
|
958
|
-
return 'esriFieldTypeInteger';
|
|
959
|
-
case DOUBLE_TYPE:
|
|
960
|
-
return 'esriFieldTypeDouble';
|
|
961
|
-
default:
|
|
962
|
-
return 'esriFieldTypeString';
|
|
963
|
-
}
|
|
964
|
-
}
|
|
965
|
-
/**
|
|
966
|
-
* Generate popup info to show metadata on the map.
|
|
967
|
-
* @param propertyTable - table data with OBJECTID.
|
|
968
|
-
* @return data for correct rendering of popup.
|
|
969
|
-
*/
|
|
970
|
-
_createPopupInfo(propertyTable) {
|
|
971
|
-
const title = '{OBJECTID}';
|
|
972
|
-
const mediaInfos = [];
|
|
973
|
-
const fieldInfos = [];
|
|
974
|
-
const popupElements = [];
|
|
975
|
-
const expressionInfos = [];
|
|
976
|
-
for (const key in propertyTable) {
|
|
977
|
-
fieldInfos.push({
|
|
978
|
-
fieldName: key,
|
|
979
|
-
visible: true,
|
|
980
|
-
isEditable: false,
|
|
981
|
-
label: key
|
|
982
|
-
});
|
|
983
|
-
}
|
|
984
|
-
popupElements.push({
|
|
985
|
-
fieldInfos,
|
|
986
|
-
type: 'fields'
|
|
987
|
-
});
|
|
988
|
-
return {
|
|
989
|
-
title,
|
|
990
|
-
mediaInfos,
|
|
991
|
-
popupElements,
|
|
992
|
-
fieldInfos,
|
|
993
|
-
expressionInfos
|
|
994
|
-
};
|
|
995
|
-
}
|
|
996
898
|
/**
|
|
997
899
|
* Print statistics in the end of conversion
|
|
998
900
|
* @param params - output files data
|
|
@@ -2,6 +2,10 @@ import { BoundingVolumes, I3SMaterialDefinition, MaterialDefinitionInfo, Texture
|
|
|
2
2
|
import { ImageDataType } from '@loaders.gl/images';
|
|
3
3
|
/** Converted resources for specific node */
|
|
4
4
|
export declare type I3SConvertedResources = {
|
|
5
|
+
/**
|
|
6
|
+
* Node id
|
|
7
|
+
*/
|
|
8
|
+
nodeId?: number;
|
|
5
9
|
/** Non-compressed geometry buffer that have structure met
|
|
6
10
|
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
|
|
7
11
|
* (Geometry buffer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,4CAA4C;AAC5C,oBAAY,qBAAqB,GAAG;IAClC;;;OAGG;IACH,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C;;OAEG;IACH,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,mBAAmB,GAAG;IAChC,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAClC,iDAAiD;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,IAAI,GAAG,eAAe,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,kCAAkC;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,kCAAkC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,8DAA8D;AAC9D,oBAAY,4BAA4B,GAAG;IACzC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,+CAA+C;AAC/C,oBAAY,qBAAqB,GAAG;IAClC,oHAAoH;IACpH,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnD,kHAAkH;IAClH,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,2EAA2E;AAC3E,oBAAY,sBAAsB,GAAG;IACnC,2GAA2G;IAC3G,QAAQ,EAAE,qBAAqB,CAAC;IAChC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,4CAA4C;AAC5C,oBAAY,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C;;OAEG;IACH,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,mBAAmB,GAAG;IAChC,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAClC,iDAAiD;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,IAAI,GAAG,eAAe,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,kCAAkC;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,kCAAkC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,8DAA8D;AAC9D,oBAAY,4BAA4B,GAAG;IACzC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,8BAA8B;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,+CAA+C;AAC/C,oBAAY,qBAAqB,GAAG;IAClC,oHAAoH;IACpH,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnD,kHAAkH;IAClH,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,2EAA2E;AAC3E,oBAAY,sBAAsB,GAAG;IACnC,2GAA2G;IAC3G,QAAQ,EAAE,qBAAqB,CAAC;IAChC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/tile-converter",
|
|
3
|
-
"version": "3.3.0-alpha.
|
|
3
|
+
"version": "3.3.0-alpha.4",
|
|
4
4
|
"description": "Converter",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -43,19 +43,19 @@
|
|
|
43
43
|
"build-3d-tiles-attributes-worker": "esbuild src/workers/3d-tiles-attributes-worker.ts --outfile=dist/3d-tiles-attributes-worker.js --platform=node --target=esnext,node12 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@loaders.gl/3d-tiles": "3.3.0-alpha.
|
|
47
|
-
"@loaders.gl/crypto": "3.3.0-alpha.
|
|
48
|
-
"@loaders.gl/draco": "3.3.0-alpha.
|
|
49
|
-
"@loaders.gl/gltf": "3.3.0-alpha.
|
|
50
|
-
"@loaders.gl/i3s": "3.3.0-alpha.
|
|
51
|
-
"@loaders.gl/images": "3.3.0-alpha.
|
|
52
|
-
"@loaders.gl/loader-utils": "3.3.0-alpha.
|
|
53
|
-
"@loaders.gl/polyfills": "3.3.0-alpha.
|
|
54
|
-
"@loaders.gl/schema": "3.3.0-alpha.
|
|
55
|
-
"@loaders.gl/textures": "3.3.0-alpha.
|
|
56
|
-
"@loaders.gl/tiles": "3.3.0-alpha.
|
|
57
|
-
"@loaders.gl/worker-utils": "3.3.0-alpha.
|
|
58
|
-
"@loaders.gl/zip": "3.3.0-alpha.
|
|
46
|
+
"@loaders.gl/3d-tiles": "3.3.0-alpha.4",
|
|
47
|
+
"@loaders.gl/crypto": "3.3.0-alpha.4",
|
|
48
|
+
"@loaders.gl/draco": "3.3.0-alpha.4",
|
|
49
|
+
"@loaders.gl/gltf": "3.3.0-alpha.4",
|
|
50
|
+
"@loaders.gl/i3s": "3.3.0-alpha.4",
|
|
51
|
+
"@loaders.gl/images": "3.3.0-alpha.4",
|
|
52
|
+
"@loaders.gl/loader-utils": "3.3.0-alpha.4",
|
|
53
|
+
"@loaders.gl/polyfills": "3.3.0-alpha.4",
|
|
54
|
+
"@loaders.gl/schema": "3.3.0-alpha.4",
|
|
55
|
+
"@loaders.gl/textures": "3.3.0-alpha.4",
|
|
56
|
+
"@loaders.gl/tiles": "3.3.0-alpha.4",
|
|
57
|
+
"@loaders.gl/worker-utils": "3.3.0-alpha.4",
|
|
58
|
+
"@loaders.gl/zip": "3.3.0-alpha.4",
|
|
59
59
|
"@luma.gl/engine": "^8.5.4",
|
|
60
60
|
"@math.gl/core": "^3.5.1",
|
|
61
61
|
"@math.gl/culling": "^3.5.1",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"@loaders.gl/core": "^3.2.0"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "d1c524fd3cb9296ecd1bf7d185765c4f6aaef6a1"
|
|
79
79
|
}
|