@pilotdev/pilot-bim-dataprovider 24.10.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.
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/src/file-system/IFileSystem.d.ts +47 -0
- package/lib/src/file-system/IFileSystem.js +179 -0
- package/lib/src/file-system/IFileSystem.js.map +1 -0
- package/lib/src/file-system/IFileSystemCache.d.ts +65 -0
- package/lib/src/file-system/IFileSystemCache.js +154 -0
- package/lib/src/file-system/IFileSystemCache.js.map +1 -0
- package/lib/src/file-system/OPFS.d.ts +35 -0
- package/lib/src/file-system/OPFS.js +183 -0
- package/lib/src/file-system/OPFS.js.map +1 -0
- package/lib/src/file-system/PATH.d.ts +8 -0
- package/lib/src/file-system/PATH.js +34 -0
- package/lib/src/file-system/PATH.js.map +1 -0
- package/lib/src/model/BimDataElement.d.ts +14 -14
- package/lib/src/model/BimDataElement.js.map +1 -1
- package/lib/src/model/BimDataPart.d.ts +5 -2
- package/lib/src/model/BimDataPart.js +58 -21
- package/lib/src/model/BimDataPart.js.map +1 -1
- package/lib/src/model/BimDataProvider.js +4 -6
- package/lib/src/model/BimDataProvider.js.map +1 -1
- package/lib/src/model/BimDataTessellation.d.ts +1 -0
- package/lib/src/model/BimDataTessellation.js.map +1 -1
- package/lib/src/model/Consts.d.ts +3 -0
- package/lib/src/model/Consts.js +3 -0
- package/lib/src/model/Consts.js.map +1 -1
- package/lib/src/utils/ViewerTools.d.ts +8 -4
- package/lib/src/utils/ViewerTools.js +65 -40
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/utils/WasmTools.d.ts +0 -1
- package/lib/src/utils/WasmTools.js +10 -16
- package/lib/src/utils/WasmTools.js.map +1 -1
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +80 -3
- package/lib/src/wasm/pilot_bim_dataprovider.js +1 -1
- package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
- package/lib/src/wasm/wasm.worker-node.cjs +1 -0
- package/lib/src/wasm/wasm.worker-web.cjs +1 -0
- package/lib/src/wasm/wasm.worker.d.ts +41 -35
- package/lib/src/wasm/wasm.worker.js +194 -124
- package/lib/src/wasm/wasm.worker.js.map +1 -1
- package/lib/src/wasm/worker-node.d.ts +3 -0
- package/lib/src/wasm/worker-node.js +38 -0
- package/lib/src/wasm/worker-node.js.map +1 -0
- package/lib/src/wasm/worker-web.d.ts +2 -0
- package/lib/src/wasm/worker-web.js +15 -0
- package/lib/src/wasm/worker-web.js.map +1 -0
- package/lib/src/wasm/worker.d.ts +10 -0
- package/lib/src/wasm/worker.js +26 -0
- package/lib/src/wasm/worker.js.map +1 -0
- package/package.json +11 -4
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { S_IFDIR, S_IFREG } from "../model/Consts.js";
|
|
2
|
+
import { PATH } from "./PATH.js";
|
|
3
|
+
var cDefs;
|
|
4
|
+
(function (cDefs) {
|
|
5
|
+
cDefs[cDefs["EINVAL"] = 28] = "EINVAL";
|
|
6
|
+
cDefs[cDefs["ENOENT"] = 44] = "ENOENT";
|
|
7
|
+
cDefs[cDefs["ESPIPE"] = 70] = "ESPIPE";
|
|
8
|
+
})(cDefs || (cDefs = {}));
|
|
9
|
+
class ErrnoError {
|
|
10
|
+
constructor(errno) {
|
|
11
|
+
this.name = 'ErrnoError';
|
|
12
|
+
this.errno = errno;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class OPFS {
|
|
16
|
+
constructor(_fs, _fsSync) {
|
|
17
|
+
this._fs = _fs;
|
|
18
|
+
this._fsSync = _fsSync;
|
|
19
|
+
this._mountpoint = "/";
|
|
20
|
+
this.filesystems = {};
|
|
21
|
+
}
|
|
22
|
+
lookupPath(path, opts) {
|
|
23
|
+
return {
|
|
24
|
+
node: this.createNode(path, path, opts, 0),
|
|
25
|
+
path: path
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
isFile(mode) {
|
|
29
|
+
return this._fs.isFile(mode);
|
|
30
|
+
}
|
|
31
|
+
isDir(mode) {
|
|
32
|
+
return this._fs.isDir(mode);
|
|
33
|
+
}
|
|
34
|
+
mkdir(path, mode) {
|
|
35
|
+
if (path === this._mountpoint) {
|
|
36
|
+
this.createNode(this._mountpoint, path, mode ?? S_IFDIR | 511, 0);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const parent = PATH.getParentFolderName(path);
|
|
40
|
+
const node = PATH.getName(path);
|
|
41
|
+
this.createNode(parent, node, mode ?? S_IFDIR | 511, 0);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
readdir(path) {
|
|
45
|
+
return this._fsSync.readdir(path);
|
|
46
|
+
}
|
|
47
|
+
stat(path, dontFollow) {
|
|
48
|
+
return this._fs.stat(path, dontFollow);
|
|
49
|
+
}
|
|
50
|
+
lstat(path) {
|
|
51
|
+
if (path === "/") {
|
|
52
|
+
const s = this._fs.lstat(path);
|
|
53
|
+
return s;
|
|
54
|
+
}
|
|
55
|
+
const node = this._fsSync.lookup(path);
|
|
56
|
+
if (!node)
|
|
57
|
+
throw new ErrnoError(cDefs.ENOENT);
|
|
58
|
+
let mode = S_IFDIR;
|
|
59
|
+
const size = node.size;
|
|
60
|
+
if (node.kind === "file") {
|
|
61
|
+
mode = S_IFREG;
|
|
62
|
+
}
|
|
63
|
+
const stat = {
|
|
64
|
+
dev: 1,
|
|
65
|
+
ino: node.id,
|
|
66
|
+
mode: mode,
|
|
67
|
+
nlink: 1,
|
|
68
|
+
uid: 0,
|
|
69
|
+
gid: 0,
|
|
70
|
+
rdev: 0,
|
|
71
|
+
size: size,
|
|
72
|
+
atime: new Date(node.timestamp),
|
|
73
|
+
ctime: new Date(node.timestamp),
|
|
74
|
+
mtime: new Date(node.timestamp),
|
|
75
|
+
blksize: 4096,
|
|
76
|
+
blocks: Math.ceil(size / 4096)
|
|
77
|
+
};
|
|
78
|
+
return stat;
|
|
79
|
+
}
|
|
80
|
+
truncate(path, len) {
|
|
81
|
+
const node = this._fsSync.lookup(path);
|
|
82
|
+
if (!node || !node.stream_ops)
|
|
83
|
+
throw new Error("File not found.");
|
|
84
|
+
node.stream_ops.truncate(len);
|
|
85
|
+
}
|
|
86
|
+
utime(path, atime, mtime) {
|
|
87
|
+
const node = this._fsSync.lookup(path);
|
|
88
|
+
if (node)
|
|
89
|
+
node.timestamp = Math.max(atime, mtime);
|
|
90
|
+
}
|
|
91
|
+
open(path, flags, mode, fd_start, fd_end) {
|
|
92
|
+
// register the stream with the filesystem
|
|
93
|
+
const node = this._fsSync.lookup(path);
|
|
94
|
+
const stream = this.createStream({
|
|
95
|
+
node: undefined,
|
|
96
|
+
path: "",
|
|
97
|
+
flags,
|
|
98
|
+
seekable: true,
|
|
99
|
+
position: 0,
|
|
100
|
+
stream_ops: node?.stream_ops ?? {},
|
|
101
|
+
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
|
|
102
|
+
ungotten: [],
|
|
103
|
+
error: false
|
|
104
|
+
}, -1);
|
|
105
|
+
// call the new stream's open function
|
|
106
|
+
if (stream.stream_ops.open) {
|
|
107
|
+
stream.stream_ops.open(stream);
|
|
108
|
+
}
|
|
109
|
+
return stream;
|
|
110
|
+
}
|
|
111
|
+
close(stream) {
|
|
112
|
+
this._fs.close(stream);
|
|
113
|
+
}
|
|
114
|
+
read(stream, buffer, offset, length, position) {
|
|
115
|
+
if (!stream.stream_ops.read) {
|
|
116
|
+
throw new ErrnoError(cDefs.EINVAL);
|
|
117
|
+
}
|
|
118
|
+
const seeking = typeof position != 'undefined';
|
|
119
|
+
if (!seeking) {
|
|
120
|
+
position = stream.position;
|
|
121
|
+
}
|
|
122
|
+
else if (!stream.seekable) {
|
|
123
|
+
throw new ErrnoError(cDefs.ESPIPE);
|
|
124
|
+
}
|
|
125
|
+
const bytesRead = stream.stream_ops.read(buffer, offset, length, position);
|
|
126
|
+
if (!seeking)
|
|
127
|
+
stream.position += bytesRead;
|
|
128
|
+
return bytesRead;
|
|
129
|
+
}
|
|
130
|
+
write(stream, buffer, offset, length, position, canOwn) {
|
|
131
|
+
if (!stream.stream_ops.write) {
|
|
132
|
+
throw new ErrnoError(cDefs.EINVAL);
|
|
133
|
+
}
|
|
134
|
+
const seeking = typeof position != 'undefined';
|
|
135
|
+
if (!seeking) {
|
|
136
|
+
position = stream.position;
|
|
137
|
+
}
|
|
138
|
+
else if (!stream.seekable) {
|
|
139
|
+
throw new ErrnoError(cDefs.ESPIPE);
|
|
140
|
+
}
|
|
141
|
+
const bytesWritten = stream.stream_ops.write(buffer, offset, length, position);
|
|
142
|
+
if (!seeking)
|
|
143
|
+
stream.position += bytesWritten;
|
|
144
|
+
return bytesWritten;
|
|
145
|
+
}
|
|
146
|
+
readFile(path, opts) {
|
|
147
|
+
const node = this._fsSync.lookup(path);
|
|
148
|
+
if (!node || !node.stream_ops)
|
|
149
|
+
throw new Error("File not found.");
|
|
150
|
+
const size = node.stream_ops.getSize();
|
|
151
|
+
const buffer = new Uint8Array(size);
|
|
152
|
+
node.stream_ops.read(buffer, 0, size, 0);
|
|
153
|
+
return buffer;
|
|
154
|
+
}
|
|
155
|
+
writeFile(path, data, opts) {
|
|
156
|
+
const node = this._fsSync.lookup(path);
|
|
157
|
+
if (!node || !node.stream_ops)
|
|
158
|
+
throw new Error("File not found.");
|
|
159
|
+
const size = node.stream_ops.getSize();
|
|
160
|
+
node.stream_ops.write(data, 0, size, 0);
|
|
161
|
+
}
|
|
162
|
+
mount(type, opts, mountpoint) {
|
|
163
|
+
const node = this.createNode(type.opts.root, type.mountpoint, S_IFDIR | 511 /* 0777 */, 0);
|
|
164
|
+
return node;
|
|
165
|
+
}
|
|
166
|
+
createNode(parent, name, mode, dev) {
|
|
167
|
+
if (!this.isDir(mode) && !this.isFile(mode)) {
|
|
168
|
+
throw new Error("Is not file or directory");
|
|
169
|
+
}
|
|
170
|
+
const node = this._fs.createNode(parent, name, mode, 0);
|
|
171
|
+
return node;
|
|
172
|
+
}
|
|
173
|
+
createStream(stream, fd) {
|
|
174
|
+
return this._fs.createStream(stream, fd);
|
|
175
|
+
}
|
|
176
|
+
unlink(path) {
|
|
177
|
+
throw new Error("Method not implemented.");
|
|
178
|
+
}
|
|
179
|
+
createDataFile(parent, name, data, canRead, canWrite, canOwn) {
|
|
180
|
+
throw new Error("Method not implemented.");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=OPFS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OPFS.js","sourceRoot":"","sources":["../../../src/file-system/OPFS.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class PATH {
|
|
2
|
+
static getName(path: string): string;
|
|
3
|
+
static getParentFolderName(path: string): string;
|
|
4
|
+
static getDirs(path: string): string[];
|
|
5
|
+
static getParentPath(path: string): string;
|
|
6
|
+
static combine(parentPath: string, name: string): string;
|
|
7
|
+
private static split;
|
|
8
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export class PATH {
|
|
2
|
+
static getName(path) {
|
|
3
|
+
const nodes = this.split(path);
|
|
4
|
+
return nodes[nodes.length - 1];
|
|
5
|
+
}
|
|
6
|
+
static getParentFolderName(path) {
|
|
7
|
+
const nodes = this.split(path);
|
|
8
|
+
if (nodes.length <= 2)
|
|
9
|
+
return "/"; //Root
|
|
10
|
+
return nodes[nodes.length - 2];
|
|
11
|
+
}
|
|
12
|
+
static getDirs(path) {
|
|
13
|
+
const nodes = this.split(path);
|
|
14
|
+
return nodes;
|
|
15
|
+
}
|
|
16
|
+
static getParentPath(path) {
|
|
17
|
+
const lastIndex = path.lastIndexOf("/");
|
|
18
|
+
if (lastIndex === 0)
|
|
19
|
+
return "/";
|
|
20
|
+
return path.slice(0, lastIndex);
|
|
21
|
+
}
|
|
22
|
+
static combine(parentPath, name) {
|
|
23
|
+
return parentPath + "/" + name;
|
|
24
|
+
}
|
|
25
|
+
static split(path) {
|
|
26
|
+
if (path === "/")
|
|
27
|
+
return ["/"];
|
|
28
|
+
const nodes = path.split("/");
|
|
29
|
+
if (nodes.length > 0)
|
|
30
|
+
nodes[0] = "/";
|
|
31
|
+
return nodes;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=PATH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PATH.js","sourceRoot":"","sources":["../../../src/file-system/PATH.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,IAAI;IAEf,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YACnB,OAAO,GAAG,CAAC,CAAC,MAAM;QAEpB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,CAAC;YACjB,OAAO,GAAG,CAAC;QAEb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAkB,EAAE,IAAY;QAC7C,OAAO,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,IAAY;QAC/B,IAAI,IAAI,KAAK,GAAG;YACd,OAAO,CAAC,GAAG,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAEjB,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -40,8 +40,6 @@ export declare class BimCloudHierarchyItem {
|
|
|
40
40
|
type: BimHierarchyItemType;
|
|
41
41
|
mask: number;
|
|
42
42
|
numPoints: number;
|
|
43
|
-
offset: number;
|
|
44
|
-
size: number;
|
|
45
43
|
min: {
|
|
46
44
|
x: number;
|
|
47
45
|
y: number;
|
|
@@ -52,7 +50,9 @@ export declare class BimCloudHierarchyItem {
|
|
|
52
50
|
y: number;
|
|
53
51
|
z: number;
|
|
54
52
|
};
|
|
55
|
-
|
|
53
|
+
offset?: number;
|
|
54
|
+
size?: number;
|
|
55
|
+
spacing?: number;
|
|
56
56
|
}
|
|
57
57
|
export declare class BimCloudMetadata {
|
|
58
58
|
depth: number;
|
|
@@ -67,29 +67,29 @@ export declare class BimCloudMetadata {
|
|
|
67
67
|
z: number;
|
|
68
68
|
};
|
|
69
69
|
baseSpacing: number;
|
|
70
|
-
version
|
|
71
|
-
filename
|
|
72
|
-
description
|
|
73
|
-
inputPoints
|
|
74
|
-
processedPoints
|
|
75
|
-
nodesCount
|
|
76
|
-
nodesPoints
|
|
77
|
-
posOffset
|
|
70
|
+
version?: number;
|
|
71
|
+
filename?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
inputPoints?: number;
|
|
74
|
+
processedPoints?: number;
|
|
75
|
+
nodesCount?: number;
|
|
76
|
+
nodesPoints?: number;
|
|
77
|
+
posOffset?: {
|
|
78
78
|
x: number;
|
|
79
79
|
y: number;
|
|
80
80
|
z: number;
|
|
81
81
|
};
|
|
82
|
-
posScale
|
|
82
|
+
posScale?: {
|
|
83
83
|
x: number;
|
|
84
84
|
y: number;
|
|
85
85
|
z: number;
|
|
86
86
|
};
|
|
87
|
-
root_min
|
|
87
|
+
root_min?: {
|
|
88
88
|
x: number;
|
|
89
89
|
y: number;
|
|
90
90
|
z: number;
|
|
91
91
|
};
|
|
92
|
-
root_max
|
|
92
|
+
root_max?: {
|
|
93
93
|
x: number;
|
|
94
94
|
y: number;
|
|
95
95
|
z: number;
|
|
@@ -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;
|
|
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"}
|
|
@@ -23,7 +23,7 @@ export interface IBimDataModelPart extends IBimDataPart {
|
|
|
23
23
|
getLatestVersion(): Promise<bigint>;
|
|
24
24
|
}
|
|
25
25
|
export interface IBimDataCloudPart extends IBimDataPart {
|
|
26
|
-
getCloudPoints(index: number
|
|
26
|
+
getCloudPoints(index: number): Promise<Float32Array>;
|
|
27
27
|
getCloudHierarchy(): Promise<BimCloudHierarchyItem[]>;
|
|
28
28
|
getCloudParameters(): Promise<Map<string, string>>;
|
|
29
29
|
getCloudMetadata(): Promise<BimCloudMetadata>;
|
|
@@ -51,9 +51,12 @@ 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>;
|
|
59
|
+
getCloudPoints(index: number): Promise<Float32Array>;
|
|
57
60
|
getCloudHierarchy(): Promise<BimCloudHierarchyItem[]>;
|
|
58
61
|
getCloudParameters(): Promise<Map<string, string>>;
|
|
59
62
|
getCloudMetadata(): Promise<BimCloudMetadata>;
|
|
@@ -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
|
}
|
|
@@ -32,61 +34,96 @@ export class BimDataModelPart extends BimDataBase {
|
|
|
32
34
|
this.checkIsOpen();
|
|
33
35
|
await this._remote.auditModelPart(this.id);
|
|
34
36
|
}
|
|
35
|
-
update(buffer) {
|
|
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
|
-
getAllTessellations() {
|
|
42
|
+
async getAllTessellations() {
|
|
40
43
|
this.checkIsOpen();
|
|
41
|
-
|
|
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
|
-
getTessellations(versionFrom, versionTo) {
|
|
49
|
+
async getTessellations(versionFrom, versionTo) {
|
|
44
50
|
this.checkIsOpen();
|
|
45
|
-
|
|
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
|
-
getAllElements() {
|
|
56
|
+
async getAllElements() {
|
|
48
57
|
this.checkIsOpen();
|
|
49
|
-
|
|
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
|
-
getElements(versionFrom, versionTo) {
|
|
63
|
+
async getElements(versionFrom, versionTo) {
|
|
52
64
|
this.checkIsOpen();
|
|
53
|
-
|
|
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
|
-
getDiffElements(versionFrom, versionTo) {
|
|
70
|
+
async getDiffElements(versionFrom, versionTo) {
|
|
56
71
|
this.checkIsOpen();
|
|
57
|
-
|
|
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
|
-
getElementProperties(elementId, version) {
|
|
77
|
+
async getElementProperties(elementId, version) {
|
|
60
78
|
this.checkIsOpen();
|
|
61
79
|
return this._remote.getElementProperties(this.id, elementId, version);
|
|
62
80
|
}
|
|
63
|
-
getElementTessellations(versionFrom, versionTo) {
|
|
81
|
+
async getElementTessellations(versionFrom, versionTo) {
|
|
64
82
|
this.checkIsOpen();
|
|
65
|
-
|
|
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
|
-
getAllVersions() {
|
|
88
|
+
async getAllVersions() {
|
|
68
89
|
this.checkIsOpen();
|
|
69
90
|
return this._remote.getAllVersions(this.id);
|
|
70
91
|
}
|
|
71
|
-
getLatestVersion() {
|
|
92
|
+
async getLatestVersion() {
|
|
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) {
|
|
110
|
+
await super.open(buffer);
|
|
111
|
+
this.checkIsOpen();
|
|
112
|
+
await this._remote.cacheCloudPart(this.id);
|
|
113
|
+
}
|
|
114
|
+
async getCloudPoints(index) {
|
|
78
115
|
this.checkIsOpen();
|
|
79
|
-
return this._remote.getCloudPoints(this.id, index
|
|
116
|
+
return this._remote.getCloudPoints(this.id, index);
|
|
80
117
|
}
|
|
81
|
-
getCloudHierarchy() {
|
|
118
|
+
async getCloudHierarchy() {
|
|
82
119
|
this.checkIsOpen();
|
|
83
120
|
return this._remote.getCloudHierarchy(this.id);
|
|
84
121
|
}
|
|
85
|
-
getCloudParameters() {
|
|
122
|
+
async getCloudParameters() {
|
|
86
123
|
this.checkIsOpen();
|
|
87
124
|
return this._remote.getCloudParameters(this.id);
|
|
88
125
|
}
|
|
89
|
-
getCloudMetadata() {
|
|
126
|
+
async getCloudMetadata() {
|
|
90
127
|
this.checkIsOpen();
|
|
91
128
|
return this._remote.getCloudMetadata(this.id);
|
|
92
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BimDataPart.js","sourceRoot":"","sources":["../../../src/model/BimDataPart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAoCnC,MAAM,WAAW;IAKf,YAA4B,EAAU,EAAE,MAAkC;QAA9C,OAAE,GAAF,EAAE,CAAQ;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAEjD,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,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;QACT,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAEjD,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,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAC,IAAI,CAAC,MAAmB;QACrC,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,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,mBAAmB;QACvB,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,aAAa,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;QAC3D,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,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACpF,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,uBAAuB,CAAC,WAAmB,EAAE,SAAiB;QAClE,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,CAAC,CAAC;QAC3F,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;IAEO,SAAS,CAAI,MAAW,EAAE,MAAW;QAC3C,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;AAED,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAC,IAAI,CAAC,MAAmB;QACrC,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,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,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/
|
|
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.
|
|
8
|
-
const WasmWorkerType =
|
|
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
|
}
|
|
@@ -23,7 +21,7 @@ export class BimDataProvider {
|
|
|
23
21
|
await this._workerObj?.flushMemory();
|
|
24
22
|
}
|
|
25
23
|
async dispose() {
|
|
26
|
-
|
|
24
|
+
return this._workerObj?.dispose();
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
//# sourceMappingURL=BimDataProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BimDataProvider.js","sourceRoot":"","sources":["../../../src/model/BimDataProvider.ts"],"names":[],"mappings":"
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BimDataTessellation.js","sourceRoot":"","sources":["../../../src/model/BimDataTessellation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAAhC;
|
|
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"}
|
package/lib/src/model/Consts.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export const BimDataBigIntMaxValue = BigInt('3155378975999999999');
|
|
2
2
|
export const BimDataBigIntMinValue = BigInt('0');
|
|
3
|
+
export const S_IFDIR = 16895; //16384; // dir
|
|
4
|
+
export const S_IFREG = 33279; // file
|
|
5
|
+
export const DATA_ROOT_FOLDER = "data";
|
|
3
6
|
//# sourceMappingURL=Consts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Consts.js","sourceRoot":"","sources":["../../../src/model/Consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Consts.js","sourceRoot":"","sources":["../../../src/model/Consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAA,CAAC,eAAe;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC"}
|
|
@@ -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):
|
|
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 {};
|