@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.
@@ -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(xKTSrc, ok, error) {
127609
+ * getXKT(src, ok, error) {
127610
127610
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
127611
- * utils.loadArraybuffer(xKTSrc,
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( loadNext, 100);
128295
+ this.scheduleTask(loadNext, 100);
128296
128296
  }, error);
128297
128297
  }
128298
128298
  };
128299
128299
  loadNext();
128300
128300
  };
128301
- const loadXKTs = (xktFiles, done, error) => {
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
- loadXKTs(xktFiles, finish, error);
128341
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128327
128342
  }, error);
128328
128343
  } else {
128329
- loadXKTs(xktFiles, finish, error);
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
- loadXKTs(xktFiles, finish, error);
128359
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128345
128360
  }, error);
128346
128361
  } else {
128347
- loadXKTs(xktFiles, finish, error);
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) {
@@ -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(xKTSrc, ok, error) {
127605
+ * getXKT(src, ok, error) {
127606
127606
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
127607
- * utils.loadArraybuffer(xKTSrc,
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( loadNext, 100);
128291
+ this.scheduleTask(loadNext, 100);
128292
128292
  }, error);
128293
128293
  }
128294
128294
  };
128295
128295
  loadNext();
128296
128296
  };
128297
- const loadXKTs = (xktFiles, done, error) => {
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
- loadXKTs(xktFiles, finish, error);
128337
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128323
128338
  }, error);
128324
128339
  } else {
128325
- loadXKTs(xktFiles, finish, error);
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
- loadXKTs(xktFiles, finish, error);
128355
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128341
128356
  }, error);
128342
128357
  } else {
128343
- loadXKTs(xktFiles, finish, error);
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) {
@@ -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(xKTSrc, ok, error) {
27274
+ * getXKT(src, ok, error) {
27275
27275
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
27276
- * utils.loadArraybuffer(xKTSrc,
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 loadXKTs=function loadXKTs(xktFiles,done,error){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(xktFiles,finish,error);},error);}else{loadXKTs(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(xktFiles,finish,error);},error);}else{loadXKTs(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);}// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
27710
- //
27711
- // const metaModelId = sceneModel.id;
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