@pilotdev/pilot-bim-dataprovider 24.22.0 → 24.24.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 +17 -0
- package/lib/src/model/BimDataCloudPart.js +33 -0
- package/lib/src/model/BimDataCloudPart.js.map +1 -0
- package/lib/src/model/BimDataModelPart.d.ts +36 -0
- package/lib/src/model/BimDataModelPart.js +89 -0
- package/lib/src/model/BimDataModelPart.js.map +1 -0
- package/lib/src/model/BimDataPart.d.ts +9 -52
- package/lib/src/model/BimDataPart.js +11 -110
- 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/model/Consts.d.ts +1 -0
- package/lib/src/model/Consts.js +1 -0
- package/lib/src/model/Consts.js.map +1 -1
- package/lib/src/utils/ViewerTools.d.ts +5 -1
- package/lib/src/utils/ViewerTools.js +12 -4
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/wasm/BimCloudPartAccessor.d.ts +16 -0
- package/lib/src/wasm/BimCloudPartAccessor.js +49 -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 +69 -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/{wasm.worker.d.ts → WasmWorker.d.ts} +18 -10
- package/lib/src/wasm/WasmWorker.js +202 -0
- package/lib/src/wasm/WasmWorker.js.map +1 -0
- package/lib/src/wasm/WasmWorkerThreadSafeWrapper.d.ts +42 -0
- package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js +135 -0
- package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js.map +1 -0
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +6 -1
- 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/package.json +1 -1
- package/lib/src/wasm/wasm.worker.js +0 -324
- package/lib/src/wasm/wasm.worker.js.map +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { WasmWorker } from "./WasmWorker.js";
|
|
2
|
+
import { isSecureContext } from "../utils/ViewerTools.js";
|
|
3
|
+
import { expose } from "./worker.js";
|
|
4
|
+
const HEAP_SIZE_LIMIT = 1024 * 1024 * 1024;
|
|
5
|
+
export class WasmWorkerThreadSafeWrapper {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._memoryLocker = { isLocked: false, lock: Promise.resolve() };
|
|
8
|
+
this._operationsSet = new Set();
|
|
9
|
+
this._wasmWorker = new WasmWorker();
|
|
10
|
+
}
|
|
11
|
+
get module() {
|
|
12
|
+
return this._wasmWorker.module;
|
|
13
|
+
}
|
|
14
|
+
get cachedCloudReaders() {
|
|
15
|
+
return this._wasmWorker.cachedCloudReaders;
|
|
16
|
+
}
|
|
17
|
+
init() {
|
|
18
|
+
return this._wasmWorker.init();
|
|
19
|
+
}
|
|
20
|
+
dispose() {
|
|
21
|
+
return this._wasmWorker.dispose();
|
|
22
|
+
}
|
|
23
|
+
// DataPart
|
|
24
|
+
open(id, buffer) {
|
|
25
|
+
return this.wrapOperation(async () => this._wasmWorker.open(id, buffer));
|
|
26
|
+
}
|
|
27
|
+
write(modelPartId, buffer, position) {
|
|
28
|
+
return this.wrapOperation(async () => this._wasmWorker.write(modelPartId, buffer, position));
|
|
29
|
+
}
|
|
30
|
+
close(modelPartId) {
|
|
31
|
+
return this.wrapOperation(async () => this._wasmWorker.close(modelPartId));
|
|
32
|
+
}
|
|
33
|
+
remove(modelPartId) {
|
|
34
|
+
return this.wrapOperation(async () => this._wasmWorker.remove(modelPartId));
|
|
35
|
+
}
|
|
36
|
+
isValidDatabase(modelPartId) {
|
|
37
|
+
return this.wrapOperation(async () => this._wasmWorker.isValidDatabase(modelPartId));
|
|
38
|
+
}
|
|
39
|
+
// ModelPart
|
|
40
|
+
updateModelPart(modelPartId, buffer) {
|
|
41
|
+
return this.wrapOperation(async () => this._wasmWorker.updateModelPart(modelPartId, buffer));
|
|
42
|
+
}
|
|
43
|
+
mergeModelParts(targetId, sourceId) {
|
|
44
|
+
return this.wrapOperation(async () => this._wasmWorker.mergeModelParts(targetId, sourceId));
|
|
45
|
+
}
|
|
46
|
+
getAllTessellations(modelPartId, compressed, transmit) {
|
|
47
|
+
return this.wrapOperation(async () => this._wasmWorker.getAllTessellations(modelPartId, compressed, transmit));
|
|
48
|
+
}
|
|
49
|
+
getTessellations(modelPartId, versionFrom, versionTo, compressed, transmit) {
|
|
50
|
+
return this.wrapOperation(async () => this._wasmWorker.getTessellations(modelPartId, versionFrom, versionTo, compressed, transmit));
|
|
51
|
+
}
|
|
52
|
+
getTessellation(modelPartId, tessellationKey, version, compressed) {
|
|
53
|
+
return this.wrapOperation(async () => this._wasmWorker.getTessellation(modelPartId, tessellationKey, version, compressed));
|
|
54
|
+
}
|
|
55
|
+
getTessellationsByIds(modelPartId, tessellations, version, compressed, transmit) {
|
|
56
|
+
return this.wrapOperation(async () => this._wasmWorker.getTessellationsByIds(modelPartId, tessellations, version, compressed, transmit));
|
|
57
|
+
}
|
|
58
|
+
getAllElements(modelPartId, transmit) {
|
|
59
|
+
return this.wrapOperation(async () => this._wasmWorker.getAllElements(modelPartId, transmit));
|
|
60
|
+
}
|
|
61
|
+
getElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
62
|
+
return this.wrapOperation(async () => this._wasmWorker.getElements(modelPartId, versionFrom, versionTo, transmit));
|
|
63
|
+
}
|
|
64
|
+
getDiffElements(modelPartId, versionFrom, versionTo, transmit) {
|
|
65
|
+
return this.wrapOperation(async () => this._wasmWorker.getDiffElements(modelPartId, versionFrom, versionTo, transmit));
|
|
66
|
+
}
|
|
67
|
+
getElementProperties(modelPartId, elementId, version) {
|
|
68
|
+
return this.wrapOperation(async () => this._wasmWorker.getElementProperties(modelPartId, elementId, version));
|
|
69
|
+
}
|
|
70
|
+
getElementTessellations(modelPartId, versionFrom, versionTo, compressed) {
|
|
71
|
+
return this.wrapOperation(async () => this._wasmWorker.getElementTessellations(modelPartId, versionFrom, versionTo, compressed));
|
|
72
|
+
}
|
|
73
|
+
getAllVersions(modelPartId) {
|
|
74
|
+
return this.wrapOperation(async () => this._wasmWorker.getAllVersions(modelPartId));
|
|
75
|
+
}
|
|
76
|
+
getLatestVersion(modelPartId) {
|
|
77
|
+
return this.wrapOperation(async () => this._wasmWorker.getLatestVersion(modelPartId));
|
|
78
|
+
}
|
|
79
|
+
// CloudPart
|
|
80
|
+
async cacheCloudPart(modelPartId) {
|
|
81
|
+
return this.wrapOperation(async () => this._wasmWorker.cacheCloudPart(modelPartId));
|
|
82
|
+
}
|
|
83
|
+
getCloudPoints(modelPartId, index) {
|
|
84
|
+
return this.wrapOperation(async () => this._wasmWorker.getCloudPoints(modelPartId, index));
|
|
85
|
+
}
|
|
86
|
+
getCloudPointsArray(modelPartId, indicies, transmit) {
|
|
87
|
+
return this.wrapOperation(async () => this._wasmWorker.getCloudPointsArray(modelPartId, indicies, transmit));
|
|
88
|
+
}
|
|
89
|
+
getCloudHierarchy(modelPartId) {
|
|
90
|
+
return this.wrapOperation(async () => this._wasmWorker.getCloudHierarchy(modelPartId));
|
|
91
|
+
}
|
|
92
|
+
getCloudParameters(modelPartId) {
|
|
93
|
+
return this.wrapOperation(async () => this._wasmWorker.getCloudParameters(modelPartId));
|
|
94
|
+
}
|
|
95
|
+
getCloudMetadata(modelPartId) {
|
|
96
|
+
return this.wrapOperation(async () => this._wasmWorker.getCloudMetadata(modelPartId));
|
|
97
|
+
}
|
|
98
|
+
// Memory checks & locks
|
|
99
|
+
flushMemory() {
|
|
100
|
+
if (!this.module || !isSecureContext)
|
|
101
|
+
return Promise.resolve();
|
|
102
|
+
if (this._memoryLocker.isLocked)
|
|
103
|
+
return this._memoryLocker.lock;
|
|
104
|
+
this._memoryLocker.isLocked = true;
|
|
105
|
+
const promise = async () => {
|
|
106
|
+
await Promise.all(Array.from(this._operationsSet.values()));
|
|
107
|
+
const cloudParts = Array.from(this.cachedCloudReaders.keys());
|
|
108
|
+
for await (const [, reader] of this.cachedCloudReaders)
|
|
109
|
+
await reader.close();
|
|
110
|
+
this.cachedCloudReaders.clear();
|
|
111
|
+
await this.init();
|
|
112
|
+
for await (const cloudId of cloudParts)
|
|
113
|
+
await this._wasmWorker.cacheCloudPart(cloudId);
|
|
114
|
+
this._memoryLocker.isLocked = false;
|
|
115
|
+
};
|
|
116
|
+
return this._memoryLocker.lock = promise();
|
|
117
|
+
}
|
|
118
|
+
async checkMemory() {
|
|
119
|
+
while (this._memoryLocker.isLocked)
|
|
120
|
+
await this._memoryLocker.lock;
|
|
121
|
+
const heapSize = this.module?.HEAP8.byteLength;
|
|
122
|
+
if (heapSize && heapSize > HEAP_SIZE_LIMIT) {
|
|
123
|
+
await this.flushMemory();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async wrapOperation(op) {
|
|
127
|
+
await this.checkMemory();
|
|
128
|
+
const opPromise = op();
|
|
129
|
+
this._operationsSet.add(opPromise);
|
|
130
|
+
opPromise.finally(() => this._operationsSet.delete(opPromise));
|
|
131
|
+
return opPromise;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
expose(WasmWorkerThreadSafeWrapper);
|
|
135
|
+
//# sourceMappingURL=WasmWorkerThreadSafeWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WasmWorkerThreadSafeWrapper.js","sourceRoot":"","sources":["../../../src/wasm/WasmWorkerThreadSafeWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface IWasmBimModule extends EmscriptenModule {
|
|
|
7
7
|
getTessellations(filename: string, versionFrom: bigint, versionTo: bigint, compressed?: boolean): VectorOf<WasmTessellation>;
|
|
8
8
|
getTessellation(filename: string, tessId: string, version: bigint, compressed?: boolean): WasmTessellation;
|
|
9
9
|
getNodesTessellations(filename: string, versionFrom: bigint, versionTo: bigint, compressed?: boolean): VectorOf<WasmTessellation>;
|
|
10
|
+
getTessellationsByIds(filename: string, version: bigint, tessIds: VectorOf<string>, compressed?: boolean): VectorOf<WasmTessellation>;
|
|
10
11
|
getNodes(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmIfcNode>;
|
|
11
12
|
getProperties(filename: string, elementId: string, version: bigint): VectorOf<WasmElementPropertySet>;
|
|
12
13
|
getComparedNodes(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmIfcNode>;
|
|
@@ -16,9 +17,10 @@ export interface IWasmBimModule extends EmscriptenModule {
|
|
|
16
17
|
getDatabaseVersion(filename: string): bigint;
|
|
17
18
|
mergeDatabases(targetDBFilename: string, sourceDBFilename: string): void;
|
|
18
19
|
manualMergeDatabases(targetDBFilename: string, sourceDBFilename: string): void;
|
|
19
|
-
|
|
20
|
+
isValidDatabase(filename: string): boolean;
|
|
20
21
|
|
|
21
22
|
getCloudPoints(filename: string, index: number): WasmPointsData;
|
|
23
|
+
getCloudPointsArray(filename: string, indicies: VectorOf<number>): VectorOf<WasmPointsData>;
|
|
22
24
|
getCloudHierarchy(filename: string): VectorOf<WasmCloudHierarchyItem>;
|
|
23
25
|
getCloudParameters(filename: string): MapOf<string, string>;
|
|
24
26
|
getCloudMetadata(filename: string): WasmPointsMetadata;
|
|
@@ -28,6 +30,8 @@ export interface IWasmBimModule extends EmscriptenModule {
|
|
|
28
30
|
|
|
29
31
|
export interface VectorOf<T> extends IDisposable {
|
|
30
32
|
get(index: number): T;
|
|
33
|
+
set(index: number, value: T): void;
|
|
34
|
+
push_back(value: T): void;
|
|
31
35
|
size(): number;
|
|
32
36
|
}
|
|
33
37
|
|
|
@@ -217,6 +221,7 @@ export interface WasmCloudReader extends IDisposable {
|
|
|
217
221
|
close(): void;
|
|
218
222
|
|
|
219
223
|
getCloudPoints(index: number, cmdCacheEnable: boolean): WasmPointsData;
|
|
224
|
+
getCloudPointsArray(indicies: VectorOf<number>, cmdCacheEnable: boolean): VectorOf<WasmPointsData>;
|
|
220
225
|
getCloudHierarchy(): VectorOf<WasmCloudHierarchyItem>;
|
|
221
226
|
getCloudParameters(): MapOf<string, string>;
|
|
222
227
|
getCloudMetadata(): WasmPointsMetadata;
|
|
Binary file
|