Skip to content

Commit 8408c88

Browse files
authored
Fix diagonal opening cuts for walls and roof windows (#640)
1 parent 8ae9a10 commit 8408c88

6 files changed

Lines changed: 753 additions & 181 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"@ifc-lite/wasm": patch
3+
---
4+
5+
Fix diagonal and roof-window opening cuts. Oblique multilayer wall parts keep
6+
their opening soffits within the actual wall geometry, BRep roof openings
7+
preserve their full sloped opening frame instead of falling back to world axes,
8+
and roof windows on shallow-slope roofs are no longer routed through unstable
9+
full CSG by a too-aggressive "vertical extrusion ⇒ floor opening" heuristic —
10+
classification is now per-item based on whether the opening mesh is actually a
11+
clean rectangular box.

packages/wasm/pkg/ifc-lite.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,9 +1194,9 @@ export interface InitOutput {
11941194
readonly profileentryjs_expressId: (a: number) => number;
11951195
readonly symboliccircle_expressId: (a: number) => number;
11961196
readonly __wbg_gpuinstancedgeometryref_free: (a: number, b: number) => void;
1197-
readonly __wasm_bindgen_func_elem_1164: (a: number, b: number, c: number) => void;
1198-
readonly __wasm_bindgen_func_elem_1163: (a: number, b: number) => void;
1199-
readonly __wasm_bindgen_func_elem_1203: (a: number, b: number, c: number, d: number) => void;
1197+
readonly __wasm_bindgen_func_elem_1165: (a: number, b: number, c: number) => void;
1198+
readonly __wasm_bindgen_func_elem_1164: (a: number, b: number) => void;
1199+
readonly __wasm_bindgen_func_elem_1205: (a: number, b: number, c: number, d: number) => void;
12001200
readonly __wbindgen_export: (a: number) => void;
12011201
readonly __wbindgen_export2: (a: number, b: number, c: number) => void;
12021202
readonly __wbindgen_export3: (a: number, b: number) => number;

packages/wasm/pkg/ifc-lite.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,12 @@ if (!('encodeInto' in cachedTextEncoder)) {
212212

213213
let WASM_VECTOR_LEN = 0;
214214

215-
function __wasm_bindgen_func_elem_1164(arg0, arg1, arg2) {
216-
wasm.__wasm_bindgen_func_elem_1164(arg0, arg1, addHeapObject(arg2));
215+
function __wasm_bindgen_func_elem_1165(arg0, arg1, arg2) {
216+
wasm.__wasm_bindgen_func_elem_1165(arg0, arg1, addHeapObject(arg2));
217217
}
218218

219-
function __wasm_bindgen_func_elem_1203(arg0, arg1, arg2, arg3) {
220-
wasm.__wasm_bindgen_func_elem_1203(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
219+
function __wasm_bindgen_func_elem_1205(arg0, arg1, arg2, arg3) {
220+
wasm.__wasm_bindgen_func_elem_1205(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
221221
}
222222

223223
const GeoReferenceJsFinalization = (typeof FinalizationRegistry === 'undefined')
@@ -3093,7 +3093,7 @@ function __wbg_get_imports() {
30933093
const a = state0.a;
30943094
state0.a = 0;
30953095
try {
3096-
return __wasm_bindgen_func_elem_1203(a, state0.b, arg0, arg1);
3096+
return __wasm_bindgen_func_elem_1205(a, state0.b, arg0, arg1);
30973097
} finally {
30983098
state0.a = a;
30993099
}
@@ -3207,7 +3207,7 @@ function __wbg_get_imports() {
32073207
};
32083208
imports.wbg.__wbindgen_cast_49a1621a976e807f = function(arg0, arg1) {
32093209
// Cast intrinsic for `Closure(Closure { dtor_idx: 154, function: Function { arguments: [Externref], shim_idx: 155, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3210-
const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_1163, __wasm_bindgen_func_elem_1164);
3210+
const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_1164, __wasm_bindgen_func_elem_1165);
32113211
return addHeapObject(ret);
32123212
};
32133213
imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {

packages/wasm/pkg/ifc-lite_bg.wasm

4.36 KB
Binary file not shown.

packages/wasm/pkg/ifc-lite_bg.wasm.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,9 @@ export const meshcollection_rtcOffsetX: (a: number) => number;
215215
export const profileentryjs_expressId: (a: number) => number;
216216
export const symboliccircle_expressId: (a: number) => number;
217217
export const __wbg_gpuinstancedgeometryref_free: (a: number, b: number) => void;
218-
export const __wasm_bindgen_func_elem_1164: (a: number, b: number, c: number) => void;
219-
export const __wasm_bindgen_func_elem_1163: (a: number, b: number) => void;
220-
export const __wasm_bindgen_func_elem_1203: (a: number, b: number, c: number, d: number) => void;
218+
export const __wasm_bindgen_func_elem_1165: (a: number, b: number, c: number) => void;
219+
export const __wasm_bindgen_func_elem_1164: (a: number, b: number) => void;
220+
export const __wasm_bindgen_func_elem_1205: (a: number, b: number, c: number, d: number) => void;
221221
export const __wbindgen_export: (a: number) => void;
222222
export const __wbindgen_export2: (a: number, b: number, c: number) => void;
223223
export const __wbindgen_export3: (a: number, b: number) => number;

0 commit comments

Comments
 (0)