@pilotdev/pilot-bim-dataprovider 24.22.0 → 24.23.0
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/lib/index.d.ts +3 -1
- package/lib/index.js.map +1 -1
- package/lib/src/model/BimDataCloudPart.d.ts +15 -0
- package/lib/src/model/BimDataCloudPart.js +25 -0
- package/lib/src/model/BimDataCloudPart.js.map +1 -0
- package/lib/src/model/BimDataModelPart.d.ts +35 -0
- package/lib/src/model/BimDataModelPart.js +88 -0
- package/lib/src/model/BimDataModelPart.js.map +1 -0
- package/lib/src/model/BimDataPart.d.ts +4 -49
- package/lib/src/model/BimDataPart.js +9 -114
- package/lib/src/model/BimDataPart.js.map +1 -1
- package/lib/src/model/BimDataProvider.d.ts +5 -1
- package/lib/src/model/BimDataProvider.js +7 -1
- package/lib/src/model/BimDataProvider.js.map +1 -1
- package/lib/src/utils/ViewerTools.d.ts +4 -0
- package/lib/src/utils/ViewerTools.js +8 -0
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/wasm/BimCloudPartAccessor.d.ts +15 -0
- package/lib/src/wasm/BimCloudPartAccessor.js +40 -0
- package/lib/src/wasm/BimCloudPartAccessor.js.map +1 -0
- package/lib/src/wasm/BimDataModelPartAccessor.d.ts +18 -0
- package/lib/src/wasm/BimDataModelPartAccessor.js +70 -0
- package/lib/src/wasm/BimDataModelPartAccessor.js.map +1 -0
- package/lib/src/wasm/BimDataPartAccessor.d.ts +8 -0
- package/lib/src/wasm/BimDataPartAccessor.js +19 -0
- package/lib/src/wasm/BimDataPartAccessor.js.map +1 -0
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +1 -0
- package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
- package/lib/src/wasm/wasm.worker-node.cjs +1 -1
- package/lib/src/wasm/wasm.worker-web.cjs +1 -1
- package/lib/src/wasm/wasm.worker.d.ts +1 -0
- package/lib/src/wasm/wasm.worker.js +38 -132
- package/lib/src/wasm/wasm.worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -41,6 +41,7 @@ export declare class WasmWorker implements IWasmWorker {
|
|
|
41
41
|
remove(modelPartId: string): Promise<void>;
|
|
42
42
|
dispose(): Promise<void>;
|
|
43
43
|
flushMemory(): Promise<void>;
|
|
44
|
+
isValidDatabase(modelPartId: string): Promise<boolean>;
|
|
44
45
|
auditModelPart(modelPartId: string): Promise<void>;
|
|
45
46
|
updateModelPart(modelPartId: string, buffer: ArrayBuffer): Promise<void>;
|
|
46
47
|
mergeModelParts(targetId: string, sourceId: string): Promise<void>;
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
import BimDataProviderModule from "./pilot_bim_dataprovider.js";
|
|
2
2
|
import { WasmTools } from "../utils/WasmTools.js";
|
|
3
|
-
import {
|
|
3
|
+
import { isNode, isCrossOriginIsolated, isSecureContext, isOPFSEnabled } from "../utils/ViewerTools.js";
|
|
4
4
|
import { DATA_ROOT_FOLDER } from "../model/Consts.js";
|
|
5
5
|
import { AsyncFileSystem, ProxyFileSystem } from "../file-system/IFileSystem.js";
|
|
6
|
+
import { BimCloudPartAccessor } from "./BimCloudPartAccessor.js";
|
|
7
|
+
import { BimDataPartAccessor } from "./BimDataPartAccessor.js";
|
|
8
|
+
import { BimDataModelPartAccessor } from "./BimDataModelPartAccessor.js";
|
|
6
9
|
import { expose } from "./worker.js";
|
|
7
10
|
const HEAP_SIZE_LIMIT = 1024 * 1024 * 1024;
|
|
8
|
-
const isSecureContext = isNode() ? false : self && !!self.isSecureContext;
|
|
9
|
-
const isCrossOriginIsolated = isNode() ? false : self && !!self.crossOriginIsolated;
|
|
10
|
-
function isNode() {
|
|
11
|
-
return typeof process !== 'undefined' &&
|
|
12
|
-
!!process.versions &&
|
|
13
|
-
!!process.versions.node;
|
|
14
|
-
}
|
|
15
|
-
const TRANSMIT_STEP = 200;
|
|
16
11
|
export class WasmWorker {
|
|
17
12
|
constructor() {
|
|
18
13
|
this._cachedCloudReaders = new Map();
|
|
19
14
|
this._locker = { isLocked: false, lock: Promise.resolve() };
|
|
20
15
|
console.log(`BimDataProvider worker: (env: ${isNode() ? 'Node.js' : 'web'}, isSecureContext: ${isSecureContext}, isCrossOriginIsolated: ${isCrossOriginIsolated})`);
|
|
21
|
-
this._fs =
|
|
16
|
+
this._fs = isOPFSEnabled ? new AsyncFileSystem() : new ProxyFileSystem();
|
|
22
17
|
}
|
|
23
18
|
async init() {
|
|
24
19
|
const moduleOverrides = {
|
|
@@ -84,18 +79,30 @@ export class WasmWorker {
|
|
|
84
79
|
await this.cacheCloudPart(cloudId);
|
|
85
80
|
}
|
|
86
81
|
}
|
|
82
|
+
async isValidDatabase(modelPartId) {
|
|
83
|
+
await this.checkMemory();
|
|
84
|
+
if (this._fs.isFileExists(modelPartId)) {
|
|
85
|
+
const modelPart = new BimDataPartAccessor(modelPartId, this._module);
|
|
86
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.isValidDatabase());
|
|
87
|
+
}
|
|
88
|
+
else
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
87
91
|
// ModelPart
|
|
88
|
-
auditModelPart(modelPartId) {
|
|
92
|
+
async auditModelPart(modelPartId) {
|
|
93
|
+
await this.checkMemory();
|
|
89
94
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
90
95
|
return this.runSyncFileOp(modelPartId, () => modelPart.auditModelDatabase());
|
|
91
96
|
}
|
|
92
97
|
async updateModelPart(modelPartId, buffer) {
|
|
98
|
+
await this.checkMemory();
|
|
93
99
|
const tmpModelPartId = "tmp_" + (0xffffffff * Math.random() >>> 0);
|
|
94
100
|
await this.open(tmpModelPartId, buffer);
|
|
95
101
|
await this.mergeModelParts(modelPartId, tmpModelPartId);
|
|
96
102
|
await this.remove(tmpModelPartId);
|
|
97
103
|
}
|
|
98
104
|
async mergeModelParts(targetId, sourceId) {
|
|
105
|
+
await this.checkMemory();
|
|
99
106
|
const module = this._module;
|
|
100
107
|
const modelPart = new BimDataModelPartAccessor(targetId, module);
|
|
101
108
|
const modelPartId = modelPart.path;
|
|
@@ -105,43 +112,53 @@ export class WasmWorker {
|
|
|
105
112
|
return Promise.reject('Failed to merge model parts: source file does not exist.');
|
|
106
113
|
await this.runSyncFileOp([targetId, sourceId], () => modelPart.merge(modelPartId, sourcePartId));
|
|
107
114
|
}
|
|
108
|
-
getAllTessellations(modelPartId, compressed, transmit) {
|
|
115
|
+
async getAllTessellations(modelPartId, compressed, transmit) {
|
|
116
|
+
await this.checkMemory();
|
|
109
117
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
110
118
|
return this.runSyncFileOp(modelPartId, () => modelPart.getAllTessellations(compressed, transmit));
|
|
111
119
|
}
|
|
112
|
-
getTessellations(modelPartId, versionFrom, versionTo, compressed, transmit) {
|
|
120
|
+
async getTessellations(modelPartId, versionFrom, versionTo, compressed, transmit) {
|
|
121
|
+
await this.checkMemory();
|
|
113
122
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
114
123
|
return this.runSyncFileOp(modelPartId, () => modelPart.getTessellations(versionFrom, versionTo, compressed, transmit));
|
|
115
124
|
}
|
|
116
|
-
getTessellation(modelPartId, tessellationKey, version, compressed) {
|
|
125
|
+
async getTessellation(modelPartId, tessellationKey, version, compressed) {
|
|
126
|
+
await this.checkMemory();
|
|
117
127
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
118
128
|
return this.runSyncFileOp(modelPartId, () => modelPart.getTessellation(tessellationKey, version, compressed));
|
|
119
129
|
}
|
|
120
|
-
getAllElements(modelPartId, transmit) {
|
|
130
|
+
async getAllElements(modelPartId, transmit) {
|
|
131
|
+
await this.checkMemory();
|
|
121
132
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
122
133
|
return this.runSyncFileOp(modelPartId, () => modelPart.getAllElements(transmit));
|
|
123
134
|
}
|
|
124
|
-
getElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
135
|
+
async getElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
136
|
+
await this.checkMemory();
|
|
125
137
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
126
138
|
return this.runSyncFileOp(modelPartId, () => modelPart.getElements(versionFrom, versionTo, transmit));
|
|
127
139
|
}
|
|
128
|
-
getDiffElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
140
|
+
async getDiffElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
141
|
+
await this.checkMemory();
|
|
129
142
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
130
143
|
return this.runSyncFileOp(modelPartId, () => modelPart.getDiffElements(versionFrom, versionTo, transmit));
|
|
131
144
|
}
|
|
132
|
-
getElementProperties(modelPartId, elementId, version) {
|
|
145
|
+
async getElementProperties(modelPartId, elementId, version) {
|
|
146
|
+
await this.checkMemory();
|
|
133
147
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
134
148
|
return this.runSyncFileOp(modelPartId, () => modelPart.getElementProperties(elementId, version));
|
|
135
149
|
}
|
|
136
|
-
getElementTessellations(modelPartId, versionFrom, versionTo, compressed) {
|
|
150
|
+
async getElementTessellations(modelPartId, versionFrom, versionTo, compressed) {
|
|
151
|
+
await this.checkMemory();
|
|
137
152
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
138
153
|
return this.runSyncFileOp(modelPartId, () => modelPart.getElementTessellations(versionFrom, versionTo, compressed));
|
|
139
154
|
}
|
|
140
|
-
getAllVersions(modelPartId) {
|
|
155
|
+
async getAllVersions(modelPartId) {
|
|
156
|
+
await this.checkMemory();
|
|
141
157
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
142
158
|
return this.runSyncFileOp(modelPartId, () => modelPart.getAllVersions());
|
|
143
159
|
}
|
|
144
|
-
getLatestVersion(modelPartId) {
|
|
160
|
+
async getLatestVersion(modelPartId) {
|
|
161
|
+
await this.checkMemory();
|
|
145
162
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
146
163
|
return this.runSyncFileOp(modelPartId, () => modelPart.getLatestVersion());
|
|
147
164
|
}
|
|
@@ -210,115 +227,4 @@ export class WasmWorker {
|
|
|
210
227
|
}
|
|
211
228
|
}
|
|
212
229
|
expose(WasmWorker);
|
|
213
|
-
class BimDataPartAccessor {
|
|
214
|
-
constructor(id, module) {
|
|
215
|
-
this.id = id;
|
|
216
|
-
this._module = module;
|
|
217
|
-
}
|
|
218
|
-
get path() {
|
|
219
|
-
return '/' + DATA_ROOT_FOLDER + '/' + this.id;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
class BimDataModelPartAccessor extends BimDataPartAccessor {
|
|
223
|
-
merge(targetPath, sourcePath) {
|
|
224
|
-
const targetVersion = this._module.getDatabaseVersion(targetPath);
|
|
225
|
-
const sourceVersion = this._module.getDatabaseVersion(sourcePath);
|
|
226
|
-
if (sourceVersion < 2) {
|
|
227
|
-
this._module.auditDatabase(sourcePath);
|
|
228
|
-
}
|
|
229
|
-
if (sourceVersion != targetVersion) {
|
|
230
|
-
this._module.manualMergeDatabases(targetPath, sourcePath);
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
this._module.mergeDatabases(targetPath, sourcePath);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
auditModelDatabase() {
|
|
237
|
-
const databaseVersion = this._module.getDatabaseVersion(this.path);
|
|
238
|
-
if (databaseVersion < 2) {
|
|
239
|
-
this._module.auditDatabase(this.path);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
async getAllTessellations(compressed, transmit) {
|
|
243
|
-
const result = this._module.getAllTessellations(this.path, compressed);
|
|
244
|
-
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
|
|
245
|
-
}
|
|
246
|
-
async getTessellations(versionFrom, versionTo, compressed, transmit) {
|
|
247
|
-
const result = this._module.getTessellations(this.path, versionFrom, versionTo, compressed);
|
|
248
|
-
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
|
|
249
|
-
}
|
|
250
|
-
getTessellation(tessellationKey, version, compressed) {
|
|
251
|
-
const result = this._module.getTessellation(this.path, tessellationKey, version, compressed);
|
|
252
|
-
return BimDataConverter.toBimDataTessellation(this._module, result, true);
|
|
253
|
-
}
|
|
254
|
-
async getAllElements(transmit) {
|
|
255
|
-
const result = this._module.getAllNodes(this.path);
|
|
256
|
-
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
257
|
-
}
|
|
258
|
-
async getElements(versionFrom, versionTo, transmit) {
|
|
259
|
-
const result = this._module.getNodes(this.path, versionFrom, versionTo);
|
|
260
|
-
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
261
|
-
}
|
|
262
|
-
async getDiffElements(versionFrom, versionTo, transmit) {
|
|
263
|
-
const result = this._module.getComparedNodes(this.path, versionFrom, versionTo);
|
|
264
|
-
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
265
|
-
}
|
|
266
|
-
getElementTessellations(versionFrom, versionTo, compressed) {
|
|
267
|
-
const vts = this._module.getNodesTessellations(this.path, versionFrom, versionTo, compressed);
|
|
268
|
-
return BimDataConverter.toBimDataTessellations(this._module, vts, true);
|
|
269
|
-
}
|
|
270
|
-
getElementProperties(elementId, version) {
|
|
271
|
-
const set = this._module.getProperties(this.path, elementId, version);
|
|
272
|
-
return BimDataConverter.toModelElementPropertySet(set, true);
|
|
273
|
-
}
|
|
274
|
-
getAllVersions() {
|
|
275
|
-
const versions = new Array();
|
|
276
|
-
const bimVersions = this._module.getAllVersions(this.path);
|
|
277
|
-
for (let index = 0; index < bimVersions.size(); index++) {
|
|
278
|
-
const version = bimVersions.get(index);
|
|
279
|
-
versions.push(version);
|
|
280
|
-
}
|
|
281
|
-
bimVersions.delete();
|
|
282
|
-
return versions;
|
|
283
|
-
}
|
|
284
|
-
getLatestVersion() {
|
|
285
|
-
return this._module.getLatestVersion(this.path);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
class BimCloudPartAccessor extends BimDataPartAccessor {
|
|
289
|
-
constructor(id, module, openFileFunc, closeFileFunc) {
|
|
290
|
-
super(id, module);
|
|
291
|
-
this.openFileFunc = openFileFunc;
|
|
292
|
-
this.closeFileFunc = closeFileFunc;
|
|
293
|
-
}
|
|
294
|
-
async open() {
|
|
295
|
-
if (this.openFileFunc)
|
|
296
|
-
await this.openFileFunc();
|
|
297
|
-
this._cloudReader = this._module.getCloudReader();
|
|
298
|
-
this._cloudReader.open(this.path);
|
|
299
|
-
}
|
|
300
|
-
async close() {
|
|
301
|
-
this._cloudReader?.close();
|
|
302
|
-
this._cloudReader?.delete();
|
|
303
|
-
this._cloudReader = undefined;
|
|
304
|
-
if (this.closeFileFunc)
|
|
305
|
-
await this.closeFileFunc();
|
|
306
|
-
}
|
|
307
|
-
getCloudPoints(index) {
|
|
308
|
-
const pointsData = this._cloudReader ? this._cloudReader.getCloudPoints(index, true) : this._module.getCloudPoints(this.path, index);
|
|
309
|
-
return BimDataConverter.toCloudPoints(this._module, pointsData, true);
|
|
310
|
-
}
|
|
311
|
-
getCloudHierarchy() {
|
|
312
|
-
const result = this._cloudReader ? this._cloudReader.getCloudHierarchy() : this._module.getCloudHierarchy(this.path);
|
|
313
|
-
return BimDataConverter.toBimCloudHierarchy(result, true);
|
|
314
|
-
}
|
|
315
|
-
getCloudParameters() {
|
|
316
|
-
const result = this._cloudReader ? this._cloudReader.getCloudParameters() : this._module.getCloudParameters(this.path);
|
|
317
|
-
return WasmTools.wasmMapToMap(result, true);
|
|
318
|
-
}
|
|
319
|
-
getCloudMetadata() {
|
|
320
|
-
const result = this._cloudReader ? this._cloudReader.getCloudMetadata() : this._module.getCloudMetadata(this.path);
|
|
321
|
-
return BimDataConverter.toCloudMetadata(result, true);
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
230
|
//# sourceMappingURL=wasm.worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm.worker.js","sourceRoot":"","sources":["../../../src/wasm/wasm.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wasm.worker.js","sourceRoot":"","sources":["../../../src/wasm/wasm.worker.ts"],"names":[],"mappings":"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"}
|