@ifc-lite/wasm 6.5.0 → 8.0.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/README.md +19 -3
- package/package.json +1 -1
- package/pkg/ifc-lite.d.ts +53 -16
- package/pkg/ifc-lite.js +100 -20
- package/pkg/ifc-lite_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -157,6 +157,22 @@ for source identity, coordinate frames, budgets and host acceptance requirements
|
|
|
157
157
|
|
|
158
158
|
`IfcAPI.preparePdfVectorPage` validates bounded ordered PDF vector graphics states
|
|
159
159
|
and preserves source operator identity, calibrated transforms and paint state.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
Content the planner cannot convert (text, images, clips, transparency,
|
|
161
|
+
patterns, unqualified dashed strokes, curved/hairline strokes, unknown operators) is returned
|
|
162
|
+
as a fidelity report with counts, page extents and visibility, and an
|
|
163
|
+
`exact`/`rasterOnly` verdict; `IfcAPI.planPdfFillAnnotation` plans a partial
|
|
164
|
+
page only when the request quotes that report's digest as the user's
|
|
165
|
+
acceptance. It emits no IFC entities and makes no flattened-geometry fidelity
|
|
166
|
+
claim; see the
|
|
167
|
+
[preparation contract](../../docs/api/wasm.md#pdf-vector-graphics-state-preparation-and-fidelity-report).
|
|
168
|
+
Qualified positive dash patterns on open and closed straight subpaths preserve
|
|
169
|
+
phase, odd-array repetition, subpath reset, joins across vertices and run caps.
|
|
170
|
+
The closing edge participates in the pattern. PDF 1.0–1.7 retain caps where the
|
|
171
|
+
first and last on-dash pieces meet at the closure seam; PDF 2.0 joins them.
|
|
172
|
+
PDF.js's effective format version is bound into the page DTO; an unknown version
|
|
173
|
+
reports `dashVersion`, and a PDF 1.x dash covering the complete closed perimeter
|
|
174
|
+
reports `dashTopology`. Explicit close-path and close-and-stroke operators share
|
|
175
|
+
the versioned behavior.
|
|
176
|
+
Combined fill and dashed-stroke paints can still refuse atomically when
|
|
177
|
+
multiple run boundaries produce crossings outside the current fill-region
|
|
178
|
+
qualifier.
|
package/package.json
CHANGED
package/pkg/ifc-lite.d.ts
CHANGED
|
@@ -365,8 +365,17 @@ export class IfcAPI {
|
|
|
365
365
|
*
|
|
366
366
|
* `hidden` / `isolated` are express-id visibility filters; `hidden_types_csv` is a
|
|
367
367
|
* comma-separated list of IFC type names whose class toggle is off (e.g.
|
|
368
|
-
* `"IfcOpeningElement,IfcSpace"`). `
|
|
369
|
-
*
|
|
368
|
+
* `"IfcOpeningElement,IfcSpace"`). `isolated` carries the isolation allowlist's
|
|
369
|
+
* null-vs-empty distinction across the wasm boundary: omit it (`undefined`) for
|
|
370
|
+
* "no isolation filter" (every mesh is a candidate); pass an empty `Uint32Array`
|
|
371
|
+
* for "isolation is ACTIVE and currently matches nothing" (every mesh is
|
|
372
|
+
* excluded). Collapsing the two — as a bare `Uint32Array` parameter would force a
|
|
373
|
+
* caller to do — silently exports the whole model when a filter matches nothing
|
|
374
|
+
* (#4328 follow-up: reachable by filtering the Class tab to a type present only
|
|
375
|
+
* in a federated model's secondary member, then exporting "Visible Only"). A
|
|
376
|
+
* non-empty `Uint32Array` is the ordinary allowlist. `include_metadata` attaches
|
|
377
|
+
* counts + per-node `expressId`. Per-mesh RTC origin rides the node translation
|
|
378
|
+
* (precision-safe).
|
|
370
379
|
* `lit` emits standard PBR materials that shade from normals; omitted or
|
|
371
380
|
* `true` ⇒ lit (the default), `false` ⇒ flat `KHR_materials_unlit` (the
|
|
372
381
|
* historical look — #1321). Optional at the boundary so older 5-arg callers
|
|
@@ -381,7 +390,7 @@ export class IfcAPI {
|
|
|
381
390
|
* CLI/MCP wrappers; making the boundary itself refuse means SDK/viewer/
|
|
382
391
|
* direct callers inherit it too (the TS guards stay as defense-in-depth).
|
|
383
392
|
*/
|
|
384
|
-
exportGlb(content: Uint8Array, include_metadata: boolean, hidden: Uint32Array, isolated: Uint32Array, hidden_types_csv: string, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
|
|
393
|
+
exportGlb(content: Uint8Array, include_metadata: boolean, hidden: Uint32Array, isolated: Uint32Array | null | undefined, hidden_types_csv: string, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
|
|
385
394
|
/**
|
|
386
395
|
* Assemble a **GLB** from already-produced meshes (the viewer's `MeshData`, flattened)
|
|
387
396
|
* — no re-meshing. Per mesh `i`: `vertex_counts[i]` verts + `index_counts[i]` indices
|
|
@@ -390,11 +399,13 @@ export class IfcAPI {
|
|
|
390
399
|
* per-mesh local). The caller passes exactly the meshes it wants emitted.
|
|
391
400
|
*
|
|
392
401
|
* Fails CLOSED: if the declared vertex/index counts run past the flattened
|
|
393
|
-
* `positions` / `indices`, there are fewer `index_counts` than meshes,
|
|
394
|
-
* is empty or too short to cover every vertex,
|
|
395
|
-
*
|
|
396
|
-
*
|
|
397
|
-
*
|
|
402
|
+
* `positions` / `indices`, there are fewer `index_counts` than meshes, `normals`
|
|
403
|
+
* is empty or too short to cover every vertex, or an index names a vertex its own
|
|
404
|
+
* mesh does not have (glTF 2.0 3.7.2.1), this throws an `Error` whose message
|
|
405
|
+
* starts with `MALFORMED_MESH_INPUT` — instead of silently emitting a GLB with
|
|
406
|
+
* those meshes dropped, or one carrying the out-of-range index straight into the
|
|
407
|
+
* BIN chunk. (The viewer always passes fully-backed, normal-covered, in-range
|
|
408
|
+
* arrays, so this only fires on a caller bug.)
|
|
398
409
|
*/
|
|
399
410
|
exportGlbFromMeshes(positions: Float32Array, normals: Float32Array, indices: Uint32Array, vertex_counts: Uint32Array, index_counts: Uint32Array, colors: Float32Array, origins: Float64Array, express_ids: Uint32Array, include_metadata: boolean, lit?: boolean | null, emissive?: boolean | null): Uint8Array;
|
|
400
411
|
/**
|
|
@@ -473,6 +484,14 @@ export class IfcAPI {
|
|
|
473
484
|
* `altitude_mode` (`"clampToGround"` default ⇒ rest on terrain, ignoring
|
|
474
485
|
* `altitude`; `"absolute"` ⇒ place at `altitude` metres MSL) selects the
|
|
475
486
|
* KML vertical placement (#1427).
|
|
487
|
+
*
|
|
488
|
+
* Fails CLOSED: when no triangle survives (an empty visible set, or meshes
|
|
489
|
+
* whose only triangles are degenerate and collapse in the vertex dedup)
|
|
490
|
+
* this throws an `Error` whose message starts with `NO_RENDER_GEOMETRY`;
|
|
491
|
+
* a declared vertex/index count running past its buffer throws
|
|
492
|
+
* `MALFORMED_MESH_INPUT`, as `exportGlbFromMeshes` does. Both used to ship
|
|
493
|
+
* as a small "successful" archive: the first around a COLLADA document
|
|
494
|
+
* the 1.4.1 schema rejects, the second with every later mesh missing.
|
|
476
495
|
*/
|
|
477
496
|
exportKmzFromMeshes(positions: Float32Array, normals: Float32Array, indices: Uint32Array, vertex_counts: Uint32Array, index_counts: Uint32Array, colors: Float32Array, origins: Float64Array, latitude: number, longitude: number, altitude: number, x_axis_abscissa: number | null | undefined, x_axis_ordinate: number | null | undefined, name: string, altitude_mode?: string | null): Uint8Array;
|
|
478
497
|
/**
|
|
@@ -489,14 +508,21 @@ export class IfcAPI {
|
|
|
489
508
|
* V8 max-string ceiling (~512 MB); decode with `TextDecoder` when a string
|
|
490
509
|
* is genuinely needed.
|
|
491
510
|
*
|
|
492
|
-
* `hidden`
|
|
493
|
-
*
|
|
511
|
+
* `hidden` is an express-id filter mirroring the viewer's visibility state.
|
|
512
|
+
* `isolated` carries the isolation allowlist's null-vs-empty distinction across
|
|
513
|
+
* the wasm boundary: omit it (`undefined`) for "no isolation filter" (every mesh
|
|
514
|
+
* is a candidate); pass an empty `Uint32Array` for "isolation is ACTIVE and
|
|
515
|
+
* currently matches nothing" (every mesh is excluded). Collapsing the two — as a
|
|
516
|
+
* bare `Uint32Array` parameter would force a caller to do — silently exports the
|
|
517
|
+
* whole model when a filter matches nothing (the OBJ twin of #4328/#4364, fixed
|
|
518
|
+
* for GLB in `export_glb`). A non-empty `Uint32Array` is the ordinary allowlist.
|
|
519
|
+
* Instanced type-library shapes are skipped regardless of the filter.
|
|
494
520
|
*
|
|
495
521
|
* ```javascript
|
|
496
|
-
* const obj = api.exportObj(ifcContent, true, new Uint32Array(),
|
|
522
|
+
* const obj = api.exportObj(ifcContent, true, new Uint32Array(), undefined);
|
|
497
523
|
* ```
|
|
498
524
|
*/
|
|
499
|
-
exportObj(content: Uint8Array, include_normals: boolean, hidden: Uint32Array, isolated
|
|
525
|
+
exportObj(content: Uint8Array, include_normals: boolean, hidden: Uint32Array, isolated?: Uint32Array | null): Uint8Array;
|
|
500
526
|
/**
|
|
501
527
|
* Re-serialize the model in `content` to STEP/IFC UTF-8 bytes.
|
|
502
528
|
*
|
|
@@ -651,13 +677,23 @@ export class IfcAPI {
|
|
|
651
677
|
*/
|
|
652
678
|
planPageAppearance(content: Uint8Array, request_json: string, rgba: Uint8Array): Uint8Array;
|
|
653
679
|
/**
|
|
654
|
-
* Plan
|
|
655
|
-
* geometry
|
|
680
|
+
* Plan an opaque polygonal PDF fill page as canonical IfcAnnotation
|
|
681
|
+
* geometry with a provenance property set. An exact page plans directly; a
|
|
682
|
+
* page with visible omissions needs the accepted fidelity report digest.
|
|
656
683
|
*/
|
|
657
684
|
planPdfFillAnnotation(source: Uint8Array, request_json: string): Uint8Array;
|
|
658
685
|
/**
|
|
659
|
-
*
|
|
660
|
-
*
|
|
686
|
+
* Registered RGB point-cloud observations (#4381). `request_json.source`
|
|
687
|
+
* is `{kind:'points', …}`; `positions` (3n f64, source-frame metres) and
|
|
688
|
+
* `colors` (3n RGB8) are the payload, `normals` (3n f32, oriented) and
|
|
689
|
+
* `stations` (n indices into `source.viewpoints`) are empty when absent.
|
|
690
|
+
* `rgba` carries only the target's existing rasters. Same output as
|
|
691
|
+
* `planMeshTransfer`; `transfer.source` records the orientation used.
|
|
692
|
+
*/
|
|
693
|
+
planPointTransfer(content: Uint8Array, request_json: string, rgba: Uint8Array, positions: Float64Array, colors: Uint8Array, normals: Float32Array, stations: Uint32Array): Uint8Array;
|
|
694
|
+
/**
|
|
695
|
+
* Prepare bounded ordered PDF vector graphics states and the page fidelity
|
|
696
|
+
* report (convertible paths, omissions with extent, exact/raster-only).
|
|
661
697
|
*/
|
|
662
698
|
preparePdfVectorPage(request_json: string): Uint8Array;
|
|
663
699
|
/**
|
|
@@ -2095,6 +2131,7 @@ export interface InitOutput {
|
|
|
2095
2131
|
readonly ifcapi_planMeshTransfer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
2096
2132
|
readonly ifcapi_planPageAppearance: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
2097
2133
|
readonly ifcapi_planPdfFillAnnotation: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
2134
|
+
readonly ifcapi_planPointTransfer: (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) => void;
|
|
2098
2135
|
readonly ifcapi_preparePdfVectorPage: (a: number, b: number, c: number, d: number) => void;
|
|
2099
2136
|
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, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number) => number;
|
|
2100
2137
|
readonly ifcapi_processGeometryBatchFromSource: (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, u: number, v: number, w: number, x: number, y: number, z: number) => number;
|
package/pkg/ifc-lite.js
CHANGED
|
@@ -991,8 +991,17 @@ export class IfcAPI {
|
|
|
991
991
|
*
|
|
992
992
|
* `hidden` / `isolated` are express-id visibility filters; `hidden_types_csv` is a
|
|
993
993
|
* comma-separated list of IFC type names whose class toggle is off (e.g.
|
|
994
|
-
* `"IfcOpeningElement,IfcSpace"`). `
|
|
995
|
-
*
|
|
994
|
+
* `"IfcOpeningElement,IfcSpace"`). `isolated` carries the isolation allowlist's
|
|
995
|
+
* null-vs-empty distinction across the wasm boundary: omit it (`undefined`) for
|
|
996
|
+
* "no isolation filter" (every mesh is a candidate); pass an empty `Uint32Array`
|
|
997
|
+
* for "isolation is ACTIVE and currently matches nothing" (every mesh is
|
|
998
|
+
* excluded). Collapsing the two — as a bare `Uint32Array` parameter would force a
|
|
999
|
+
* caller to do — silently exports the whole model when a filter matches nothing
|
|
1000
|
+
* (#4328 follow-up: reachable by filtering the Class tab to a type present only
|
|
1001
|
+
* in a federated model's secondary member, then exporting "Visible Only"). A
|
|
1002
|
+
* non-empty `Uint32Array` is the ordinary allowlist. `include_metadata` attaches
|
|
1003
|
+
* counts + per-node `expressId`. Per-mesh RTC origin rides the node translation
|
|
1004
|
+
* (precision-safe).
|
|
996
1005
|
* `lit` emits standard PBR materials that shade from normals; omitted or
|
|
997
1006
|
* `true` ⇒ lit (the default), `false` ⇒ flat `KHR_materials_unlit` (the
|
|
998
1007
|
* historical look — #1321). Optional at the boundary so older 5-arg callers
|
|
@@ -1009,7 +1018,7 @@ export class IfcAPI {
|
|
|
1009
1018
|
* @param {Uint8Array} content
|
|
1010
1019
|
* @param {boolean} include_metadata
|
|
1011
1020
|
* @param {Uint32Array} hidden
|
|
1012
|
-
* @param {Uint32Array} isolated
|
|
1021
|
+
* @param {Uint32Array | null | undefined} isolated
|
|
1013
1022
|
* @param {string} hidden_types_csv
|
|
1014
1023
|
* @param {boolean | null} [lit]
|
|
1015
1024
|
* @param {boolean | null} [emissive]
|
|
@@ -1022,8 +1031,8 @@ export class IfcAPI {
|
|
|
1022
1031
|
const len0 = WASM_VECTOR_LEN;
|
|
1023
1032
|
const ptr1 = passArray32ToWasm0(hidden, wasm.__wbindgen_export);
|
|
1024
1033
|
const len1 = WASM_VECTOR_LEN;
|
|
1025
|
-
|
|
1026
|
-
|
|
1034
|
+
var ptr2 = isLikeNone(isolated) ? 0 : passArray32ToWasm0(isolated, wasm.__wbindgen_export);
|
|
1035
|
+
var len2 = WASM_VECTOR_LEN;
|
|
1027
1036
|
const ptr3 = passStringToWasm0(hidden_types_csv, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
1028
1037
|
const len3 = WASM_VECTOR_LEN;
|
|
1029
1038
|
wasm.ifcapi_exportGlb(retptr, this.__wbg_ptr, ptr0, len0, include_metadata, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(lit) ? 0xFFFFFF : lit ? 1 : 0, isLikeNone(emissive) ? 0xFFFFFF : emissive ? 1 : 0);
|
|
@@ -1049,11 +1058,13 @@ export class IfcAPI {
|
|
|
1049
1058
|
* per-mesh local). The caller passes exactly the meshes it wants emitted.
|
|
1050
1059
|
*
|
|
1051
1060
|
* Fails CLOSED: if the declared vertex/index counts run past the flattened
|
|
1052
|
-
* `positions` / `indices`, there are fewer `index_counts` than meshes,
|
|
1053
|
-
* is empty or too short to cover every vertex,
|
|
1054
|
-
*
|
|
1055
|
-
*
|
|
1056
|
-
*
|
|
1061
|
+
* `positions` / `indices`, there are fewer `index_counts` than meshes, `normals`
|
|
1062
|
+
* is empty or too short to cover every vertex, or an index names a vertex its own
|
|
1063
|
+
* mesh does not have (glTF 2.0 3.7.2.1), this throws an `Error` whose message
|
|
1064
|
+
* starts with `MALFORMED_MESH_INPUT` — instead of silently emitting a GLB with
|
|
1065
|
+
* those meshes dropped, or one carrying the out-of-range index straight into the
|
|
1066
|
+
* BIN chunk. (The viewer always passes fully-backed, normal-covered, in-range
|
|
1067
|
+
* arrays, so this only fires on a caller bug.)
|
|
1057
1068
|
* @param {Float32Array} positions
|
|
1058
1069
|
* @param {Float32Array} normals
|
|
1059
1070
|
* @param {Uint32Array} indices
|
|
@@ -1295,6 +1306,14 @@ export class IfcAPI {
|
|
|
1295
1306
|
* `altitude_mode` (`"clampToGround"` default ⇒ rest on terrain, ignoring
|
|
1296
1307
|
* `altitude`; `"absolute"` ⇒ place at `altitude` metres MSL) selects the
|
|
1297
1308
|
* KML vertical placement (#1427).
|
|
1309
|
+
*
|
|
1310
|
+
* Fails CLOSED: when no triangle survives (an empty visible set, or meshes
|
|
1311
|
+
* whose only triangles are degenerate and collapse in the vertex dedup)
|
|
1312
|
+
* this throws an `Error` whose message starts with `NO_RENDER_GEOMETRY`;
|
|
1313
|
+
* a declared vertex/index count running past its buffer throws
|
|
1314
|
+
* `MALFORMED_MESH_INPUT`, as `exportGlbFromMeshes` does. Both used to ship
|
|
1315
|
+
* as a small "successful" archive: the first around a COLLADA document
|
|
1316
|
+
* the 1.4.1 schema rejects, the second with every later mesh missing.
|
|
1298
1317
|
* @param {Float32Array} positions
|
|
1299
1318
|
* @param {Float32Array} normals
|
|
1300
1319
|
* @param {Uint32Array} indices
|
|
@@ -1335,6 +1354,11 @@ export class IfcAPI {
|
|
|
1335
1354
|
wasm.ifcapi_exportKmzFromMeshes(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, latitude, longitude, altitude, !isLikeNone(x_axis_abscissa), isLikeNone(x_axis_abscissa) ? 0 : x_axis_abscissa, !isLikeNone(x_axis_ordinate), isLikeNone(x_axis_ordinate) ? 0 : x_axis_ordinate, ptr7, len7, ptr8, len8);
|
|
1336
1355
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1337
1356
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1357
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1358
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1359
|
+
if (r3) {
|
|
1360
|
+
throw takeObject(r2);
|
|
1361
|
+
}
|
|
1338
1362
|
var v10 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1339
1363
|
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
1340
1364
|
return v10;
|
|
@@ -1378,16 +1402,23 @@ export class IfcAPI {
|
|
|
1378
1402
|
* V8 max-string ceiling (~512 MB); decode with `TextDecoder` when a string
|
|
1379
1403
|
* is genuinely needed.
|
|
1380
1404
|
*
|
|
1381
|
-
* `hidden`
|
|
1382
|
-
*
|
|
1405
|
+
* `hidden` is an express-id filter mirroring the viewer's visibility state.
|
|
1406
|
+
* `isolated` carries the isolation allowlist's null-vs-empty distinction across
|
|
1407
|
+
* the wasm boundary: omit it (`undefined`) for "no isolation filter" (every mesh
|
|
1408
|
+
* is a candidate); pass an empty `Uint32Array` for "isolation is ACTIVE and
|
|
1409
|
+
* currently matches nothing" (every mesh is excluded). Collapsing the two — as a
|
|
1410
|
+
* bare `Uint32Array` parameter would force a caller to do — silently exports the
|
|
1411
|
+
* whole model when a filter matches nothing (the OBJ twin of #4328/#4364, fixed
|
|
1412
|
+
* for GLB in `export_glb`). A non-empty `Uint32Array` is the ordinary allowlist.
|
|
1413
|
+
* Instanced type-library shapes are skipped regardless of the filter.
|
|
1383
1414
|
*
|
|
1384
1415
|
* ```javascript
|
|
1385
|
-
* const obj = api.exportObj(ifcContent, true, new Uint32Array(),
|
|
1416
|
+
* const obj = api.exportObj(ifcContent, true, new Uint32Array(), undefined);
|
|
1386
1417
|
* ```
|
|
1387
1418
|
* @param {Uint8Array} content
|
|
1388
1419
|
* @param {boolean} include_normals
|
|
1389
1420
|
* @param {Uint32Array} hidden
|
|
1390
|
-
* @param {Uint32Array} isolated
|
|
1421
|
+
* @param {Uint32Array | null} [isolated]
|
|
1391
1422
|
* @returns {Uint8Array}
|
|
1392
1423
|
*/
|
|
1393
1424
|
exportObj(content, include_normals, hidden, isolated) {
|
|
@@ -1397,8 +1428,8 @@ export class IfcAPI {
|
|
|
1397
1428
|
const len0 = WASM_VECTOR_LEN;
|
|
1398
1429
|
const ptr1 = passArray32ToWasm0(hidden, wasm.__wbindgen_export);
|
|
1399
1430
|
const len1 = WASM_VECTOR_LEN;
|
|
1400
|
-
|
|
1401
|
-
|
|
1431
|
+
var ptr2 = isLikeNone(isolated) ? 0 : passArray32ToWasm0(isolated, wasm.__wbindgen_export);
|
|
1432
|
+
var len2 = WASM_VECTOR_LEN;
|
|
1402
1433
|
wasm.ifcapi_exportObj(retptr, this.__wbg_ptr, ptr0, len0, include_normals, ptr1, len1, ptr2, len2);
|
|
1403
1434
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1404
1435
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
@@ -1882,8 +1913,9 @@ export class IfcAPI {
|
|
|
1882
1913
|
}
|
|
1883
1914
|
}
|
|
1884
1915
|
/**
|
|
1885
|
-
* Plan
|
|
1886
|
-
* geometry
|
|
1916
|
+
* Plan an opaque polygonal PDF fill page as canonical IfcAnnotation
|
|
1917
|
+
* geometry with a provenance property set. An exact page plans directly; a
|
|
1918
|
+
* page with visible omissions needs the accepted fidelity report digest.
|
|
1887
1919
|
* @param {Uint8Array} source
|
|
1888
1920
|
* @param {string} request_json
|
|
1889
1921
|
* @returns {Uint8Array}
|
|
@@ -1911,8 +1943,56 @@ export class IfcAPI {
|
|
|
1911
1943
|
}
|
|
1912
1944
|
}
|
|
1913
1945
|
/**
|
|
1914
|
-
*
|
|
1915
|
-
*
|
|
1946
|
+
* Registered RGB point-cloud observations (#4381). `request_json.source`
|
|
1947
|
+
* is `{kind:'points', …}`; `positions` (3n f64, source-frame metres) and
|
|
1948
|
+
* `colors` (3n RGB8) are the payload, `normals` (3n f32, oriented) and
|
|
1949
|
+
* `stations` (n indices into `source.viewpoints`) are empty when absent.
|
|
1950
|
+
* `rgba` carries only the target's existing rasters. Same output as
|
|
1951
|
+
* `planMeshTransfer`; `transfer.source` records the orientation used.
|
|
1952
|
+
* @param {Uint8Array} content
|
|
1953
|
+
* @param {string} request_json
|
|
1954
|
+
* @param {Uint8Array} rgba
|
|
1955
|
+
* @param {Float64Array} positions
|
|
1956
|
+
* @param {Uint8Array} colors
|
|
1957
|
+
* @param {Float32Array} normals
|
|
1958
|
+
* @param {Uint32Array} stations
|
|
1959
|
+
* @returns {Uint8Array}
|
|
1960
|
+
*/
|
|
1961
|
+
planPointTransfer(content, request_json, rgba, positions, colors, normals, stations) {
|
|
1962
|
+
try {
|
|
1963
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1964
|
+
const ptr0 = passArray8ToWasm0(content, wasm.__wbindgen_export);
|
|
1965
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1966
|
+
const ptr1 = passStringToWasm0(request_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
1967
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1968
|
+
const ptr2 = passArray8ToWasm0(rgba, wasm.__wbindgen_export);
|
|
1969
|
+
const len2 = WASM_VECTOR_LEN;
|
|
1970
|
+
const ptr3 = passArrayF64ToWasm0(positions, wasm.__wbindgen_export);
|
|
1971
|
+
const len3 = WASM_VECTOR_LEN;
|
|
1972
|
+
const ptr4 = passArray8ToWasm0(colors, wasm.__wbindgen_export);
|
|
1973
|
+
const len4 = WASM_VECTOR_LEN;
|
|
1974
|
+
const ptr5 = passArrayF32ToWasm0(normals, wasm.__wbindgen_export);
|
|
1975
|
+
const len5 = WASM_VECTOR_LEN;
|
|
1976
|
+
const ptr6 = passArray32ToWasm0(stations, wasm.__wbindgen_export);
|
|
1977
|
+
const len6 = WASM_VECTOR_LEN;
|
|
1978
|
+
wasm.ifcapi_planPointTransfer(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6);
|
|
1979
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1980
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1981
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1982
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1983
|
+
if (r3) {
|
|
1984
|
+
throw takeObject(r2);
|
|
1985
|
+
}
|
|
1986
|
+
var v8 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1987
|
+
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
1988
|
+
return v8;
|
|
1989
|
+
} finally {
|
|
1990
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1991
|
+
}
|
|
1992
|
+
}
|
|
1993
|
+
/**
|
|
1994
|
+
* Prepare bounded ordered PDF vector graphics states and the page fidelity
|
|
1995
|
+
* report (convertible paths, omissions with extent, exact/raster-only).
|
|
1916
1996
|
* @param {string} request_json
|
|
1917
1997
|
* @returns {Uint8Array}
|
|
1918
1998
|
*/
|
package/pkg/ifc-lite_bg.wasm
CHANGED
|
Binary file
|