@ifc-lite/wasm 2.0.0 → 2.1.1
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/package.json +1 -1
- package/pkg/ifc-lite.d.ts +60 -3
- package/pkg/ifc-lite.js +239 -10
- package/pkg/ifc-lite_bg.wasm +0 -0
package/package.json
CHANGED
package/pkg/ifc-lite.d.ts
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
|
|
4
|
+
export class ClashRunResult {
|
|
5
|
+
private constructor();
|
|
6
|
+
free(): void;
|
|
7
|
+
[Symbol.dispose](): void;
|
|
8
|
+
readonly a: Uint32Array;
|
|
9
|
+
readonly b: Uint32Array;
|
|
10
|
+
readonly bounds: Float64Array;
|
|
11
|
+
readonly points: Float64Array;
|
|
12
|
+
readonly status: Uint8Array;
|
|
13
|
+
readonly distance: Float64Array;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export class ClashSession {
|
|
17
|
+
free(): void;
|
|
18
|
+
[Symbol.dispose](): void;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Ingest N elements from flat arenas.
|
|
22
|
+
*
|
|
23
|
+
* - `positions`: concatenated per-element vertex coords (x,y,z,...)
|
|
24
|
+
* - `pos_ranges`: 2 per element = [float_offset, float_len]
|
|
25
|
+
* - `indices`: concatenated per-element LOCAL (0-based) triangle indices
|
|
26
|
+
* - `idx_ranges`: 2 per element = [idx_offset, idx_len]
|
|
27
|
+
* - `aabbs`: 6 per element = [minx,miny,minz,maxx,maxy,maxz]
|
|
28
|
+
*/
|
|
29
|
+
ingest(positions: Float32Array, pos_ranges: Uint32Array, indices: Uint32Array, idx_ranges: Uint32Array, aabbs: Float32Array): void;
|
|
30
|
+
/**
|
|
31
|
+
* Run one rule. `group_a`/`group_b` are GLOBAL element indices; an empty
|
|
32
|
+
* `group_b` means a self-clash within `group_a`. `mode`: 0 = hard,
|
|
33
|
+
* 1 = clearance. Records carry GLOBAL element indices.
|
|
34
|
+
*/
|
|
35
|
+
runRule(group_a: Uint32Array, group_b: Uint32Array, mode: number, tolerance: number, clearance: number, report_touch: boolean): ClashRunResult;
|
|
36
|
+
}
|
|
37
|
+
|
|
4
38
|
export class IfcAPI {
|
|
5
39
|
free(): void;
|
|
6
40
|
[Symbol.dispose](): void;
|
|
@@ -48,6 +82,17 @@ export class IfcAPI {
|
|
|
48
82
|
* `{ type: "complete", totalJobs }`
|
|
49
83
|
*/
|
|
50
84
|
buildPrePassStreaming(data: Uint8Array, on_event: Function, chunk_size: number): any;
|
|
85
|
+
/**
|
|
86
|
+
* Parse the file and return every `IfcAlignment` directrix as a flat
|
|
87
|
+
* `Float32Array` of 3D line-list vertices `[x0,y0,z0, x1,y1,z1, …]` in
|
|
88
|
+
* the renderer's Y-up world space (RTC-subtracted, metres). Consecutive
|
|
89
|
+
* samples form line segments. Feed straight to
|
|
90
|
+
* `renderer.uploadAnnotationLines3D(...)`.
|
|
91
|
+
*
|
|
92
|
+
* Returns an empty array when the file has no alignments (or none with a
|
|
93
|
+
* resolvable Axis curve), so the caller can clear the overlay cheaply.
|
|
94
|
+
*/
|
|
95
|
+
parseAlignmentLines(content: string): Float32Array;
|
|
51
96
|
/**
|
|
52
97
|
* Extract raw profile polygons from all building elements with `IfcExtrudedAreaSolid`
|
|
53
98
|
* representations.
|
|
@@ -542,6 +587,8 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
542
587
|
|
|
543
588
|
export interface InitOutput {
|
|
544
589
|
readonly memory: WebAssembly.Memory;
|
|
590
|
+
readonly __wbg_clashrunresult_free: (a: number, b: number) => void;
|
|
591
|
+
readonly __wbg_clashsession_free: (a: number, b: number) => void;
|
|
545
592
|
readonly __wbg_ifcapi_free: (a: number, b: number) => void;
|
|
546
593
|
readonly __wbg_meshcollection_free: (a: number, b: number) => void;
|
|
547
594
|
readonly __wbg_meshdatajs_free: (a: number, b: number) => void;
|
|
@@ -552,6 +599,15 @@ export interface InitOutput {
|
|
|
552
599
|
readonly __wbg_symbolicpolyline_free: (a: number, b: number) => void;
|
|
553
600
|
readonly __wbg_symbolicrepresentationcollection_free: (a: number, b: number) => void;
|
|
554
601
|
readonly __wbg_symbolictext_free: (a: number, b: number) => void;
|
|
602
|
+
readonly clashrunresult_a: (a: number, b: number) => void;
|
|
603
|
+
readonly clashrunresult_b: (a: number, b: number) => void;
|
|
604
|
+
readonly clashrunresult_bounds: (a: number, b: number) => void;
|
|
605
|
+
readonly clashrunresult_distance: (a: number, b: number) => void;
|
|
606
|
+
readonly clashrunresult_points: (a: number, b: number) => void;
|
|
607
|
+
readonly clashrunresult_status: (a: number, b: number) => void;
|
|
608
|
+
readonly clashsession_ingest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
609
|
+
readonly clashsession_new: () => number;
|
|
610
|
+
readonly clashsession_runRule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
555
611
|
readonly ifcapi_buildPrePassFast: (a: number, b: number, c: number) => number;
|
|
556
612
|
readonly ifcapi_buildPrePassOnce: (a: number, b: number, c: number) => number;
|
|
557
613
|
readonly ifcapi_buildPrePassStreaming: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
@@ -561,6 +617,7 @@ export interface InitOutput {
|
|
|
561
617
|
readonly ifcapi_is_ready: (a: number) => number;
|
|
562
618
|
readonly ifcapi_new: () => number;
|
|
563
619
|
readonly ifcapi_parse: (a: number, b: number, c: number) => number;
|
|
620
|
+
readonly ifcapi_parseAlignmentLines: (a: number, b: number, c: number) => number;
|
|
564
621
|
readonly ifcapi_parseStreaming: (a: number, b: number, c: number, d: number) => number;
|
|
565
622
|
readonly ifcapi_parseSymbolicRepresentations: (a: number, b: number, c: number) => number;
|
|
566
623
|
readonly ifcapi_processGeometryBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => number;
|
|
@@ -665,9 +722,9 @@ export interface InitOutput {
|
|
|
665
722
|
readonly symbolictext_worldY: (a: number) => number;
|
|
666
723
|
readonly symbolictext_x: (a: number) => number;
|
|
667
724
|
readonly symbolictext_y: (a: number) => number;
|
|
668
|
-
readonly
|
|
669
|
-
readonly
|
|
670
|
-
readonly
|
|
725
|
+
readonly __wasm_bindgen_func_elem_593: (a: number, b: number, c: number) => void;
|
|
726
|
+
readonly __wasm_bindgen_func_elem_592: (a: number, b: number) => void;
|
|
727
|
+
readonly __wasm_bindgen_func_elem_627: (a: number, b: number, c: number, d: number) => void;
|
|
671
728
|
readonly __wbindgen_export: (a: number) => void;
|
|
672
729
|
readonly __wbindgen_export2: (a: number, b: number, c: number) => void;
|
|
673
730
|
readonly __wbindgen_export3: (a: number, b: number) => number;
|
package/pkg/ifc-lite.js
CHANGED
|
@@ -40,6 +40,11 @@ function getArrayU32FromWasm0(ptr, len) {
|
|
|
40
40
|
return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
44
|
+
ptr = ptr >>> 0;
|
|
45
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
46
|
+
}
|
|
47
|
+
|
|
43
48
|
let cachedDataViewMemory0 = null;
|
|
44
49
|
function getDataViewMemory0() {
|
|
45
50
|
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
@@ -146,6 +151,13 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
146
151
|
return ptr;
|
|
147
152
|
}
|
|
148
153
|
|
|
154
|
+
function passArrayF32ToWasm0(arg, malloc) {
|
|
155
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
156
|
+
getFloat32ArrayMemory0().set(arg, ptr / 4);
|
|
157
|
+
WASM_VECTOR_LEN = arg.length;
|
|
158
|
+
return ptr;
|
|
159
|
+
}
|
|
160
|
+
|
|
149
161
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
150
162
|
if (realloc === undefined) {
|
|
151
163
|
const buf = cachedTextEncoder.encode(arg);
|
|
@@ -220,14 +232,22 @@ if (!('encodeInto' in cachedTextEncoder)) {
|
|
|
220
232
|
|
|
221
233
|
let WASM_VECTOR_LEN = 0;
|
|
222
234
|
|
|
223
|
-
function
|
|
224
|
-
wasm.
|
|
235
|
+
function __wasm_bindgen_func_elem_593(arg0, arg1, arg2) {
|
|
236
|
+
wasm.__wasm_bindgen_func_elem_593(arg0, arg1, addHeapObject(arg2));
|
|
225
237
|
}
|
|
226
238
|
|
|
227
|
-
function
|
|
228
|
-
wasm.
|
|
239
|
+
function __wasm_bindgen_func_elem_627(arg0, arg1, arg2, arg3) {
|
|
240
|
+
wasm.__wasm_bindgen_func_elem_627(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
|
229
241
|
}
|
|
230
242
|
|
|
243
|
+
const ClashRunResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
244
|
+
? { register: () => {}, unregister: () => {} }
|
|
245
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_clashrunresult_free(ptr >>> 0, 1));
|
|
246
|
+
|
|
247
|
+
const ClashSessionFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
248
|
+
? { register: () => {}, unregister: () => {} }
|
|
249
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_clashsession_free(ptr >>> 0, 1));
|
|
250
|
+
|
|
231
251
|
const IfcAPIFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
232
252
|
? { register: () => {}, unregister: () => {} }
|
|
233
253
|
: new FinalizationRegistry(ptr => wasm.__wbg_ifcapi_free(ptr >>> 0, 1));
|
|
@@ -268,6 +288,197 @@ const SymbolicTextFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
268
288
|
? { register: () => {}, unregister: () => {} }
|
|
269
289
|
: new FinalizationRegistry(ptr => wasm.__wbg_symbolictext_free(ptr >>> 0, 1));
|
|
270
290
|
|
|
291
|
+
/**
|
|
292
|
+
* Packed result of one rule run. Parallel arrays, one entry per clash record;
|
|
293
|
+
* `points` has 3 per record and `bounds` has 6 per record.
|
|
294
|
+
*/
|
|
295
|
+
export class ClashRunResult {
|
|
296
|
+
static __wrap(ptr) {
|
|
297
|
+
ptr = ptr >>> 0;
|
|
298
|
+
const obj = Object.create(ClashRunResult.prototype);
|
|
299
|
+
obj.__wbg_ptr = ptr;
|
|
300
|
+
ClashRunResultFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
301
|
+
return obj;
|
|
302
|
+
}
|
|
303
|
+
__destroy_into_raw() {
|
|
304
|
+
const ptr = this.__wbg_ptr;
|
|
305
|
+
this.__wbg_ptr = 0;
|
|
306
|
+
ClashRunResultFinalization.unregister(this);
|
|
307
|
+
return ptr;
|
|
308
|
+
}
|
|
309
|
+
free() {
|
|
310
|
+
const ptr = this.__destroy_into_raw();
|
|
311
|
+
wasm.__wbg_clashrunresult_free(ptr, 0);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* @returns {Uint32Array}
|
|
315
|
+
*/
|
|
316
|
+
get a() {
|
|
317
|
+
try {
|
|
318
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
319
|
+
wasm.clashrunresult_a(retptr, this.__wbg_ptr);
|
|
320
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
321
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
322
|
+
var v1 = getArrayU32FromWasm0(r0, r1).slice();
|
|
323
|
+
wasm.__wbindgen_export2(r0, r1 * 4, 4);
|
|
324
|
+
return v1;
|
|
325
|
+
} finally {
|
|
326
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* @returns {Uint32Array}
|
|
331
|
+
*/
|
|
332
|
+
get b() {
|
|
333
|
+
try {
|
|
334
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
335
|
+
wasm.clashrunresult_b(retptr, this.__wbg_ptr);
|
|
336
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
337
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
338
|
+
var v1 = getArrayU32FromWasm0(r0, r1).slice();
|
|
339
|
+
wasm.__wbindgen_export2(r0, r1 * 4, 4);
|
|
340
|
+
return v1;
|
|
341
|
+
} finally {
|
|
342
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* @returns {Float64Array}
|
|
347
|
+
*/
|
|
348
|
+
get bounds() {
|
|
349
|
+
try {
|
|
350
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
351
|
+
wasm.clashrunresult_bounds(retptr, this.__wbg_ptr);
|
|
352
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
353
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
354
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
355
|
+
wasm.__wbindgen_export2(r0, r1 * 8, 8);
|
|
356
|
+
return v1;
|
|
357
|
+
} finally {
|
|
358
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* @returns {Float64Array}
|
|
363
|
+
*/
|
|
364
|
+
get points() {
|
|
365
|
+
try {
|
|
366
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
367
|
+
wasm.clashrunresult_points(retptr, this.__wbg_ptr);
|
|
368
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
369
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
370
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
371
|
+
wasm.__wbindgen_export2(r0, r1 * 8, 8);
|
|
372
|
+
return v1;
|
|
373
|
+
} finally {
|
|
374
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* @returns {Uint8Array}
|
|
379
|
+
*/
|
|
380
|
+
get status() {
|
|
381
|
+
try {
|
|
382
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
383
|
+
wasm.clashrunresult_status(retptr, this.__wbg_ptr);
|
|
384
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
385
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
386
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
387
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
388
|
+
return v1;
|
|
389
|
+
} finally {
|
|
390
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* @returns {Float64Array}
|
|
395
|
+
*/
|
|
396
|
+
get distance() {
|
|
397
|
+
try {
|
|
398
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
399
|
+
wasm.clashrunresult_distance(retptr, this.__wbg_ptr);
|
|
400
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
401
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
402
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
403
|
+
wasm.__wbindgen_export2(r0, r1 * 8, 8);
|
|
404
|
+
return v1;
|
|
405
|
+
} finally {
|
|
406
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (Symbol.dispose) ClashRunResult.prototype[Symbol.dispose] = ClashRunResult.prototype.free;
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* A clash session: ingest element geometry once, then run rules repeatedly.
|
|
414
|
+
*/
|
|
415
|
+
export class ClashSession {
|
|
416
|
+
__destroy_into_raw() {
|
|
417
|
+
const ptr = this.__wbg_ptr;
|
|
418
|
+
this.__wbg_ptr = 0;
|
|
419
|
+
ClashSessionFinalization.unregister(this);
|
|
420
|
+
return ptr;
|
|
421
|
+
}
|
|
422
|
+
free() {
|
|
423
|
+
const ptr = this.__destroy_into_raw();
|
|
424
|
+
wasm.__wbg_clashsession_free(ptr, 0);
|
|
425
|
+
}
|
|
426
|
+
constructor() {
|
|
427
|
+
const ret = wasm.clashsession_new();
|
|
428
|
+
this.__wbg_ptr = ret >>> 0;
|
|
429
|
+
ClashSessionFinalization.register(this, this.__wbg_ptr, this);
|
|
430
|
+
return this;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Ingest N elements from flat arenas.
|
|
434
|
+
*
|
|
435
|
+
* - `positions`: concatenated per-element vertex coords (x,y,z,...)
|
|
436
|
+
* - `pos_ranges`: 2 per element = [float_offset, float_len]
|
|
437
|
+
* - `indices`: concatenated per-element LOCAL (0-based) triangle indices
|
|
438
|
+
* - `idx_ranges`: 2 per element = [idx_offset, idx_len]
|
|
439
|
+
* - `aabbs`: 6 per element = [minx,miny,minz,maxx,maxy,maxz]
|
|
440
|
+
* @param {Float32Array} positions
|
|
441
|
+
* @param {Uint32Array} pos_ranges
|
|
442
|
+
* @param {Uint32Array} indices
|
|
443
|
+
* @param {Uint32Array} idx_ranges
|
|
444
|
+
* @param {Float32Array} aabbs
|
|
445
|
+
*/
|
|
446
|
+
ingest(positions, pos_ranges, indices, idx_ranges, aabbs) {
|
|
447
|
+
const ptr0 = passArrayF32ToWasm0(positions, wasm.__wbindgen_export3);
|
|
448
|
+
const len0 = WASM_VECTOR_LEN;
|
|
449
|
+
const ptr1 = passArray32ToWasm0(pos_ranges, wasm.__wbindgen_export3);
|
|
450
|
+
const len1 = WASM_VECTOR_LEN;
|
|
451
|
+
const ptr2 = passArray32ToWasm0(indices, wasm.__wbindgen_export3);
|
|
452
|
+
const len2 = WASM_VECTOR_LEN;
|
|
453
|
+
const ptr3 = passArray32ToWasm0(idx_ranges, wasm.__wbindgen_export3);
|
|
454
|
+
const len3 = WASM_VECTOR_LEN;
|
|
455
|
+
const ptr4 = passArrayF32ToWasm0(aabbs, wasm.__wbindgen_export3);
|
|
456
|
+
const len4 = WASM_VECTOR_LEN;
|
|
457
|
+
wasm.clashsession_ingest(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Run one rule. `group_a`/`group_b` are GLOBAL element indices; an empty
|
|
461
|
+
* `group_b` means a self-clash within `group_a`. `mode`: 0 = hard,
|
|
462
|
+
* 1 = clearance. Records carry GLOBAL element indices.
|
|
463
|
+
* @param {Uint32Array} group_a
|
|
464
|
+
* @param {Uint32Array} group_b
|
|
465
|
+
* @param {number} mode
|
|
466
|
+
* @param {number} tolerance
|
|
467
|
+
* @param {number} clearance
|
|
468
|
+
* @param {boolean} report_touch
|
|
469
|
+
* @returns {ClashRunResult}
|
|
470
|
+
*/
|
|
471
|
+
runRule(group_a, group_b, mode, tolerance, clearance, report_touch) {
|
|
472
|
+
const ptr0 = passArray32ToWasm0(group_a, wasm.__wbindgen_export3);
|
|
473
|
+
const len0 = WASM_VECTOR_LEN;
|
|
474
|
+
const ptr1 = passArray32ToWasm0(group_b, wasm.__wbindgen_export3);
|
|
475
|
+
const len1 = WASM_VECTOR_LEN;
|
|
476
|
+
const ret = wasm.clashsession_runRule(this.__wbg_ptr, ptr0, len0, ptr1, len1, mode, tolerance, clearance, report_touch);
|
|
477
|
+
return ClashRunResult.__wrap(ret);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
if (Symbol.dispose) ClashSession.prototype[Symbol.dispose] = ClashSession.prototype.free;
|
|
481
|
+
|
|
271
482
|
/**
|
|
272
483
|
* Main IFC-Lite API
|
|
273
484
|
*/
|
|
@@ -391,6 +602,24 @@ export class IfcAPI {
|
|
|
391
602
|
heap[stack_pointer++] = undefined;
|
|
392
603
|
}
|
|
393
604
|
}
|
|
605
|
+
/**
|
|
606
|
+
* Parse the file and return every `IfcAlignment` directrix as a flat
|
|
607
|
+
* `Float32Array` of 3D line-list vertices `[x0,y0,z0, x1,y1,z1, …]` in
|
|
608
|
+
* the renderer's Y-up world space (RTC-subtracted, metres). Consecutive
|
|
609
|
+
* samples form line segments. Feed straight to
|
|
610
|
+
* `renderer.uploadAnnotationLines3D(...)`.
|
|
611
|
+
*
|
|
612
|
+
* Returns an empty array when the file has no alignments (or none with a
|
|
613
|
+
* resolvable Axis curve), so the caller can clear the overlay cheaply.
|
|
614
|
+
* @param {string} content
|
|
615
|
+
* @returns {Float32Array}
|
|
616
|
+
*/
|
|
617
|
+
parseAlignmentLines(content) {
|
|
618
|
+
const ptr0 = passStringToWasm0(content, wasm.__wbindgen_export3, wasm.__wbindgen_export4);
|
|
619
|
+
const len0 = WASM_VECTOR_LEN;
|
|
620
|
+
const ret = wasm.ifcapi_parseAlignmentLines(this.__wbg_ptr, ptr0, len0);
|
|
621
|
+
return takeObject(ret);
|
|
622
|
+
}
|
|
394
623
|
/**
|
|
395
624
|
* Extract raw profile polygons from all building elements with `IfcExtrudedAreaSolid`
|
|
396
625
|
* representations.
|
|
@@ -1932,7 +2161,7 @@ function __wbg_get_imports() {
|
|
|
1932
2161
|
const a = state0.a;
|
|
1933
2162
|
state0.a = 0;
|
|
1934
2163
|
try {
|
|
1935
|
-
return
|
|
2164
|
+
return __wasm_bindgen_func_elem_627(a, state0.b, arg0, arg1);
|
|
1936
2165
|
} finally {
|
|
1937
2166
|
state0.a = a;
|
|
1938
2167
|
}
|
|
@@ -2037,16 +2266,16 @@ function __wbg_get_imports() {
|
|
|
2037
2266
|
const ret = BigInt.asUintN(64, arg0);
|
|
2038
2267
|
return addHeapObject(ret);
|
|
2039
2268
|
};
|
|
2040
|
-
imports.wbg.__wbindgen_cast_89b0435615caf0ab = function(arg0, arg1) {
|
|
2041
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx: 211, function: Function { arguments: [Externref], shim_idx: 212, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
2042
|
-
const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_1684, __wasm_bindgen_func_elem_1685);
|
|
2043
|
-
return addHeapObject(ret);
|
|
2044
|
-
};
|
|
2045
2269
|
imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
|
|
2046
2270
|
// Cast intrinsic for `F64 -> Externref`.
|
|
2047
2271
|
const ret = arg0;
|
|
2048
2272
|
return addHeapObject(ret);
|
|
2049
2273
|
};
|
|
2274
|
+
imports.wbg.__wbindgen_cast_e7ad0d7b317830d5 = function(arg0, arg1) {
|
|
2275
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 56, function: Function { arguments: [Externref], shim_idx: 57, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
2276
|
+
const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_592, __wasm_bindgen_func_elem_593);
|
|
2277
|
+
return addHeapObject(ret);
|
|
2278
|
+
};
|
|
2050
2279
|
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
|
2051
2280
|
const ret = getObject(arg0);
|
|
2052
2281
|
return addHeapObject(ret);
|
package/pkg/ifc-lite_bg.wasm
CHANGED
|
Binary file
|