@pilotdev/pilot-bim-dataprovider 25.6.0 → 25.9.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 (73) hide show
  1. package/lib/index.d.ts +1 -1
  2. package/lib/index.js +1 -1
  3. package/lib/index.js.map +1 -1
  4. package/lib/src/file-system/IFileSystem.d.ts +3 -0
  5. package/lib/src/file-system/IFileSystem.js +50 -7
  6. package/lib/src/file-system/IFileSystem.js.map +1 -1
  7. package/lib/src/file-system/IFileSystemCache.d.ts +1 -1
  8. package/lib/src/file-system/IFileSystemCache.js +4 -1
  9. package/lib/src/file-system/IFileSystemCache.js.map +1 -1
  10. package/lib/src/file-system/OPFS.d.ts +2 -2
  11. package/lib/src/file-system/OPFS.js.map +1 -1
  12. package/lib/src/model/BimDataCloudPart.d.ts +2 -4
  13. package/lib/src/model/BimDataCloudPart.js +2 -6
  14. package/lib/src/model/BimDataCloudPart.js.map +1 -1
  15. package/lib/src/model/BimDataElement.d.ts +13 -2
  16. package/lib/src/model/BimDataElement.js.map +1 -1
  17. package/lib/src/model/BimDataIfcRepresentationStatus.d.ts +10 -0
  18. package/lib/src/model/BimDataIfcRepresentationStatus.js +12 -0
  19. package/lib/src/model/BimDataIfcRepresentationStatus.js.map +1 -0
  20. package/lib/src/model/BimDataModelPart.d.ts +5 -3
  21. package/lib/src/model/BimDataModelPart.js +22 -2
  22. package/lib/src/model/BimDataModelPart.js.map +1 -1
  23. package/lib/src/model/BimDataPart.d.ts +7 -2
  24. package/lib/src/model/BimDataPart.js +47 -3
  25. package/lib/src/model/BimDataPart.js.map +1 -1
  26. package/lib/src/model/BimDataProvider.js +7 -1
  27. package/lib/src/model/BimDataProvider.js.map +1 -1
  28. package/lib/src/model/BimDataTessellation.d.ts +5 -0
  29. package/lib/src/model/BimDataTessellation.js +6 -0
  30. package/lib/src/model/BimDataTessellation.js.map +1 -1
  31. package/lib/src/model/FileAccessDispatcher.d.ts +14 -0
  32. package/lib/src/model/FileAccessDispatcher.js +151 -0
  33. package/lib/src/model/FileAccessDispatcher.js.map +1 -0
  34. package/lib/src/utils/ViewerTools.d.ts +21 -2
  35. package/lib/src/utils/ViewerTools.js +111 -3
  36. package/lib/src/utils/ViewerTools.js.map +1 -1
  37. package/lib/src/utils/WasmTools.js +1 -1
  38. package/lib/src/utils/WasmTools.js.map +1 -1
  39. package/lib/src/wasm/{BimCloudPartAccessor.d.ts → DataAccessors/BimCloudPartAccessor.d.ts} +6 -5
  40. package/lib/src/wasm/DataAccessors/BimCloudPartAccessor.js +60 -0
  41. package/lib/src/wasm/DataAccessors/BimCloudPartAccessor.js.map +1 -0
  42. package/lib/src/wasm/{BimDataModelPartAccessor.d.ts → DataAccessors/BimDataModelPartAccessor.d.ts} +4 -3
  43. package/lib/src/wasm/{BimDataModelPartAccessor.js → DataAccessors/BimDataModelPartAccessor.js} +6 -2
  44. package/lib/src/wasm/DataAccessors/BimDataModelPartAccessor.js.map +1 -0
  45. package/lib/src/wasm/{BimDataPartAccessor.d.ts → DataAccessors/BimDataPartAccessor.d.ts} +1 -1
  46. package/lib/src/wasm/{BimDataPartAccessor.js → DataAccessors/BimDataPartAccessor.js} +1 -1
  47. package/lib/src/wasm/DataAccessors/BimDataPartAccessor.js.map +1 -0
  48. package/lib/src/wasm/DataAccessors/BinaryCloudReader.d.ts +16 -0
  49. package/lib/src/wasm/DataAccessors/BinaryCloudReader.js +268 -0
  50. package/lib/src/wasm/DataAccessors/BinaryCloudReader.js.map +1 -0
  51. package/lib/src/wasm/DataAccessors/ICloudReader.d.ts +10 -0
  52. package/lib/src/wasm/DataAccessors/ICloudReader.js +2 -0
  53. package/lib/src/wasm/DataAccessors/ICloudReader.js.map +1 -0
  54. package/lib/src/wasm/DataAccessors/WasmCloudReader.d.ts +16 -0
  55. package/lib/src/wasm/{BimCloudPartAccessor.js → DataAccessors/WasmCloudReader.js} +21 -23
  56. package/lib/src/wasm/DataAccessors/WasmCloudReader.js.map +1 -0
  57. package/lib/src/wasm/WasmWorker.d.ts +8 -6
  58. package/lib/src/wasm/WasmWorker.js +12 -9
  59. package/lib/src/wasm/WasmWorker.js.map +1 -1
  60. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.d.ts +5 -4
  61. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js +8 -5
  62. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js.map +1 -1
  63. package/lib/src/wasm/pilot_bim_dataprovider.d.ts +19 -5
  64. package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
  65. package/lib/src/wasm/wasm.worker-node.cjs +1 -1
  66. package/lib/src/wasm/wasm.worker-web.cjs +1 -1
  67. package/package.json +1 -1
  68. package/lib/src/wasm/BimCloudPartAccessor.js.map +0 -1
  69. package/lib/src/wasm/BimDataModelPartAccessor.js.map +0 -1
  70. package/lib/src/wasm/BimDataPartAccessor.js.map +0 -1
  71. package/lib/src/wasm/index.d.ts +0 -0
  72. package/lib/src/wasm/index.js +0 -3
  73. package/lib/src/wasm/index.js.map +0 -1
package/lib/index.d.ts CHANGED
@@ -6,4 +6,4 @@ export { BimDataBigIntMaxValue, BimDataBigIntMinValue } from "./src/model/Consts
6
6
  export { BimDataElement, BimDataMeshProperty, BimDataGridObject, BimDataGridAxis, BimCloudHierarchyItem, BimCloudMetadata } from "./src/model/BimDataElement.js";
7
7
  export { BimDataIfcType } from "./src/model/BimDataIfcType.js";
8
8
  export { BimDataElementPropertySet, BimDataElementProperty, BimDataElementPropertyValue } from "./src/model/BimDataElementPropertySet.js";
9
- export { BimDataTessellation } from "./src/model/BimDataTessellation.js";
9
+ export { BimDataTessellation, BimDataTessellationInfo } from "./src/model/BimDataTessellation.js";
package/lib/index.js CHANGED
@@ -3,5 +3,5 @@ export { BimDataBigIntMaxValue, BimDataBigIntMinValue } from "./src/model/Consts
3
3
  export { BimDataElement, BimDataMeshProperty, BimDataGridObject, BimDataGridAxis, BimCloudHierarchyItem, BimCloudMetadata } from "./src/model/BimDataElement.js";
4
4
  export { BimDataIfcType } from "./src/model/BimDataIfcType.js";
5
5
  export { BimDataElementPropertySet, BimDataElementProperty, BimDataElementPropertyValue } from "./src/model/BimDataElementPropertySet.js";
6
- export { BimDataTessellation } from "./src/model/BimDataTessellation.js";
6
+ export { BimDataTessellation, BimDataTessellationInfo } from "./src/model/BimDataTessellation.js";
7
7
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoB,MAAM,gCAAgC,CAAC;AAInF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjK,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoB,MAAM,gCAAgC,CAAC;AAInF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjK,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC"}
@@ -8,6 +8,7 @@ export interface IFileSystem {
8
8
  writeFile(path: string, data: ArrayBufferView, position?: number): Promise<void>;
9
9
  isFileExists(path: string): boolean;
10
10
  remove(path: string): Promise<void>;
11
+ copyFile(modelPartTarget: string, modelPartSource: string): Promise<void>;
11
12
  dispose(): Promise<void>;
12
13
  openSyncFileAccess(path: string): Promise<void>;
13
14
  closeSyncFileAccess(path: string): void;
@@ -21,6 +22,7 @@ export declare class AsyncFileSystem implements IFileSystem, ISyncFileSystem {
21
22
  makeFile(path: string, data: ArrayBufferView): Promise<void>;
22
23
  writeFile(path: string, data: ArrayBufferView, position?: number): Promise<void>;
23
24
  remove(path: string): Promise<void>;
25
+ copyFile(pathTarget: string, pathSource: string): Promise<void>;
24
26
  openSyncFileAccess(path: string): Promise<void>;
25
27
  closeSyncFileAccess(path: string): void;
26
28
  readdir(path: string): string[];
@@ -39,6 +41,7 @@ export declare class ProxyFileSystem implements IFileSystem {
39
41
  makeFile(path: string, data: ArrayBufferView): Promise<void>;
40
42
  writeFile(path: string, data: ArrayBufferView, position?: number): Promise<void>;
41
43
  remove(path: string): Promise<void>;
44
+ copyFile(pathTarget: string, pathSource: string): Promise<void>;
42
45
  openSyncFileAccess(path: string): Promise<void>;
43
46
  closeSyncFileAccess(path: string): void;
44
47
  dispose(): Promise<void>;
@@ -49,7 +49,7 @@ export class AsyncFileSystem {
49
49
  const fileHandle = this._cache.get(lpath);
50
50
  if (!fileHandle)
51
51
  return Promise.reject('File does not exist.');
52
- await fileHandle.stream_ops.open();
52
+ await fileHandle.stream_ops.open(fileHandle);
53
53
  fileHandle.stream_ops.write(data, 0, data.byteLength, position);
54
54
  fileHandle.size = fileHandle.stream_ops.getSize();
55
55
  fileHandle.stream_ops.close();
@@ -63,12 +63,53 @@ export class AsyncFileSystem {
63
63
  await node?.parent?.handle?.removeEntry(node.name, { recursive: true });
64
64
  }
65
65
  }
66
+ async copyFile(pathTarget, pathSource) {
67
+ const lpathSource = this.getLocalPath(pathSource);
68
+ const nodeSource = this._cache.get(lpathSource);
69
+ if (nodeSource?.kind != 'file') {
70
+ throw new Error("Attempt to copy a non-file.");
71
+ }
72
+ if (!nodeSource?.stream_ops) {
73
+ throw new Error("File not found.");
74
+ }
75
+ if (!nodeSource.stream_ops.isOpen()) {
76
+ await nodeSource.stream_ops.open(nodeSource);
77
+ }
78
+ if (this.isFileExists(pathTarget)) {
79
+ await this.remove(pathTarget);
80
+ }
81
+ const lpathTarget = this.getLocalPath(pathTarget);
82
+ await this.makeFile(lpathTarget, new Uint8Array([]));
83
+ const nodeTarget = this._cache.get(lpathTarget);
84
+ if (!nodeTarget?.stream_ops) {
85
+ throw new Error("Filed to create file " + lpathTarget);
86
+ }
87
+ await nodeTarget.stream_ops.open(nodeTarget);
88
+ const allBytes = nodeSource.stream_ops.getSize();
89
+ const maxChunkBytes = 64 << 20; // 64 MB
90
+ const buffer = new Uint8Array(maxChunkBytes);
91
+ let readedBytes = 0;
92
+ for (;;) {
93
+ const chunkBytes = Math.min(allBytes - readedBytes, maxChunkBytes);
94
+ const readedChunkBytes = nodeSource.stream_ops.read(buffer, 0, chunkBytes, readedBytes);
95
+ nodeTarget.stream_ops.write(buffer, 0, readedChunkBytes, readedBytes);
96
+ readedBytes += readedChunkBytes;
97
+ if (readedBytes >= allBytes || readedChunkBytes == 0) {
98
+ break;
99
+ }
100
+ }
101
+ if (readedBytes != allBytes) {
102
+ console.warn("Unexpected file size during copy");
103
+ }
104
+ nodeTarget.size = nodeTarget.stream_ops.getSize();
105
+ nodeTarget.stream_ops.close(undefined, true);
106
+ }
66
107
  async openSyncFileAccess(path) {
67
108
  const lpath = this.getLocalPath(path);
68
109
  const cachedFile = this.lookup(lpath);
69
110
  if (!cachedFile)
70
111
  return Promise.reject('File does not cached in OPFS.');
71
- return cachedFile.stream_ops?.open();
112
+ return cachedFile.stream_ops?.open(cachedFile);
72
113
  }
73
114
  closeSyncFileAccess(path) {
74
115
  const lpath = this.getLocalPath(path);
@@ -100,7 +141,7 @@ export class AsyncFileSystem {
100
141
  try {
101
142
  await parentDirectoryHandle.getDirectoryHandle(name);
102
143
  }
103
- catch (error) {
144
+ catch {
104
145
  return false;
105
146
  }
106
147
  return true;
@@ -120,9 +161,7 @@ export class AsyncFileSystem {
120
161
  if (handle.kind === "file") {
121
162
  child = this._cache.setFile(childPath, handle);
122
163
  if (child) {
123
- await child.stream_ops.open();
124
- child.size = child.stream_ops.getSize();
125
- child.stream_ops.close();
164
+ child.size = -1;
126
165
  }
127
166
  }
128
167
  else {
@@ -164,6 +203,10 @@ export class ProxyFileSystem {
164
203
  this._fs.unlink(lpath);
165
204
  return Promise.resolve();
166
205
  }
206
+ copyFile(pathTarget, pathSource) {
207
+ /* not need */
208
+ return Promise.resolve();
209
+ }
167
210
  openSyncFileAccess(path) {
168
211
  return Promise.resolve();
169
212
  }
@@ -179,7 +222,7 @@ export class ProxyFileSystem {
179
222
  const mode = this._fs.lookupPath(lpath, {}).node?.mode;
180
223
  return !!mode && this._fs.isFile(mode);
181
224
  }
182
- catch (error) {
225
+ catch {
183
226
  return false;
184
227
  }
185
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IFileSystem.js","sourceRoot":"","sources":["../../../src/file-system/IFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IFileSystem.js","sourceRoot":"","sources":["../../../src/file-system/IFileSystem.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export declare class StreamOps {
55
55
  private _syncHandlePromise?;
56
56
  private _openCounter;
57
57
  constructor(handle: FileSystemFileHandle);
58
- open(): Promise<void>;
58
+ open(node: IOpfsFileNode): Promise<void>;
59
59
  read(buffer: ArrayBufferView, offset: number, length: number, position?: number): number;
60
60
  write(buffer: ArrayBufferView, offset: number, length: number, position?: number): number;
61
61
  getSize(): number;
@@ -102,7 +102,7 @@ export class StreamOps {
102
102
  this._openCounter = 0;
103
103
  this._handle = handle;
104
104
  }
105
- open() {
105
+ open(node) {
106
106
  this._openCounter++;
107
107
  if (this._syncHandlePromise)
108
108
  return this._syncHandlePromise;
@@ -114,6 +114,9 @@ export class StreamOps {
114
114
  handle.close();
115
115
  else
116
116
  this._syncHandle = handle;
117
+ })
118
+ .then(x => {
119
+ node.size = this._syncHandle?.getSize() ?? 0;
117
120
  });
118
121
  return this._syncHandlePromise;
119
122
  }
@@ -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":"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"}
@@ -13,7 +13,7 @@ export declare class OPFS implements FS {
13
13
  private _mountpoint;
14
14
  filesystems: object;
15
15
  constructor(_fs: FS, _fsSync: ISyncFileSystem);
16
- lookupPath(path: string, opts: any): Lookup;
16
+ lookupPath(path: string, opts: number): Lookup;
17
17
  isFile(mode: number): boolean;
18
18
  isDir(mode: number): boolean;
19
19
  mkdir(path: string, mode?: number): void;
@@ -30,7 +30,7 @@ export declare class OPFS implements FS {
30
30
  writeFile(path: string, data: ArrayBufferView, opts?: {
31
31
  flags?: string;
32
32
  }): void;
33
- mount(type: FileSystemType, opts: any, mountpoint: string): FSNode;
33
+ mount(type: FileSystemType, opts: number, mountpoint: string): FSNode;
34
34
  createNode(parent: string | FSNode, name: string, mode: number, dev: number): FSNode;
35
35
  unlink(path: string): void;
36
36
  createDataFile(parent: string | FSNode, name: string, data: ArrayBufferView, canRead: boolean, canWrite: boolean, canOwn: boolean): FSNode;
@@ -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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"}
@@ -1,17 +1,15 @@
1
1
  import { BimDataBase, IBimDataPart } from "./BimDataPart.js";
2
2
  import { BimCloudHierarchyItem, BimCloudMetadata } from "./BimDataElement.js";
3
3
  export interface IBimDataCloudPart extends IBimDataPart {
4
- getCloudPoints(index: number): Promise<Float32Array>;
4
+ getCloudPoints(index: number, offset: number, count: number): Promise<Float32Array>;
5
5
  getCloudPointsArray(indicies: number[]): Promise<Float32Array[]>;
6
6
  getCloudHierarchy(): Promise<BimCloudHierarchyItem[]>;
7
- getCloudParameters(): Promise<Map<string, string>>;
8
7
  getCloudMetadata(): Promise<BimCloudMetadata>;
9
8
  }
10
9
  export declare class BimDataCloudPart extends BimDataBase implements IBimDataCloudPart {
11
10
  open(buffer?: ArrayBuffer): Promise<void>;
12
- getCloudPoints(index: number): Promise<Float32Array>;
11
+ getCloudPoints(index: number, offset: number, count: number): Promise<Float32Array>;
13
12
  getCloudPointsArray(indicies: number[]): Promise<Float32Array[]>;
14
13
  getCloudHierarchy(): Promise<BimCloudHierarchyItem[]>;
15
- getCloudParameters(): Promise<Map<string, string>>;
16
14
  getCloudMetadata(): Promise<BimCloudMetadata>;
17
15
  }
@@ -6,9 +6,9 @@ export class BimDataCloudPart extends BimDataBase {
6
6
  this.checkIsOpen();
7
7
  await this._remote.cacheCloudPart(this.id);
8
8
  }
9
- async getCloudPoints(index) {
9
+ async getCloudPoints(index, offset, count) {
10
10
  this.checkIsOpen();
11
- return this._remote.getCloudPoints(this.id, index);
11
+ return this._remote.getCloudPoints(this.id, index, offset, count);
12
12
  }
13
13
  async getCloudPointsArray(indicies) {
14
14
  this.checkIsOpen();
@@ -21,10 +21,6 @@ export class BimDataCloudPart extends BimDataBase {
21
21
  this.checkIsOpen();
22
22
  return this._remote.getCloudHierarchy(this.id);
23
23
  }
24
- async getCloudParameters() {
25
- this.checkIsOpen();
26
- return this._remote.getCloudParameters(this.id);
27
- }
28
24
  async getCloudMetadata() {
29
25
  this.checkIsOpen();
30
26
  return this._remote.getCloudMetadata(this.id);
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataCloudPart.js","sourceRoot":"","sources":["../../../src/model/BimDataCloudPart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAC;AAWrE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAC,IAAI,CAAC,MAAoB;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAkC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3I,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataCloudPart.js","sourceRoot":"","sources":["../../../src/model/BimDataCloudPart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAC;AAUrE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAC,IAAI,CAAC,MAAoB;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,KAAa;QAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAkC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3I,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1,3 +1,5 @@
1
+ import { BimDataIfcRepresentationStatus } from "./BimDataIfcRepresentationStatus";
2
+ import { BimDataIfcType } from "./BimDataIfcType";
1
3
  export declare class BimDataElement {
2
4
  guid: string;
3
5
  objectState: BimDataNodeState;
@@ -6,7 +8,9 @@ export declare class BimDataElement {
6
8
  name: string;
7
9
  type: string;
8
10
  representationType: string;
11
+ representationTypeEnum: BimDataIfcType[];
9
12
  representationStatus: string;
13
+ representationStatusFlag: BimDataIfcRepresentationStatus;
10
14
  gridObject: BimDataGridObject;
11
15
  meshesProperties: Map<string, BimDataMeshProperty[]>;
12
16
  }
@@ -50,9 +54,10 @@ export declare class BimCloudHierarchyItem {
50
54
  y: number;
51
55
  z: number;
52
56
  };
53
- offset?: number;
54
- size?: number;
57
+ offset: number;
58
+ size: number;
55
59
  spacing?: number;
60
+ childNodesCount?: number;
56
61
  }
57
62
  export declare class BimCloudMetadata {
58
63
  depth: number;
@@ -94,6 +99,12 @@ export declare class BimCloudMetadata {
94
99
  y: number;
95
100
  z: number;
96
101
  };
102
+ fileSize?: number;
103
+ pointFormat?: number;
104
+ bytesPerPoint?: number;
105
+ numPoints?: number;
106
+ nodesOffset?: number;
107
+ pointsOffset?: number;
97
108
  }
98
109
  export declare enum BimHierarchyItemType {
99
110
  NORMAL = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataElement.js","sourceRoot":"","sources":["../../../src/model/BimDataElement.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAA3B;QAGE,aAAQ,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAQ7B,qBAAgB,GAAuC,IAAI,GAAG,EAAE,CAAC;IACnE,CAAC;CAAA;AAED,MAAM,OAAO,mBAAmB;IAAhC;QACE,cAAS,GAAW,CAAC,CAAC;QACtB,kBAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;IACnD,CAAC;CAAA;AAED,MAAM,OAAO,iBAAiB;IAA9B;QACE,kBAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;QACjD,aAAQ,GAAsB,EAAE,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,OAAO,eAAe;IAA5B;QAGE,SAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;IAE1C,CAAC;CAAA;AAED,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAE1B,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,6DAAW,CAAA;IACX,mFAAsB,CAAA;IACtB,uGAAgC,CAAA;IAChC,iFAAqB,CAAA;IACrB,4GAAuE,CAAA;IACvE,gIAA2F,CAAA;AAC7F,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAED,MAAM,OAAO,qBAAqB;CAYjC;AAED,MAAM,OAAO,gBAAgB;CAiB5B;AAED,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,mEAAU,CAAA;IACV,+DAAQ,CAAA;IACR,iEAAS,CAAA;AACX,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B"}
1
+ {"version":3,"file":"BimDataElement.js","sourceRoot":"","sources":["../../../src/model/BimDataElement.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAA3B;QAGE,aAAQ,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAS7B,qBAAgB,GAAuC,IAAI,GAAG,EAAE,CAAC;IACnE,CAAC;CAAA;AAED,MAAM,OAAO,mBAAmB;IAAhC;QACE,cAAS,GAAW,CAAC,CAAC;QACtB,kBAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;IACnD,CAAC;CAAA;AAED,MAAM,OAAO,iBAAiB;IAA9B;QACE,kBAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;QACjD,aAAQ,GAAsB,EAAE,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,OAAO,eAAe;IAA5B;QAGE,SAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;IAE1C,CAAC;CAAA;AAED,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,6DAAW,CAAA;IACX,mFAAsB,CAAA;IACtB,uGAAgC,CAAA;IAChC,iFAAqB,CAAA;IACrB,4GAAuE,CAAA;IACvE,gIAA2F,CAAA;AAC7F,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,OAAO,qBAAqB;CAajC;AAED,MAAM,OAAO,gBAAgB;CAwB5B;AAED,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,mEAAU,CAAA;IACV,+DAAQ,CAAA;IACR,iEAAS,CAAA;AACX,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B"}
@@ -0,0 +1,10 @@
1
+ export declare enum BimDataIfcRepresentationStatus {
2
+ SUCCESS = 0,
3
+ NO_REPRESENTATION = 1,
4
+ IGNORED_IFC_TYPE = 2,
5
+ IFC_PARSING_ERROR = 4,
6
+ SOLID_CREATION_ERROR = 8,
7
+ TESSELATING_ERROR = 16,
8
+ C3D_EXEPTION = 32,
9
+ UNCLOSED_SOLID = 64
10
+ }
@@ -0,0 +1,12 @@
1
+ export var BimDataIfcRepresentationStatus;
2
+ (function (BimDataIfcRepresentationStatus) {
3
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["SUCCESS"] = 0] = "SUCCESS";
4
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["NO_REPRESENTATION"] = 1] = "NO_REPRESENTATION";
5
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["IGNORED_IFC_TYPE"] = 2] = "IGNORED_IFC_TYPE";
6
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["IFC_PARSING_ERROR"] = 4] = "IFC_PARSING_ERROR";
7
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["SOLID_CREATION_ERROR"] = 8] = "SOLID_CREATION_ERROR";
8
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["TESSELATING_ERROR"] = 16] = "TESSELATING_ERROR";
9
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["C3D_EXEPTION"] = 32] = "C3D_EXEPTION";
10
+ BimDataIfcRepresentationStatus[BimDataIfcRepresentationStatus["UNCLOSED_SOLID"] = 64] = "UNCLOSED_SOLID";
11
+ })(BimDataIfcRepresentationStatus || (BimDataIfcRepresentationStatus = {}));
12
+ //# sourceMappingURL=BimDataIfcRepresentationStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BimDataIfcRepresentationStatus.js","sourceRoot":"","sources":["../../../src/model/BimDataIfcRepresentationStatus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,8BASX;AATD,WAAY,8BAA8B;IACxC,yFAAW,CAAA;IACX,6GAAqB,CAAA;IACrB,2GAAoB,CAAA;IACpB,6GAAqB,CAAA;IACrB,mHAAwB,CAAA;IACxB,8GAAsB,CAAA;IACtB,oGAAiB,CAAA;IACjB,wGAAmB,CAAA;AACrB,CAAC,EATW,8BAA8B,KAA9B,8BAA8B,QASzC"}
@@ -1,5 +1,5 @@
1
1
  import { BimDataBase, IBimDataPart } from "./BimDataPart.js";
2
- import { BimDataTessellation } from "./BimDataTessellation.js";
2
+ import { BimDataTessellation, BimDataTessellationInfo } from "./BimDataTessellation.js";
3
3
  import { BimDataElement } from "./BimDataElement.js";
4
4
  import { BimDataElementPropertySet } from "./BimDataElementPropertySet.js";
5
5
  export interface IBimDataModelPart extends IBimDataPart {
@@ -7,6 +7,7 @@ export interface IBimDataModelPart extends IBimDataPart {
7
7
  mergeWith(dataPartId: string): Promise<void>;
8
8
  getAllTessellations(compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
9
9
  getTessellations(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
10
+ getTessellationsInfo(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellationInfo>>;
10
11
  getTessellation(tessellationKey: string, version: bigint, compressed?: boolean): Promise<BimDataTessellation>;
11
12
  getTessellationsById(tessellations: string[], version: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
12
13
  getAllElements(): Promise<BimDataElement[]>;
@@ -14,7 +15,7 @@ export interface IBimDataModelPart extends IBimDataPart {
14
15
  getDiffElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;
15
16
  getElementTessellations(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
16
17
  getElementProperties(elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;
17
- getElementPropertiesByIds(indexes: string[], version: bigint): Promise<Map<string, BimDataElementPropertySet[]>>;
18
+ getElementPropertiesByIds(indexes: string[], version: bigint, chunks?: boolean): Promise<Map<string, BimDataElementPropertySet[]>>;
18
19
  getAllVersions(): Promise<bigint[]>;
19
20
  getLatestVersion(): Promise<bigint>;
20
21
  }
@@ -24,13 +25,14 @@ export declare class BimDataModelPart extends BimDataBase implements IBimDataMod
24
25
  mergeWith(dataPartId: string): Promise<void>;
25
26
  getAllTessellations(compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
26
27
  getTessellations(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
28
+ getTessellationsInfo(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellationInfo>>;
27
29
  getTessellation(tessellationKey: string, version: bigint, compressed?: boolean): Promise<BimDataTessellation>;
28
30
  getTessellationsById(tessellations: string[], version: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
29
31
  getAllElements(): Promise<BimDataElement[]>;
30
32
  getElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;
31
33
  getDiffElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;
32
34
  getElementProperties(elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;
33
- getElementPropertiesByIds(indexes: string[], version: bigint): Promise<Map<string, BimDataElementPropertySet[]>>;
35
+ getElementPropertiesByIds(indexes: string[], version: bigint, chunks?: boolean): Promise<Map<string, BimDataElementPropertySet[]>>;
34
36
  getElementTessellations(versionFrom: bigint, versionTo: bigint, compressed?: boolean): Promise<Map<string, BimDataTessellation>>;
35
37
  getAllVersions(): Promise<bigint[]>;
36
38
  getLatestVersion(): Promise<bigint>;
@@ -40,6 +40,15 @@ export class BimDataModelPart extends BimDataBase {
40
40
  this.fillTessMap(map, tessArray);
41
41
  return map;
42
42
  }
43
+ async getTessellationsInfo(versionFrom, versionTo, compressed = false) {
44
+ this.checkIsOpen();
45
+ const map = new Map();
46
+ const tessInfoArray = [];
47
+ const transmitProxy = comlink.proxy((tessellationsInfo) => this.fillArray(tessInfoArray, tessellationsInfo));
48
+ await this._remote.getTessellationsInfo(this.id, versionFrom, versionTo, compressed, transmitProxy);
49
+ tessInfoArray.forEach(x => map.set(x.key, x));
50
+ return map;
51
+ }
43
52
  async getTessellation(tessellationKey, version, compressed = false) {
44
53
  this.checkIsOpen();
45
54
  return await this._remote.getTessellation(this.id, tessellationKey, version, compressed);
@@ -76,9 +85,20 @@ export class BimDataModelPart extends BimDataBase {
76
85
  this.checkIsOpen();
77
86
  return this._remote.getElementProperties(this.id, elementId, version);
78
87
  }
79
- async getElementPropertiesByIds(indexes, version) {
88
+ async getElementPropertiesByIds(indexes, version, chunks = false) {
80
89
  this.checkIsOpen();
81
- return this._remote.getElementPropertiesByIds(this.id, indexes, version);
90
+ if (!chunks) {
91
+ return this._remote.getElementPropertiesByIds(this.id, indexes, version);
92
+ }
93
+ const result = new Map();
94
+ const chunkElements = 10000;
95
+ for (let i = 0; i < indexes.length; i += chunkElements) {
96
+ const endIdx = Math.min(i + chunkElements, indexes.length);
97
+ const chunk = await this._remote.getElementPropertiesByIds(this.id, indexes.slice(i, endIdx), version);
98
+ await this._remote.flushMemory();
99
+ chunk.forEach((value, key) => result.set(key, value));
100
+ }
101
+ return Promise.resolve(result);
82
102
  }
83
103
  async getElementTessellations(versionFrom, versionTo, compressed = false) {
84
104
  this.checkIsOpen();
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataModelPart.js","sourceRoot":"","sources":["../../../src/model/BimDataModelPart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAC;AAsBrE,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAC,IAAI,CAAC,MAAoB;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAmB;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,aAAsB,KAAK;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;QACnD,MAAM,aAAa,GAAyC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1J,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,SAAiB,EAAE,aAAsB,KAAK;QACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;QACnD,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAyC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9J,IAAI,YAAY,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAErC,OAAM,IAAI,EAAE;YACV,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAClI,IAAI,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM;aACP;iBAAM;gBACL,YAAY,GAAG,WAAW,CAAC;gBAC3B,SAAS;aACV;SACF;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,eAAuB,EAAE,OAAe,EAAE,aAAsB,KAAK;QACzF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,aAAuB,EAAE,OAAe,EAAE,aAAsB,KAAK;QAC9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;QACnD,MAAM,aAAa,GAAyC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1J,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACrG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,cAAc,GAAqB,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAoC,OAAO,CAAC,KAAK,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/I,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,SAAiB;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,cAAc,GAAqB,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAoC,OAAO,CAAC,KAAK,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/I,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/E,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAiB;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,cAAc,GAAqB,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAoC,OAAO,CAAC,KAAK,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/I,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACnF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,OAAe;QAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAAiB,EAAE,OAAe;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,SAAiB,EAAE,aAAsB,KAAK;QAC/F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,WAAW,CAAC,GAAqC,EAAE,KAA4B;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACnB;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataModelPart.js","sourceRoot":"","sources":["../../../src/model/BimDataModelPart.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,15 @@ export interface IBimDataPart {
11
11
  dispose(): Promise<void>;
12
12
  }
13
13
  export declare class BimDataBase implements IBimDataPart {
14
- readonly id: string;
14
+ private readonly _sourceFileId;
15
15
  protected _remote: comlink.Remote<WasmWorkerThreadSafeWrapper>;
16
16
  protected _isOpen: boolean;
17
- constructor(id: string, module: comlink.Remote<WasmWorkerThreadSafeWrapper>);
17
+ private _copyFileId?;
18
+ get id(): string;
19
+ private static _tabId;
20
+ private static _fileAccessDispatcher;
21
+ constructor(_sourceFileId: string, module: comlink.Remote<WasmWorkerThreadSafeWrapper>);
22
+ init(): Promise<void>;
18
23
  get isOpen(): boolean;
19
24
  open(buffer?: ArrayBuffer): Promise<void>;
20
25
  write(buffer: ArrayBuffer, position: number): Promise<void>;
@@ -1,17 +1,50 @@
1
+ var _a;
1
2
  import * as comlink from "comlink";
2
3
  import { isOPFSEnabled } from "../utils/ViewerTools.js";
4
+ import { FileAccessDispatcher, FileStatus } from "./FileAccessDispatcher.js";
3
5
  export class BimDataBase {
4
- constructor(id, module) {
5
- this.id = id;
6
+ get id() {
7
+ return this._copyFileId ?? this._sourceFileId;
8
+ }
9
+ ;
10
+ constructor(_sourceFileId, module) {
11
+ this._sourceFileId = _sourceFileId;
6
12
  this._remote = module;
7
13
  this._isOpen = false;
8
14
  }
15
+ async init() {
16
+ if (!isOPFSEnabled) {
17
+ return;
18
+ }
19
+ const copyFunc = async (targetPath, sourcePath) => {
20
+ try {
21
+ await this._remote.copy(targetPath, sourcePath);
22
+ return true;
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ };
28
+ const copyId = BimDataBase._tabId + '_' + this._sourceFileId;
29
+ const fileStatus = await BimDataBase._fileAccessDispatcher.lockFile(this._sourceFileId, copyId, copyFunc);
30
+ switch (fileStatus) {
31
+ case FileStatus.Source:
32
+ break;
33
+ case FileStatus.Copy:
34
+ this._copyFileId = copyId;
35
+ await this._remote.open(copyId, undefined); // update tree cache
36
+ await this._remote.close(copyId);
37
+ break;
38
+ case FileStatus.Failed:
39
+ throw new Error("Failed to copy file.");
40
+ }
41
+ }
9
42
  get isOpen() {
10
43
  return this._isOpen;
11
44
  }
12
45
  async open(buffer) {
13
46
  if (buffer)
14
- comlink.transfer(buffer, [buffer instanceof Uint8Array ? buffer.buffer : buffer]);
47
+ comlink.transfer(buffer, [ArrayBuffer.isView(buffer) ? buffer.buffer : buffer]);
15
48
  await this._remote.open(this.id, buffer);
16
49
  this._isOpen = true;
17
50
  }
@@ -29,6 +62,7 @@ export class BimDataBase {
29
62
  await this.close();
30
63
  else
31
64
  await this.remove();
65
+ await BimDataBase._fileAccessDispatcher?.unlockFile(this.id);
32
66
  }
33
67
  async remove() {
34
68
  this._isOpen = false;
@@ -47,4 +81,14 @@ export class BimDataBase {
47
81
  }
48
82
  }
49
83
  }
84
+ _a = BimDataBase;
85
+ BimDataBase._tabId = (0xffffffff * Math.random() >>> 0) + '';
86
+ (() => {
87
+ if (isOPFSEnabled) {
88
+ _a._fileAccessDispatcher = new FileAccessDispatcher();
89
+ addEventListener('beforeunload', async () => {
90
+ await _a._fileAccessDispatcher.dispose();
91
+ });
92
+ }
93
+ })();
50
94
  //# sourceMappingURL=BimDataPart.js.map