@pilotdev/pilot-bim-dataprovider 24.22.0 → 24.23.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 (34) hide show
  1. package/lib/index.d.ts +3 -1
  2. package/lib/index.js.map +1 -1
  3. package/lib/src/model/BimDataCloudPart.d.ts +15 -0
  4. package/lib/src/model/BimDataCloudPart.js +25 -0
  5. package/lib/src/model/BimDataCloudPart.js.map +1 -0
  6. package/lib/src/model/BimDataModelPart.d.ts +35 -0
  7. package/lib/src/model/BimDataModelPart.js +88 -0
  8. package/lib/src/model/BimDataModelPart.js.map +1 -0
  9. package/lib/src/model/BimDataPart.d.ts +4 -49
  10. package/lib/src/model/BimDataPart.js +9 -114
  11. package/lib/src/model/BimDataPart.js.map +1 -1
  12. package/lib/src/model/BimDataProvider.d.ts +5 -1
  13. package/lib/src/model/BimDataProvider.js +7 -1
  14. package/lib/src/model/BimDataProvider.js.map +1 -1
  15. package/lib/src/utils/ViewerTools.d.ts +4 -0
  16. package/lib/src/utils/ViewerTools.js +8 -0
  17. package/lib/src/utils/ViewerTools.js.map +1 -1
  18. package/lib/src/wasm/BimCloudPartAccessor.d.ts +15 -0
  19. package/lib/src/wasm/BimCloudPartAccessor.js +40 -0
  20. package/lib/src/wasm/BimCloudPartAccessor.js.map +1 -0
  21. package/lib/src/wasm/BimDataModelPartAccessor.d.ts +18 -0
  22. package/lib/src/wasm/BimDataModelPartAccessor.js +70 -0
  23. package/lib/src/wasm/BimDataModelPartAccessor.js.map +1 -0
  24. package/lib/src/wasm/BimDataPartAccessor.d.ts +8 -0
  25. package/lib/src/wasm/BimDataPartAccessor.js +19 -0
  26. package/lib/src/wasm/BimDataPartAccessor.js.map +1 -0
  27. package/lib/src/wasm/pilot_bim_dataprovider.d.ts +1 -0
  28. package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
  29. package/lib/src/wasm/wasm.worker-node.cjs +1 -1
  30. package/lib/src/wasm/wasm.worker-web.cjs +1 -1
  31. package/lib/src/wasm/wasm.worker.d.ts +1 -0
  32. package/lib/src/wasm/wasm.worker.js +38 -132
  33. package/lib/src/wasm/wasm.worker.js.map +1 -1
  34. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import { BimDataTessellation } from "../model/BimDataTessellation.js";
2
+ import { BimDataElement } from "../model/BimDataElement.js";
3
+ import { BimDataElementPropertySet } from "../model/BimDataElementPropertySet.js";
4
+ import { BimDataPartAccessor } from "./BimDataPartAccessor.js";
5
+ export declare class BimDataModelPartAccessor extends BimDataPartAccessor {
6
+ merge(targetPath: string, sourcePath: string): void;
7
+ auditModelDatabase(): void;
8
+ getAllTessellations(compressed: boolean, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
9
+ getTessellations(versionFrom: bigint, versionTo: bigint, compressed: boolean, transmit: (map: BimDataTessellation[]) => Promise<void>): Promise<void>;
10
+ getTessellation(tessellationKey: string, version: bigint, compressed: boolean): BimDataTessellation;
11
+ getAllElements(transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
12
+ getElements(versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
13
+ getDiffElements(versionFrom: bigint, versionTo: bigint, transmit: (elements: BimDataElement[]) => Promise<void>): Promise<void>;
14
+ getElementTessellations(versionFrom: bigint, versionTo: bigint, compressed: boolean): BimDataTessellation[];
15
+ getElementProperties(elementId: string, version: bigint): BimDataElementPropertySet[];
16
+ getAllVersions(): bigint[];
17
+ getLatestVersion(): bigint;
18
+ }
@@ -0,0 +1,70 @@
1
+ import { BimDataConverter, transmitWasmData } from "../utils/ViewerTools.js";
2
+ import { BimDataPartAccessor } from "./BimDataPartAccessor.js";
3
+ const TRANSMIT_STEP = 200;
4
+ export class BimDataModelPartAccessor extends BimDataPartAccessor {
5
+ merge(targetPath, sourcePath) {
6
+ const targetVersion = this._module.getDatabaseVersion(targetPath);
7
+ const sourceVersion = this._module.getDatabaseVersion(sourcePath);
8
+ if (sourceVersion < 2) {
9
+ this._module.auditDatabase(sourcePath);
10
+ }
11
+ if (sourceVersion != targetVersion) {
12
+ this._module.manualMergeDatabases(targetPath, sourcePath);
13
+ }
14
+ else {
15
+ this._module.mergeDatabases(targetPath, sourcePath);
16
+ }
17
+ }
18
+ auditModelDatabase() {
19
+ const databaseVersion = this._module.getDatabaseVersion(this.path);
20
+ if (databaseVersion < 2) {
21
+ this._module.auditDatabase(this.path);
22
+ }
23
+ }
24
+ async getAllTessellations(compressed, transmit) {
25
+ const result = this._module.getAllTessellations(this.path, compressed);
26
+ return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
27
+ }
28
+ async getTessellations(versionFrom, versionTo, compressed, transmit) {
29
+ const result = this._module.getTessellations(this.path, versionFrom, versionTo, compressed);
30
+ return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataTessellation, transmit, TRANSMIT_STEP);
31
+ }
32
+ getTessellation(tessellationKey, version, compressed) {
33
+ const result = this._module.getTessellation(this.path, tessellationKey, version, compressed);
34
+ return BimDataConverter.toBimDataTessellation(this._module, result, true);
35
+ }
36
+ async getAllElements(transmit) {
37
+ const result = this._module.getAllNodes(this.path);
38
+ return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
39
+ }
40
+ async getElements(versionFrom, versionTo, transmit) {
41
+ const result = this._module.getNodes(this.path, versionFrom, versionTo);
42
+ return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
43
+ }
44
+ async getDiffElements(versionFrom, versionTo, transmit) {
45
+ const result = this._module.getComparedNodes(this.path, versionFrom, versionTo);
46
+ return transmitWasmData(this._module, result, true, BimDataConverter.toBimDataElement, transmit, TRANSMIT_STEP);
47
+ }
48
+ getElementTessellations(versionFrom, versionTo, compressed) {
49
+ const vts = this._module.getNodesTessellations(this.path, versionFrom, versionTo, compressed);
50
+ return BimDataConverter.toBimDataTessellations(this._module, vts, true);
51
+ }
52
+ getElementProperties(elementId, version) {
53
+ const set = this._module.getProperties(this.path, elementId, version);
54
+ return BimDataConverter.toModelElementPropertySet(set, true);
55
+ }
56
+ getAllVersions() {
57
+ const versions = new Array();
58
+ const bimVersions = this._module.getAllVersions(this.path);
59
+ for (let index = 0; index < bimVersions.size(); index++) {
60
+ const version = bimVersions.get(index);
61
+ versions.push(version);
62
+ }
63
+ bimVersions.delete();
64
+ return versions;
65
+ }
66
+ getLatestVersion() {
67
+ return this._module.getLatestVersion(this.path);
68
+ }
69
+ }
70
+ //# sourceMappingURL=BimDataModelPartAccessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BimDataModelPartAccessor.js","sourceRoot":"","sources":["../../../src/wasm/BimDataModelPartAccessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IWasmBimModule } from "./pilot_bim_dataprovider.js";
2
+ export declare class BimDataPartAccessor {
3
+ readonly id: string;
4
+ protected _module: IWasmBimModule;
5
+ constructor(id: string, module: IWasmBimModule);
6
+ get path(): string;
7
+ isValidDatabase(): Promise<boolean>;
8
+ }
@@ -0,0 +1,19 @@
1
+ import { DATA_ROOT_FOLDER } from "../model/Consts.js";
2
+ export class BimDataPartAccessor {
3
+ constructor(id, module) {
4
+ this.id = id;
5
+ this._module = module;
6
+ }
7
+ get path() {
8
+ return '/' + DATA_ROOT_FOLDER + '/' + this.id;
9
+ }
10
+ async isValidDatabase() {
11
+ try {
12
+ return this._module.isValidDatabase(this.path);
13
+ }
14
+ catch {
15
+ return false;
16
+ }
17
+ }
18
+ }
19
+ //# sourceMappingURL=BimDataPartAccessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BimDataPartAccessor.js","sourceRoot":"","sources":["../../../src/wasm/BimDataPartAccessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,OAAO,mBAAmB;IAG9B,YAA4B,EAAU,EAAE,MAAsB;QAAlC,OAAE,GAAF,EAAE,CAAQ;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChD;QACD,MAAM;YACJ,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF"}
@@ -17,6 +17,7 @@ export interface IWasmBimModule extends EmscriptenModule {
17
17
  mergeDatabases(targetDBFilename: string, sourceDBFilename: string): void;
18
18
  manualMergeDatabases(targetDBFilename: string, sourceDBFilename: string): void;
19
19
  auditDatabase(filename: string): void;
20
+ isValidDatabase(filename: string): boolean;
20
21
 
21
22
  getCloudPoints(filename: string, index: number): WasmPointsData;
22
23
  getCloudHierarchy(filename: string): VectorOf<WasmCloudHierarchyItem>;