@xeokit/xeokit-sdk 2.6.57 → 2.6.58

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.
@@ -101442,6 +101442,7 @@ class MetaModel {
101442
101442
  this.rootMetaObjects.push(metaObject);
101443
101443
  metaScene.rootMetaObjects[id] = metaObject;
101444
101444
  }
101445
+ metaObject.metaModels.push(this);
101445
101446
  }
101446
101447
  }
101447
101448
  }
@@ -101847,13 +101848,14 @@ class MetaScene {
101847
101848
  if (metaModel.metaObjects) {
101848
101849
  for (let i = 0, len = metaModel.metaObjects.length; i < len; i++) {
101849
101850
  const metaObject = metaModel.metaObjects[i];
101850
- metaObject.type;
101851
101851
  const id = metaObject.id;
101852
- if (metaObject.metaModels.length === 1&& metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
101852
+ if (metaObject.metaModels.length === 1 && metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
101853
101853
  delete this.metaObjects[id];
101854
101854
  if (!metaObject.parent) {
101855
101855
  delete this.rootMetaObjects[id];
101856
101856
  }
101857
+ } else {
101858
+ metaObject.metaModels = metaObject.metaModels.filter(metaModel => metaModel.id !== metaModelId);
101857
101859
  }
101858
101860
  }
101859
101861
  }
@@ -101438,6 +101438,7 @@ class MetaModel {
101438
101438
  this.rootMetaObjects.push(metaObject);
101439
101439
  metaScene.rootMetaObjects[id] = metaObject;
101440
101440
  }
101441
+ metaObject.metaModels.push(this);
101441
101442
  }
101442
101443
  }
101443
101444
  }
@@ -101843,13 +101844,14 @@ class MetaScene {
101843
101844
  if (metaModel.metaObjects) {
101844
101845
  for (let i = 0, len = metaModel.metaObjects.length; i < len; i++) {
101845
101846
  const metaObject = metaModel.metaObjects[i];
101846
- metaObject.type;
101847
101847
  const id = metaObject.id;
101848
- if (metaObject.metaModels.length === 1&& metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
101848
+ if (metaObject.metaModels.length === 1 && metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
101849
101849
  delete this.metaObjects[id];
101850
101850
  if (!metaObject.parent) {
101851
101851
  delete this.rootMetaObjects[id];
101852
101852
  }
101853
+ } else {
101854
+ metaObject.metaModels = metaObject.metaModels.filter(metaModel => metaModel.id !== metaModelId);
101853
101855
  }
101854
101856
  }
101855
101857
  }
@@ -24520,7 +24520,7 @@ this.properties.push(property);}else{this.properties.push(new Property(property.
24520
24520
  * @param metaModelData
24521
24521
  */},{key:"loadData",value:function loadData(metaModelData){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(this.finalized){throw"MetaScene already finalized - can't add more data";}this._globalizeIDs(metaModelData,options);var metaScene=this.metaScene;var propertyLookup=metaModelData.properties;if(propertyLookup){for(var _i490=0,len=propertyLookup.length;_i490<len;_i490++){this._propertyLookup.push(propertyLookup[_i490]);}}// Create global Property Sets
24522
24522
  if(metaModelData.propertySets){for(var _i491=0,_len94=metaModelData.propertySets.length;_i491<_len94;_i491++){var propertySetData=metaModelData.propertySets[_i491];if(!propertySetData.properties){// HACK: https://github.com/Creoox/creoox-ifc2gltfcxconverter/issues/8
24523
- propertySetData.properties=[];}var propertySet=metaScene.propertySets[propertySetData.id];if(!propertySet){propertySet=new PropertySet({id:propertySetData.id,originalSystemId:propertySetData.originalSystemId||propertySetData.id,type:propertySetData.type,name:propertySetData.name,properties:propertySetData.properties});metaScene.propertySets[propertySet.id]=propertySet;}propertySet.metaModels.push(this);this.propertySets.push(propertySet);}}if(metaModelData.metaObjects){for(var _i492=0,_len95=metaModelData.metaObjects.length;_i492<_len95;_i492++){var metaObjectData=metaModelData.metaObjects[_i492];var id=metaObjectData.id;var metaObject=metaScene.metaObjects[id];if(!metaObject){var type=metaObjectData.type;var originalSystemId=metaObjectData.originalSystemId;var propertySetIds=metaObjectData.propertySets||metaObjectData.propertySetIds;metaObject=new MetaObject({id:id,originalSystemId:originalSystemId,parentId:metaObjectData.parent,type:type,name:metaObjectData.name,attributes:metaObjectData.attributes,propertySetIds:propertySetIds,external:metaObjectData.external});this.metaScene.metaObjects[id]=metaObject;metaObject.metaModels=[];}this.metaObjects[id]=metaObject;if(!metaObjectData.parent){this.rootMetaObjects.push(metaObject);metaScene.rootMetaObjects[id]=metaObject;}}}}},{key:"_decompressProperties",value:function _decompressProperties(propertyLookup,properties){var propsNotFound=[];for(var _i493=0,len=properties.length;_i493<len;_i493++){var property=properties[_i493];if(Number.isInteger(property)){var lookupProperty=propertyLookup[property];if(lookupProperty){properties[_i493]=lookupProperty;}else{propsNotFound.push(property);}}}if(propsNotFound.length>0){console.error("[MetaModel._decompressProperties] Properties not found: ".concat(propsNotFound));}}},{key:"finalize",value:function finalize(){if(this.finalized){throw"MetaScene already finalized - can't re-finalize";}// Re-link MetaScene's entire MetaObject parent/child hierarchy
24523
+ propertySetData.properties=[];}var propertySet=metaScene.propertySets[propertySetData.id];if(!propertySet){propertySet=new PropertySet({id:propertySetData.id,originalSystemId:propertySetData.originalSystemId||propertySetData.id,type:propertySetData.type,name:propertySetData.name,properties:propertySetData.properties});metaScene.propertySets[propertySet.id]=propertySet;}propertySet.metaModels.push(this);this.propertySets.push(propertySet);}}if(metaModelData.metaObjects){for(var _i492=0,_len95=metaModelData.metaObjects.length;_i492<_len95;_i492++){var metaObjectData=metaModelData.metaObjects[_i492];var id=metaObjectData.id;var metaObject=metaScene.metaObjects[id];if(!metaObject){var type=metaObjectData.type;var originalSystemId=metaObjectData.originalSystemId;var propertySetIds=metaObjectData.propertySets||metaObjectData.propertySetIds;metaObject=new MetaObject({id:id,originalSystemId:originalSystemId,parentId:metaObjectData.parent,type:type,name:metaObjectData.name,attributes:metaObjectData.attributes,propertySetIds:propertySetIds,external:metaObjectData.external});this.metaScene.metaObjects[id]=metaObject;metaObject.metaModels=[];}this.metaObjects[id]=metaObject;if(!metaObjectData.parent){this.rootMetaObjects.push(metaObject);metaScene.rootMetaObjects[id]=metaObject;}metaObject.metaModels.push(this);}}}},{key:"_decompressProperties",value:function _decompressProperties(propertyLookup,properties){var propsNotFound=[];for(var _i493=0,len=properties.length;_i493<len;_i493++){var property=properties[_i493];if(Number.isInteger(property)){var lookupProperty=propertyLookup[property];if(lookupProperty){properties[_i493]=lookupProperty;}else{propsNotFound.push(property);}}}if(propsNotFound.length>0){console.error("[MetaModel._decompressProperties] Properties not found: ".concat(propsNotFound));}}},{key:"finalize",value:function finalize(){if(this.finalized){throw"MetaScene already finalized - can't re-finalize";}// Re-link MetaScene's entire MetaObject parent/child hierarchy
24524
24524
  var metaScene=this.metaScene;for(var objectId in metaScene.metaObjects){var metaObject=metaScene.metaObjects[objectId];if(metaObject.children){metaObject.children=[];}// Re-link each MetaObject's property sets
24525
24525
  if(metaObject.propertySets){metaObject.propertySets=[];}if(metaObject.propertySetIds){for(var _i494=0,len=metaObject.propertySetIds.length;_i494<len;_i494++){var propertySetId=metaObject.propertySetIds[_i494];var propertySet=metaScene.propertySets[propertySetId];metaObject.propertySets.push(propertySet);}}}for(var _objectId in metaScene.metaObjects){var _metaObject3=metaScene.metaObjects[_objectId];if(_metaObject3.parentId){var parentMetaObject=metaScene.metaObjects[_metaObject3.parentId];if(parentMetaObject){_metaObject3.parent=parentMetaObject;(parentMetaObject.children||(parentMetaObject.children=[])).push(_metaObject3);}}}// Relink MetaObjects to their MetaModels
24526
24526
  for(var _objectId2 in metaScene.metaObjects){var _metaObject4=metaScene.metaObjects[_objectId2];_metaObject4.metaModels=[];}for(var modelId in metaScene.metaModels){var metaModel=metaScene.metaModels[modelId];for(var _objectId3 in metaModel.metaObjects){var _metaObject5=metaModel.metaObjects[_objectId3];_metaObject5.metaModels.push(metaModel);}}// Rebuild MetaScene's MetaObjects-by-type lookup
@@ -24611,8 +24611,8 @@ metaScene:this,id:modelId,projectId:metaModelData.projectId||"none",revisionId:m
24611
24611
  */},{key:"destroyMetaModel",value:function destroyMetaModel(metaModelId){var metaModel=this.metaModels[metaModelId];if(!metaModel){return;}// Remove global PropertySets
24612
24612
  if(metaModel.propertySets){for(var _i501=0,len=metaModel.propertySets.length;_i501<len;_i501++){var propertySet=metaModel.propertySets[_i501];if(propertySet.metaModels.length===1&&propertySet.metaModels[0].id===metaModelId){// Property set owned only by this model, delete
24613
24613
  delete this.propertySets[propertySet.id];}else{var newMetaModels=[];for(var j=0,lenj=propertySet.metaModels.length;j<lenj;j++){if(propertySet.metaModels[j].id!==metaModelId){newMetaModels.push(propertySet.metaModels[j]);}}propertySet.metaModels=newMetaModels;}}}// Remove MetaObjects
24614
- if(metaModel.metaObjects){for(var _i502=0,_len99=metaModel.metaObjects.length;_i502<_len99;_i502++){var metaObject=metaModel.metaObjects[_i502];metaObject.type;var id=metaObject.id;if(metaObject.metaModels.length===1&&metaObject.metaModels[0].id===metaModelId){// MetaObject owned only by this model, delete
24615
- delete this.metaObjects[id];if(!metaObject.parent){delete this.rootMetaObjects[id];}}}}// Re-link entire MetaObject parent/child hierarchy
24614
+ if(metaModel.metaObjects){for(var _i502=0,_len99=metaModel.metaObjects.length;_i502<_len99;_i502++){var metaObject=metaModel.metaObjects[_i502];var id=metaObject.id;if(metaObject.metaModels.length===1&&metaObject.metaModels[0].id===metaModelId){// MetaObject owned only by this model, delete
24615
+ delete this.metaObjects[id];if(!metaObject.parent){delete this.rootMetaObjects[id];}}else{metaObject.metaModels=metaObject.metaModels.filter(function(metaModel){return metaModel.id!==metaModelId;});}}}// Re-link entire MetaObject parent/child hierarchy
24616
24616
  for(var objectId in this.metaObjects){var _metaObject7=this.metaObjects[objectId];if(_metaObject7.children){_metaObject7.children=[];}// Re-link each MetaObject's property sets
24617
24617
  if(_metaObject7.propertySets){_metaObject7.propertySets=[];}if(_metaObject7.propertySetIds){for(var _i503=0,_len100=_metaObject7.propertySetIds.length;_i503<_len100;_i503++){var propertySetId=_metaObject7.propertySetIds[_i503];var _propertySet2=this.propertySets[propertySetId];_metaObject7.propertySets.push(_propertySet2);}}}this.metaObjectsByType={};for(var _objectId5 in this.metaObjects){var _metaObject8=this.metaObjects[_objectId5];var type=_metaObject8.type;if(_metaObject8.children){_metaObject8.children=null;}(this.metaObjectsByType[type]||(this.metaObjectsByType[type]={}))[_objectId5]=_metaObject8;}for(var _objectId6 in this.metaObjects){var _metaObject9=this.metaObjects[_objectId6];if(_metaObject9.parentId){var parentMetaObject=this.metaObjects[_metaObject9.parentId];if(parentMetaObject){_metaObject9.parent=parentMetaObject;(parentMetaObject.children||(parentMetaObject.children=[])).push(_metaObject9);}}}delete this.metaModels[metaModelId];// Relink MetaObjects to their MetaModels
24618
24618
  for(var _objectId7 in this.metaObjects){var _metaObject10=this.metaObjects[_objectId7];_metaObject10.metaModels=[];}for(var modelId in this.metaModels){var _metaModel=this.metaModels[modelId];for(var _i504=0,_len101=_metaModel.metaObjects.length;_i504<_len101;_i504++){var _metaObject11=_metaModel.metaObjects[_i504];_metaObject11.metaModels.push(_metaModel);}}this.fire("metaModelDestroyed",metaModelId);}/**