@pilotdev/pilot-bim-dataprovider 24.9.0 → 24.12.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/README.md +9 -9
- package/lib/index.d.ts +3 -3
- package/lib/index.js +2 -2
- 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 +62 -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 +182 -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 +69 -3
- package/lib/src/model/BimDataElement.js +13 -4
- package/lib/src/model/BimDataElement.js.map +1 -1
- package/lib/src/model/BimDataElementPropertySet.js.map +1 -1
- package/lib/src/model/BimDataPart.d.ts +62 -0
- package/lib/src/model/BimDataPart.js +99 -0
- package/lib/src/model/BimDataPart.js.map +1 -0
- package/lib/src/model/BimDataProvider.d.ts +16 -0
- package/lib/src/model/BimDataProvider.js +29 -0
- package/lib/src/model/BimDataProvider.js.map +1 -0
- 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 +9 -9
- package/lib/src/utils/ViewerTools.js +73 -38
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/utils/WasmTools.d.ts +10 -6
- package/lib/src/utils/WasmTools.js +66 -32
- package/lib/src/utils/WasmTools.js.map +1 -1
- package/lib/src/wasm/CorsWorker.d.ts +6 -0
- package/lib/src/wasm/CorsWorker.js +20 -0
- package/lib/src/wasm/CorsWorker.js.map +1 -0
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +136 -7
- 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.d.ts +56 -0
- package/lib/src/wasm/wasm.worker.js +280 -0
- package/lib/src/wasm/wasm.worker.js.map +1 -0
- package/package.json +5 -12
- package/lib/src/model/BimDataModel.d.ts +0 -19
- package/lib/src/model/BimDataModel.js +0 -59
- package/lib/src/model/BimDataModel.js.map +0 -1
- package/lib/src/model/BimDataModelPart.d.ts +0 -40
- package/lib/src/model/BimDataModelPart.js +0 -144
- package/lib/src/model/BimDataModelPart.js.map +0 -1
- package/lib/src/model/BimNodeComparer.d.ts +0 -10
- package/lib/src/model/BimNodeComparer.js +0 -71
- package/lib/src/model/BimNodeComparer.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { BimDataElement } from "../model/BimDataElement.js";
|
|
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,
|
|
4
|
+
import { VectorOf, WasmElementPropertySet, WasmIfcNode, WasmTessellation, IWasmBimModule, WasmCloudHierarchyItem, WasmPointsData, WasmPointsMetadata } from "../wasm/pilot_bim_dataprovider.js";
|
|
5
5
|
export declare class BimDataConverter {
|
|
6
|
-
static toToBimDataElements(ifcNodes: VectorOf<WasmIfcNode>, dispose: boolean): BimDataElement[];
|
|
7
|
-
static
|
|
8
|
-
oldNode: BimDataElement;
|
|
9
|
-
newNode: BimDataElement;
|
|
10
|
-
}[];
|
|
11
|
-
static toBimDataTessellations(tessellations: VectorOf<WasmTessellation>, dispose: boolean): Map<string, BimDataTessellation>;
|
|
6
|
+
static toToBimDataElements(module: IWasmBimModule, ifcNodes: VectorOf<WasmIfcNode>, dispose: boolean, transfer?: boolean): BimDataElement[];
|
|
7
|
+
static toBimDataTessellations(module: IWasmBimModule, tessellations: VectorOf<WasmTessellation>, dispose: boolean, transfer?: boolean): Map<string, BimDataTessellation>;
|
|
12
8
|
static toModelElementPropertySet(wasmPropertySets: VectorOf<WasmElementPropertySet>, dispose: boolean): BimDataElementPropertySet[];
|
|
9
|
+
static toBimCloudHierarchy(wasmHierarchy: VectorOf<WasmCloudHierarchyItem>, dispose: boolean): BimCloudHierarchyItem[];
|
|
10
|
+
static toCloudPoints(module: IWasmBimModule, wasmPointsData: WasmPointsData, dispose: boolean, transfer?: boolean): Float32Array;
|
|
11
|
+
static toCloudMetadata(wasmPointsMetadata: WasmPointsMetadata, dispose: boolean): BimCloudMetadata;
|
|
13
12
|
private static toModelElementProperties;
|
|
14
13
|
private static toModelElementPropertyValue;
|
|
15
14
|
private static toBimDataElement;
|
|
16
|
-
private static
|
|
15
|
+
private static toBimDataTessellation;
|
|
16
|
+
private static toBimCloudHierarchyItem;
|
|
17
17
|
}
|
|
@@ -1,46 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as comlink from "comlink";
|
|
2
|
+
import { BimDataElement, BimDataMeshProperty, BimCloudHierarchyItem, BimCloudMetadata } from "../model/BimDataElement.js";
|
|
2
3
|
import { BimDataElementPropertySet, BimDataElementProperty, BimDataElementPropertyValue } from "../model/BimDataElementPropertySet.js";
|
|
3
4
|
import { BimDataTessellation } from "../model/BimDataTessellation.js";
|
|
4
5
|
import { WasmTools } from "./WasmTools.js";
|
|
5
6
|
export class BimDataConverter {
|
|
6
|
-
static toToBimDataElements(ifcNodes, dispose) {
|
|
7
|
+
static toToBimDataElements(module, ifcNodes, dispose, transfer = true) {
|
|
7
8
|
const props = new Array();
|
|
9
|
+
const transferable = transfer ? [] : undefined;
|
|
8
10
|
for (let index = 0; index < ifcNodes.size(); index++) {
|
|
9
11
|
const node = ifcNodes.get(index);
|
|
10
|
-
props.push(this.toBimDataElement(node));
|
|
12
|
+
props.push(this.toBimDataElement(module, node, transferable));
|
|
11
13
|
if (dispose)
|
|
12
14
|
node.delete();
|
|
13
15
|
}
|
|
14
16
|
if (dispose)
|
|
15
17
|
ifcNodes.delete();
|
|
18
|
+
if (transferable)
|
|
19
|
+
comlink.transfer(props, transferable);
|
|
16
20
|
return props;
|
|
17
21
|
}
|
|
18
|
-
static
|
|
19
|
-
const bimDataPairs = new Array();
|
|
20
|
-
for (let index = 0; index < ifcNodePairs.size(); index++) {
|
|
21
|
-
const pair = ifcNodePairs.get(index);
|
|
22
|
-
bimDataPairs.push({ oldNode: this.toBimDataElement(pair.oldNode), newNode: this.toBimDataElement(pair.newNode) });
|
|
23
|
-
if (dispose) {
|
|
24
|
-
pair.oldNode.delete();
|
|
25
|
-
pair.newNode.delete();
|
|
26
|
-
pair.delete();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (dispose)
|
|
30
|
-
ifcNodePairs.delete();
|
|
31
|
-
return bimDataPairs;
|
|
32
|
-
}
|
|
33
|
-
static toBimDataTessellations(tessellations, dispose) {
|
|
22
|
+
static toBimDataTessellations(module, tessellations, dispose, transfer = true) {
|
|
34
23
|
const map = new Map();
|
|
24
|
+
const transferable = transfer ? [] : undefined;
|
|
35
25
|
for (let index = 0; index < tessellations.size(); index++) {
|
|
36
26
|
const tessellation = tessellations.get(index);
|
|
37
|
-
const t = this.
|
|
27
|
+
const t = this.toBimDataTessellation(module, tessellation, transferable);
|
|
38
28
|
map.set(t.key, t.value);
|
|
39
29
|
if (dispose)
|
|
40
30
|
tessellation.delete();
|
|
41
31
|
}
|
|
42
32
|
if (dispose)
|
|
43
33
|
tessellations.delete();
|
|
34
|
+
if (transferable)
|
|
35
|
+
comlink.transfer(map, transferable);
|
|
44
36
|
return map;
|
|
45
37
|
}
|
|
46
38
|
static toModelElementPropertySet(wasmPropertySets, dispose) {
|
|
@@ -59,6 +51,34 @@ export class BimDataConverter {
|
|
|
59
51
|
wasmPropertySets.delete();
|
|
60
52
|
return sets;
|
|
61
53
|
}
|
|
54
|
+
static toBimCloudHierarchy(wasmHierarchy, dispose) {
|
|
55
|
+
const result = [];
|
|
56
|
+
for (let i = 0; i < wasmHierarchy.size(); i++)
|
|
57
|
+
result.push(BimDataConverter.toBimCloudHierarchyItem(wasmHierarchy.get(i)));
|
|
58
|
+
if (dispose)
|
|
59
|
+
wasmHierarchy.delete();
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
static toCloudPoints(module, wasmPointsData, dispose, transfer = true) {
|
|
63
|
+
const transferable = transfer ? [] : undefined;
|
|
64
|
+
const array = WasmTools.vectorToFloat32Array(module, wasmPointsData.points, wasmPointsData.getPointsDataOffset(), dispose, transferable);
|
|
65
|
+
if (transferable)
|
|
66
|
+
comlink.transfer(array, transferable);
|
|
67
|
+
return array;
|
|
68
|
+
}
|
|
69
|
+
static toCloudMetadata(wasmPointsMetadata, dispose) {
|
|
70
|
+
const metadata = new BimCloudMetadata();
|
|
71
|
+
metadata.depth = wasmPointsMetadata.depth;
|
|
72
|
+
const min = wasmPointsMetadata.min;
|
|
73
|
+
metadata.min = { x: min[0], y: min[1], z: min[2] };
|
|
74
|
+
const max = wasmPointsMetadata.max;
|
|
75
|
+
metadata.max = { x: max[0], y: max[1], z: max[2] };
|
|
76
|
+
if (wasmPointsMetadata.baseSpacing.has_value())
|
|
77
|
+
metadata.baseSpacing = wasmPointsMetadata.baseSpacing.value();
|
|
78
|
+
if (dispose)
|
|
79
|
+
wasmPointsMetadata.delete();
|
|
80
|
+
return metadata;
|
|
81
|
+
}
|
|
62
82
|
static toModelElementProperties(properties, dispose) {
|
|
63
83
|
const modelElementProperties = new Array();
|
|
64
84
|
for (let index = 0; index < properties.size(); index++) {
|
|
@@ -74,23 +94,22 @@ export class BimDataConverter {
|
|
|
74
94
|
return modelElementProperties;
|
|
75
95
|
}
|
|
76
96
|
static toModelElementPropertyValue(value, dispose) {
|
|
77
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
78
97
|
const modelElementValue = new BimDataElementPropertyValue();
|
|
79
|
-
modelElementValue.array_int_value = WasmTools.vectorToArray(value.array_int_value);
|
|
98
|
+
modelElementValue.array_int_value = WasmTools.vectorToArray(value.array_int_value, true);
|
|
80
99
|
modelElementValue.array_value = WasmTools.vectorToArray(value.array_value);
|
|
81
|
-
modelElementValue.bool_value =
|
|
82
|
-
modelElementValue.date_value =
|
|
83
|
-
modelElementValue.decimal_value =
|
|
84
|
-
modelElementValue.double_value =
|
|
85
|
-
modelElementValue.guid_value =
|
|
86
|
-
modelElementValue.int_value =
|
|
87
|
-
modelElementValue.str_value =
|
|
100
|
+
modelElementValue.bool_value = value.bool_value?.has_value() ? value.bool_value.value() : undefined;
|
|
101
|
+
modelElementValue.date_value = value.date_value?.has_value() ? value.date_value.value() : undefined;
|
|
102
|
+
modelElementValue.decimal_value = value.decimal_value?.has_value() ? WasmTools.decimalToNumber(value.decimal_value.value()) : undefined; // TODO convert
|
|
103
|
+
modelElementValue.double_value = value.double_value?.has_value() ? value.double_value.value() : undefined;
|
|
104
|
+
modelElementValue.guid_value = value.guid_value?.has_value() ? value.guid_value.value()?.toString() : undefined;
|
|
105
|
+
modelElementValue.int_value = value.int_value?.has_value() ? value.int_value.value() : undefined;
|
|
106
|
+
modelElementValue.str_value = value.str_value?.has_value() ? value.str_value.value() : undefined;
|
|
88
107
|
//modelElementValue.value = value.value;
|
|
89
108
|
if (dispose)
|
|
90
109
|
value.delete();
|
|
91
110
|
return modelElementValue;
|
|
92
111
|
}
|
|
93
|
-
static toBimDataElement(ifcNode) {
|
|
112
|
+
static toBimDataElement(module, ifcNode, transferable) {
|
|
94
113
|
const node = new BimDataElement();
|
|
95
114
|
node.guid = ifcNode.id;
|
|
96
115
|
node.name = ifcNode.name;
|
|
@@ -110,7 +129,7 @@ export class BimDataConverter {
|
|
|
110
129
|
const propPtr = valueVectorPtr.get(j);
|
|
111
130
|
const prop = new BimDataMeshProperty();
|
|
112
131
|
prop.meshColor = propPtr.mesh_color;
|
|
113
|
-
prop.meshPlacement = WasmTools.
|
|
132
|
+
prop.meshPlacement = WasmTools.vectorToFloat64Array(module, propPtr.mesh_placement, propPtr.getPlacementDataOffset(), true, transferable);
|
|
114
133
|
propPtr.delete();
|
|
115
134
|
meshProps.push(prop);
|
|
116
135
|
}
|
|
@@ -123,7 +142,7 @@ export class BimDataConverter {
|
|
|
123
142
|
const gridObjectPtr = ifcNode.grid_object;
|
|
124
143
|
const axesPtr = gridObjectPtr.grid_axes;
|
|
125
144
|
const gridObject = {
|
|
126
|
-
gridPlacement: WasmTools.
|
|
145
|
+
gridPlacement: WasmTools.vectorToFloat64Array(module, gridObjectPtr.placement, gridObjectPtr.getPlacementDataOffset(), true, transferable),
|
|
127
146
|
gridAxes: []
|
|
128
147
|
};
|
|
129
148
|
for (let i = 0; i < axesPtr.size(); i++) {
|
|
@@ -132,7 +151,7 @@ export class BimDataConverter {
|
|
|
132
151
|
id: wasmAxisPtr.id,
|
|
133
152
|
type: wasmAxisPtr.type.value,
|
|
134
153
|
label: wasmAxisPtr.label,
|
|
135
|
-
data: WasmTools.
|
|
154
|
+
data: WasmTools.vectorToFloat32Array(module, wasmAxisPtr.data, wasmAxisPtr.getDataOffset(), true, transferable)
|
|
136
155
|
};
|
|
137
156
|
wasmAxisPtr.delete();
|
|
138
157
|
gridObject.gridAxes.push(axis);
|
|
@@ -143,15 +162,31 @@ export class BimDataConverter {
|
|
|
143
162
|
gridObjectPtr.delete();
|
|
144
163
|
return node;
|
|
145
164
|
}
|
|
146
|
-
static
|
|
165
|
+
static toBimDataTessellation(module, wasmTessellation, transferable) {
|
|
147
166
|
const tessellation = new BimDataTessellation();
|
|
148
167
|
const modelMesh = wasmTessellation.model_mesh;
|
|
149
|
-
tessellation.edgeIndices = WasmTools.vectorToUint32Array(modelMesh.edge_indices, true);
|
|
150
|
-
tessellation.indices = WasmTools.vectorToUint32Array(modelMesh.indices, true);
|
|
151
|
-
tessellation.normals = WasmTools.vectorToFloat32Array(modelMesh.normals, true);
|
|
152
|
-
tessellation.vertices = WasmTools.vectorToFloat32Array(modelMesh.vertices, true);
|
|
168
|
+
tessellation.edgeIndices = WasmTools.vectorToUint32Array(module, modelMesh.edge_indices, modelMesh.getEdgeIndicesDataOffset(), true, transferable);
|
|
169
|
+
tessellation.indices = WasmTools.vectorToUint32Array(module, modelMesh.indices, modelMesh.getIndicesDataOffset(), true, transferable);
|
|
170
|
+
tessellation.normals = WasmTools.vectorToFloat32Array(module, modelMesh.normals, modelMesh.getNormalsDataOffset(), true, transferable);
|
|
171
|
+
tessellation.vertices = WasmTools.vectorToFloat32Array(module, modelMesh.vertices, modelMesh.getVerticesDataOffset(), true, transferable);
|
|
153
172
|
modelMesh.delete();
|
|
154
173
|
return { key: wasmTessellation.id, value: tessellation };
|
|
155
174
|
}
|
|
175
|
+
static toBimCloudHierarchyItem(wasmHierarchyItem) {
|
|
176
|
+
const hierarchyItem = new BimCloudHierarchyItem();
|
|
177
|
+
hierarchyItem.index = wasmHierarchyItem.index;
|
|
178
|
+
hierarchyItem.dataIndex = wasmHierarchyItem.dataIndex;
|
|
179
|
+
hierarchyItem.type = wasmHierarchyItem.type;
|
|
180
|
+
hierarchyItem.mask = wasmHierarchyItem.mask;
|
|
181
|
+
hierarchyItem.numPoints = wasmHierarchyItem.numPoints;
|
|
182
|
+
hierarchyItem.offset = wasmHierarchyItem.offset;
|
|
183
|
+
hierarchyItem.size = wasmHierarchyItem.size;
|
|
184
|
+
hierarchyItem.spacing = wasmHierarchyItem.spacing;
|
|
185
|
+
const min = wasmHierarchyItem.min;
|
|
186
|
+
hierarchyItem.min = { x: min[0], y: min[1], z: min[2] };
|
|
187
|
+
const max = wasmHierarchyItem.max;
|
|
188
|
+
hierarchyItem.max = { x: max[0], y: max[1], z: max[2] };
|
|
189
|
+
return hierarchyItem;
|
|
190
|
+
}
|
|
156
191
|
}
|
|
157
192
|
//# sourceMappingURL=ViewerTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAsC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="emscripten" />
|
|
2
|
+
import { IDisposable, IWasmBimModule, MapOf, VectorOf, WasmDecimal } from "../wasm/pilot_bim_dataprovider.js";
|
|
2
3
|
export declare class WasmTools {
|
|
4
|
+
private static readonly _crossOriginIsolated;
|
|
3
5
|
static vectorToArray<T>(vector: VectorOf<unknown>, dispose?: boolean): T[];
|
|
4
|
-
static vectorToUint32Array(vector: VectorOf<number>, dispose: boolean): Uint32Array;
|
|
5
|
-
static vectorToUint8Array(vector: VectorOf<number>, dispose: boolean): Uint8Array;
|
|
6
|
-
static vectorToUint16Array(vector: VectorOf<number>, dispose: boolean): Uint16Array;
|
|
7
|
-
static vectorToFloat32Array(vector: VectorOf<number>, dispose: boolean): Float32Array;
|
|
8
|
-
static
|
|
6
|
+
static vectorToUint32Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Uint32Array;
|
|
7
|
+
static vectorToUint8Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Uint8Array;
|
|
8
|
+
static vectorToUint16Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Uint16Array;
|
|
9
|
+
static vectorToFloat32Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Float32Array;
|
|
10
|
+
static vectorToFloat64Array(module: IWasmBimModule, vector: VectorOf<number>, offset: number, dispose: boolean, transferable?: Transferable[]): Float64Array;
|
|
11
|
+
static wasmMapToMap<TKey, TValue>(wasmMap: MapOf<TKey, TValue>, dispose: boolean): Map<TKey, TValue>;
|
|
9
12
|
static isDisposable(o: any): o is IDisposable;
|
|
10
13
|
static isVectorOf(a: any): a is VectorOf<any>;
|
|
11
14
|
static isFileExists(path: string, module: IWasmBimModule): boolean;
|
|
12
15
|
static decimalToNumber(decimal: WasmDecimal, dispose?: boolean): number | undefined;
|
|
16
|
+
static fsMoveRecursive(root: string, source: typeof FS, target: typeof FS): void;
|
|
13
17
|
}
|
|
@@ -11,56 +11,69 @@ export class WasmTools {
|
|
|
11
11
|
vector.delete();
|
|
12
12
|
return result;
|
|
13
13
|
}
|
|
14
|
-
static vectorToUint32Array(vector, dispose) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
static vectorToUint32Array(module, vector, offset, dispose, transferable) {
|
|
15
|
+
const array = new Uint32Array(module.HEAPU32.buffer, offset, vector.size());
|
|
16
|
+
const result = new Uint32Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
|
|
17
|
+
result.set(array, 0);
|
|
18
|
+
if (!this._crossOriginIsolated && transferable)
|
|
19
|
+
transferable.push(result.buffer);
|
|
20
20
|
if (dispose)
|
|
21
21
|
vector.delete();
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
|
-
static vectorToUint8Array(vector, dispose) {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
static vectorToUint8Array(module, vector, offset, dispose, transferable) {
|
|
25
|
+
const array = new Uint8Array(module.HEAPU8.buffer, offset, vector.size());
|
|
26
|
+
const result = new Uint8Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
|
|
27
|
+
result.set(array, 0);
|
|
28
|
+
if (!this._crossOriginIsolated && transferable)
|
|
29
|
+
transferable.push(result.buffer);
|
|
30
30
|
if (dispose)
|
|
31
31
|
vector.delete();
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
|
-
static vectorToUint16Array(vector, dispose) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
static vectorToUint16Array(module, vector, offset, dispose, transferable) {
|
|
35
|
+
const array = new Uint16Array(module.HEAPU16.buffer, offset, vector.size());
|
|
36
|
+
const result = new Uint16Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
|
|
37
|
+
result.set(array, 0);
|
|
38
|
+
if (!this._crossOriginIsolated && transferable)
|
|
39
|
+
transferable.push(result.buffer);
|
|
40
40
|
if (dispose)
|
|
41
41
|
vector.delete();
|
|
42
42
|
return result;
|
|
43
43
|
}
|
|
44
|
-
static vectorToFloat32Array(vector, dispose) {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
static vectorToFloat32Array(module, vector, offset, dispose, transferable) {
|
|
45
|
+
const array = new Float32Array(module.HEAPF32.buffer, offset, vector.size());
|
|
46
|
+
const result = new Float32Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
|
|
47
|
+
result.set(array, 0);
|
|
48
|
+
if (!this._crossOriginIsolated && transferable)
|
|
49
|
+
transferable.push(result.buffer);
|
|
50
50
|
if (dispose)
|
|
51
51
|
vector.delete();
|
|
52
52
|
return result;
|
|
53
53
|
}
|
|
54
|
-
static
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
static vectorToFloat64Array(module, vector, offset, dispose, transferable) {
|
|
55
|
+
const array = new Float64Array(module.HEAPF64.buffer, offset, vector.size());
|
|
56
|
+
const result = new Float64Array(this._crossOriginIsolated ? new SharedArrayBuffer(array.byteLength) : new ArrayBuffer(array.byteLength));
|
|
57
|
+
result.set(array, 0);
|
|
58
|
+
if (!this._crossOriginIsolated && transferable)
|
|
59
|
+
transferable.push(result.buffer);
|
|
60
60
|
if (dispose)
|
|
61
61
|
vector.delete();
|
|
62
62
|
return result;
|
|
63
63
|
}
|
|
64
|
+
static wasmMapToMap(wasmMap, dispose) {
|
|
65
|
+
const result = new Map();
|
|
66
|
+
const keys = wasmMap.keys();
|
|
67
|
+
for (let i = 0; i < keys.size(); i++) {
|
|
68
|
+
const key = keys.get(i);
|
|
69
|
+
result.set(key, wasmMap.get(key));
|
|
70
|
+
}
|
|
71
|
+
if (dispose) {
|
|
72
|
+
keys.delete();
|
|
73
|
+
wasmMap.delete();
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
64
77
|
static isDisposable(o) {
|
|
65
78
|
return typeof o.delete === "function";
|
|
66
79
|
}
|
|
@@ -69,8 +82,8 @@ export class WasmTools {
|
|
|
69
82
|
}
|
|
70
83
|
static isFileExists(path, module) {
|
|
71
84
|
try {
|
|
72
|
-
module.FS.lookupPath(path, {});
|
|
73
|
-
return
|
|
85
|
+
const { mode } = module.FS.lookupPath(path, {}).node;
|
|
86
|
+
return module.FS.isFile(mode);
|
|
74
87
|
}
|
|
75
88
|
catch (error) {
|
|
76
89
|
return false;
|
|
@@ -81,5 +94,26 @@ export class WasmTools {
|
|
|
81
94
|
decimal.delete();
|
|
82
95
|
return undefined;
|
|
83
96
|
}
|
|
97
|
+
static fsMoveRecursive(root, source, target) {
|
|
98
|
+
function move(curFolder) {
|
|
99
|
+
const files = source.readdir(curFolder);
|
|
100
|
+
for (const name of files) {
|
|
101
|
+
if (name === '.' || name === '..')
|
|
102
|
+
continue;
|
|
103
|
+
const path = `${curFolder}/${name}`;
|
|
104
|
+
const { mode } = source.lookupPath(path, {}).node;
|
|
105
|
+
if (source.isFile(mode)) {
|
|
106
|
+
target.writeFile(path, source.readFile(path));
|
|
107
|
+
source.unlink(path);
|
|
108
|
+
}
|
|
109
|
+
else if (source.isDir(mode)) {
|
|
110
|
+
target.mkdir(path);
|
|
111
|
+
move(path);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
move(root);
|
|
116
|
+
}
|
|
84
117
|
}
|
|
118
|
+
WasmTools._crossOriginIsolated = (self && Object.prototype.hasOwnProperty.call(self, 'crossOriginIsolated')) ? self.crossOriginIsolated : false;
|
|
85
119
|
//# sourceMappingURL=WasmTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasmTools.js","sourceRoot":"","sources":["../../../src/utils/WasmTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WasmTools.js","sourceRoot":"","sources":["../../../src/utils/WasmTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//ref: https://github.com/webpack/webpack/issues/16696
|
|
2
|
+
export class CorsWorker {
|
|
3
|
+
// Have this only to trick Webpack into properly transpiling
|
|
4
|
+
// the url address from the component which uses it
|
|
5
|
+
constructor(url, options) {
|
|
6
|
+
this.url = url;
|
|
7
|
+
this.options = options;
|
|
8
|
+
}
|
|
9
|
+
async createWorker() {
|
|
10
|
+
const f = await fetch(this.url);
|
|
11
|
+
const t = await f.text();
|
|
12
|
+
const b = new Blob([t], {
|
|
13
|
+
type: 'application/javascript',
|
|
14
|
+
});
|
|
15
|
+
const url = URL.createObjectURL(b);
|
|
16
|
+
const worker = new Worker(url, this.options);
|
|
17
|
+
return worker;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=CorsWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CorsWorker.js","sourceRoot":"","sources":["../../../src/wasm/CorsWorker.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,OAAO,UAAU;IAIrB,4DAA4D;IAC5D,mDAAmD;IACnD,YAAY,GAAiB,EAAE,OAAuB;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACpB,IAAI,EAAE,wBAAwB;SACjC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;CACF"}
|