solidcraft-smlib: a plane face takes SMLib's own trims (fork c6530bf)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt
This commit is contained in:
jyviko
2026-10-22 16:34:43 -04:00
parent 369c897d85
commit a683077c43
2 changed files with 4 additions and 2 deletions
+1 -1
View File
@@ -1 +1 @@
c8a19a2497cd5bc3702b0f491d3540ca3bb0a4a3
c6530bfb94c79f266d7d94bf9e9a04c88c2e7b6a
+3 -1
View File
@@ -832,7 +832,9 @@ fn native_ordered(arrays: &Arrays) -> Res<(b::Brep, Report, Order)> {
let params = nurbs.as_ref().unwrap_or(&surface);
let natural = params.natural();
let domain = [onto([r[0], r[2]], natural[0]), onto([r[1], r[3]], natural[1])];
let spline = matches!(params, b::Surface::Spline { .. } | b::Surface::RationalSpline { .. });
// SMLib's own trims are taken where the arrays carry them: B-spline faces, NURBS forms, and
// planes (mapped onto the plane's own (u, v) by the export).
let spline = matches!(params, b::Surface::Spline { .. } | b::Surface::RationalSpline { .. } | b::Surface::Plane { .. });
let mut out = Vec::with_capacity(loops.len());
let mut records = Vec::with_capacity(loops.len());
let mut given = Vec::with_capacity(loops.len());