@pilotdev/pilot-bim-dataprovider 24.10.0 → 24.13.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 +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/src/file-system/IFileSystem.d.ts +47 -0
- package/lib/src/file-system/IFileSystem.js +179 -0
- package/lib/src/file-system/IFileSystem.js.map +1 -0
- package/lib/src/file-system/IFileSystemCache.d.ts +65 -0
- package/lib/src/file-system/IFileSystemCache.js +154 -0
- package/lib/src/file-system/IFileSystemCache.js.map +1 -0
- package/lib/src/file-system/OPFS.d.ts +35 -0
- package/lib/src/file-system/OPFS.js +183 -0
- package/lib/src/file-system/OPFS.js.map +1 -0
- package/lib/src/file-system/PATH.d.ts +8 -0
- package/lib/src/file-system/PATH.js +34 -0
- package/lib/src/file-system/PATH.js.map +1 -0
- package/lib/src/model/BimDataElement.d.ts +14 -14
- package/lib/src/model/BimDataElement.js.map +1 -1
- package/lib/src/model/BimDataPart.d.ts +5 -2
- package/lib/src/model/BimDataPart.js +58 -21
- package/lib/src/model/BimDataPart.js.map +1 -1
- package/lib/src/model/BimDataProvider.js +4 -6
- package/lib/src/model/BimDataProvider.js.map +1 -1
- package/lib/src/model/BimDataTessellation.d.ts +1 -0
- package/lib/src/model/BimDataTessellation.js.map +1 -1
- package/lib/src/model/Consts.d.ts +3 -0
- package/lib/src/model/Consts.js +3 -0
- package/lib/src/model/Consts.js.map +1 -1
- package/lib/src/utils/ViewerTools.d.ts +8 -4
- package/lib/src/utils/ViewerTools.js +65 -40
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/utils/WasmTools.d.ts +0 -1
- package/lib/src/utils/WasmTools.js +10 -16
- package/lib/src/utils/WasmTools.js.map +1 -1
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +80 -3
- package/lib/src/wasm/pilot_bim_dataprovider.js +1 -1
- package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
- package/lib/src/wasm/wasm.worker-node.cjs +1 -0
- package/lib/src/wasm/wasm.worker-web.cjs +1 -0
- package/lib/src/wasm/wasm.worker.d.ts +41 -35
- package/lib/src/wasm/wasm.worker.js +194 -124
- package/lib/src/wasm/wasm.worker.js.map +1 -1
- package/lib/src/wasm/worker-node.d.ts +3 -0
- package/lib/src/wasm/worker-node.js +38 -0
- package/lib/src/wasm/worker-node.js.map +1 -0
- package/lib/src/wasm/worker-web.d.ts +2 -0
- package/lib/src/wasm/worker-web.js +15 -0
- package/lib/src/wasm/worker-web.js.map +1 -0
- package/lib/src/wasm/worker.d.ts +10 -0
- package/lib/src/wasm/worker.js +26 -0
- package/lib/src/wasm/worker.js.map +1 -0
- package/package.json +11 -4
|
@@ -3,47 +3,53 @@ import { BimCloudHierarchyItem, BimCloudMetadata, BimDataElement } from "../mode
|
|
|
3
3
|
import { BimDataElementPropertySet } from "../model/BimDataElementPropertySet.js";
|
|
4
4
|
interface IWasmWorker {
|
|
5
5
|
init(): Promise<void>;
|
|
6
|
-
open(modelPartId: string, buffer: ArrayBuffer): void
|
|
7
|
-
close(modelPartId: string): void
|
|
8
|
-
dispose(
|
|
6
|
+
open(modelPartId: string, buffer: ArrayBuffer): Promise<void>;
|
|
7
|
+
close(modelPartId: string): Promise<void>;
|
|
8
|
+
dispose(): void;
|
|
9
9
|
flushMemory(): Promise<void>;
|
|
10
10
|
auditModelPart(modelPartId: string): void;
|
|
11
|
-
updateModelPart(modelPartId: string, buffer: ArrayBuffer): void
|
|
12
|
-
getAllTessellations(modelPartId: string):
|
|
13
|
-
getTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint):
|
|
14
|
-
getAllElements(modelPartId: string
|
|
15
|
-
getElements(modelPartId: string, versionFrom: bigint, versionTo: bigint
|
|
16
|
-
getDiffElements(modelPartId: string, versionFrom: bigint, versionTo: bigint
|
|
17
|
-
getElementTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint):
|
|
18
|
-
getElementProperties(modelPartId: string, elementId: string, version: bigint): BimDataElementPropertySet[]
|
|
19
|
-
getAllVersions(modelPartId: string): bigint[]
|
|
20
|
-
getLatestVersion(modelPartId: string): bigint
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
updateModelPart(modelPartId: string, buffer: ArrayBuffer): Promise<void>;
|
|
12
|
+
getAllTessellations(modelPartId: string, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
|
|
13
|
+
getTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
|
|
14
|
+
getAllElements(modelPartId: string, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
15
|
+
getElements(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
16
|
+
getDiffElements(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
17
|
+
getElementTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint): Promise<BimDataTessellation[]>;
|
|
18
|
+
getElementProperties(modelPartId: string, elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;
|
|
19
|
+
getAllVersions(modelPartId: string): Promise<bigint[]>;
|
|
20
|
+
getLatestVersion(modelPartId: string): Promise<bigint>;
|
|
21
|
+
cacheCloudPart(modelPartId: string): Promise<void>;
|
|
22
|
+
getCloudPoints(modelPartId: string, index: number): Promise<Float32Array>;
|
|
23
|
+
getCloudHierarchy(modelPartId: string): Promise<BimCloudHierarchyItem[]>;
|
|
24
|
+
getCloudParameters(modelPartId: string): Promise<Map<string, string>>;
|
|
25
|
+
getCloudMetadata(modelPartId: string): Promise<BimCloudMetadata>;
|
|
25
26
|
}
|
|
26
27
|
export declare class WasmWorker implements IWasmWorker {
|
|
27
28
|
private _module?;
|
|
29
|
+
private _cachedCloudReaders;
|
|
30
|
+
private _fs;
|
|
31
|
+
constructor();
|
|
28
32
|
init(): Promise<void>;
|
|
29
|
-
open(id: string, buffer: ArrayBuffer): void
|
|
30
|
-
close(modelPartId: string): void
|
|
31
|
-
dispose(
|
|
32
|
-
auditModelPart(id: string): void;
|
|
33
|
-
updateModelPart(modelPartId: string, buffer: ArrayBuffer): void;
|
|
34
|
-
getAllTessellations(modelPartId: string): Map<string, BimDataTessellation>;
|
|
35
|
-
getTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint): Map<string, BimDataTessellation>;
|
|
36
|
-
getAllElements(modelPartId: string): BimDataElement[];
|
|
37
|
-
getElements(modelPartId: string, versionFrom: bigint, versionTo: bigint): BimDataElement[];
|
|
38
|
-
getDiffElements(modelPartId: string, versionFrom: bigint, versionTo: bigint): BimDataElement[];
|
|
39
|
-
getElementProperties(modelPartId: string, elementId: string, version: bigint): BimDataElementPropertySet[];
|
|
40
|
-
getElementTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint): Map<string, BimDataTessellation>;
|
|
41
|
-
getAllVersions(modelPartId: string): bigint[];
|
|
42
|
-
getLatestVersion(modelPartId: string): bigint;
|
|
43
|
-
getCloudPoints(cloudPartId: string, index: number, interlive: number): Float32Array;
|
|
44
|
-
getCloudHierarchy(cloudPartId: string): BimCloudHierarchyItem[];
|
|
45
|
-
getCloudParameters(cloudPartId: string): Map<string, string>;
|
|
46
|
-
getCloudMetadata(cloudPartId: string): BimCloudMetadata;
|
|
33
|
+
open(id: string, buffer: ArrayBuffer): Promise<void>;
|
|
34
|
+
close(modelPartId: string): Promise<void>;
|
|
35
|
+
dispose(): Promise<void>;
|
|
47
36
|
flushMemory(): Promise<void>;
|
|
37
|
+
auditModelPart(modelPartId: string): Promise<void>;
|
|
38
|
+
updateModelPart(modelPartId: string, buffer: ArrayBuffer): Promise<void>;
|
|
39
|
+
getAllTessellations(modelPartId: string, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
|
|
40
|
+
getTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
|
|
41
|
+
getAllElements(modelPartId: string, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
42
|
+
getElements(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
43
|
+
getDiffElements(modelPartId: string, versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
|
|
44
|
+
getElementProperties(modelPartId: string, elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;
|
|
45
|
+
getElementTessellations(modelPartId: string, versionFrom: bigint, versionTo: bigint): Promise<BimDataTessellation[]>;
|
|
46
|
+
getAllVersions(modelPartId: string): Promise<bigint[]>;
|
|
47
|
+
getLatestVersion(modelPartId: string): Promise<bigint>;
|
|
48
|
+
cacheCloudPart(modelPartId: string): Promise<void>;
|
|
49
|
+
getCloudPoints(modelPartId: string, index: number): Promise<Float32Array>;
|
|
50
|
+
getCloudHierarchy(modelPartId: string): Promise<BimCloudHierarchyItem[]>;
|
|
51
|
+
getCloudParameters(modelPartId: string): Promise<Map<string, string>>;
|
|
52
|
+
getCloudMetadata(modelPartId: string): Promise<BimCloudMetadata>;
|
|
53
|
+
private runSyncFileOp;
|
|
48
54
|
}
|
|
49
55
|
export {};
|
|
@@ -1,183 +1,236 @@
|
|
|
1
|
-
import * as comlink from "comlink";
|
|
2
1
|
import BimDataProviderModule from "./pilot_bim_dataprovider.js";
|
|
3
2
|
import { WasmTools } from "../utils/WasmTools.js";
|
|
4
|
-
import { BimDataConverter } from "../utils/ViewerTools.js";
|
|
5
|
-
|
|
3
|
+
import { BimDataConverter, transmitWasmData } from "../utils/ViewerTools.js";
|
|
4
|
+
import { DATA_ROOT_FOLDER } from "../model/Consts.js";
|
|
5
|
+
import { AsyncFileSystem, ProxyFileSystem } from "../file-system/IFileSystem.js";
|
|
6
|
+
import { isSecureContext, expose } from "./worker.js";
|
|
7
|
+
const TRANSMIT_STEP = 200;
|
|
6
8
|
export class WasmWorker {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._cachedCloudReaders = new Map();
|
|
11
|
+
this._fs = isSecureContext ? new AsyncFileSystem() : new ProxyFileSystem();
|
|
12
|
+
}
|
|
7
13
|
async init() {
|
|
8
14
|
const moduleOverrides = {
|
|
9
|
-
print: (s) =>
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
printErr: (e) => {
|
|
13
|
-
console.error(e);
|
|
14
|
-
},
|
|
15
|
+
print: (s) => console.log(s),
|
|
16
|
+
printErr: (e) => console.error(e)
|
|
15
17
|
};
|
|
16
18
|
this._module = await BimDataProviderModule(moduleOverrides);
|
|
17
|
-
this._module.FS.mkdir(
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
this._module.FS.mkdir(DATA_ROOT_FOLDER);
|
|
20
|
+
const moduleFS = this._module.FS;
|
|
21
|
+
await this._fs.init();
|
|
22
|
+
this._fs.mountTo(moduleFS, DATA_ROOT_FOLDER);
|
|
23
|
+
}
|
|
24
|
+
async open(id, buffer) {
|
|
25
|
+
this._cachedCloudReaders.get(id)?.close();
|
|
26
|
+
this._cachedCloudReaders.delete(id);
|
|
20
27
|
if (!id)
|
|
21
28
|
id = "id_" + (0xffffffff * Math.random() >>> 0);
|
|
22
|
-
const
|
|
23
|
-
|
|
29
|
+
const data = new Uint8Array(buffer);
|
|
30
|
+
if (this._fs.isFileExists(id)) {
|
|
31
|
+
await this._fs.writeFile(id, data);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
await this._fs.makeFile(id, data);
|
|
35
|
+
}
|
|
24
36
|
}
|
|
25
|
-
close(modelPartId) {
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
async close(modelPartId) {
|
|
38
|
+
this._cachedCloudReaders.get(modelPartId)?.close();
|
|
39
|
+
this._cachedCloudReaders.delete(modelPartId);
|
|
40
|
+
if (this._fs.isFileExists(modelPartId)) {
|
|
41
|
+
await this._fs.remove(modelPartId);
|
|
42
|
+
}
|
|
28
43
|
}
|
|
29
|
-
dispose(
|
|
30
|
-
const
|
|
31
|
-
|
|
44
|
+
async dispose() {
|
|
45
|
+
for (const [, reader] of this._cachedCloudReaders) {
|
|
46
|
+
await reader.close();
|
|
47
|
+
}
|
|
48
|
+
this._cachedCloudReaders.clear();
|
|
49
|
+
await this._fs.dispose();
|
|
32
50
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
51
|
+
async flushMemory() {
|
|
52
|
+
if (!this._module)
|
|
53
|
+
return;
|
|
54
|
+
const cloudParts = Array.from(this._cachedCloudReaders.keys());
|
|
55
|
+
for (const [, reader] of this._cachedCloudReaders) {
|
|
56
|
+
await reader.close();
|
|
57
|
+
}
|
|
58
|
+
this._cachedCloudReaders.clear();
|
|
59
|
+
await this.init();
|
|
60
|
+
const newModule = this._module;
|
|
61
|
+
for (const cloudId of cloudParts) {
|
|
62
|
+
const reader = new BimCloudPartAccessor(cloudId, newModule);
|
|
63
|
+
await reader.open();
|
|
64
|
+
this._cachedCloudReaders.set(cloudId, reader);
|
|
65
|
+
}
|
|
36
66
|
}
|
|
37
|
-
|
|
67
|
+
// ModelPart
|
|
68
|
+
auditModelPart(modelPartId) {
|
|
38
69
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
39
|
-
modelPart.
|
|
70
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.auditModelDatabase());
|
|
40
71
|
}
|
|
41
|
-
|
|
72
|
+
async updateModelPart(modelPartId, buffer) {
|
|
73
|
+
const module = this._module;
|
|
74
|
+
const modelPart = new BimDataModelPartAccessor(modelPartId, module);
|
|
75
|
+
const origin = modelPart.path;
|
|
76
|
+
const data = new Uint8Array(buffer);
|
|
77
|
+
const diff = "tmp_" + (0xffffffff * Math.random() >>> 0);
|
|
78
|
+
module.FS.createDataFile("/", diff, data, true, true, true);
|
|
79
|
+
if (isSecureContext) { // Workaround to merge in secure context:
|
|
80
|
+
// read origin file
|
|
81
|
+
const originData = await this.runSyncFileOp(modelPartId, () => module.FS.readFile(origin));
|
|
82
|
+
// create temp file in MEMFS
|
|
83
|
+
const tmpOrigin = "tmp_" + (0xffffffff * Math.random() >>> 0);
|
|
84
|
+
module.FS.createDataFile("/", tmpOrigin, originData, true, true, true);
|
|
85
|
+
// merge files in MEMFS
|
|
86
|
+
modelPart.merge(tmpOrigin, diff);
|
|
87
|
+
// read merged data
|
|
88
|
+
const mergedData = module.FS.readFile(tmpOrigin);
|
|
89
|
+
// store merged data
|
|
90
|
+
this.runSyncFileOp(modelPartId, () => this._fs.writeFile(modelPartId, mergedData));
|
|
91
|
+
// delete temp file
|
|
92
|
+
module.FS.unlink(tmpOrigin);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
modelPart.merge(origin, diff);
|
|
96
|
+
}
|
|
97
|
+
module.FS.unlink(diff);
|
|
98
|
+
}
|
|
99
|
+
getAllTessellations(modelPartId, transmit) {
|
|
42
100
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
43
|
-
return modelPart.getAllTessellations();
|
|
101
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getAllTessellations(transmit));
|
|
44
102
|
}
|
|
45
|
-
getTessellations(modelPartId, versionFrom, versionTo) {
|
|
103
|
+
getTessellations(modelPartId, versionFrom, versionTo, transmit) {
|
|
46
104
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
47
|
-
return modelPart.getTessellations(versionFrom, versionTo);
|
|
105
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getTessellations(versionFrom, versionTo, transmit));
|
|
48
106
|
}
|
|
49
|
-
getAllElements(modelPartId) {
|
|
107
|
+
getAllElements(modelPartId, transmit) {
|
|
50
108
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
51
|
-
return modelPart.getAllElements();
|
|
109
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getAllElements(transmit));
|
|
52
110
|
}
|
|
53
|
-
getElements(modelPartId, versionFrom, versionTo) {
|
|
111
|
+
getElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
54
112
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
55
|
-
return modelPart.getElements(versionFrom, versionTo);
|
|
113
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getElements(versionFrom, versionTo, transmit));
|
|
56
114
|
}
|
|
57
|
-
getDiffElements(modelPartId, versionFrom, versionTo) {
|
|
115
|
+
getDiffElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
58
116
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
59
|
-
return modelPart.getDiffElements(versionFrom, versionTo);
|
|
117
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getDiffElements(versionFrom, versionTo, transmit));
|
|
60
118
|
}
|
|
61
119
|
getElementProperties(modelPartId, elementId, version) {
|
|
62
120
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
63
|
-
return modelPart.getElementProperties(elementId, version);
|
|
121
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getElementProperties(elementId, version));
|
|
64
122
|
}
|
|
65
123
|
getElementTessellations(modelPartId, versionFrom, versionTo) {
|
|
66
124
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
67
|
-
return modelPart.getElementTessellations(versionFrom, versionTo);
|
|
125
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getElementTessellations(versionFrom, versionTo));
|
|
68
126
|
}
|
|
69
127
|
getAllVersions(modelPartId) {
|
|
70
128
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
71
|
-
return modelPart.getAllVersions();
|
|
129
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getAllVersions());
|
|
72
130
|
}
|
|
73
131
|
getLatestVersion(modelPartId) {
|
|
74
132
|
const modelPart = new BimDataModelPartAccessor(modelPartId, this._module);
|
|
75
|
-
return modelPart.getLatestVersion();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
133
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getLatestVersion());
|
|
134
|
+
}
|
|
135
|
+
// CloudPart
|
|
136
|
+
async cacheCloudPart(modelPartId) {
|
|
137
|
+
const reader = new BimCloudPartAccessor(modelPartId, this._module, () => this._fs.openSyncFileAccess(modelPartId), () => Promise.resolve(this._fs.closeSyncFileAccess(modelPartId)));
|
|
138
|
+
await this._cachedCloudReaders.get(modelPartId)?.close();
|
|
139
|
+
await reader.open();
|
|
140
|
+
this._cachedCloudReaders.set(modelPartId, reader);
|
|
141
|
+
}
|
|
142
|
+
getCloudPoints(modelPartId, index) {
|
|
143
|
+
const modelPart = this._cachedCloudReaders.get(modelPartId) ?? new BimCloudPartAccessor(modelPartId, this._module);
|
|
144
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getCloudPoints(index));
|
|
145
|
+
}
|
|
146
|
+
getCloudHierarchy(modelPartId) {
|
|
147
|
+
const modelPart = this._cachedCloudReaders.get(modelPartId) ?? new BimCloudPartAccessor(modelPartId, this._module);
|
|
148
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getCloudHierarchy());
|
|
149
|
+
}
|
|
150
|
+
getCloudParameters(modelPartId) {
|
|
151
|
+
const modelPart = this._cachedCloudReaders.get(modelPartId) ?? new BimCloudPartAccessor(modelPartId, this._module);
|
|
152
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getCloudParameters());
|
|
153
|
+
}
|
|
154
|
+
getCloudMetadata(modelPartId) {
|
|
155
|
+
const modelPart = this._cachedCloudReaders.get(modelPartId) ?? new BimCloudPartAccessor(modelPartId, this._module);
|
|
156
|
+
return this.runSyncFileOp(modelPartId, () => modelPart.getCloudMetadata());
|
|
157
|
+
}
|
|
158
|
+
async runSyncFileOp(path, opFunc) {
|
|
159
|
+
try {
|
|
160
|
+
await this._fs.openSyncFileAccess(path);
|
|
161
|
+
const result = await opFunc();
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
catch (e) {
|
|
165
|
+
console.error(e);
|
|
166
|
+
throw e;
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
this._fs.closeSyncFileAccess(path);
|
|
170
|
+
}
|
|
100
171
|
}
|
|
101
172
|
}
|
|
102
|
-
|
|
103
|
-
class
|
|
173
|
+
expose(WasmWorker);
|
|
174
|
+
class BimDataPartAccessor {
|
|
104
175
|
constructor(id, module) {
|
|
105
176
|
this.id = id;
|
|
106
177
|
this._module = module;
|
|
107
178
|
}
|
|
108
|
-
|
|
109
|
-
this.
|
|
110
|
-
}
|
|
111
|
-
open(buffer) {
|
|
112
|
-
const data = new Uint8Array(buffer);
|
|
113
|
-
if (WasmTools.isFileExists(this._path, this._module)) {
|
|
114
|
-
this._module.FS.writeFile(this._path, data);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this._module.FS.createDataFile(MODEL_DIR, this.id, data, true, true, true);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
auditModelDatabase() {
|
|
121
|
-
const databaseVersion = this._module.getDatabaseVersion(this._path);
|
|
122
|
-
if (databaseVersion < 2) {
|
|
123
|
-
this._module.auditDatabase(this._path);
|
|
124
|
-
}
|
|
179
|
+
get path() {
|
|
180
|
+
return '/' + DATA_ROOT_FOLDER + '/' + this.id;
|
|
125
181
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
this._module.
|
|
130
|
-
const
|
|
131
|
-
const sourceVersion = this._module.getDatabaseVersion(tmpFileName);
|
|
182
|
+
}
|
|
183
|
+
class BimDataModelPartAccessor extends BimDataPartAccessor {
|
|
184
|
+
merge(targetPath, sourcePath) {
|
|
185
|
+
const targetVersion = this._module.getDatabaseVersion(targetPath);
|
|
186
|
+
const sourceVersion = this._module.getDatabaseVersion(sourcePath);
|
|
132
187
|
if (sourceVersion < 2) {
|
|
133
|
-
this._module.auditDatabase(
|
|
188
|
+
this._module.auditDatabase(sourcePath);
|
|
134
189
|
}
|
|
135
190
|
if (sourceVersion != targetVersion) {
|
|
136
|
-
this._module.manualMergeDatabases(
|
|
191
|
+
this._module.manualMergeDatabases(targetPath, sourcePath);
|
|
137
192
|
}
|
|
138
193
|
else {
|
|
139
|
-
this._module.mergeDatabases(
|
|
140
|
-
}
|
|
141
|
-
if (WasmTools.isFileExists(tmpFileName, this._module)) {
|
|
142
|
-
this._module.FS.unlink(tmpFileName);
|
|
194
|
+
this._module.mergeDatabases(targetPath, sourcePath);
|
|
143
195
|
}
|
|
144
196
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
197
|
+
auditModelDatabase() {
|
|
198
|
+
const databaseVersion = this._module.getDatabaseVersion(this.path);
|
|
199
|
+
if (databaseVersion < 2) {
|
|
200
|
+
this._module.auditDatabase(this.path);
|
|
148
201
|
}
|
|
149
202
|
}
|
|
150
|
-
getAllTessellations() {
|
|
151
|
-
const
|
|
152
|
-
return
|
|
203
|
+
async getAllTessellations(transmit) {
|
|
204
|
+
const result = this._module.getAllTessellations(this.path);
|
|
205
|
+
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
|
|
153
206
|
}
|
|
154
|
-
getTessellations(versionFrom, versionTo) {
|
|
155
|
-
const
|
|
156
|
-
return
|
|
207
|
+
async getTessellations(versionFrom, versionTo, transmit) {
|
|
208
|
+
const result = this._module.getTessellations(this.path, versionFrom, versionTo);
|
|
209
|
+
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
|
|
157
210
|
}
|
|
158
|
-
getAllElements() {
|
|
159
|
-
const
|
|
160
|
-
return
|
|
211
|
+
async getAllElements(transmit) {
|
|
212
|
+
const result = this._module.getAllNodes(this.path);
|
|
213
|
+
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
161
214
|
}
|
|
162
|
-
getElements(versionFrom, versionTo) {
|
|
163
|
-
const
|
|
164
|
-
return
|
|
215
|
+
async getElements(versionFrom, versionTo, transmit) {
|
|
216
|
+
const result = this._module.getNodes(this.path, versionFrom, versionTo);
|
|
217
|
+
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
165
218
|
}
|
|
166
|
-
getDiffElements(versionFrom, versionTo) {
|
|
167
|
-
const result = this._module.getComparedNodes(this.
|
|
168
|
-
return
|
|
219
|
+
async getDiffElements(versionFrom, versionTo, transmit) {
|
|
220
|
+
const result = this._module.getComparedNodes(this.path, versionFrom, versionTo);
|
|
221
|
+
return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
|
|
169
222
|
}
|
|
170
223
|
getElementTessellations(versionFrom, versionTo) {
|
|
171
|
-
const vts = this._module.getNodesTessellations(this.
|
|
224
|
+
const vts = this._module.getNodesTessellations(this.path, versionFrom, versionTo);
|
|
172
225
|
return BimDataConverter.toBimDataTessellations(this._module, vts, true);
|
|
173
226
|
}
|
|
174
227
|
getElementProperties(elementId, version) {
|
|
175
|
-
const set = this._module.getProperties(this.
|
|
228
|
+
const set = this._module.getProperties(this.path, elementId, version);
|
|
176
229
|
return BimDataConverter.toModelElementPropertySet(set, true);
|
|
177
230
|
}
|
|
178
231
|
getAllVersions() {
|
|
179
232
|
const versions = new Array();
|
|
180
|
-
const bimVersions = this._module.getAllVersions(this.
|
|
233
|
+
const bimVersions = this._module.getAllVersions(this.path);
|
|
181
234
|
for (let index = 0; index < bimVersions.size(); index++) {
|
|
182
235
|
const version = bimVersions.get(index);
|
|
183
236
|
versions.push(version);
|
|
@@ -186,26 +239,43 @@ class BimDataModelPartAccessor {
|
|
|
186
239
|
return versions;
|
|
187
240
|
}
|
|
188
241
|
getLatestVersion() {
|
|
189
|
-
return this._module.getLatestVersion(this.
|
|
242
|
+
return this._module.getLatestVersion(this.path);
|
|
190
243
|
}
|
|
191
|
-
|
|
192
|
-
|
|
244
|
+
}
|
|
245
|
+
class BimCloudPartAccessor extends BimDataPartAccessor {
|
|
246
|
+
constructor(id, module, openFileFunc, closeFileFunc) {
|
|
247
|
+
super(id, module);
|
|
248
|
+
this.openFileFunc = openFileFunc;
|
|
249
|
+
this.closeFileFunc = closeFileFunc;
|
|
250
|
+
}
|
|
251
|
+
async open() {
|
|
252
|
+
if (this.openFileFunc)
|
|
253
|
+
await this.openFileFunc();
|
|
254
|
+
this._cloudReader = this._module.getCloudReader();
|
|
255
|
+
this._cloudReader.open(this.path);
|
|
256
|
+
}
|
|
257
|
+
async close() {
|
|
258
|
+
this._cloudReader?.close();
|
|
259
|
+
this._cloudReader?.delete();
|
|
260
|
+
this._cloudReader = undefined;
|
|
261
|
+
if (this.closeFileFunc)
|
|
262
|
+
await this.closeFileFunc();
|
|
263
|
+
}
|
|
264
|
+
getCloudPoints(index) {
|
|
265
|
+
const pointsData = this._cloudReader ? this._cloudReader.getCloudPoints(index, true) : this._module.getCloudPoints(this.path, index);
|
|
193
266
|
return BimDataConverter.toCloudPoints(this._module, pointsData, true);
|
|
194
267
|
}
|
|
195
268
|
getCloudHierarchy() {
|
|
196
|
-
const result = this._module.getCloudHierarchy(this.
|
|
269
|
+
const result = this._cloudReader ? this._cloudReader.getCloudHierarchy() : this._module.getCloudHierarchy(this.path);
|
|
197
270
|
return BimDataConverter.toBimCloudHierarchy(result, true);
|
|
198
271
|
}
|
|
199
272
|
getCloudParameters() {
|
|
200
|
-
const result = this._module.getCloudParameters(this.
|
|
273
|
+
const result = this._cloudReader ? this._cloudReader.getCloudParameters() : this._module.getCloudParameters(this.path);
|
|
201
274
|
return WasmTools.wasmMapToMap(result, true);
|
|
202
275
|
}
|
|
203
276
|
getCloudMetadata() {
|
|
204
|
-
const result = this._module.getCloudMetadata(this.
|
|
277
|
+
const result = this._cloudReader ? this._cloudReader.getCloudMetadata() : this._module.getCloudMetadata(this.path);
|
|
205
278
|
return BimDataConverter.toCloudMetadata(result, true);
|
|
206
279
|
}
|
|
207
|
-
get _path() {
|
|
208
|
-
return MODEL_DIR + '/' + this.id;
|
|
209
|
-
}
|
|
210
280
|
}
|
|
211
281
|
//# 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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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as comlink from "comlink";
|
|
2
|
+
import { Worker, parentPort } from 'worker_threads';
|
|
3
|
+
export async function createWorker(url, options) {
|
|
4
|
+
const worker = new Worker(url, options);
|
|
5
|
+
return nodeEndpoint(worker);
|
|
6
|
+
}
|
|
7
|
+
export function exposeWorker(WasmWorker) {
|
|
8
|
+
if (parentPort)
|
|
9
|
+
comlink.expose(WasmWorker, nodeEndpoint(parentPort));
|
|
10
|
+
}
|
|
11
|
+
function nodeEndpoint(port) {
|
|
12
|
+
const listeners = new WeakMap();
|
|
13
|
+
return {
|
|
14
|
+
postMessage: port.postMessage.bind(port),
|
|
15
|
+
addEventListener: (_, eh) => {
|
|
16
|
+
const l = (data) => {
|
|
17
|
+
if ("handleEvent" in eh) {
|
|
18
|
+
eh.handleEvent({ data });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
eh({ data });
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
port.on("message", l);
|
|
25
|
+
listeners.set(eh, l);
|
|
26
|
+
},
|
|
27
|
+
removeEventListener: (_, eh) => {
|
|
28
|
+
const l = listeners.get(eh);
|
|
29
|
+
if (!l) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
port.off("message", l);
|
|
33
|
+
listeners.delete(eh);
|
|
34
|
+
},
|
|
35
|
+
start: port.start && port.start.bind(port)
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=worker-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-node.js","sourceRoot":"","sources":["../../../src/wasm/worker-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAStE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAiB,EAAE,OAAuB;IAC3E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,UAAa;IAC3C,IAAI,UAAU;QACZ,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB;IACtC,MAAM,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;IAChC,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,gBAAgB,EAAE,CAAC,CAAS,EAAE,EAAsC,EAAE,EAAE;YACtE,MAAM,CAAC,GAAG,CAAC,IAAW,EAAE,EAAE;gBACxB,IAAI,aAAa,IAAI,EAAE,EAAE;oBACvB,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAkB,CAAC,CAAC;iBAC1C;qBACI;oBACH,EAAE,CAAC,EAAE,IAAI,EAAkB,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,mBAAmB,EAAE,CAAC,CAAS,EAAE,EAAsC,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,EAAE;gBACN,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as comlink from "comlink";
|
|
2
|
+
export async function createWorker(url, options) {
|
|
3
|
+
const f = await fetch(url);
|
|
4
|
+
const t = await f.text();
|
|
5
|
+
const b = new Blob([t], {
|
|
6
|
+
type: 'application/javascript',
|
|
7
|
+
});
|
|
8
|
+
const objUrl = URL.createObjectURL(b);
|
|
9
|
+
const worker = new Worker(objUrl, options);
|
|
10
|
+
return worker;
|
|
11
|
+
}
|
|
12
|
+
export function exposeWorker(WasmWorker) {
|
|
13
|
+
comlink.expose(WasmWorker);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=worker-web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-web.js","sourceRoot":"","sources":["../../../src/wasm/worker-web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAiB,EAAE,OAAuB;IAC3E,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACtB,IAAI,EAAE,wBAAwB;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,UAAa;IAC3C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as comlink from "comlink";
|
|
2
|
+
export declare const isSecureContext: boolean;
|
|
3
|
+
export declare const isCrossOriginIsolated: boolean;
|
|
4
|
+
export declare class CorsWorker {
|
|
5
|
+
private readonly url;
|
|
6
|
+
private readonly options?;
|
|
7
|
+
constructor(url: string | URL, options?: WorkerOptions);
|
|
8
|
+
getRemote<T>(): Promise<comlink.Remote<T>>;
|
|
9
|
+
}
|
|
10
|
+
export declare function expose<T>(worker: T): void;
|