@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xeokit/xeokit-sdk",
3
- "version": "2.5.2-beta-17",
3
+ "version": "2.5.2-beta-19",
4
4
  "description": "Web Programming Toolkit for 3D/2D BIM and AEC Graphics",
5
5
  "module": "./dist/xeokit-sdk.es.js",
6
6
  "main": "./dist/xeokit-sdk.cjs.js",
@@ -976,7 +976,7 @@ export class TreeViewPlugin extends Plugin {
976
976
  buildingNode = {
977
977
  nodeId: `${this._id}-${objectId}`,
978
978
  objectId: objectId,
979
- title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
979
+ title: (metaObject.metaModels.length === 0) ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
980
980
  type: metaObjectType,
981
981
  parent: null,
982
982
  numEntities: 0,
@@ -1079,7 +1079,7 @@ export class TreeViewPlugin extends Plugin {
1079
1079
  rootNode = {
1080
1080
  nodeId: `${this._id}-${objectId}`,
1081
1081
  objectId: objectId,
1082
- title: this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
1082
+ title: metaObject.metaModels.length === 0 ? "na" : this._rootNames[metaObject.metaModels[0].id] || ((metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType),
1083
1083
  type: metaObjectType,
1084
1084
  parent: null,
1085
1085
  numEntities: 0,
@@ -1160,7 +1160,7 @@ export class TreeViewPlugin extends Plugin {
1160
1160
  const node = {
1161
1161
  nodeId: `${this._id}-${objectId}`,
1162
1162
  objectId: objectId,
1163
- title: (!parent) ? (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
1163
+ title: (!parent) ? metaObject.metaModels.length === 0 ? "na" : (this._rootNames[metaObject.metaModels[0].id] || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
1164
1164
  type: metaObjectType,
1165
1165
  parent: parent,
1166
1166
  numEntities: 0,
@@ -217,9 +217,9 @@ class MetaModel {
217
217
  external: metaObjectData.external,
218
218
  });
219
219
  this.metaScene.metaObjects[id] = metaObject;
220
- this.metaObjects.push(metaObject);
220
+ metaObject.metaModels = [];
221
221
  }
222
- metaObject.metaModels.push(this);
222
+ this.metaObjects.push(metaObject);
223
223
  if (!metaObjectData.parent) {
224
224
  this.rootMetaObjects.push(metaObject);
225
225
  metaScene.rootMetaObjects[id] = metaObject;
@@ -283,8 +283,8 @@ class MetaModel {
283
283
 
284
284
  // Relink MetaObjects to their MetaModels
285
285
 
286
- for (let objectId in this.metaObjects) {
287
- const metaObject = this.metaObjects[objectId];
286
+ for (let objectId in metaScene.metaObjects) {
287
+ const metaObject = metaScene.metaObjects[objectId];
288
288
  metaObject.metaModels = [];
289
289
  }
290
290
 
@@ -157,11 +157,11 @@ class MetaScene {
157
157
  *
158
158
  * Fires a "metaModelDestroyed" event with the value of the {@link MetaModel#id}.
159
159
  *
160
- * @param {String} id ID of the target {@link MetaModel}.
160
+ * @param {String} metaModelId ID of the target {@link MetaModel}.
161
161
  */
162
- destroyMetaModel(id) {
162
+ destroyMetaModel(metaModelId) {
163
163
 
164
- const metaModel = this.metaModels[id];
164
+ const metaModel = this.metaModels[metaModelId];
165
165
  if (!metaModel) {
166
166
  return;
167
167
  }
@@ -171,12 +171,12 @@ class MetaScene {
171
171
  if (metaModel.propertySets) {
172
172
  for (let i = 0, len = metaModel.propertySets.length; i < len; i++) {
173
173
  const propertySet = metaModel.propertySets[i];
174
- if (propertySet.metaModels.length === 1) { // Property set owned by one model, delete
174
+ if (propertySet.metaModels.length === 1 && propertySet.metaModels[0].id === metaModelId) { // Property set owned only by this model, delete
175
175
  delete this.propertySets[propertySet.id];
176
176
  } else {
177
177
  const newMetaModels = [];
178
178
  for (let j = 0, lenj = propertySet.metaModels.length; j < lenj; j++) {
179
- if (propertySet.metaModels[j].id !== id) {
179
+ if (propertySet.metaModels[j].id !== metaModelId) {
180
180
  newMetaModels.push(propertySet.metaModels[j]);
181
181
  }
182
182
  }
@@ -192,7 +192,7 @@ class MetaScene {
192
192
  const metaObject = metaModel.metaObjects[i];
193
193
  const type = metaObject.type;
194
194
  const id = metaObject.id;
195
- if (metaObject.metaModels.length === 1) { // MetaObject owned by one model, delete
195
+ if (metaObject.metaModels.length === 1&& metaObject.metaModels[0].id === metaModelId) { // MetaObject owned only by this model, delete
196
196
  delete this.metaObjects[id];
197
197
  if (!metaObject.parent) {
198
198
  delete this.rootMetaObjects[id];
@@ -245,7 +245,7 @@ class MetaScene {
245
245
  }
246
246
  }
247
247
 
248
- delete this.metaModels[id];
248
+ delete this.metaModels[metaModelId];
249
249
 
250
250
  // Relink MetaObjects to their MetaModels
251
251
 
@@ -262,7 +262,7 @@ class MetaScene {
262
262
  }
263
263
  }
264
264
 
265
- this.fire("metaModelDestroyed", id);
265
+ this.fire("metaModelDestroyed", metaModelId);
266
266
  }
267
267
 
268
268
  /**