@xeokit/xeokit-sdk 2.6.0-beta-5 → 2.6.0-beta-6
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/xeokit-sdk.cjs.js +23 -58
- package/dist/xeokit-sdk.es.js +23 -58
- package/dist/xeokit-sdk.es5.js +5 -52
- package/dist/xeokit-sdk.min.cjs.js +1 -1
- package/dist/xeokit-sdk.min.es.js +1 -1
- package/dist/xeokit-sdk.min.es5.js +1 -1
- package/package.json +1 -1
- package/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +23 -58
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -127606,9 +127606,9 @@ parsers[ParserV10.version] = ParserV10;
|
|
|
127606
127606
|
* }
|
|
127607
127607
|
*
|
|
127608
127608
|
* // Gets the contents of the given .XKT file in an arraybuffer
|
|
127609
|
-
* getXKT(
|
|
127609
|
+
* getXKT(src, ok, error) {
|
|
127610
127610
|
* console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
|
|
127611
|
-
* utils.loadArraybuffer(
|
|
127611
|
+
* utils.loadArraybuffer(src,
|
|
127612
127612
|
* (arraybuffer) => {
|
|
127613
127613
|
* ok(arraybuffer);
|
|
127614
127614
|
* },
|
|
@@ -128292,13 +128292,28 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128292
128292
|
globalizeObjectIds: options.globalizeObjectIds
|
|
128293
128293
|
});
|
|
128294
128294
|
i++;
|
|
128295
|
-
this.scheduleTask(
|
|
128295
|
+
this.scheduleTask(loadNext, 100);
|
|
128296
128296
|
}, error);
|
|
128297
128297
|
}
|
|
128298
128298
|
};
|
|
128299
128299
|
loadNext();
|
|
128300
128300
|
};
|
|
128301
|
-
const
|
|
128301
|
+
const loadXKTs_excludeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, ignore metamodels in the XKT
|
|
128302
|
+
let i = 0;
|
|
128303
|
+
const loadNext = () => {
|
|
128304
|
+
if (i >= xktFiles.length) {
|
|
128305
|
+
done();
|
|
128306
|
+
} else {
|
|
128307
|
+
this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
|
|
128308
|
+
this._parseModel(arrayBuffer, params, options, sceneModel, null /* Ignore metamodel in XKT */, manifestCtx);
|
|
128309
|
+
i++;
|
|
128310
|
+
this.scheduleTask(loadNext, 100);
|
|
128311
|
+
}, error);
|
|
128312
|
+
}
|
|
128313
|
+
};
|
|
128314
|
+
loadNext();
|
|
128315
|
+
};
|
|
128316
|
+
const loadXKTs_includeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, parse metamodels from the XKT
|
|
128302
128317
|
let i = 0;
|
|
128303
128318
|
const loadNext = () => {
|
|
128304
128319
|
if (i >= xktFiles.length) {
|
|
@@ -128323,10 +128338,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128323
128338
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
128324
128339
|
if (metaModelFiles) {
|
|
128325
128340
|
loadJSONs(metaModelFiles, () => {
|
|
128326
|
-
|
|
128341
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
128327
128342
|
}, error);
|
|
128328
128343
|
} else {
|
|
128329
|
-
|
|
128344
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
128330
128345
|
}
|
|
128331
128346
|
} else {
|
|
128332
128347
|
this._dataSource.getManifest(params.manifestSrc, (manifestData) => {
|
|
@@ -128341,10 +128356,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128341
128356
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
128342
128357
|
if (metaModelFiles) {
|
|
128343
128358
|
loadJSONs(metaModelFiles, () => {
|
|
128344
|
-
|
|
128359
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
128345
128360
|
}, error);
|
|
128346
128361
|
} else {
|
|
128347
|
-
|
|
128362
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
128348
128363
|
}
|
|
128349
128364
|
}, error);
|
|
128350
128365
|
}
|
|
@@ -128384,56 +128399,6 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128384
128399
|
}
|
|
128385
128400
|
parser.parse(this.viewer, options, elements, sceneModel, metaModel, manifestCtx);
|
|
128386
128401
|
}
|
|
128387
|
-
|
|
128388
|
-
// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
|
|
128389
|
-
//
|
|
128390
|
-
// const metaModelId = sceneModel.id;
|
|
128391
|
-
//
|
|
128392
|
-
// if (!this.viewer.metaScene.metaModels[metaModelId]) {
|
|
128393
|
-
//
|
|
128394
|
-
// const metaModelData = {
|
|
128395
|
-
// metaObjects: []
|
|
128396
|
-
// };
|
|
128397
|
-
//
|
|
128398
|
-
// metaModelData.metaObjects.push({
|
|
128399
|
-
// id: metaModelId,
|
|
128400
|
-
// type: "default",
|
|
128401
|
-
// name: metaModelId,
|
|
128402
|
-
// parent: null
|
|
128403
|
-
// });
|
|
128404
|
-
//
|
|
128405
|
-
// const entityList = sceneModel.entityList;
|
|
128406
|
-
//
|
|
128407
|
-
// for (let i = 0, len = entityList.length; i < len; i++) {
|
|
128408
|
-
// const entity = entityList[i];
|
|
128409
|
-
// if (entity.isObject) {
|
|
128410
|
-
// metaModelData.metaObjects.push({
|
|
128411
|
-
// id: entity.id,
|
|
128412
|
-
// type: "default",
|
|
128413
|
-
// name: entity.id,
|
|
128414
|
-
// parent: metaModelId
|
|
128415
|
-
// });
|
|
128416
|
-
// }
|
|
128417
|
-
// }
|
|
128418
|
-
//
|
|
128419
|
-
// const src = params.src;
|
|
128420
|
-
//
|
|
128421
|
-
// this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
|
|
128422
|
-
//
|
|
128423
|
-
// includeTypes: options.includeTypes,
|
|
128424
|
-
// excludeTypes: options.excludeTypes,
|
|
128425
|
-
// globalizeObjectIds: options.globalizeObjectIds,
|
|
128426
|
-
//
|
|
128427
|
-
// getProperties: async (propertiesId) => {
|
|
128428
|
-
// return await this._dataSource.getProperties(src, propertiesId);
|
|
128429
|
-
// }
|
|
128430
|
-
// });
|
|
128431
|
-
//
|
|
128432
|
-
// sceneModel.once("destroyed", () => {
|
|
128433
|
-
// this.viewer.metaScene.destroyMetaModel(metaModelId);
|
|
128434
|
-
// });
|
|
128435
|
-
// }
|
|
128436
|
-
// }
|
|
128437
128402
|
}
|
|
128438
128403
|
|
|
128439
128404
|
function getBaseDirectory(filePath) {
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -127602,9 +127602,9 @@ parsers[ParserV10.version] = ParserV10;
|
|
|
127602
127602
|
* }
|
|
127603
127603
|
*
|
|
127604
127604
|
* // Gets the contents of the given .XKT file in an arraybuffer
|
|
127605
|
-
* getXKT(
|
|
127605
|
+
* getXKT(src, ok, error) {
|
|
127606
127606
|
* console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
|
|
127607
|
-
* utils.loadArraybuffer(
|
|
127607
|
+
* utils.loadArraybuffer(src,
|
|
127608
127608
|
* (arraybuffer) => {
|
|
127609
127609
|
* ok(arraybuffer);
|
|
127610
127610
|
* },
|
|
@@ -128288,13 +128288,28 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128288
128288
|
globalizeObjectIds: options.globalizeObjectIds
|
|
128289
128289
|
});
|
|
128290
128290
|
i++;
|
|
128291
|
-
this.scheduleTask(
|
|
128291
|
+
this.scheduleTask(loadNext, 100);
|
|
128292
128292
|
}, error);
|
|
128293
128293
|
}
|
|
128294
128294
|
};
|
|
128295
128295
|
loadNext();
|
|
128296
128296
|
};
|
|
128297
|
-
const
|
|
128297
|
+
const loadXKTs_excludeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, ignore metamodels in the XKT
|
|
128298
|
+
let i = 0;
|
|
128299
|
+
const loadNext = () => {
|
|
128300
|
+
if (i >= xktFiles.length) {
|
|
128301
|
+
done();
|
|
128302
|
+
} else {
|
|
128303
|
+
this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
|
|
128304
|
+
this._parseModel(arrayBuffer, params, options, sceneModel, null /* Ignore metamodel in XKT */, manifestCtx);
|
|
128305
|
+
i++;
|
|
128306
|
+
this.scheduleTask(loadNext, 100);
|
|
128307
|
+
}, error);
|
|
128308
|
+
}
|
|
128309
|
+
};
|
|
128310
|
+
loadNext();
|
|
128311
|
+
};
|
|
128312
|
+
const loadXKTs_includeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, parse metamodels from the XKT
|
|
128298
128313
|
let i = 0;
|
|
128299
128314
|
const loadNext = () => {
|
|
128300
128315
|
if (i >= xktFiles.length) {
|
|
@@ -128319,10 +128334,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128319
128334
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
128320
128335
|
if (metaModelFiles) {
|
|
128321
128336
|
loadJSONs(metaModelFiles, () => {
|
|
128322
|
-
|
|
128337
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
128323
128338
|
}, error);
|
|
128324
128339
|
} else {
|
|
128325
|
-
|
|
128340
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
128326
128341
|
}
|
|
128327
128342
|
} else {
|
|
128328
128343
|
this._dataSource.getManifest(params.manifestSrc, (manifestData) => {
|
|
@@ -128337,10 +128352,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128337
128352
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
128338
128353
|
if (metaModelFiles) {
|
|
128339
128354
|
loadJSONs(metaModelFiles, () => {
|
|
128340
|
-
|
|
128355
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
128341
128356
|
}, error);
|
|
128342
128357
|
} else {
|
|
128343
|
-
|
|
128358
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
128344
128359
|
}
|
|
128345
128360
|
}, error);
|
|
128346
128361
|
}
|
|
@@ -128380,56 +128395,6 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
128380
128395
|
}
|
|
128381
128396
|
parser.parse(this.viewer, options, elements, sceneModel, metaModel, manifestCtx);
|
|
128382
128397
|
}
|
|
128383
|
-
|
|
128384
|
-
// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
|
|
128385
|
-
//
|
|
128386
|
-
// const metaModelId = sceneModel.id;
|
|
128387
|
-
//
|
|
128388
|
-
// if (!this.viewer.metaScene.metaModels[metaModelId]) {
|
|
128389
|
-
//
|
|
128390
|
-
// const metaModelData = {
|
|
128391
|
-
// metaObjects: []
|
|
128392
|
-
// };
|
|
128393
|
-
//
|
|
128394
|
-
// metaModelData.metaObjects.push({
|
|
128395
|
-
// id: metaModelId,
|
|
128396
|
-
// type: "default",
|
|
128397
|
-
// name: metaModelId,
|
|
128398
|
-
// parent: null
|
|
128399
|
-
// });
|
|
128400
|
-
//
|
|
128401
|
-
// const entityList = sceneModel.entityList;
|
|
128402
|
-
//
|
|
128403
|
-
// for (let i = 0, len = entityList.length; i < len; i++) {
|
|
128404
|
-
// const entity = entityList[i];
|
|
128405
|
-
// if (entity.isObject) {
|
|
128406
|
-
// metaModelData.metaObjects.push({
|
|
128407
|
-
// id: entity.id,
|
|
128408
|
-
// type: "default",
|
|
128409
|
-
// name: entity.id,
|
|
128410
|
-
// parent: metaModelId
|
|
128411
|
-
// });
|
|
128412
|
-
// }
|
|
128413
|
-
// }
|
|
128414
|
-
//
|
|
128415
|
-
// const src = params.src;
|
|
128416
|
-
//
|
|
128417
|
-
// this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
|
|
128418
|
-
//
|
|
128419
|
-
// includeTypes: options.includeTypes,
|
|
128420
|
-
// excludeTypes: options.excludeTypes,
|
|
128421
|
-
// globalizeObjectIds: options.globalizeObjectIds,
|
|
128422
|
-
//
|
|
128423
|
-
// getProperties: async (propertiesId) => {
|
|
128424
|
-
// return await this._dataSource.getProperties(src, propertiesId);
|
|
128425
|
-
// }
|
|
128426
|
-
// });
|
|
128427
|
-
//
|
|
128428
|
-
// sceneModel.once("destroyed", () => {
|
|
128429
|
-
// this.viewer.metaScene.destroyMetaModel(metaModelId);
|
|
128430
|
-
// });
|
|
128431
|
-
// }
|
|
128432
|
-
// }
|
|
128433
128398
|
}
|
|
128434
128399
|
|
|
128435
128400
|
function getBaseDirectory(filePath) {
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -27271,9 +27271,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
|
|
|
27271
27271
|
* }
|
|
27272
27272
|
*
|
|
27273
27273
|
* // Gets the contents of the given .XKT file in an arraybuffer
|
|
27274
|
-
* getXKT(
|
|
27274
|
+
* getXKT(src, ok, error) {
|
|
27275
27275
|
* console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
|
|
27276
|
-
* utils.loadArraybuffer(
|
|
27276
|
+
* utils.loadArraybuffer(src,
|
|
27277
27277
|
* (arraybuffer) => {
|
|
27278
27278
|
* ok(arraybuffer);
|
|
27279
27279
|
* },
|
|
@@ -27706,56 +27706,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
|
|
|
27706
27706
|
var metaModel=new MetaModel({metaScene:this.viewer.metaScene,id:modelId});this.viewer.scene.canvas.spinner.processes++;var finish=function finish(){// this._createDefaultMetaModelIfNeeded(sceneModel, params, options);
|
|
27707
27707
|
sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});_this154.scheduleTask(function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events
|
|
27708
27708
|
sceneModel.fire("loaded",true,false);// Don't forget the event, for late subscribers
|
|
27709
|
-
});};var error=function error(errMsg){_this154.viewer.scene.canvas.spinner.processes--;_this154.error(errMsg);sceneModel.fire("error",errMsg);};var nextId=0;var manifestCtx={getNextId:function getNextId(){return"".concat(modelId,".").concat(nextId++);}};if(params.metaModelSrc||params.metaModelData){if(params.metaModelSrc){var metaModelSrc=params.metaModelSrc;this._dataSource.getMetaModel(metaModelSrc,function(metaModelData){if(sceneModel.destroyed){return;}metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){_this154._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{_this154._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}},function(errMsg){error("load(): Failed to load model metadata for model '".concat(modelId," from '").concat(metaModelSrc,"' - ").concat(errMsg));});}else if(params.metaModelData){metaModel.loadData(params.metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){this._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{this._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}}}else{if(params.src){this._loadModel(params.src,params,options,sceneModel,metaModel,manifestCtx,finish,error);}else if(params.xkt){this._parseModel(params.xkt,params,options,sceneModel,metaModel,manifestCtx);finish();}else if(params.manifestSrc||params.manifest){var baseDir=params.manifestSrc?getBaseDirectory(params.manifestSrc):"";var loadJSONs=function loadJSONs(metaDataFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=metaDataFiles.length){done();}else{_this154._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var
|
|
27710
|
-
//
|
|
27711
|
-
|
|
27712
|
-
//
|
|
27713
|
-
// if (!this.viewer.metaScene.metaModels[metaModelId]) {
|
|
27714
|
-
//
|
|
27715
|
-
// const metaModelData = {
|
|
27716
|
-
// metaObjects: []
|
|
27717
|
-
// };
|
|
27718
|
-
//
|
|
27719
|
-
// metaModelData.metaObjects.push({
|
|
27720
|
-
// id: metaModelId,
|
|
27721
|
-
// type: "default",
|
|
27722
|
-
// name: metaModelId,
|
|
27723
|
-
// parent: null
|
|
27724
|
-
// });
|
|
27725
|
-
//
|
|
27726
|
-
// const entityList = sceneModel.entityList;
|
|
27727
|
-
//
|
|
27728
|
-
// for (let i = 0, len = entityList.length; i < len; i++) {
|
|
27729
|
-
// const entity = entityList[i];
|
|
27730
|
-
// if (entity.isObject) {
|
|
27731
|
-
// metaModelData.metaObjects.push({
|
|
27732
|
-
// id: entity.id,
|
|
27733
|
-
// type: "default",
|
|
27734
|
-
// name: entity.id,
|
|
27735
|
-
// parent: metaModelId
|
|
27736
|
-
// });
|
|
27737
|
-
// }
|
|
27738
|
-
// }
|
|
27739
|
-
//
|
|
27740
|
-
// const src = params.src;
|
|
27741
|
-
//
|
|
27742
|
-
// this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
|
|
27743
|
-
//
|
|
27744
|
-
// includeTypes: options.includeTypes,
|
|
27745
|
-
// excludeTypes: options.excludeTypes,
|
|
27746
|
-
// globalizeObjectIds: options.globalizeObjectIds,
|
|
27747
|
-
//
|
|
27748
|
-
// getProperties: async (propertiesId) => {
|
|
27749
|
-
// return await this._dataSource.getProperties(src, propertiesId);
|
|
27750
|
-
// }
|
|
27751
|
-
// });
|
|
27752
|
-
//
|
|
27753
|
-
// sceneModel.once("destroyed", () => {
|
|
27754
|
-
// this.viewer.metaScene.destroyMetaModel(metaModelId);
|
|
27755
|
-
// });
|
|
27756
|
-
// }
|
|
27757
|
-
// }
|
|
27758
|
-
}]);return XKTLoaderPlugin;}(Plugin);function getBaseDirectory(filePath){var pathArray=filePath.split('/');pathArray.pop();// Remove the file name or the last segment of the path
|
|
27709
|
+
});};var error=function error(errMsg){_this154.viewer.scene.canvas.spinner.processes--;_this154.error(errMsg);sceneModel.fire("error",errMsg);};var nextId=0;var manifestCtx={getNextId:function getNextId(){return"".concat(modelId,".").concat(nextId++);}};if(params.metaModelSrc||params.metaModelData){if(params.metaModelSrc){var metaModelSrc=params.metaModelSrc;this._dataSource.getMetaModel(metaModelSrc,function(metaModelData){if(sceneModel.destroyed){return;}metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){_this154._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{_this154._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}},function(errMsg){error("load(): Failed to load model metadata for model '".concat(modelId," from '").concat(metaModelSrc,"' - ").concat(errMsg));});}else if(params.metaModelData){metaModel.loadData(params.metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){this._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{this._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}}}else{if(params.src){this._loadModel(params.src,params,options,sceneModel,metaModel,manifestCtx,finish,error);}else if(params.xkt){this._parseModel(params.xkt,params,options,sceneModel,metaModel,manifestCtx);finish();}else if(params.manifestSrc||params.manifest){var baseDir=params.manifestSrc?getBaseDirectory(params.manifestSrc):"";var loadJSONs=function loadJSONs(metaDataFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=metaDataFiles.length){done();}else{_this154._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs_excludeTheirMetaModels=function loadXKTs_excludeTheirMetaModels(xktFiles,done,error){// Load XKTs, ignore metamodels in the XKT
|
|
27710
|
+
var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,null/* Ignore metamodel in XKT */,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs_includeTheirMetaModels=function loadXKTs_includeTheirMetaModels(xktFiles,done,error){// Load XKTs, parse metamodels from the XKT
|
|
27711
|
+
var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs_excludeTheirMetaModels(xktFiles,finish,error);},error);}else{loadXKTs_includeTheirMetaModels(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs_excludeTheirMetaModels(xktFiles,finish,error);},error);}else{loadXKTs_includeTheirMetaModels(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this155=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this155._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i568=0;_i568<numElements;_i568++){var elementSize=dataView.getUint32((_i568+2)*4,true);elements.push(dataArray.subarray(byteOffset,byteOffset+elementSize));byteOffset+=elementSize;}parser.parse(this.viewer,options,elements,sceneModel,metaModel,manifestCtx);}}]);return XKTLoaderPlugin;}(Plugin);function getBaseDirectory(filePath){var pathArray=filePath.split('/');pathArray.pop();// Remove the file name or the last segment of the path
|
|
27759
27712
|
return pathArray.join('/')+'/';}/*
|
|
27760
27713
|
Copyright (c) 2013 Gildas Lormeau. All rights reserved.
|
|
27761
27714
|
|