@pilotdev/pilot-bim-dataprovider 25.5.0 → 25.8.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 (46) 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 +47 -5
  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/model/BimDataElement.d.ts +4 -0
  11. package/lib/src/model/BimDataElement.js.map +1 -1
  12. package/lib/src/model/BimDataIfcRepresentationStatus.d.ts +10 -0
  13. package/lib/src/model/BimDataIfcRepresentationStatus.js +12 -0
  14. package/lib/src/model/BimDataIfcRepresentationStatus.js.map +1 -0
  15. package/lib/src/model/BimDataModelPart.d.ts +5 -3
  16. package/lib/src/model/BimDataModelPart.js +22 -2
  17. package/lib/src/model/BimDataModelPart.js.map +1 -1
  18. package/lib/src/model/BimDataPart.d.ts +7 -2
  19. package/lib/src/model/BimDataPart.js +46 -2
  20. package/lib/src/model/BimDataPart.js.map +1 -1
  21. package/lib/src/model/BimDataProvider.js +7 -1
  22. package/lib/src/model/BimDataProvider.js.map +1 -1
  23. package/lib/src/model/BimDataTessellation.d.ts +5 -0
  24. package/lib/src/model/BimDataTessellation.js +6 -0
  25. package/lib/src/model/BimDataTessellation.js.map +1 -1
  26. package/lib/src/model/FileAccessDispatcher.d.ts +14 -0
  27. package/lib/src/model/FileAccessDispatcher.js +147 -0
  28. package/lib/src/model/FileAccessDispatcher.js.map +1 -0
  29. package/lib/src/utils/ViewerTools.d.ts +3 -2
  30. package/lib/src/utils/ViewerTools.js +20 -1
  31. package/lib/src/utils/ViewerTools.js.map +1 -1
  32. package/lib/src/wasm/BimDataModelPartAccessor.d.ts +2 -1
  33. package/lib/src/wasm/BimDataModelPartAccessor.js +4 -0
  34. package/lib/src/wasm/BimDataModelPartAccessor.js.map +1 -1
  35. package/lib/src/wasm/WasmWorker.d.ts +5 -1
  36. package/lib/src/wasm/WasmWorker.js +7 -0
  37. package/lib/src/wasm/WasmWorker.js.map +1 -1
  38. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.d.ts +3 -1
  39. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js +6 -0
  40. package/lib/src/wasm/WasmWorkerThreadSafeWrapper.js.map +1 -1
  41. package/lib/src/wasm/pilot_bim_dataprovider.d.ts +10 -1
  42. package/lib/src/wasm/pilot_bim_dataprovider.js +1 -1
  43. package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
  44. package/lib/src/wasm/wasm.worker-node.cjs +1 -1
  45. package/lib/src/wasm/wasm.worker-web.cjs +1 -1
  46. package/package.json +1 -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,52 @@ 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.stream_ops.close(undefined, true);
105
+ }
66
106
  async openSyncFileAccess(path) {
67
107
  const lpath = this.getLocalPath(path);
68
108
  const cachedFile = this.lookup(lpath);
69
109
  if (!cachedFile)
70
110
  return Promise.reject('File does not cached in OPFS.');
71
- return cachedFile.stream_ops?.open();
111
+ return cachedFile.stream_ops?.open(cachedFile);
72
112
  }
73
113
  closeSyncFileAccess(path) {
74
114
  const lpath = this.getLocalPath(path);
@@ -120,9 +160,7 @@ export class AsyncFileSystem {
120
160
  if (handle.kind === "file") {
121
161
  child = this._cache.setFile(childPath, handle);
122
162
  if (child) {
123
- await child.stream_ops.open();
124
- child.size = child.stream_ops.getSize();
125
- child.stream_ops.close();
163
+ child.size = -1;
126
164
  }
127
165
  }
128
166
  else {
@@ -164,6 +202,10 @@ export class ProxyFileSystem {
164
202
  this._fs.unlink(lpath);
165
203
  return Promise.resolve();
166
204
  }
205
+ copyFile(pathTarget, pathSource) {
206
+ /* not need */
207
+ return Promise.resolve();
208
+ }
167
209
  openSyncFileAccess(path) {
168
210
  return Promise.resolve();
169
211
  }
@@ -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":"AACA,OAAO,EAAE,eAAe,EAAiD,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAmB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAerD,MAAM,OAAO,eAAe;IAG1B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,EAAM,EAAE,UAAkB;QAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;YAC/B,IAAI,EAAE,GAAG;YACT,EAAE,EAAE,IAAI;SACT,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,kBAAkB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI;YACN,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YACb,MAAM,kBAAkB,CAAC;QAE3B,MAAM,MAAM,GAA8B,UAAU,CAAC,MAAM,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,WAAW,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE;YACd,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACvC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAqB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAqB,EAAE,QAAiB;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAkB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEhD,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAClD,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,UAAkB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,UAAU,EAAE,IAAI,IAAI,MAAM,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QAED,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YACnC,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAA2B,CAAC,CAAC;SAC/D;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC/B;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,WAAW,CAAC,CAAC;SACxD;QAED,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAA2B,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ;QACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,SAAS;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC;YACnE,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACxF,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACtE,WAAW,IAAI,gBAAgB,CAAC;YAChC,IAAI,WAAW,IAAI,QAAQ,IAAI,gBAAgB,IAAI,CAAC,EAAE;gBACpD,MAAM;aACP;SACF;QAED,IAAI,WAAW,IAAI,QAAQ,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;SAClD;QAED,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAEzD,OAAO,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAA2B,CAAC,CAAC;IAClE,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAC/B,OAAO,EAAE,CAAC;QAEZ,OAAsB,IAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,qBAAgD;QAC5F,IAAI;YACF,MAAM,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACtD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAoB;QACzC,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW;gBACd,OAAO;YAET,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,IAAI,aAAa,CAAC,IAAI,KAAK,WAAW;gBACpC,SAAS;YAEX,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,aAAoB,EAAE;gBACvD,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBAChD,IAAI,KAAK,GAAG,SAAS,CAAC;gBACtB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC1B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC/C,IAAI,KAAK,EAAE;wBACT,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;qBACjB;iBACF;qBACI;oBACH,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC9C,IAAI,KAAK;wBACP,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;iBAChD;aACF;SACF;IACH,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACtB,OAAO,IAAI,CAAC;;YAEZ,OAAO,GAAG,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAI1B,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,EAAM,EAAE,UAAkB;QAChC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,IAAqB;QAC1C,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,SAAS,CAAC,IAAY,EAAE,IAAqB,EAAE,QAAiB;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,CAAC,IAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,QAAQ,CAAC,UAAkB,EAAE,UAAkB;QAC7C,cAAc;QACd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,kBAAkB,CAAC,IAAY;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,mBAAmB,CAAC,IAAY;QAC9B,OAAO;IACT,CAAC;IACD,OAAO;QACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YACvD,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACO,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;IACvC,CAAC;CACF"}
@@ -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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"}
@@ -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
  }
@@ -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,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"}
@@ -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":"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"}
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,11 +1,44 @@
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 (error) {
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
  }
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAcxD,MAAM,OAAO,WAAW;IAItB,YAA4B,EAAU,EAAE,MAAmD;QAA/D,OAAE,GAAF,EAAE,CAAQ;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC7B,IAAI,MAAM;YACR,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB,EAAE,QAAgB;QAC/C,IAAI,IAAI,CAAC,OAAO;YACd,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAExE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,aAAa;YACf,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;;YAEnB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;IAES,SAAS,CAAI,MAAW,EAAE,MAAW;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACxB;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"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"}
@@ -14,16 +14,20 @@ export class BimDataProvider {
14
14
  await this._workerObj.init();
15
15
  }
16
16
  async createDataFile(id) {
17
- return new BimDataBase(id, this._workerObj);
17
+ const result = new BimDataBase(id, this._workerObj);
18
+ await result.init();
19
+ return result;
18
20
  }
19
21
  async openModelPart(source, buffer) {
20
22
  let modelPart;
21
23
  if (typeof source == 'string') {
22
24
  modelPart = new BimDataModelPart(source, this._workerObj);
25
+ await modelPart.init();
23
26
  await modelPart.open(buffer);
24
27
  }
25
28
  else {
26
29
  modelPart = new BimDataModelPart(source.id, this._workerObj);
30
+ await modelPart.init();
27
31
  await modelPart.open();
28
32
  }
29
33
  return modelPart;
@@ -32,10 +36,12 @@ export class BimDataProvider {
32
36
  let cloudPart;
33
37
  if (typeof source == 'string') {
34
38
  cloudPart = new BimDataCloudPart(source, this._workerObj);
39
+ await cloudPart.init();
35
40
  await cloudPart.open(buffer);
36
41
  }
37
42
  else {
38
43
  cloudPart = new BimDataCloudPart(source.id, this._workerObj);
44
+ await cloudPart.init();
39
45
  await cloudPart.open();
40
46
  }
41
47
  return cloudPart;
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataProvider.js","sourceRoot":"","sources":["../../../src/model/BimDataProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,GAAsB,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAexD,MAAM,OAAO,eAAe;IAG1B,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,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,EAAsC,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,cAAc,CAAC,EAAU;QAC7B,OAAO,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA6B,EAAE,MAAoB;QACrE,IAAI,SAA2B,CAAC;QAChC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;aACI;YACH,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;SACxB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA6B,EAAE,MAAoB;QACrE,IAAI,SAA2B,CAAC;QAChC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;aACI;YACH,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;SACxB;QACD,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,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,GAAsB,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAexD,MAAM,OAAO,eAAe;IAG1B,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,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,EAAsC,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,cAAc,CAAC,EAAU;QAC7B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA6B,EAAE,MAAoB;QACrE,IAAI,SAA2B,CAAC;QAChC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;aACI;YACH,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;SACxB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA6B,EAAE,MAAoB;QACrE,IAAI,SAA2B,CAAC;QAChC,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;aACI;YACH,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;SACxB;QACD,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"}
@@ -6,3 +6,8 @@ export declare class BimDataTessellation {
6
6
  indices: Uint32Array;
7
7
  edgeIndices: Uint32Array;
8
8
  }
9
+ export declare class BimDataTessellationInfo {
10
+ key: string;
11
+ box: Float32Array;
12
+ bytes: number;
13
+ }
@@ -7,4 +7,10 @@ export class BimDataTessellation {
7
7
  this.edgeIndices = new Uint32Array();
8
8
  }
9
9
  }
10
+ export class BimDataTessellationInfo {
11
+ constructor() {
12
+ this.box = new Float32Array();
13
+ this.bytes = 0;
14
+ }
15
+ }
10
16
  //# sourceMappingURL=BimDataTessellation.js.map
@@ -1 +1 @@
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,uBAAkB,GAAe,IAAI,UAAU,EAAE,CAAC;QAClD,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,uBAAkB,GAAe,IAAI,UAAU,EAAE,CAAC;QAClD,YAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;QACzC,gBAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;IAC/C,CAAC;CAAA;AAED,MAAM,OAAO,uBAAuB;IAApC;QAEE,QAAG,GAAiB,IAAI,YAAY,EAAE,CAAC;QACvC,UAAK,GAAW,CAAC,CAAC;IACpB,CAAC;CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare enum FileStatus {
2
+ Source = 0,
3
+ Copy = 1,
4
+ Failed = 2
5
+ }
6
+ export declare class FileAccessDispatcher {
7
+ private _locks;
8
+ private _broadcastChannel;
9
+ constructor();
10
+ lockFile(path: string, copyPath: string, copyFunc: (targetPath: string, sourcePath: string) => Promise<boolean>): Promise<FileStatus>;
11
+ unlockFile(path: string): Promise<void>;
12
+ dispose(): Promise<void>;
13
+ private requestCopy;
14
+ }