@xeokit/xeokit-sdk 2.5.2-beta-17 → 2.5.2-beta-19
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 +15 -15
- package/dist/xeokit-sdk.es.js +15 -15
- package/dist/xeokit-sdk.es5.js +13 -13
- 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/TreeViewPlugin/TreeViewPlugin.js +3 -3
- package/src/viewer/metadata/MetaModel.js +4 -4
- package/src/viewer/metadata/MetaScene.js +8 -8
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -96769,9 +96769,9 @@ class MetaModel {
|
|
|
96769
96769
|
external: metaObjectData.external,
|
|
96770
96770
|
});
|
|
96771
96771
|
this.metaScene.metaObjects[id] = metaObject;
|
|
96772
|
-
|
|
96772
|
+
metaObject.metaModels = [];
|
|
96773
96773
|
}
|
|
96774
|
-
|
|
96774
|
+
this.metaObjects.push(metaObject);
|
|
96775
96775
|
if (!metaObjectData.parent) {
|
|
96776
96776
|
this.rootMetaObjects.push(metaObject);
|
|
96777
96777
|
metaScene.rootMetaObjects[id] = metaObject;
|
|
@@ -96835,8 +96835,8 @@ class MetaModel {
|
|
|
96835
96835
|
|
|
96836
96836
|
// Relink MetaObjects to their MetaModels
|
|
96837
96837
|
|
|
96838
|
-
for (let objectId in
|
|
96839
|
-
const metaObject =
|
|
96838
|
+
for (let objectId in metaScene.metaObjects) {
|
|
96839
|
+
const metaObject = metaScene.metaObjects[objectId];
|
|
96840
96840
|
metaObject.metaModels = [];
|
|
96841
96841
|
}
|
|
96842
96842
|
|
|
@@ -97131,11 +97131,11 @@ class MetaScene {
|
|
|
97131
97131
|
*
|
|
97132
97132
|
* Fires a "metaModelDestroyed" event with the value of the {@link MetaModel#id}.
|
|
97133
97133
|
*
|
|
97134
|
-
* @param {String}
|
|
97134
|
+
* @param {String} metaModelId ID of the target {@link MetaModel}.
|
|
97135
97135
|
*/
|
|
97136
|
-
destroyMetaModel(
|
|
97136
|
+
destroyMetaModel(metaModelId) {
|
|
97137
97137
|
|
|
97138
|
-
const metaModel = this.metaModels[
|
|
97138
|
+
const metaModel = this.metaModels[metaModelId];
|
|
97139
97139
|
if (!metaModel) {
|
|
97140
97140
|
return;
|
|
97141
97141
|
}
|
|
@@ -97145,12 +97145,12 @@ class MetaScene {
|
|
|
97145
97145
|
if (metaModel.propertySets) {
|
|
97146
97146
|
for (let i = 0, len = metaModel.propertySets.length; i < len; i++) {
|
|
97147
97147
|
const propertySet = metaModel.propertySets[i];
|
|
97148
|
-
if (propertySet.metaModels.length === 1) { // Property set owned by
|
|
97148
|
+
if (propertySet.metaModels.length === 1 && propertySet.metaModels[0].id === metaModelId) { // Property set owned only by this model, delete
|
|
97149
97149
|
delete this.propertySets[propertySet.id];
|
|
97150
97150
|
} else {
|
|
97151
97151
|
const newMetaModels = [];
|
|
97152
97152
|
for (let j = 0, lenj = propertySet.metaModels.length; j < lenj; j++) {
|
|
97153
|
-
if (propertySet.metaModels[j].id !==
|
|
97153
|
+
if (propertySet.metaModels[j].id !== metaModelId) {
|
|
97154
97154
|
newMetaModels.push(propertySet.metaModels[j]);
|
|
97155
97155
|
}
|
|
97156
97156
|
}
|
|
@@ -97166,7 +97166,7 @@ class MetaScene {
|
|
|
97166
97166
|
const metaObject = metaModel.metaObjects[i];
|
|
97167
97167
|
metaObject.type;
|
|
97168
97168
|
const id = metaObject.id;
|
|
97169
|
-
if (metaObject.metaModels.length === 1) { // MetaObject owned by
|
|
97169
|
+
if (metaObject.metaModels.length === 1&& metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
|
|
97170
97170
|
delete this.metaObjects[id];
|
|
97171
97171
|
if (!metaObject.parent) {
|
|
97172
97172
|
delete this.rootMetaObjects[id];
|
|
@@ -97219,7 +97219,7 @@ class MetaScene {
|
|
|
97219
97219
|
}
|
|
97220
97220
|
}
|
|
97221
97221
|
|
|
97222
|
-
delete this.metaModels[
|
|
97222
|
+
delete this.metaModels[metaModelId];
|
|
97223
97223
|
|
|
97224
97224
|
// Relink MetaObjects to their MetaModels
|
|
97225
97225
|
|
|
@@ -97236,7 +97236,7 @@ class MetaScene {
|
|
|
97236
97236
|
}
|
|
97237
97237
|
}
|
|
97238
97238
|
|
|
97239
|
-
this.fire("metaModelDestroyed",
|
|
97239
|
+
this.fire("metaModelDestroyed", metaModelId);
|
|
97240
97240
|
}
|
|
97241
97241
|
|
|
97242
97242
|
/**
|
|
@@ -122322,7 +122322,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122322
122322
|
buildingNode = {
|
|
122323
122323
|
nodeId: `${this._id}-${objectId}`,
|
|
122324
122324
|
objectId: objectId,
|
|
122325
|
-
title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122325
|
+
title: (metaObject.metaModels.length === 0) ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122326
122326
|
type: metaObjectType,
|
|
122327
122327
|
parent: null,
|
|
122328
122328
|
numEntities: 0,
|
|
@@ -122425,7 +122425,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122425
122425
|
rootNode = {
|
|
122426
122426
|
nodeId: `${this._id}-${objectId}`,
|
|
122427
122427
|
objectId: objectId,
|
|
122428
|
-
title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122428
|
+
title: metaObject.metaModels.length === 0 ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122429
122429
|
type: metaObjectType,
|
|
122430
122430
|
parent: null,
|
|
122431
122431
|
numEntities: 0,
|
|
@@ -122506,7 +122506,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122506
122506
|
const node = {
|
|
122507
122507
|
nodeId: `${this._id}-${objectId}`,
|
|
122508
122508
|
objectId: objectId,
|
|
122509
|
-
title: (!parent) ? (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
|
|
122509
|
+
title: (!parent) ? metaObject.metaModels.length === 0 ? "na" : (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
|
|
122510
122510
|
type: metaObjectType,
|
|
122511
122511
|
parent: parent,
|
|
122512
122512
|
numEntities: 0,
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -96765,9 +96765,9 @@ class MetaModel {
|
|
|
96765
96765
|
external: metaObjectData.external,
|
|
96766
96766
|
});
|
|
96767
96767
|
this.metaScene.metaObjects[id] = metaObject;
|
|
96768
|
-
|
|
96768
|
+
metaObject.metaModels = [];
|
|
96769
96769
|
}
|
|
96770
|
-
|
|
96770
|
+
this.metaObjects.push(metaObject);
|
|
96771
96771
|
if (!metaObjectData.parent) {
|
|
96772
96772
|
this.rootMetaObjects.push(metaObject);
|
|
96773
96773
|
metaScene.rootMetaObjects[id] = metaObject;
|
|
@@ -96831,8 +96831,8 @@ class MetaModel {
|
|
|
96831
96831
|
|
|
96832
96832
|
// Relink MetaObjects to their MetaModels
|
|
96833
96833
|
|
|
96834
|
-
for (let objectId in
|
|
96835
|
-
const metaObject =
|
|
96834
|
+
for (let objectId in metaScene.metaObjects) {
|
|
96835
|
+
const metaObject = metaScene.metaObjects[objectId];
|
|
96836
96836
|
metaObject.metaModels = [];
|
|
96837
96837
|
}
|
|
96838
96838
|
|
|
@@ -97127,11 +97127,11 @@ class MetaScene {
|
|
|
97127
97127
|
*
|
|
97128
97128
|
* Fires a "metaModelDestroyed" event with the value of the {@link MetaModel#id}.
|
|
97129
97129
|
*
|
|
97130
|
-
* @param {String}
|
|
97130
|
+
* @param {String} metaModelId ID of the target {@link MetaModel}.
|
|
97131
97131
|
*/
|
|
97132
|
-
destroyMetaModel(
|
|
97132
|
+
destroyMetaModel(metaModelId) {
|
|
97133
97133
|
|
|
97134
|
-
const metaModel = this.metaModels[
|
|
97134
|
+
const metaModel = this.metaModels[metaModelId];
|
|
97135
97135
|
if (!metaModel) {
|
|
97136
97136
|
return;
|
|
97137
97137
|
}
|
|
@@ -97141,12 +97141,12 @@ class MetaScene {
|
|
|
97141
97141
|
if (metaModel.propertySets) {
|
|
97142
97142
|
for (let i = 0, len = metaModel.propertySets.length; i < len; i++) {
|
|
97143
97143
|
const propertySet = metaModel.propertySets[i];
|
|
97144
|
-
if (propertySet.metaModels.length === 1) { // Property set owned by
|
|
97144
|
+
if (propertySet.metaModels.length === 1 && propertySet.metaModels[0].id === metaModelId) { // Property set owned only by this model, delete
|
|
97145
97145
|
delete this.propertySets[propertySet.id];
|
|
97146
97146
|
} else {
|
|
97147
97147
|
const newMetaModels = [];
|
|
97148
97148
|
for (let j = 0, lenj = propertySet.metaModels.length; j < lenj; j++) {
|
|
97149
|
-
if (propertySet.metaModels[j].id !==
|
|
97149
|
+
if (propertySet.metaModels[j].id !== metaModelId) {
|
|
97150
97150
|
newMetaModels.push(propertySet.metaModels[j]);
|
|
97151
97151
|
}
|
|
97152
97152
|
}
|
|
@@ -97162,7 +97162,7 @@ class MetaScene {
|
|
|
97162
97162
|
const metaObject = metaModel.metaObjects[i];
|
|
97163
97163
|
metaObject.type;
|
|
97164
97164
|
const id = metaObject.id;
|
|
97165
|
-
if (metaObject.metaModels.length === 1) { // MetaObject owned by
|
|
97165
|
+
if (metaObject.metaModels.length === 1&& metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
|
|
97166
97166
|
delete this.metaObjects[id];
|
|
97167
97167
|
if (!metaObject.parent) {
|
|
97168
97168
|
delete this.rootMetaObjects[id];
|
|
@@ -97215,7 +97215,7 @@ class MetaScene {
|
|
|
97215
97215
|
}
|
|
97216
97216
|
}
|
|
97217
97217
|
|
|
97218
|
-
delete this.metaModels[
|
|
97218
|
+
delete this.metaModels[metaModelId];
|
|
97219
97219
|
|
|
97220
97220
|
// Relink MetaObjects to their MetaModels
|
|
97221
97221
|
|
|
@@ -97232,7 +97232,7 @@ class MetaScene {
|
|
|
97232
97232
|
}
|
|
97233
97233
|
}
|
|
97234
97234
|
|
|
97235
|
-
this.fire("metaModelDestroyed",
|
|
97235
|
+
this.fire("metaModelDestroyed", metaModelId);
|
|
97236
97236
|
}
|
|
97237
97237
|
|
|
97238
97238
|
/**
|
|
@@ -122318,7 +122318,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122318
122318
|
buildingNode = {
|
|
122319
122319
|
nodeId: `${this._id}-${objectId}`,
|
|
122320
122320
|
objectId: objectId,
|
|
122321
|
-
title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122321
|
+
title: (metaObject.metaModels.length === 0) ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122322
122322
|
type: metaObjectType,
|
|
122323
122323
|
parent: null,
|
|
122324
122324
|
numEntities: 0,
|
|
@@ -122421,7 +122421,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122421
122421
|
rootNode = {
|
|
122422
122422
|
nodeId: `${this._id}-${objectId}`,
|
|
122423
122423
|
objectId: objectId,
|
|
122424
|
-
title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122424
|
+
title: metaObject.metaModels.length === 0 ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
|
|
122425
122425
|
type: metaObjectType,
|
|
122426
122426
|
parent: null,
|
|
122427
122427
|
numEntities: 0,
|
|
@@ -122502,7 +122502,7 @@ class TreeViewPlugin extends Plugin {
|
|
|
122502
122502
|
const node = {
|
|
122503
122503
|
nodeId: `${this._id}-${objectId}`,
|
|
122504
122504
|
objectId: objectId,
|
|
122505
|
-
title: (!parent) ? (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
|
|
122505
|
+
title: (!parent) ? metaObject.metaModels.length === 0 ? "na" : (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
|
|
122506
122506
|
type: metaObjectType,
|
|
122507
122507
|
parent: parent,
|
|
122508
122508
|
numEntities: 0,
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -23207,10 +23207,10 @@ value=value||"qwerty";if(value!=="qwerty"&&value!=="azerty"){this.error("Unsuppo
|
|
|
23207
23207
|
* Load metamodel data into this MetaModel.
|
|
23208
23208
|
* @param metaModelData
|
|
23209
23209
|
*/},{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;// Create global Property Sets
|
|
23210
|
-
if(metaModelData.propertySets){for(var _i471=0,len=metaModelData.propertySets.length;_i471<len;_i471++){var propertySetData=metaModelData.propertySets[_i471];var propertySet=metaScene.propertySets[propertySetData.id];if(!propertySet){if(propertyLookup){this._decompressProperties(propertyLookup,propertySetData.properties);}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 _i472=0,_len93=metaModelData.metaObjects.length;_i472<_len93;_i472++){var metaObjectData=metaModelData.metaObjects[_i472];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;this.metaObjects.push(metaObject);
|
|
23210
|
+
if(metaModelData.propertySets){for(var _i471=0,len=metaModelData.propertySets.length;_i471<len;_i471++){var propertySetData=metaModelData.propertySets[_i471];var propertySet=metaScene.propertySets[propertySetData.id];if(!propertySet){if(propertyLookup){this._decompressProperties(propertyLookup,propertySetData.properties);}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 _i472=0,_len93=metaModelData.metaObjects.length;_i472<_len93;_i472++){var metaObjectData=metaModelData.metaObjects[_i472];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){for(var _i473=0,len=properties.length;_i473<len;_i473++){var property=properties[_i473];if(Number.isInteger(property)){var lookupProperty=propertyLookup[property];if(lookupProperty){properties[_i473]=lookupProperty;}}}}},{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
|
|
23211
23211
|
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
|
|
23212
23212
|
if(metaObject.propertySets){metaObject.propertySets=[];}if(metaObject.propertySetIds){for(var _i474=0,len=metaObject.propertySetIds.length;_i474<len;_i474++){var propertySetId=metaObject.propertySetIds[_i474];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
|
|
23213
|
-
for(var _objectId2 in
|
|
23213
|
+
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 _i475=0,_len94=metaModel.metaObjects.length;_i475<_len94;_i475++){var _metaObject5=metaModel.metaObjects[_i475];_metaObject5.metaModels.push(metaModel);}}// Rebuild MetaScene's MetaObjects-by-type lookup
|
|
23214
23214
|
metaScene.metaObjectsByType={};for(var _objectId3 in metaScene.metaObjects){var _metaObject6=metaScene.metaObjects[_objectId3];var type=_metaObject6.type;(metaScene.metaObjectsByType[type]||(metaScene.metaObjectsByType[type]={}))[_objectId3]=_metaObject6;}this.finalized=true;this.metaScene.fire("metaModelCreated",this.id);}/**
|
|
23215
23215
|
* Gets this MetaModel as JSON.
|
|
23216
23216
|
* @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: *[]}}
|
|
@@ -23295,15 +23295,15 @@ metaScene:this,id:modelId,projectId:metaModelData.projectId||"none",revisionId:m
|
|
|
23295
23295
|
*
|
|
23296
23296
|
* Fires a "metaModelDestroyed" event with the value of the {@link MetaModel#id}.
|
|
23297
23297
|
*
|
|
23298
|
-
* @param {String}
|
|
23299
|
-
*/},{key:"destroyMetaModel",value:function destroyMetaModel(
|
|
23300
|
-
if(metaModel.propertySets){for(var _i481=0,len=metaModel.propertySets.length;_i481<len;_i481++){var propertySet=metaModel.propertySets[_i481];if(propertySet.metaModels.length===1){// Property set owned by
|
|
23301
|
-
delete this.propertySets[propertySet.id];}else{var newMetaModels=[];for(var j=0,lenj=propertySet.metaModels.length;j<lenj;j++){if(propertySet.metaModels[j].id!==
|
|
23302
|
-
if(metaModel.metaObjects){for(var _i482=0,_len97=metaModel.metaObjects.length;_i482<_len97;_i482++){var metaObject=metaModel.metaObjects[_i482];metaObject.type;var
|
|
23303
|
-
delete this.metaObjects[
|
|
23298
|
+
* @param {String} metaModelId ID of the target {@link MetaModel}.
|
|
23299
|
+
*/},{key:"destroyMetaModel",value:function destroyMetaModel(metaModelId){var metaModel=this.metaModels[metaModelId];if(!metaModel){return;}// Remove global PropertySets
|
|
23300
|
+
if(metaModel.propertySets){for(var _i481=0,len=metaModel.propertySets.length;_i481<len;_i481++){var propertySet=metaModel.propertySets[_i481];if(propertySet.metaModels.length===1&&propertySet.metaModels[0].id===metaModelId){// Property set owned only by this model, delete
|
|
23301
|
+
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
|
|
23302
|
+
if(metaModel.metaObjects){for(var _i482=0,_len97=metaModel.metaObjects.length;_i482<_len97;_i482++){var metaObject=metaModel.metaObjects[_i482];metaObject.type;var id=metaObject.id;if(metaObject.metaModels.length===1&&metaObject.metaModels[0].id===metaModelId){// MetaObject owned only by this model, delete
|
|
23303
|
+
delete this.metaObjects[id];if(!metaObject.parent){delete this.rootMetaObjects[id];}}}}// Re-link entire MetaObject parent/child hierarchy
|
|
23304
23304
|
for(var objectId in this.metaObjects){var _metaObject7=this.metaObjects[objectId];if(_metaObject7.children){_metaObject7.children=[];}// Re-link each MetaObject's property sets
|
|
23305
|
-
if(_metaObject7.propertySets){_metaObject7.propertySets=[];}if(_metaObject7.propertySetIds){for(var _i483=0,_len98=_metaObject7.propertySetIds.length;_i483<_len98;_i483++){var propertySetId=_metaObject7.propertySetIds[_i483];var _propertySet=this.propertySets[propertySetId];_metaObject7.propertySets.push(_propertySet);}}}this.metaObjectsByType={};for(var _objectId4 in this.metaObjects){var _metaObject8=this.metaObjects[_objectId4];var type=_metaObject8.type;if(_metaObject8.children){_metaObject8.children=null;}(this.metaObjectsByType[type]||(this.metaObjectsByType[type]={}))[_objectId4]=_metaObject8;}for(var _objectId5 in this.metaObjects){var _metaObject9=this.metaObjects[_objectId5];if(_metaObject9.parentId){var parentMetaObject=this.metaObjects[_metaObject9.parentId];if(parentMetaObject){_metaObject9.parent=parentMetaObject;(parentMetaObject.children||(parentMetaObject.children=[])).push(_metaObject9);}}}delete this.metaModels[
|
|
23306
|
-
for(var _objectId6 in this.metaObjects){var _metaObject10=this.metaObjects[_objectId6];_metaObject10.metaModels=[];}for(var modelId in this.metaModels){var _metaModel=this.metaModels[modelId];for(var _i484=0,_len99=_metaModel.metaObjects.length;_i484<_len99;_i484++){var _metaObject11=_metaModel.metaObjects[_i484];_metaObject11.metaModels.push(_metaModel);}}this.fire("metaModelDestroyed",
|
|
23305
|
+
if(_metaObject7.propertySets){_metaObject7.propertySets=[];}if(_metaObject7.propertySetIds){for(var _i483=0,_len98=_metaObject7.propertySetIds.length;_i483<_len98;_i483++){var propertySetId=_metaObject7.propertySetIds[_i483];var _propertySet=this.propertySets[propertySetId];_metaObject7.propertySets.push(_propertySet);}}}this.metaObjectsByType={};for(var _objectId4 in this.metaObjects){var _metaObject8=this.metaObjects[_objectId4];var type=_metaObject8.type;if(_metaObject8.children){_metaObject8.children=null;}(this.metaObjectsByType[type]||(this.metaObjectsByType[type]={}))[_objectId4]=_metaObject8;}for(var _objectId5 in this.metaObjects){var _metaObject9=this.metaObjects[_objectId5];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
|
|
23306
|
+
for(var _objectId6 in this.metaObjects){var _metaObject10=this.metaObjects[_objectId6];_metaObject10.metaModels=[];}for(var modelId in this.metaModels){var _metaModel=this.metaModels[modelId];for(var _i484=0,_len99=_metaModel.metaObjects.length;_i484<_len99;_i484++){var _metaObject11=_metaModel.metaObjects[_i484];_metaObject11.metaModels.push(_metaModel);}}this.fire("metaModelDestroyed",metaModelId);}/**
|
|
23307
23307
|
* Gets the {@link MetaObject#id}s of the {@link MetaObject}s that have the given {@link MetaObject#type}.
|
|
23308
23308
|
*
|
|
23309
23309
|
* @param {String} type The type.
|
|
@@ -24857,7 +24857,7 @@ var sectionPlane=new SectionPlane(this.viewer.scene,{id:params.id,pos:params.pos
|
|
|
24857
24857
|
* @private
|
|
24858
24858
|
*/},{key:"send",value:function send(name,value){switch(name){case"snapshotStarting":// Viewer#getSnapshot() about to take snapshot - hide controls
|
|
24859
24859
|
for(var id in this._controls){if(this._controls.hasOwnProperty(id)){this._controls[id].setCulled(true);}}break;case"snapshotFinished":// Viewer#getSnapshot() finished taking snapshot - show controls again
|
|
24860
|
-
for(var
|
|
24860
|
+
for(var _id4 in this._controls){if(this._controls.hasOwnProperty(_id4)){this._controls[_id4].setCulled(false);}}break;case"clearSectionPlanes":this.clear();break;}}/**
|
|
24861
24861
|
* Destroys this SectionPlanesPlugin.
|
|
24862
24862
|
*
|
|
24863
24863
|
* Also destroys each {@link SectionPlane} created by this SectionPlanesPlugin.
|
|
@@ -25562,7 +25562,7 @@ var sectionPlane=new SectionPlane(this.viewer.scene,{id:params.id,pos:params.pos
|
|
|
25562
25562
|
* @private
|
|
25563
25563
|
*/},{key:"send",value:function send(name,value){switch(name){case"snapshotStarting":// Viewer#getSnapshot() about to take snapshot - hide controls
|
|
25564
25564
|
for(var id in this._controls){if(this._controls.hasOwnProperty(id)){this._controls[id].setCulled(true);}}break;case"snapshotFinished":// Viewer#getSnapshot() finished taking snapshot - show controls again
|
|
25565
|
-
for(var
|
|
25565
|
+
for(var _id5 in this._controls){if(this._controls.hasOwnProperty(_id5)){this._controls[_id5].setCulled(false);}}break;case"clearSectionPlanes":this.clear();break;}}/**
|
|
25566
25566
|
* Destroys this FaceAlignedSectionPlanesPlugin.
|
|
25567
25567
|
*
|
|
25568
25568
|
* Also destroys each {@link SectionPlane} created by this FaceAlignedSectionPlanesPlugin.
|
|
@@ -26359,7 +26359,7 @@ _this143._sortNodes=cfg.sortNodes;_this143._pruneEmptyNodes=cfg.pruneEmptyNodes;
|
|
|
26359
26359
|
// // errors.push("Can't build storeys hierarchy: no IfcBuildingStoreys found");
|
|
26360
26360
|
// }
|
|
26361
26361
|
// }
|
|
26362
|
-
return true;}},{key:"_createEnabledNodes",value:function _createEnabledNodes(){if(this._pruneEmptyNodes){this._findEmptyNodes();}switch(this._hierarchy){case"storeys":this._createStoreysNodes();if(this._rootNodes.length===0){this.error("Failed to build storeys hierarchy");}break;case"types":this._createTypesNodes();break;case"containment":default:this._createContainmentNodes();}if(this._sortNodes){this._doSortNodes();}this._synchNodesToEntities();this._createTrees();this.expandToDepth(this._autoExpandDepth);}},{key:"_createDisabledNodes",value:function _createDisabledNodes(){var rootNode=this._renderService.createRootNode();this._rootElement=rootNode;this._containerElement.appendChild(rootNode);var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){var rootMetaObject=rootMetaObjects[objectId];var metaObjectType=rootMetaObject.type;var metaObjectName=rootMetaObject.name;var rootName=metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType;var childNode=this._renderService.createDisabledNodeElement(rootName);rootNode.appendChild(childNode);}}},{key:"_findEmptyNodes",value:function _findEmptyNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){this._findEmptyNodes2(rootMetaObjects[objectId]);}}},{key:"_findEmptyNodes2",value:function _findEmptyNodes2(metaObject){var countEntities=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var viewer=this.viewer;var scene=viewer.scene;var children=metaObject.children;var objectId=metaObject.id;var entity=scene.objects[objectId];metaObject._countEntities=0;if(entity){metaObject._countEntities++;}if(children){for(var _i533=0,len=children.length;_i533<len;_i533++){var childMetaObject=children[_i533];childMetaObject._countEntities=this._findEmptyNodes2(childMetaObject);metaObject._countEntities+=childMetaObject._countEntities;}}return metaObject._countEntities;}},{key:"_createStoreysNodes",value:function _createStoreysNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createStoreysNodes2(rootMetaObjects[id],null,null,null);}}},{key:"_createStoreysNodes2",value:function _createStoreysNodes2(metaObject,buildingNode,storeyNode,typeNodes){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name;var children=metaObject.children;var objectId=metaObject.id;if(metaObjectType==="IfcBuilding"){buildingNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:this._rootNames[metaObject.metaModels[0].id]||(metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType),type:metaObjectType,parent:null,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};this._rootNodes.push(buildingNode);this._objectNodes[buildingNode.objectId]=buildingNode;this._nodeNodes[buildingNode.nodeId]=buildingNode;}else if(metaObjectType==="IfcBuildingStorey"){if(!buildingNode){this.error("Failed to build storeys hierarchy for model '"+this.metaModel.id+"' - model does not have an IfcBuilding object, or is not an IFC model");return;}storeyNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:buildingNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};buildingNode.children.push(storeyNode);this._objectNodes[storeyNode.objectId]=storeyNode;this._nodeNodes[storeyNode.nodeId]=storeyNode;typeNodes={};}else{if(storeyNode){var objects=this._viewer.scene.objects;var object=objects[objectId];if(object){typeNodes=typeNodes||{};var typeNode=typeNodes[metaObjectType];if(!typeNode){typeNode={nodeId:"".concat(this._id,"-").concat(storeyNode.objectId,"-").concat(metaObjectType),objectId:"".concat(storeyNode.objectId,"-").concat(metaObjectType),title:metaObjectType,type:metaObjectType,parent:storeyNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};storeyNode.children.push(typeNode);this._objectNodes[typeNode.objectId]=typeNode;this._nodeNodes[typeNode.nodeId]=typeNode;typeNodes[metaObjectType]=typeNode;}var _node8={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:typeNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};typeNode.children.push(_node8);this._objectNodes[_node8.objectId]=_node8;this._nodeNodes[_node8.nodeId]=_node8;}}}if(children){for(var _i534=0,len=children.length;_i534<len;_i534++){var childMetaObject=children[_i534];this._createStoreysNodes2(childMetaObject,buildingNode,storeyNode,typeNodes);}}}},{key:"_createTypesNodes",value:function _createTypesNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createTypesNodes2(rootMetaObjects[id],null,null);}}},{key:"_createTypesNodes2",value:function _createTypesNodes2(metaObject,rootNode,typeNodes){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name;var children=metaObject.children;var objectId=metaObject.id;if(!metaObject.parent){rootNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:this._rootNames[metaObject.metaModels[0].id]||(metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType),type:metaObjectType,parent:null,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};this._rootNodes.push(rootNode);this._objectNodes[rootNode.objectId]=rootNode;this._nodeNodes[rootNode.nodeId]=rootNode;typeNodes={};}else{if(rootNode){var objects=this._viewer.scene.objects;var object=objects[objectId];if(object){var typeNode=typeNodes[metaObjectType];if(!typeNode){typeNode={nodeId:"".concat(this._id,"-").concat(rootNode.objectId,"-").concat(metaObjectType),objectId:"".concat(rootNode.objectId,"-").concat(metaObjectType),title:metaObjectType,type:metaObjectType,parent:rootNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};rootNode.children.push(typeNode);this._objectNodes[typeNode.objectId]=typeNode;this._nodeNodes[typeNode.nodeId]=typeNode;typeNodes[metaObjectType]=typeNode;}var _node9={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:typeNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};typeNode.children.push(_node9);this._objectNodes[_node9.objectId]=_node9;this._nodeNodes[_node9.nodeId]=_node9;}}}if(children){for(var _i535=0,len=children.length;_i535<len;_i535++){var childMetaObject=children[_i535];this._createTypesNodes2(childMetaObject,rootNode,typeNodes);}}}},{key:"_createContainmentNodes",value:function _createContainmentNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createContainmentNodes2(rootMetaObjects[id],null);}}},{key:"_createContainmentNodes2",value:function _createContainmentNodes2(metaObject,parent){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name||metaObjectType;var children=metaObject.children;var objectId=metaObject.id;var node={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:!parent?this._rootNames[metaObject.metaModels[0].id]||metaObjectName:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:parent,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};if(parent){parent.children.push(node);}else{this._rootNodes.push(node);}this._objectNodes[node.objectId]=node;this._nodeNodes[node.nodeId]=node;if(children){for(var _i536=0,len=children.length;_i536<len;_i536++){var childMetaObject=children[_i536];this._createContainmentNodes2(childMetaObject,node);}}}},{key:"_doSortNodes",value:function _doSortNodes(){for(var _i537=0,len=this._rootNodes.length;_i537<len;_i537++){var rootNode=this._rootNodes[_i537];this._sortChildren(rootNode);}}},{key:"_sortChildren",value:function _sortChildren(node){var children=node.children;if(!children||children.length===0){return;}if(this._hierarchy==="storeys"&&node.type==="IfcBuilding"){// Assumes that children of an IfcBuilding will always be IfcBuildingStoreys
|
|
26362
|
+
return true;}},{key:"_createEnabledNodes",value:function _createEnabledNodes(){if(this._pruneEmptyNodes){this._findEmptyNodes();}switch(this._hierarchy){case"storeys":this._createStoreysNodes();if(this._rootNodes.length===0){this.error("Failed to build storeys hierarchy");}break;case"types":this._createTypesNodes();break;case"containment":default:this._createContainmentNodes();}if(this._sortNodes){this._doSortNodes();}this._synchNodesToEntities();this._createTrees();this.expandToDepth(this._autoExpandDepth);}},{key:"_createDisabledNodes",value:function _createDisabledNodes(){var rootNode=this._renderService.createRootNode();this._rootElement=rootNode;this._containerElement.appendChild(rootNode);var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){var rootMetaObject=rootMetaObjects[objectId];var metaObjectType=rootMetaObject.type;var metaObjectName=rootMetaObject.name;var rootName=metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType;var childNode=this._renderService.createDisabledNodeElement(rootName);rootNode.appendChild(childNode);}}},{key:"_findEmptyNodes",value:function _findEmptyNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){this._findEmptyNodes2(rootMetaObjects[objectId]);}}},{key:"_findEmptyNodes2",value:function _findEmptyNodes2(metaObject){var countEntities=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var viewer=this.viewer;var scene=viewer.scene;var children=metaObject.children;var objectId=metaObject.id;var entity=scene.objects[objectId];metaObject._countEntities=0;if(entity){metaObject._countEntities++;}if(children){for(var _i533=0,len=children.length;_i533<len;_i533++){var childMetaObject=children[_i533];childMetaObject._countEntities=this._findEmptyNodes2(childMetaObject);metaObject._countEntities+=childMetaObject._countEntities;}}return metaObject._countEntities;}},{key:"_createStoreysNodes",value:function _createStoreysNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createStoreysNodes2(rootMetaObjects[id],null,null,null);}}},{key:"_createStoreysNodes2",value:function _createStoreysNodes2(metaObject,buildingNode,storeyNode,typeNodes){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name;var children=metaObject.children;var objectId=metaObject.id;if(metaObjectType==="IfcBuilding"){buildingNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObject.metaModels.length===0?"na":this._rootNames[metaObject.metaModels[0].id]||(metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType),type:metaObjectType,parent:null,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};this._rootNodes.push(buildingNode);this._objectNodes[buildingNode.objectId]=buildingNode;this._nodeNodes[buildingNode.nodeId]=buildingNode;}else if(metaObjectType==="IfcBuildingStorey"){if(!buildingNode){this.error("Failed to build storeys hierarchy for model '"+this.metaModel.id+"' - model does not have an IfcBuilding object, or is not an IFC model");return;}storeyNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:buildingNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};buildingNode.children.push(storeyNode);this._objectNodes[storeyNode.objectId]=storeyNode;this._nodeNodes[storeyNode.nodeId]=storeyNode;typeNodes={};}else{if(storeyNode){var objects=this._viewer.scene.objects;var object=objects[objectId];if(object){typeNodes=typeNodes||{};var typeNode=typeNodes[metaObjectType];if(!typeNode){typeNode={nodeId:"".concat(this._id,"-").concat(storeyNode.objectId,"-").concat(metaObjectType),objectId:"".concat(storeyNode.objectId,"-").concat(metaObjectType),title:metaObjectType,type:metaObjectType,parent:storeyNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};storeyNode.children.push(typeNode);this._objectNodes[typeNode.objectId]=typeNode;this._nodeNodes[typeNode.nodeId]=typeNode;typeNodes[metaObjectType]=typeNode;}var _node8={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:typeNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};typeNode.children.push(_node8);this._objectNodes[_node8.objectId]=_node8;this._nodeNodes[_node8.nodeId]=_node8;}}}if(children){for(var _i534=0,len=children.length;_i534<len;_i534++){var childMetaObject=children[_i534];this._createStoreysNodes2(childMetaObject,buildingNode,storeyNode,typeNodes);}}}},{key:"_createTypesNodes",value:function _createTypesNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createTypesNodes2(rootMetaObjects[id],null,null);}}},{key:"_createTypesNodes2",value:function _createTypesNodes2(metaObject,rootNode,typeNodes){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name;var children=metaObject.children;var objectId=metaObject.id;if(!metaObject.parent){rootNode={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObject.metaModels.length===0?"na":this._rootNames[metaObject.metaModels[0].id]||(metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType),type:metaObjectType,parent:null,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};this._rootNodes.push(rootNode);this._objectNodes[rootNode.objectId]=rootNode;this._nodeNodes[rootNode.nodeId]=rootNode;typeNodes={};}else{if(rootNode){var objects=this._viewer.scene.objects;var object=objects[objectId];if(object){var typeNode=typeNodes[metaObjectType];if(!typeNode){typeNode={nodeId:"".concat(this._id,"-").concat(rootNode.objectId,"-").concat(metaObjectType),objectId:"".concat(rootNode.objectId,"-").concat(metaObjectType),title:metaObjectType,type:metaObjectType,parent:rootNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};rootNode.children.push(typeNode);this._objectNodes[typeNode.objectId]=typeNode;this._nodeNodes[typeNode.nodeId]=typeNode;typeNodes[metaObjectType]=typeNode;}var _node9={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:typeNode,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};typeNode.children.push(_node9);this._objectNodes[_node9.objectId]=_node9;this._nodeNodes[_node9.nodeId]=_node9;}}}if(children){for(var _i535=0,len=children.length;_i535<len;_i535++){var childMetaObject=children[_i535];this._createTypesNodes2(childMetaObject,rootNode,typeNodes);}}}},{key:"_createContainmentNodes",value:function _createContainmentNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var id in rootMetaObjects){this._createContainmentNodes2(rootMetaObjects[id],null);}}},{key:"_createContainmentNodes2",value:function _createContainmentNodes2(metaObject,parent){if(this._pruneEmptyNodes&&metaObject._countEntities===0){return;}var metaObjectType=metaObject.type;var metaObjectName=metaObject.name||metaObjectType;var children=metaObject.children;var objectId=metaObject.id;var node={nodeId:"".concat(this._id,"-").concat(objectId),objectId:objectId,title:!parent?metaObject.metaModels.length===0?"na":this._rootNames[metaObject.metaModels[0].id]||metaObjectName:metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType,type:metaObjectType,parent:parent,numEntities:0,numVisibleEntities:0,checked:false,xrayed:false,children:[]};if(parent){parent.children.push(node);}else{this._rootNodes.push(node);}this._objectNodes[node.objectId]=node;this._nodeNodes[node.nodeId]=node;if(children){for(var _i536=0,len=children.length;_i536<len;_i536++){var childMetaObject=children[_i536];this._createContainmentNodes2(childMetaObject,node);}}}},{key:"_doSortNodes",value:function _doSortNodes(){for(var _i537=0,len=this._rootNodes.length;_i537<len;_i537++){var rootNode=this._rootNodes[_i537];this._sortChildren(rootNode);}}},{key:"_sortChildren",value:function _sortChildren(node){var children=node.children;if(!children||children.length===0){return;}if(this._hierarchy==="storeys"&&node.type==="IfcBuilding"){// Assumes that children of an IfcBuilding will always be IfcBuildingStoreys
|
|
26363
26363
|
children.sort(this._getSpatialSortFunc());}else{children.sort(this._alphaSortFunc);}for(var _i538=0,len=children.length;_i538<len;_i538++){var _node10=children[_i538];this._sortChildren(_node10);}}},{key:"_getSpatialSortFunc",value:function _getSpatialSortFunc(){// Creates cached sort func with Viewer in scope
|
|
26364
26364
|
var viewer=this.viewer;var scene=viewer.scene;var camera=scene.camera;var metaScene=viewer.metaScene;return this._spatialSortFunc||(this._spatialSortFunc=function(node1,node2){if(!node1.aabb||!node2.aabb){// Sorting on lowest point of the AABB is likely more more robust when objects could overlap storeys
|
|
26365
26365
|
if(!node1.aabb){node1.aabb=scene.getAABB(metaScene.getObjectIDsInSubtree(node1.objectId));}if(!node2.aabb){node2.aabb=scene.getAABB(metaScene.getObjectIDsInSubtree(node2.objectId));}}var idx=0;if(camera.xUp){idx=0;}else if(camera.yUp){idx=1;}else{idx=2;}if(node1.aabb[idx]>node2.aabb[idx]){return-1;}if(node1.aabb[idx]<node2.aabb[idx]){return 1;}return 0;});}},{key:"_alphaSortFunc",value:function _alphaSortFunc(node1,node2){var title1=node1.title.toUpperCase();// FIXME: Should be case sensitive?
|