@xeokit/xeokit-sdk 2.5.2-beta-3 → 2.5.2-beta-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.
@@ -7569,6 +7569,15 @@ function renderScenes() {
7569
7569
 
7570
7570
  (window.requestPostAnimationFrame !== undefined) ? window.requestPostAnimationFrame(frame) : requestAnimationFrame(frame);
7571
7571
 
7572
+ function compileScenes() {
7573
+
7574
+ for (let id in core.scenes) {
7575
+ core.scenes[id].compile();
7576
+ }
7577
+ }
7578
+
7579
+ window.setInterval(compileScenes, 1000 / 60);
7580
+
7572
7581
  /**
7573
7582
  * @desc Base class for all xeokit components.
7574
7583
  *
@@ -28899,7 +28908,7 @@ class Scene extends Component {
28899
28908
  }
28900
28909
 
28901
28910
  _deRegisterColorizedObject(entity) {
28902
- delete this.colorizedObjects[entity.id];
28911
+ delete this.colorizedObjects[entity.id];
28903
28912
  this._numColorizedObjects--;
28904
28913
  this._colorizedObjectIds = null; // Lazy regenerate
28905
28914
  }
@@ -28916,7 +28925,7 @@ class Scene extends Component {
28916
28925
  }
28917
28926
 
28918
28927
  _deRegisterOpacityObject(entity) {
28919
- delete this.opacityObjects[entity.id];
28928
+ delete this.opacityObjects[entity.id];
28920
28929
  this._numOpacityObjects--;
28921
28930
  this._opacityObjectIds = null; // Lazy regenerate
28922
28931
  }
@@ -28933,7 +28942,7 @@ class Scene extends Component {
28933
28942
  }
28934
28943
 
28935
28944
  _deRegisterOffsetObject(entity) {
28936
- delete this.offsetObjects[entity.id];
28945
+ delete this.offsetObjects[entity.id];
28937
28946
  this._numOffsetObjects--;
28938
28947
  this._offsetObjectIds = null; // Lazy regenerate
28939
28948
  }
@@ -29206,6 +29215,18 @@ class Scene extends Component {
29206
29215
  this._saveAmbientColor();
29207
29216
  }
29208
29217
 
29218
+
29219
+ /**
29220
+ * @private
29221
+ */
29222
+ compile() {
29223
+ if (this._needRecompile) {
29224
+ this._recompile();
29225
+ this._renderer.imageDirty();
29226
+ this._needRecompile = false;
29227
+ }
29228
+ }
29229
+
29209
29230
  _recompile() {
29210
29231
  for (const id in this._compilables) {
29211
29232
  if (this._compilables.hasOwnProperty(id)) {
@@ -127568,13 +127589,14 @@ class XKTLoaderPlugin extends Plugin {
127568
127589
  sceneModel.once("destroyed", () => {
127569
127590
  this.viewer.metaScene.destroyMetaModel(metaModel.id);
127570
127591
  });
127571
- sceneModel.scene.once("tick", () => {
127592
+ window.setTimeout(() => {
127593
+
127572
127594
  if (sceneModel.destroyed) {
127573
127595
  return;
127574
127596
  }
127575
127597
  sceneModel.scene.fire("modelLoaded", sceneModel.id); // FIXME: Assumes listeners know order of these two events
127576
127598
  sceneModel.fire("loaded", true, false); // Don't forget the event, for late subscribers
127577
- });
127599
+ }, 100);
127578
127600
  };
127579
127601
 
127580
127602
  const error = (errMsg) => {
@@ -127652,7 +127674,7 @@ class XKTLoaderPlugin extends Plugin {
127652
127674
  globalizeObjectIds: options.globalizeObjectIds
127653
127675
  });
127654
127676
  i++;
127655
- this.viewer.scene.once("tick", loadNext);
127677
+ window.setTimeout( loadNext, 100);
127656
127678
  }, error);
127657
127679
  }
127658
127680
  };
@@ -127667,7 +127689,7 @@ class XKTLoaderPlugin extends Plugin {
127667
127689
  this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
127668
127690
  this._parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx);
127669
127691
  i++;
127670
- this.viewer.scene.once("tick", loadNext);
127692
+ window.setTimeout(loadNext, 100);
127671
127693
  }, error);
127672
127694
  }
127673
127695
  };
@@ -7565,6 +7565,15 @@ function renderScenes() {
7565
7565
 
7566
7566
  (window.requestPostAnimationFrame !== undefined) ? window.requestPostAnimationFrame(frame) : requestAnimationFrame(frame);
7567
7567
 
7568
+ function compileScenes() {
7569
+
7570
+ for (let id in core.scenes) {
7571
+ core.scenes[id].compile();
7572
+ }
7573
+ }
7574
+
7575
+ window.setInterval(compileScenes, 1000 / 60);
7576
+
7568
7577
  /**
7569
7578
  * @desc Base class for all xeokit components.
7570
7579
  *
@@ -28895,7 +28904,7 @@ class Scene extends Component {
28895
28904
  }
28896
28905
 
28897
28906
  _deRegisterColorizedObject(entity) {
28898
- delete this.colorizedObjects[entity.id];
28907
+ delete this.colorizedObjects[entity.id];
28899
28908
  this._numColorizedObjects--;
28900
28909
  this._colorizedObjectIds = null; // Lazy regenerate
28901
28910
  }
@@ -28912,7 +28921,7 @@ class Scene extends Component {
28912
28921
  }
28913
28922
 
28914
28923
  _deRegisterOpacityObject(entity) {
28915
- delete this.opacityObjects[entity.id];
28924
+ delete this.opacityObjects[entity.id];
28916
28925
  this._numOpacityObjects--;
28917
28926
  this._opacityObjectIds = null; // Lazy regenerate
28918
28927
  }
@@ -28929,7 +28938,7 @@ class Scene extends Component {
28929
28938
  }
28930
28939
 
28931
28940
  _deRegisterOffsetObject(entity) {
28932
- delete this.offsetObjects[entity.id];
28941
+ delete this.offsetObjects[entity.id];
28933
28942
  this._numOffsetObjects--;
28934
28943
  this._offsetObjectIds = null; // Lazy regenerate
28935
28944
  }
@@ -29202,6 +29211,18 @@ class Scene extends Component {
29202
29211
  this._saveAmbientColor();
29203
29212
  }
29204
29213
 
29214
+
29215
+ /**
29216
+ * @private
29217
+ */
29218
+ compile() {
29219
+ if (this._needRecompile) {
29220
+ this._recompile();
29221
+ this._renderer.imageDirty();
29222
+ this._needRecompile = false;
29223
+ }
29224
+ }
29225
+
29205
29226
  _recompile() {
29206
29227
  for (const id in this._compilables) {
29207
29228
  if (this._compilables.hasOwnProperty(id)) {
@@ -127564,13 +127585,14 @@ class XKTLoaderPlugin extends Plugin {
127564
127585
  sceneModel.once("destroyed", () => {
127565
127586
  this.viewer.metaScene.destroyMetaModel(metaModel.id);
127566
127587
  });
127567
- sceneModel.scene.once("tick", () => {
127588
+ window.setTimeout(() => {
127589
+
127568
127590
  if (sceneModel.destroyed) {
127569
127591
  return;
127570
127592
  }
127571
127593
  sceneModel.scene.fire("modelLoaded", sceneModel.id); // FIXME: Assumes listeners know order of these two events
127572
127594
  sceneModel.fire("loaded", true, false); // Don't forget the event, for late subscribers
127573
- });
127595
+ }, 100);
127574
127596
  };
127575
127597
 
127576
127598
  const error = (errMsg) => {
@@ -127648,7 +127670,7 @@ class XKTLoaderPlugin extends Plugin {
127648
127670
  globalizeObjectIds: options.globalizeObjectIds
127649
127671
  });
127650
127672
  i++;
127651
- this.viewer.scene.once("tick", loadNext);
127673
+ window.setTimeout( loadNext, 100);
127652
127674
  }, error);
127653
127675
  }
127654
127676
  };
@@ -127663,7 +127685,7 @@ class XKTLoaderPlugin extends Plugin {
127663
127685
  this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
127664
127686
  this._parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx);
127665
127687
  i++;
127666
- this.viewer.scene.once("tick", loadNext);
127688
+ window.setTimeout(loadNext, 100);
127667
127689
  }, error);
127668
127690
  }
127669
127691
  };
@@ -1639,7 +1639,7 @@ tickEvent.time=time;for(var id in core.scenes){if(core.scenes.hasOwnProperty(id)
1639
1639
  * @param {Number} prevTime The time of the previous "tick" event from this Scene.
1640
1640
  * @param {Number} deltaTime The time in seconds since the previous "tick" event from this Scene.
1641
1641
  */scene.fire("tick",tickEvent,true);}}tickEvent.prevTime=time;}function renderScenes(){var scenes=core.scenes;var forceRender=false;var scene;var renderInfo;var ticksPerOcclusionTest;var ticksPerRender;var id;for(id in scenes){if(scenes.hasOwnProperty(id)){scene=scenes[id];renderInfo=scenesRenderInfo[id];if(!renderInfo){renderInfo=scenesRenderInfo[id]={};// FIXME
1642
- }ticksPerOcclusionTest=scene.ticksPerOcclusionTest;if(renderInfo.ticksPerOcclusionTest!==ticksPerOcclusionTest){renderInfo.ticksPerOcclusionTest=ticksPerOcclusionTest;renderInfo.renderCountdown=ticksPerOcclusionTest;}if(--scene.occlusionTestCountdown<=0){scene.doOcclusionTest();scene.occlusionTestCountdown=ticksPerOcclusionTest;}ticksPerRender=scene.ticksPerRender;if(renderInfo.ticksPerRender!==ticksPerRender){renderInfo.ticksPerRender=ticksPerRender;renderInfo.renderCountdown=ticksPerRender;}if(--renderInfo.renderCountdown===0){scene.render(forceRender);renderInfo.renderCountdown=ticksPerRender;}}}}window.requestPostAnimationFrame!==undefined?window.requestPostAnimationFrame(frame):requestAnimationFrame(frame);/**
1642
+ }ticksPerOcclusionTest=scene.ticksPerOcclusionTest;if(renderInfo.ticksPerOcclusionTest!==ticksPerOcclusionTest){renderInfo.ticksPerOcclusionTest=ticksPerOcclusionTest;renderInfo.renderCountdown=ticksPerOcclusionTest;}if(--scene.occlusionTestCountdown<=0){scene.doOcclusionTest();scene.occlusionTestCountdown=ticksPerOcclusionTest;}ticksPerRender=scene.ticksPerRender;if(renderInfo.ticksPerRender!==ticksPerRender){renderInfo.ticksPerRender=ticksPerRender;renderInfo.renderCountdown=ticksPerRender;}if(--renderInfo.renderCountdown===0){scene.render(forceRender);renderInfo.renderCountdown=ticksPerRender;}}}}window.requestPostAnimationFrame!==undefined?window.requestPostAnimationFrame(frame):requestAnimationFrame(frame);function compileScenes(){for(var id in core.scenes){core.scenes[id].compile();}}window.setInterval(compileScenes,1000/60);/**
1643
1643
  * @desc Base class for all xeokit components.
1644
1644
  *
1645
1645
  * ## Component IDs
@@ -9136,7 +9136,9 @@ this.canvas.spinner.processes--;}/**
9136
9136
  * @event rendering
9137
9137
  * @param {String} sceneID The ID of this Scene.
9138
9138
  * @param {Number} pass Index of the pass we rendered (see {@link Scene#passes}).
9139
- */this.fire("rendered",renderEvent,true);}this._saveAmbientColor();}},{key:"_recompile",value:function _recompile(){for(var id in this._compilables){if(this._compilables.hasOwnProperty(id)){this._compilables[id].compile();}}this._renderer.shadowsDirty();this.fire("compile",this,true);}},{key:"_saveAmbientColor",value:function _saveAmbientColor(){var canvas=this.canvas;if(!canvas.transparent&&!canvas.backgroundImage&&!canvas.backgroundColor){var ambientColorIntensity=this._lightsState.getAmbientColorAndIntensity();if(!this._lastAmbientColor||this._lastAmbientColor[0]!==ambientColorIntensity[0]||this._lastAmbientColor[1]!==ambientColorIntensity[1]||this._lastAmbientColor[2]!==ambientColorIntensity[2]||this._lastAmbientColor[3]!==ambientColorIntensity[3]){canvas.backgroundColor=ambientColorIntensity;if(!this._lastAmbientColor){this._lastAmbientColor=math.vec4([0,0,0,1]);}this._lastAmbientColor.set(ambientColorIntensity);}}else{this._lastAmbientColor=null;}}/**
9139
+ */this.fire("rendered",renderEvent,true);}this._saveAmbientColor();}/**
9140
+ * @private
9141
+ */},{key:"compile",value:function compile(){if(this._needRecompile){this._recompile();this._renderer.imageDirty();this._needRecompile=false;}}},{key:"_recompile",value:function _recompile(){for(var id in this._compilables){if(this._compilables.hasOwnProperty(id)){this._compilables[id].compile();}}this._renderer.shadowsDirty();this.fire("compile",this,true);}},{key:"_saveAmbientColor",value:function _saveAmbientColor(){var canvas=this.canvas;if(!canvas.transparent&&!canvas.backgroundImage&&!canvas.backgroundColor){var ambientColorIntensity=this._lightsState.getAmbientColorAndIntensity();if(!this._lastAmbientColor||this._lastAmbientColor[0]!==ambientColorIntensity[0]||this._lastAmbientColor[1]!==ambientColorIntensity[1]||this._lastAmbientColor[2]!==ambientColorIntensity[2]||this._lastAmbientColor[3]!==ambientColorIntensity[3]){canvas.backgroundColor=ambientColorIntensity;if(!this._lastAmbientColor){this._lastAmbientColor=math.vec4([0,0,0,1]);}this._lastAmbientColor.set(ambientColorIntensity);}}else{this._lastAmbientColor=null;}}/**
9140
9142
  * Gets the IDs of the {@link Entity}s in {@link Scene#models}.
9141
9143
  *
9142
9144
  * @type {String[]}
@@ -27374,9 +27376,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
27374
27376
  */},{key:"load",value:function load(){var _this154=this;var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}if(!params.src&&!params.xkt&&!params.manifestSrc&&!params.manifest){this.error("load() param expected: src, xkt, manifestSrc or manifestData");return sceneModel;// Return new empty model
27375
27377
  }var options={};var includeTypes=params.includeTypes||this._includeTypes;var excludeTypes=params.excludeTypes||this._excludeTypes;var objectDefaults=params.objectDefaults||this._objectDefaults;options.reuseGeometries=params.reuseGeometries!==null&&params.reuseGeometries!==undefined?params.reuseGeometries:this._reuseGeometries!==false;if(includeTypes){options.includeTypesMap={};for(var _i563=0,len=includeTypes.length;_i563<len;_i563++){options.includeTypesMap[includeTypes[_i563]]=true;}}if(excludeTypes){options.excludeTypesMap={};for(var _i564=0,_len116=excludeTypes.length;_i564<_len116;_i564++){options.excludeTypesMap[excludeTypes[_i564]]=true;}}if(objectDefaults){options.objectDefaults=objectDefaults;}options.excludeUnclassifiedObjects=params.excludeUnclassifiedObjects!==undefined?!!params.excludeUnclassifiedObjects:this._excludeUnclassifiedObjects;options.globalizeObjectIds=params.globalizeObjectIds!==undefined&&params.globalizeObjectIds!==null?!!params.globalizeObjectIds:this._globalizeObjectIds;var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true,textureTranscoder:this._textureTranscoder,maxGeometryBatchSize:this._maxGeometryBatchSize,origin:params.origin,disableVertexWelding:params.disableVertexWelding||false,disableIndexRebucketing:params.disableIndexRebucketing||false,dtxEnabled:params.dtxEnabled}));var modelId=sceneModel.id;// In case ID was auto-generated
27376
27378
  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);
27377
- sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});sceneModel.scene.once("tick",function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events
27379
+ sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});window.setTimeout(function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events
27378
27380
  sceneModel.fire("loaded",true,false);// Don't forget the event, for late subscribers
27379
- });};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.viewer.scene.once("tick",loadNext);},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.viewer.scene.once("tick",loadNext);},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 _i565=0;_i565<numElements;_i565++){var elementSize=dataView.getUint32((_i565+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) {
27381
+ },100);};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++;window.setTimeout(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++;window.setTimeout(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 _i565=0;_i565<numElements;_i565++){var elementSize=dataView.getUint32((_i565+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) {
27380
27382
  //
27381
27383
  // const metaModelId = sceneModel.id;
27382
27384
  //