@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.
- package/dist/xeokit-sdk.cjs.js +29 -7
- package/dist/xeokit-sdk.es.js +29 -7
- package/dist/xeokit-sdk.es5.js +6 -4
- package/dist/xeokit-sdk.min.cjs.js +2 -2
- package/dist/xeokit-sdk.min.es.js +2 -2
- package/dist/xeokit-sdk.min.es5.js +2 -2
- package/package.json +1 -1
- package/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +5 -4
- package/src/viewer/scene/core.js +9 -0
- package/src/viewer/scene/scene/Scene.js +15 -3
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
127692
|
+
window.setTimeout(loadNext, 100);
|
|
127671
127693
|
}, error);
|
|
127672
127694
|
}
|
|
127673
127695
|
};
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
127688
|
+
window.setTimeout(loadNext, 100);
|
|
127667
127689
|
}, error);
|
|
127668
127690
|
}
|
|
127669
127691
|
};
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -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();}
|
|
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&¶ms.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&¶ms.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);});
|
|
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++;
|
|
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
|
//
|