@pilotdev/pilot-bim-dataprovider 24.12.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.
Files changed (36) hide show
  1. package/lib/src/file-system/IFileSystemCache.d.ts +4 -1
  2. package/lib/src/file-system/IFileSystemCache.js +2 -2
  3. package/lib/src/file-system/IFileSystemCache.js.map +1 -1
  4. package/lib/src/file-system/OPFS.d.ts +1 -1
  5. package/lib/src/file-system/OPFS.js +1 -0
  6. package/lib/src/file-system/OPFS.js.map +1 -1
  7. package/lib/src/model/BimDataPart.d.ts +2 -0
  8. package/lib/src/model/BimDataPart.js +38 -6
  9. package/lib/src/model/BimDataPart.js.map +1 -1
  10. package/lib/src/model/BimDataProvider.js +3 -5
  11. package/lib/src/model/BimDataProvider.js.map +1 -1
  12. package/lib/src/model/BimDataTessellation.d.ts +1 -0
  13. package/lib/src/model/BimDataTessellation.js.map +1 -1
  14. package/lib/src/utils/ViewerTools.d.ts +8 -4
  15. package/lib/src/utils/ViewerTools.js +65 -40
  16. package/lib/src/utils/ViewerTools.js.map +1 -1
  17. package/lib/src/utils/WasmTools.d.ts +0 -1
  18. package/lib/src/utils/WasmTools.js +10 -16
  19. package/lib/src/utils/WasmTools.js.map +1 -1
  20. package/lib/src/wasm/pilot_bim_dataprovider.d.ts +2 -1
  21. package/lib/src/wasm/pilot_bim_dataprovider.js +1 -1
  22. package/lib/src/wasm/wasm.worker-node.cjs +1 -0
  23. package/lib/src/wasm/wasm.worker-web.cjs +1 -0
  24. package/lib/src/wasm/wasm.worker.d.ts +12 -13
  25. package/lib/src/wasm/wasm.worker.js +32 -31
  26. package/lib/src/wasm/wasm.worker.js.map +1 -1
  27. package/lib/src/wasm/worker-node.d.ts +3 -0
  28. package/lib/src/wasm/worker-node.js +38 -0
  29. package/lib/src/wasm/worker-node.js.map +1 -0
  30. package/lib/src/wasm/worker-web.d.ts +2 -0
  31. package/lib/src/wasm/worker-web.js +15 -0
  32. package/lib/src/wasm/worker-web.js.map +1 -0
  33. package/lib/src/wasm/worker.d.ts +10 -0
  34. package/lib/src/wasm/worker.js +26 -0
  35. package/lib/src/wasm/worker.js.map +1 -0
  36. package/package.json +9 -3
@@ -1,3 +1,6 @@
1
+ export interface InWorkerFileSystemFileHandle extends FileSystemFileHandle {
2
+ createSyncAccessHandle(): Promise<FileSystemSyncAccessHandle>;
3
+ }
1
4
  export interface FileSystemSyncAccessHandle {
2
5
  read(buffer: ArrayBufferView, options?: {
3
6
  at?: number;
@@ -47,7 +50,7 @@ export declare class FileSystemCache implements IFileSystemCache {
47
50
  private createFileNode;
48
51
  }
49
52
  export declare class StreamOps {
50
- private readonly handle;
53
+ private readonly _handle;
51
54
  private _syncHandle?;
52
55
  private _syncHandlePromise?;
53
56
  private _openCounter;
@@ -95,15 +95,15 @@ export class FileSystemCache {
95
95
  }
96
96
  export class StreamOps {
97
97
  constructor(handle) {
98
- this.handle = handle;
99
98
  this._openCounter = 0;
99
+ this._handle = handle;
100
100
  }
101
101
  open() {
102
102
  this._openCounter++;
103
103
  if (this._syncHandlePromise)
104
104
  return this._syncHandlePromise;
105
105
  if (!this._syncHandle) {
106
- this._syncHandlePromise = this.handle.createSyncAccessHandle()
106
+ this._syncHandlePromise = this._handle.createSyncAccessHandle()
107
107
  .then(handle => {
108
108
  this._syncHandlePromise = undefined;
109
109
  if (this._openCounter == 0)
@@ -1 +1 @@
1
- {"version":3,"file":"IFileSystemCache.js","sourceRoot":"","sources":["../../../src/file-system/IFileSystemCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IFileSystemCache.js","sourceRoot":"","sources":["../../../src/file-system/IFileSystemCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA2CjC,MAAM,OAAO,eAAe;IAA5B;QACU,cAAS,GAAG,CAAC,CAAC;QACd,gBAAW,GAA8C,IAAI,GAAG,EAAE,CAAC;IA2G7E,CAAC;IAzGC,MAAM,CAAC,IAAY,EAAE,MAAiC;QACpD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;SACpD;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAiB,CAAC;QACxD,IAAI,CAAC,UAAU;YACb,OAAO,SAAS,CAAC;QAEnB,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,MAA4B;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAiB,CAAC;QACvD,IAAI,CAAC,UAAU;YACb,OAAO,SAAS,CAAC;QAEnB,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/D,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YACP,OAAO;QAET,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE;YAC5B,MAAM,QAAQ,GAAkB,IAAK,CAAC,QAAQ,CAAC;YAChC,IAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxE;QAED,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YACP,OAAO;QAET,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,MAAiC,EAAE,MAAqB;QAC1F,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,8EAA8E;QAC9E,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,MAA4B,EAAE,MAAoB;QACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,IAAI,GAAkB;YAC1B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IAMpB,YAAY,MAA4B;QAFhC,iBAAY,GAAW,CAAC,CAAC;QAG/B,IAAI,CAAC,OAAO,GAAiC,MAAM,CAAC;IACtD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,kBAAkB;YACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;iBAC5D,IAAI,CAAC,MAAM,CAAC,EAAE;gBACb,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACpC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC;oBACxB,MAAM,CAAC,KAAK,EAAE,CAAC;;oBAEf,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC9B,CAAC,CAAC,CAAC;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,MAAuB,EAAE,MAAc,EAAE,MAAc,EAAE,QAAiB;QAC7E,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAuB,EAAE,MAAc,EAAE,MAAc,EAAE,QAAiB;QAC9E,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAe,EAAE,KAAe;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,KAAK,EAAE;YACnC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACF"}
@@ -8,7 +8,7 @@ export declare class OPFS implements FS {
8
8
  private readonly _fs;
9
9
  private readonly _fsSync;
10
10
  private _mountpoint;
11
- filesystems: any;
11
+ filesystems: object;
12
12
  constructor(_fs: FS, _fsSync: ISyncFileSystem);
13
13
  lookupPath(path: string, opts: any): Lookup;
14
14
  isFile(mode: number): boolean;
@@ -17,6 +17,7 @@ export class OPFS {
17
17
  this._fs = _fs;
18
18
  this._fsSync = _fsSync;
19
19
  this._mountpoint = "/";
20
+ this.filesystems = {};
20
21
  }
21
22
  lookupPath(path, opts) {
22
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"OPFS.js","sourceRoot":"","sources":["../../../src/file-system/OPFS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OPFS.js","sourceRoot":"","sources":["../../../src/file-system/OPFS.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,8 @@ export declare class BimDataModelPart extends BimDataBase implements IBimDataMod
51
51
  getElementTessellations(versionFrom: bigint, versionTo: bigint): Promise<Map<string, BimDataTessellation>>;
52
52
  getAllVersions(): Promise<bigint[]>;
53
53
  getLatestVersion(): Promise<bigint>;
54
+ private fillTessMap;
55
+ private fillArray;
54
56
  }
55
57
  export declare class BimDataCloudPart extends BimDataBase implements IBimDataCloudPart {
56
58
  open(buffer: ArrayBuffer): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import * as comlink from "comlink";
1
2
  class BimDataBase {
2
3
  constructor(id, module) {
3
4
  this.id = id;
@@ -8,6 +9,7 @@ class BimDataBase {
8
9
  async open(buffer) {
9
10
  if (this._isDisposed)
10
11
  return Promise.reject("Data part is disposed");
12
+ comlink.transfer(buffer, [buffer instanceof Uint8Array ? buffer.buffer : buffer]);
11
13
  await this._remote.open(this.id, buffer);
12
14
  this._isOpen = true;
13
15
  }
@@ -34,27 +36,43 @@ export class BimDataModelPart extends BimDataBase {
34
36
  }
35
37
  async update(buffer) {
36
38
  this.checkIsOpen();
39
+ comlink.transfer(buffer, [buffer instanceof Uint8Array ? buffer.buffer : buffer]);
37
40
  return this._remote.updateModelPart(this.id, buffer);
38
41
  }
39
42
  async getAllTessellations() {
40
43
  this.checkIsOpen();
41
- return this._remote.getAllTessellations(this.id);
44
+ const map = new Map();
45
+ const transmitProxy = comlink.proxy((tessellations) => this.fillTessMap(map, tessellations));
46
+ await this._remote.getAllTessellations(this.id, transmitProxy);
47
+ return map;
42
48
  }
43
49
  async getTessellations(versionFrom, versionTo) {
44
50
  this.checkIsOpen();
45
- return this._remote.getTessellations(this.id, versionFrom, versionTo);
51
+ const map = new Map();
52
+ const transmitProxy = comlink.proxy((tessellations) => this.fillTessMap(map, tessellations));
53
+ await this._remote.getTessellations(this.id, versionFrom, versionTo, transmitProxy);
54
+ return map;
46
55
  }
47
56
  async getAllElements() {
48
57
  this.checkIsOpen();
49
- return this._remote.getAllElements(this.id);
58
+ const transmitResult = [];
59
+ const transmitProxy = comlink.proxy((elements) => this.fillArray(transmitResult, elements));
60
+ await this._remote.getAllElements(this.id, transmitProxy);
61
+ return transmitResult;
50
62
  }
51
63
  async getElements(versionFrom, versionTo) {
52
64
  this.checkIsOpen();
53
- return this._remote.getElements(this.id, versionFrom, versionTo);
65
+ const transmitResult = [];
66
+ const transmitProxy = comlink.proxy((elements) => this.fillArray(transmitResult, elements));
67
+ await this._remote.getElements(this.id, versionFrom, versionTo, transmitProxy);
68
+ return transmitResult;
54
69
  }
55
70
  async getDiffElements(versionFrom, versionTo) {
56
71
  this.checkIsOpen();
57
- return this._remote.getDiffElements(this.id, versionFrom, versionTo);
72
+ const transmitResult = [];
73
+ const transmitProxy = comlink.proxy((elements) => this.fillArray(transmitResult, elements));
74
+ await this._remote.getDiffElements(this.id, versionFrom, versionTo, transmitProxy);
75
+ return transmitResult;
58
76
  }
59
77
  async getElementProperties(elementId, version) {
60
78
  this.checkIsOpen();
@@ -62,7 +80,10 @@ export class BimDataModelPart extends BimDataBase {
62
80
  }
63
81
  async getElementTessellations(versionFrom, versionTo) {
64
82
  this.checkIsOpen();
65
- return this._remote.getElementTessellations(this.id, versionFrom, versionTo);
83
+ const map = new Map();
84
+ const result = await this._remote.getElementTessellations(this.id, versionFrom, versionTo);
85
+ this.fillTessMap(map, result);
86
+ return map;
66
87
  }
67
88
  async getAllVersions() {
68
89
  this.checkIsOpen();
@@ -72,6 +93,17 @@ export class BimDataModelPart extends BimDataBase {
72
93
  this.checkIsOpen();
73
94
  return this._remote.getLatestVersion(this.id);
74
95
  }
96
+ fillTessMap(map, array) {
97
+ for (let i = 0; i < array.length; i++) {
98
+ const t = array[i];
99
+ map.set(t.key, t);
100
+ }
101
+ }
102
+ fillArray(target, source) {
103
+ for (let i = 0; i < source.length; i++) {
104
+ target.push(source[i]);
105
+ }
106
+ }
75
107
  }
76
108
  export class BimDataCloudPart extends BimDataBase {
77
109
  async open(buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- /* eslint @typescript-eslint/no-inferrable-types:off */
2
- import * as comlink from "comlink";
3
1
  import { BimDataCloudPart, BimDataModelPart } from './BimDataPart.js';
4
- import { CorsWorker as Worker } from '../wasm/CorsWorker.js';
2
+ import { CorsWorker as Worker } from '../wasm/worker.js';
5
3
  export class BimDataProvider {
6
4
  async init() {
7
- const worker = new Worker(new URL("../wasm/wasm.worker.js", import.meta.url), { type: "module" });
8
- const WasmWorkerType = comlink.wrap(await worker.createWorker());
5
+ const worker = new Worker(new URL("../wasm/wasm.worker-node.cjs", import.meta.url), { type: "module" });
6
+ const WasmWorkerType = await worker.getRemote();
9
7
  this._workerObj = await new WasmWorkerType();
10
8
  await this._workerObj.init();
11
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataProvider.js","sourceRoot":"","sources":["../../../src/model/BimDataProvider.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAwC,MAAM,kBAAkB,CAAC;AAE5G,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU7D,MAAM,OAAO,eAAe;IAG1B,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAoB,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataProvider.js","sourceRoot":"","sources":["../../../src/model/BimDataProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAwC,MAAM,kBAAkB,CAAC;AAE5G,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAUzD,MAAM,OAAO,eAAe;IAG1B,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxG,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,EAAqB,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAmB;QACjD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  export declare class BimDataTessellation {
2
+ key: string;
2
3
  vertices: Float32Array;
3
4
  normals: Float32Array;
4
5
  indices: Uint32Array;
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataTessellation.js","sourceRoot":"","sources":["../../../src/model/BimDataTessellation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAAhC;QACE,aAAQ,GAAiB,IAAI,YAAY,EAAE,CAAC;QAC5C,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAC3C,YAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;QACzC,gBAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;IAC/C,CAAC;CAAA"}
1
+ {"version":3,"file":"BimDataTessellation.js","sourceRoot":"","sources":["../../../src/model/BimDataTessellation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAAhC;QAEE,aAAQ,GAAiB,IAAI,YAAY,EAAE,CAAC;QAC5C,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAC3C,YAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;QACzC,gBAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;IAC/C,CAAC;CAAA"}
@@ -1,17 +1,21 @@
1
1
  import { BimDataElement, BimCloudHierarchyItem, BimCloudMetadata } from "../model/BimDataElement.js";
2
2
  import { BimDataElementPropertySet } from "../model/BimDataElementPropertySet.js";
3
3
  import { BimDataTessellation } from "../model/BimDataTessellation.js";
4
- import { VectorOf, WasmElementPropertySet, WasmIfcNode, WasmTessellation, IWasmBimModule, WasmCloudHierarchyItem, WasmPointsData, WasmPointsMetadata } from "../wasm/pilot_bim_dataprovider.js";
4
+ import { VectorOf, WasmElementPropertySet, WasmIfcNode, WasmTessellation, IWasmBimModule, WasmCloudHierarchyItem, WasmPointsData, WasmPointsMetadata, IDisposable } from "../wasm/pilot_bim_dataprovider.js";
5
+ type convertFunc<T, K> = (module: IWasmBimModule, value: T, transferable?: Transferable[]) => K;
6
+ type transmitFunc<K> = (data: K[]) => Promise<void>;
5
7
  export declare class BimDataConverter {
6
8
  static toToBimDataElements(module: IWasmBimModule, ifcNodes: VectorOf<WasmIfcNode>, dispose: boolean, transfer?: boolean): BimDataElement[];
7
- static toBimDataTessellations(module: IWasmBimModule, tessellations: VectorOf<WasmTessellation>, dispose: boolean, transfer?: boolean): Map<string, BimDataTessellation>;
9
+ static toBimDataTessellations(module: IWasmBimModule, tessellations: VectorOf<WasmTessellation>, dispose: boolean, transfer?: boolean): BimDataTessellation[];
8
10
  static toModelElementPropertySet(wasmPropertySets: VectorOf<WasmElementPropertySet>, dispose: boolean): BimDataElementPropertySet[];
9
11
  static toBimCloudHierarchy(wasmHierarchy: VectorOf<WasmCloudHierarchyItem>, dispose: boolean): BimCloudHierarchyItem[];
10
12
  static toCloudPoints(module: IWasmBimModule, wasmPointsData: WasmPointsData, dispose: boolean, transfer?: boolean): Float32Array;
11
13
  static toCloudMetadata(wasmPointsMetadata: WasmPointsMetadata, dispose: boolean): BimCloudMetadata;
14
+ static toBimDataElement(module: IWasmBimModule, ifcNode: WasmIfcNode, transferable?: Transferable[]): BimDataElement;
15
+ static toBimDataTessellation(module: IWasmBimModule, wasmTessellation: WasmTessellation, transferable?: Transferable[]): BimDataTessellation;
12
16
  private static toModelElementProperties;
13
17
  private static toModelElementPropertyValue;
14
- private static toBimDataElement;
15
- private static toBimDataTessellation;
16
18
  private static toBimCloudHierarchyItem;
17
19
  }
20
+ export declare function transmitWasmData<WasmData extends IDisposable, BimData>(module: IWasmBimModule, wasmData: VectorOf<WasmData>, dispose: boolean, convert: convertFunc<WasmData, BimData>, transmit: transmitFunc<BimData>, step: number): Promise<void>;
21
+ export {};
@@ -5,35 +5,35 @@ import { BimDataTessellation } from "../model/BimDataTessellation.js";
5
5
  import { WasmTools } from "./WasmTools.js";
6
6
  export class BimDataConverter {
7
7
  static toToBimDataElements(module, ifcNodes, dispose, transfer = true) {
8
- const props = new Array();
8
+ const elements = new Array();
9
9
  const transferable = transfer ? [] : undefined;
10
10
  for (let index = 0; index < ifcNodes.size(); index++) {
11
11
  const node = ifcNodes.get(index);
12
- props.push(this.toBimDataElement(module, node, transferable));
12
+ elements.push(this.toBimDataElement(module, node, transferable));
13
13
  if (dispose)
14
14
  node.delete();
15
15
  }
16
16
  if (dispose)
17
17
  ifcNodes.delete();
18
18
  if (transferable)
19
- comlink.transfer(props, transferable);
20
- return props;
19
+ comlink.transfer(elements, transferable);
20
+ return elements;
21
21
  }
22
22
  static toBimDataTessellations(module, tessellations, dispose, transfer = true) {
23
- const map = new Map();
23
+ const result = [];
24
24
  const transferable = transfer ? [] : undefined;
25
25
  for (let index = 0; index < tessellations.size(); index++) {
26
26
  const tessellation = tessellations.get(index);
27
- const t = this.toBimDataTessellation(module, tessellation, transferable);
28
- map.set(t.key, t.value);
27
+ const tess = this.toBimDataTessellation(module, tessellation, transferable);
28
+ result.push(tess);
29
29
  if (dispose)
30
30
  tessellation.delete();
31
31
  }
32
32
  if (dispose)
33
33
  tessellations.delete();
34
34
  if (transferable)
35
- comlink.transfer(map, transferable);
36
- return map;
35
+ comlink.transfer(result, transferable);
36
+ return result;
37
37
  }
38
38
  static toModelElementPropertySet(wasmPropertySets, dispose) {
39
39
  const sets = new Array();
@@ -79,36 +79,6 @@ export class BimDataConverter {
79
79
  wasmPointsMetadata.delete();
80
80
  return metadata;
81
81
  }
82
- static toModelElementProperties(properties, dispose) {
83
- const modelElementProperties = new Array();
84
- for (let index = 0; index < properties.size(); index++) {
85
- const prop = properties.get(index);
86
- const meProperty = new BimDataElementProperty();
87
- meProperty.name = prop.name;
88
- meProperty.unit = prop.unit;
89
- meProperty.value = this.toModelElementPropertyValue(prop.value, dispose);
90
- modelElementProperties.push(meProperty);
91
- }
92
- if (dispose)
93
- properties.delete();
94
- return modelElementProperties;
95
- }
96
- static toModelElementPropertyValue(value, dispose) {
97
- const modelElementValue = new BimDataElementPropertyValue();
98
- modelElementValue.array_int_value = WasmTools.vectorToArray(value.array_int_value, true);
99
- modelElementValue.array_value = WasmTools.vectorToArray(value.array_value);
100
- modelElementValue.bool_value = value.bool_value?.has_value() ? value.bool_value.value() : undefined;
101
- modelElementValue.date_value = value.date_value?.has_value() ? value.date_value.value() : undefined;
102
- modelElementValue.decimal_value = value.decimal_value?.has_value() ? WasmTools.decimalToNumber(value.decimal_value.value()) : undefined; // TODO convert
103
- modelElementValue.double_value = value.double_value?.has_value() ? value.double_value.value() : undefined;
104
- modelElementValue.guid_value = value.guid_value?.has_value() ? value.guid_value.value()?.toString() : undefined;
105
- modelElementValue.int_value = value.int_value?.has_value() ? value.int_value.value() : undefined;
106
- modelElementValue.str_value = value.str_value?.has_value() ? value.str_value.value() : undefined;
107
- //modelElementValue.value = value.value;
108
- if (dispose)
109
- value.delete();
110
- return modelElementValue;
111
- }
112
82
  static toBimDataElement(module, ifcNode, transferable) {
113
83
  const node = new BimDataElement();
114
84
  node.guid = ifcNode.id;
@@ -165,12 +135,43 @@ export class BimDataConverter {
165
135
  static toBimDataTessellation(module, wasmTessellation, transferable) {
166
136
  const tessellation = new BimDataTessellation();
167
137
  const modelMesh = wasmTessellation.model_mesh;
138
+ tessellation.key = wasmTessellation.id;
168
139
  tessellation.edgeIndices = WasmTools.vectorToUint32Array(module, modelMesh.edge_indices, modelMesh.getEdgeIndicesDataOffset(), true, transferable);
169
140
  tessellation.indices = WasmTools.vectorToUint32Array(module, modelMesh.indices, modelMesh.getIndicesDataOffset(), true, transferable);
170
141
  tessellation.normals = WasmTools.vectorToFloat32Array(module, modelMesh.normals, modelMesh.getNormalsDataOffset(), true, transferable);
171
142
  tessellation.vertices = WasmTools.vectorToFloat32Array(module, modelMesh.vertices, modelMesh.getVerticesDataOffset(), true, transferable);
172
143
  modelMesh.delete();
173
- return { key: wasmTessellation.id, value: tessellation };
144
+ return tessellation;
145
+ }
146
+ static toModelElementProperties(properties, dispose) {
147
+ const modelElementProperties = new Array();
148
+ for (let index = 0; index < properties.size(); index++) {
149
+ const prop = properties.get(index);
150
+ const meProperty = new BimDataElementProperty();
151
+ meProperty.name = prop.name;
152
+ meProperty.unit = prop.unit;
153
+ meProperty.value = this.toModelElementPropertyValue(prop.value, dispose);
154
+ modelElementProperties.push(meProperty);
155
+ }
156
+ if (dispose)
157
+ properties.delete();
158
+ return modelElementProperties;
159
+ }
160
+ static toModelElementPropertyValue(value, dispose) {
161
+ const modelElementValue = new BimDataElementPropertyValue();
162
+ modelElementValue.array_int_value = WasmTools.vectorToArray(value.array_int_value, true);
163
+ modelElementValue.array_value = WasmTools.vectorToArray(value.array_value);
164
+ modelElementValue.bool_value = value.bool_value?.has_value() ? value.bool_value.value() : undefined;
165
+ modelElementValue.date_value = value.date_value?.has_value() ? value.date_value.value() : undefined;
166
+ modelElementValue.decimal_value = value.decimal_value?.has_value() ? WasmTools.decimalToNumber(value.decimal_value.value()) : undefined; // TODO convert
167
+ modelElementValue.double_value = value.double_value?.has_value() ? value.double_value.value() : undefined;
168
+ modelElementValue.guid_value = value.guid_value?.has_value() ? value.guid_value.value()?.toString() : undefined;
169
+ modelElementValue.int_value = value.int_value?.has_value() ? value.int_value.value() : undefined;
170
+ modelElementValue.str_value = value.str_value?.has_value() ? value.str_value.value() : undefined;
171
+ //modelElementValue.value = value.value;
172
+ if (dispose)
173
+ value.delete();
174
+ return modelElementValue;
174
175
  }
175
176
  static toBimCloudHierarchyItem(wasmHierarchyItem) {
176
177
  const hierarchyItem = new BimCloudHierarchyItem();
@@ -189,4 +190,28 @@ export class BimDataConverter {
189
190
  return hierarchyItem;
190
191
  }
191
192
  }
193
+ export async function transmitWasmData(module, wasmData, dispose, convert, transmit, step) {
194
+ const size = wasmData.size();
195
+ let result = new Array();
196
+ let transferable = [];
197
+ for (let index = 0; index < size; index++) {
198
+ const data = wasmData.get(index);
199
+ result.push(convert(module, data, transferable));
200
+ if (result.length >= step) {
201
+ comlink.transfer(result, transferable);
202
+ await transmit(result);
203
+ result = [];
204
+ transferable = [];
205
+ }
206
+ if (dispose)
207
+ data.delete();
208
+ }
209
+ if (dispose)
210
+ wasmData.delete();
211
+ if (result.length > 0) {
212
+ comlink.transfer(result, transferable);
213
+ await transmit(result);
214
+ }
215
+ transmit[comlink.releaseProxy]();
216
+ }
192
217
  //# sourceMappingURL=ViewerTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /// <reference types="emscripten" />
2
2
  import { IDisposable, IWasmBimModule, MapOf, VectorOf, WasmDecimal } from "../wasm/pilot_bim_dataprovider.js";
3
3
  export declare class WasmTools {
4
- private static readonly _crossOriginIsolated;
5
4
  static vectorToArray<T>(vector: VectorOf<unknown>, dispose?: boolean): T[];
6
5
  static vectorToUint32Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Uint32Array;
7
6
  static vectorToUint8Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Uint8Array;
@@ -13,50 +13,45 @@ export class WasmTools {
13
13
  }
14
14
  static vectorToUint32Array(module, vector, offset, dispose, transferable) {
15
15
  const array = new Uint32Array(module.HEAPU32.buffer, offset, vector.size());
16
- const result = new Uint32Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
16
+ const result = new Uint32Array(new ArrayBuffer(array.byteLength));
17
17
  result.set(array, 0);
18
- if (!this._crossOriginIsolated && transferable)
19
- transferable.push(result.buffer);
18
+ transferable?.push(result.buffer);
20
19
  if (dispose)
21
20
  vector.delete();
22
21
  return result;
23
22
  }
24
23
  static vectorToUint8Array(module, vector, offset, dispose, transferable) {
25
24
  const array = new Uint8Array(module.HEAPU8.buffer, offset, vector.size());
26
- const result = new Uint8Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
25
+ const result = new Uint8Array(new ArrayBuffer(array.byteLength));
27
26
  result.set(array, 0);
28
- if (!this._crossOriginIsolated && transferable)
29
- transferable.push(result.buffer);
27
+ transferable?.push(result.buffer);
30
28
  if (dispose)
31
29
  vector.delete();
32
30
  return result;
33
31
  }
34
32
  static vectorToUint16Array(module, vector, offset, dispose, transferable) {
35
33
  const array = new Uint16Array(module.HEAPU16.buffer, offset, vector.size());
36
- const result = new Uint16Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
34
+ const result = new Uint16Array(new ArrayBuffer(array.byteLength));
37
35
  result.set(array, 0);
38
- if (!this._crossOriginIsolated && transferable)
39
- transferable.push(result.buffer);
36
+ transferable?.push(result.buffer);
40
37
  if (dispose)
41
38
  vector.delete();
42
39
  return result;
43
40
  }
44
41
  static vectorToFloat32Array(module, vector, offset, dispose, transferable) {
45
42
  const array = new Float32Array(module.HEAPF32.buffer, offset, vector.size());
46
- const result = new Float32Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
43
+ const result = new Float32Array(new ArrayBuffer(array.byteLength));
47
44
  result.set(array, 0);
48
- if (!this._crossOriginIsolated && transferable)
49
- transferable.push(result.buffer);
45
+ transferable?.push(result.buffer);
50
46
  if (dispose)
51
47
  vector.delete();
52
48
  return result;
53
49
  }
54
50
  static vectorToFloat64Array(module, vector, offset, dispose, transferable) {
55
51
  const array = new Float64Array(module.HEAPF64.buffer, offset, vector.size());
56
- const result = new Float64Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
52
+ const result = new Float64Array(new ArrayBuffer(array.byteLength));
57
53
  result.set(array, 0);
58
- if (!this._crossOriginIsolated && transferable)
59
- transferable.push(result.buffer);
54
+ transferable?.push(result.buffer);
60
55
  if (dispose)
61
56
  vector.delete();
62
57
  return result;
@@ -115,5 +110,4 @@ export class WasmTools {
115
110
  move(root);
116
111
  }
117
112
  }
118
- WasmTools._crossOriginIsolated = (self && Object.prototype.hasOwnProperty.call(self, 'crossOriginIsolated')) ? self.crossOriginIsolated : false;
119
113
  //# sourceMappingURL=WasmTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WasmTools.js","sourceRoot":"","sources":["../../../src/utils/WasmTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasmTools.js","sourceRoot":"","sources":["../../../src/utils/WasmTools.ts"],"names":[],"mappings":"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"}