@xeokit/xeokit-sdk 2.6.46 → 2.6.48

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.
@@ -101520,9 +101520,9 @@ class MetaModel {
101520
101520
  * The {@link MetaObject}s in this MetaModel, each mapped to its ID.
101521
101521
  *
101522
101522
  * @property metaObjects
101523
- * @type {MetaObject[]}
101523
+ * @type {{String:MetaObject}}
101524
101524
  */
101525
- this.metaObjects = [];
101525
+ this.metaObjects = {};
101526
101526
 
101527
101527
  /**
101528
101528
  * Connectivity graph.
@@ -101621,7 +101621,7 @@ class MetaModel {
101621
101621
  this.metaScene.metaObjects[id] = metaObject;
101622
101622
  metaObject.metaModels = [];
101623
101623
  }
101624
- this.metaObjects.push(metaObject);
101624
+ this.metaObjects[id] =metaObject;
101625
101625
  if (!metaObjectData.parent) {
101626
101626
  this.rootMetaObjects.push(metaObject);
101627
101627
  metaScene.rootMetaObjects[id] = metaObject;
@@ -101745,8 +101745,9 @@ class MetaModel {
101745
101745
  metaObjects: [],
101746
101746
  propertySets: []
101747
101747
  };
101748
- for (let i = 0, len = this.metaObjects.length; i < len; i++) {
101749
- const metaObject = this.metaObjects[i];
101748
+ const metaObjectsList = Object.values(this.metaObjects);
101749
+ for (let i = 0, len = metaObjectsList.length; i < len; i++) {
101750
+ const metaObject = metaObjectsList[i];
101750
101751
  const metaObjectCfg = {
101751
101752
  id: metaObject.id,
101752
101753
  originalSystemId: metaObject.originalSystemId,
@@ -101516,9 +101516,9 @@ class MetaModel {
101516
101516
  * The {@link MetaObject}s in this MetaModel, each mapped to its ID.
101517
101517
  *
101518
101518
  * @property metaObjects
101519
- * @type {MetaObject[]}
101519
+ * @type {{String:MetaObject}}
101520
101520
  */
101521
- this.metaObjects = [];
101521
+ this.metaObjects = {};
101522
101522
 
101523
101523
  /**
101524
101524
  * Connectivity graph.
@@ -101617,7 +101617,7 @@ class MetaModel {
101617
101617
  this.metaScene.metaObjects[id] = metaObject;
101618
101618
  metaObject.metaModels = [];
101619
101619
  }
101620
- this.metaObjects.push(metaObject);
101620
+ this.metaObjects[id] =metaObject;
101621
101621
  if (!metaObjectData.parent) {
101622
101622
  this.rootMetaObjects.push(metaObject);
101623
101623
  metaScene.rootMetaObjects[id] = metaObject;
@@ -101741,8 +101741,9 @@ class MetaModel {
101741
101741
  metaObjects: [],
101742
101742
  propertySets: []
101743
101743
  };
101744
- for (let i = 0, len = this.metaObjects.length; i < len; i++) {
101745
- const metaObject = this.metaObjects[i];
101744
+ const metaObjectsList = Object.values(this.metaObjects);
101745
+ for (let i = 0, len = metaObjectsList.length; i < len; i++) {
101746
+ const metaObject = metaObjectsList[i];
101746
101747
  const metaObjectCfg = {
101747
101748
  id: metaObject.id,
101748
101749
  originalSystemId: metaObject.originalSystemId,
@@ -24402,8 +24402,8 @@ this.properties.push(property);}else{this.properties.push(new Property(property.
24402
24402
  * The {@link MetaObject}s in this MetaModel, each mapped to its ID.
24403
24403
  *
24404
24404
  * @property metaObjects
24405
- * @type {MetaObject[]}
24406
- */this.metaObjects=[];/**
24405
+ * @type {{String:MetaObject}}
24406
+ */this.metaObjects={};/**
24407
24407
  * Connectivity graph.
24408
24408
  * @type {{}}
24409
24409
  */this.graph=params.graph||{};this.metaScene.metaModels[this.id]=this;this._propertyLookup=[];/**
@@ -24419,7 +24419,7 @@ this.properties.push(property);}else{this.properties.push(new Property(property.
24419
24419
  * @param metaModelData
24420
24420
  */},{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 _i488=0,len=propertyLookup.length;_i488<len;_i488++){this._propertyLookup.push(propertyLookup[_i488]);}}// Create global Property Sets
24421
24421
  if(metaModelData.propertySets){for(var _i489=0,_len94=metaModelData.propertySets.length;_i489<_len94;_i489++){var propertySetData=metaModelData.propertySets[_i489];if(!propertySetData.properties){// HACK: https://github.com/Creoox/creoox-ifc2gltfcxconverter/issues/8
24422
- 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 _i490=0,_len95=metaModelData.metaObjects.length;_i490<_len95;_i490++){var metaObjectData=metaModelData.metaObjects[_i490];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.push(metaObject);if(!metaObjectData.parent){this.rootMetaObjects.push(metaObject);metaScene.rootMetaObjects[id]=metaObject;}}}}},{key:"_decompressProperties",value:function _decompressProperties(propertyLookup,properties){var propsNotFound=[];for(var _i491=0,len=properties.length;_i491<len;_i491++){var property=properties[_i491];if(Number.isInteger(property)){var lookupProperty=propertyLookup[property];if(lookupProperty){properties[_i491]=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
24422
+ 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 _i490=0,_len95=metaModelData.metaObjects.length;_i490<_len95;_i490++){var metaObjectData=metaModelData.metaObjects[_i490];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 _i491=0,len=properties.length;_i491<len;_i491++){var property=properties[_i491];if(Number.isInteger(property)){var lookupProperty=propertyLookup[property];if(lookupProperty){properties[_i491]=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
24423
24423
  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
24424
24424
  if(metaObject.propertySets){metaObject.propertySets=[];}if(metaObject.propertySetIds){for(var _i492=0,len=metaObject.propertySetIds.length;_i492<len;_i492++){var propertySetId=metaObject.propertySetIds[_i492];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
24425
24425
  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 _i493=0,_len96=metaModel.metaObjects.length;_i493<_len96;_i493++){var _metaObject5=metaModel.metaObjects[_i493];_metaObject5.metaModels.push(metaModel);}}// Rebuild MetaScene's MetaObjects-by-type lookup
@@ -24427,7 +24427,7 @@ metaScene.metaObjectsByType={};for(var _objectId3 in metaScene.metaObjects){var
24427
24427
  if(this.propertySets){for(var _i494=0,_len97=this.propertySets.length;_i494<_len97;_i494++){var _propertySet=this.propertySets[_i494];this._decompressProperties(this._propertyLookup,_propertySet.properties);}}this._propertyLookup=[];this.finalized=true;this.metaScene.fire("metaModelCreated",this.id);}/**
24428
24428
  * Gets this MetaModel as JSON.
24429
24429
  * @returns {{schema: (String|string|*), createdAt: (String|string|*), metaObjects: *[], author: (String|string|*), id: (String|Number|string|number|*), creatingApplication: (String|string|*), projectId: (String|Number|string|number|*), propertySets: *[]}}
24430
- */},{key:"getJSON",value:function getJSON(){var json={id:this.id,projectId:this.projectId,author:this.author,createdAt:this.createdAt,schema:this.schema,creatingApplication:this.creatingApplication,metaObjects:[],propertySets:[]};for(var _i495=0,len=this.metaObjects.length;_i495<len;_i495++){var metaObject=this.metaObjects[_i495];var metaObjectCfg={id:metaObject.id,originalSystemId:metaObject.originalSystemId,extId:metaObject.extId,type:metaObject.type,name:metaObject.name};if(metaObject.parent){metaObjectCfg.parent=metaObject.parent.id;}if(metaObject.attributes){metaObjectCfg.attributes=metaObject.attributes;}if(metaObject.propertySetIds){metaObjectCfg.propertySetIds=metaObject.propertySetIds;}json.metaObjects.push(metaObjectCfg);}for(var _i496=0,_len98=this.propertySets.length;_i496<_len98;_i496++){var propertySet=this.propertySets[_i496];var propertySetCfg={id:propertySet.id,originalSystemId:propertySet.originalSystemId,extId:propertySet.extId,type:propertySet.type,name:propertySet.name,propertyies:[]};for(var j=0,lenj=propertySet.properties.length;j<lenj;j++){var property=propertySet.properties[j];var propertyCfg={id:property.id,description:property.description,type:property.type,name:property.name,value:property.value,valueType:property.valueType};propertySetCfg.properties.push(propertyCfg);}json.propertySets.push(propertySetCfg);}return json;}},{key:"_globalizeIDs",value:function _globalizeIDs(metaModelData,options){var globalize=!!options.globalizeObjectIds;if(metaModelData.metaObjects){for(var _i497=0,len=metaModelData.metaObjects.length;_i497<len;_i497++){var metaObjectData=metaModelData.metaObjects[_i497];// Globalize MetaObject IDs and parent IDs
24430
+ */},{key:"getJSON",value:function getJSON(){var json={id:this.id,projectId:this.projectId,author:this.author,createdAt:this.createdAt,schema:this.schema,creatingApplication:this.creatingApplication,metaObjects:[],propertySets:[]};var metaObjectsList=Object.values(this.metaObjects);for(var _i495=0,len=metaObjectsList.length;_i495<len;_i495++){var metaObject=metaObjectsList[_i495];var metaObjectCfg={id:metaObject.id,originalSystemId:metaObject.originalSystemId,extId:metaObject.extId,type:metaObject.type,name:metaObject.name};if(metaObject.parent){metaObjectCfg.parent=metaObject.parent.id;}if(metaObject.attributes){metaObjectCfg.attributes=metaObject.attributes;}if(metaObject.propertySetIds){metaObjectCfg.propertySetIds=metaObject.propertySetIds;}json.metaObjects.push(metaObjectCfg);}for(var _i496=0,_len98=this.propertySets.length;_i496<_len98;_i496++){var propertySet=this.propertySets[_i496];var propertySetCfg={id:propertySet.id,originalSystemId:propertySet.originalSystemId,extId:propertySet.extId,type:propertySet.type,name:propertySet.name,propertyies:[]};for(var j=0,lenj=propertySet.properties.length;j<lenj;j++){var property=propertySet.properties[j];var propertyCfg={id:property.id,description:property.description,type:property.type,name:property.name,value:property.value,valueType:property.valueType};propertySetCfg.properties.push(propertyCfg);}json.propertySets.push(propertySetCfg);}return json;}},{key:"_globalizeIDs",value:function _globalizeIDs(metaModelData,options){var globalize=!!options.globalizeObjectIds;if(metaModelData.metaObjects){for(var _i497=0,len=metaModelData.metaObjects.length;_i497<len;_i497++){var metaObjectData=metaModelData.metaObjects[_i497];// Globalize MetaObject IDs and parent IDs
24431
24431
  metaObjectData.originalSystemId=metaObjectData.id;if(metaObjectData.parent){metaObjectData.originalParentSystemId=metaObjectData.parent;}if(globalize){metaObjectData.id=math.globalizeObjectId(this.id,metaObjectData.id);if(metaObjectData.parent){metaObjectData.parent=math.globalizeObjectId(this.id,metaObjectData.parent);}}// Globalize MetaObject property set IDs
24432
24432
  if(globalize){var propertySetIds=metaObjectData.propertySetIds;if(propertySetIds){var propertySetGlobalIds=[];for(var j=0,lenj=propertySetIds.length;j<lenj;j++){propertySetGlobalIds.push(math.globalizeObjectId(this.id,propertySetIds[j]));}metaObjectData.propertySetIds=propertySetGlobalIds;metaObjectData.originalSystemPropertySetIds=propertySetIds;}}else{metaObjectData.originalSystemPropertySetIds=metaObjectData.propertySetIds;}}}// Globalize global PropertySet IDs
24433
24433
  if(metaModelData.propertySets){for(var _i498=0,_len99=metaModelData.propertySets.length;_i498<_len99;_i498++){var propertySet=metaModelData.propertySets[_i498];propertySet.originalSystemId=propertySet.id;if(globalize){propertySet.id=math.globalizeObjectId(this.id,propertySet.id);}}}}}]);return MetaModel;}();/**