@xeokit/xeokit-sdk 2.6.0-beta-4 → 2.6.0-beta-6
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 +26 -58
- package/dist/xeokit-sdk.es.js +26 -58
- package/dist/xeokit-sdk.es5.js +7 -53
- 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 +23 -58
- package/src/viewer/metadata/MetaModel.js +3 -0
package/package.json
CHANGED
|
@@ -355,9 +355,9 @@ parsers[ParserV10.version] = ParserV10;
|
|
|
355
355
|
* }
|
|
356
356
|
*
|
|
357
357
|
* // Gets the contents of the given .XKT file in an arraybuffer
|
|
358
|
-
* getXKT(
|
|
358
|
+
* getXKT(src, ok, error) {
|
|
359
359
|
* console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
|
|
360
|
-
* utils.loadArraybuffer(
|
|
360
|
+
* utils.loadArraybuffer(src,
|
|
361
361
|
* (arraybuffer) => {
|
|
362
362
|
* ok(arraybuffer);
|
|
363
363
|
* },
|
|
@@ -1041,13 +1041,28 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
1041
1041
|
globalizeObjectIds: options.globalizeObjectIds
|
|
1042
1042
|
});
|
|
1043
1043
|
i++;
|
|
1044
|
-
this.scheduleTask(
|
|
1044
|
+
this.scheduleTask(loadNext, 100);
|
|
1045
1045
|
}, error);
|
|
1046
1046
|
}
|
|
1047
1047
|
}
|
|
1048
1048
|
loadNext();
|
|
1049
1049
|
}
|
|
1050
|
-
const
|
|
1050
|
+
const loadXKTs_excludeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, ignore metamodels in the XKT
|
|
1051
|
+
let i = 0;
|
|
1052
|
+
const loadNext = () => {
|
|
1053
|
+
if (i >= xktFiles.length) {
|
|
1054
|
+
done();
|
|
1055
|
+
} else {
|
|
1056
|
+
this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
|
|
1057
|
+
this._parseModel(arrayBuffer, params, options, sceneModel, null /* Ignore metamodel in XKT */, manifestCtx);
|
|
1058
|
+
i++;
|
|
1059
|
+
this.scheduleTask(loadNext, 100);
|
|
1060
|
+
}, error);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
loadNext();
|
|
1064
|
+
};
|
|
1065
|
+
const loadXKTs_includeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, parse metamodels from the XKT
|
|
1051
1066
|
let i = 0;
|
|
1052
1067
|
const loadNext = () => {
|
|
1053
1068
|
if (i >= xktFiles.length) {
|
|
@@ -1072,10 +1087,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
1072
1087
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
1073
1088
|
if (metaModelFiles) {
|
|
1074
1089
|
loadJSONs(metaModelFiles, () => {
|
|
1075
|
-
|
|
1090
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
1076
1091
|
}, error);
|
|
1077
1092
|
} else {
|
|
1078
|
-
|
|
1093
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
1079
1094
|
}
|
|
1080
1095
|
} else {
|
|
1081
1096
|
this._dataSource.getManifest(params.manifestSrc, (manifestData) => {
|
|
@@ -1090,10 +1105,10 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
1090
1105
|
const metaModelFiles = manifestData.metaModelFiles;
|
|
1091
1106
|
if (metaModelFiles) {
|
|
1092
1107
|
loadJSONs(metaModelFiles, () => {
|
|
1093
|
-
|
|
1108
|
+
loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
|
|
1094
1109
|
}, error);
|
|
1095
1110
|
} else {
|
|
1096
|
-
|
|
1111
|
+
loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
|
|
1097
1112
|
}
|
|
1098
1113
|
}, error);
|
|
1099
1114
|
}
|
|
@@ -1133,56 +1148,6 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
1133
1148
|
}
|
|
1134
1149
|
parser.parse(this.viewer, options, elements, sceneModel, metaModel, manifestCtx);
|
|
1135
1150
|
}
|
|
1136
|
-
|
|
1137
|
-
// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
|
|
1138
|
-
//
|
|
1139
|
-
// const metaModelId = sceneModel.id;
|
|
1140
|
-
//
|
|
1141
|
-
// if (!this.viewer.metaScene.metaModels[metaModelId]) {
|
|
1142
|
-
//
|
|
1143
|
-
// const metaModelData = {
|
|
1144
|
-
// metaObjects: []
|
|
1145
|
-
// };
|
|
1146
|
-
//
|
|
1147
|
-
// metaModelData.metaObjects.push({
|
|
1148
|
-
// id: metaModelId,
|
|
1149
|
-
// type: "default",
|
|
1150
|
-
// name: metaModelId,
|
|
1151
|
-
// parent: null
|
|
1152
|
-
// });
|
|
1153
|
-
//
|
|
1154
|
-
// const entityList = sceneModel.entityList;
|
|
1155
|
-
//
|
|
1156
|
-
// for (let i = 0, len = entityList.length; i < len; i++) {
|
|
1157
|
-
// const entity = entityList[i];
|
|
1158
|
-
// if (entity.isObject) {
|
|
1159
|
-
// metaModelData.metaObjects.push({
|
|
1160
|
-
// id: entity.id,
|
|
1161
|
-
// type: "default",
|
|
1162
|
-
// name: entity.id,
|
|
1163
|
-
// parent: metaModelId
|
|
1164
|
-
// });
|
|
1165
|
-
// }
|
|
1166
|
-
// }
|
|
1167
|
-
//
|
|
1168
|
-
// const src = params.src;
|
|
1169
|
-
//
|
|
1170
|
-
// this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
|
|
1171
|
-
//
|
|
1172
|
-
// includeTypes: options.includeTypes,
|
|
1173
|
-
// excludeTypes: options.excludeTypes,
|
|
1174
|
-
// globalizeObjectIds: options.globalizeObjectIds,
|
|
1175
|
-
//
|
|
1176
|
-
// getProperties: async (propertiesId) => {
|
|
1177
|
-
// return await this._dataSource.getProperties(src, propertiesId);
|
|
1178
|
-
// }
|
|
1179
|
-
// });
|
|
1180
|
-
//
|
|
1181
|
-
// sceneModel.once("destroyed", () => {
|
|
1182
|
-
// this.viewer.metaScene.destroyMetaModel(metaModelId);
|
|
1183
|
-
// });
|
|
1184
|
-
// }
|
|
1185
|
-
// }
|
|
1186
1151
|
}
|
|
1187
1152
|
|
|
1188
1153
|
function getBaseDirectory(filePath) {
|
|
@@ -178,6 +178,9 @@ class MetaModel {
|
|
|
178
178
|
if (metaModelData.propertySets) {
|
|
179
179
|
for (let i = 0, len = metaModelData.propertySets.length; i < len; i++) {
|
|
180
180
|
const propertySetData = metaModelData.propertySets[i];
|
|
181
|
+
if (!propertySetData.properties) { // HACK: https://github.com/Creoox/creoox-ifc2gltfcxconverter/issues/8
|
|
182
|
+
propertySetData.properties = [];
|
|
183
|
+
}
|
|
181
184
|
let propertySet = metaScene.propertySets[propertySetData.id];
|
|
182
185
|
if (!propertySet) {
|
|
183
186
|
if (propertyLookup) {
|