Function loft_surface
pub fn loft_surface(
sections: &[BSplineCurve<DVec3>],
) -> Result<BSplineSurface, GeomError>Expand description
Loft a surface through ordered section curves.
Each section becomes a row of the control net, so the surface passes
exactly through every section: at the section’s own u parameter the
surface reduces to that curve. Section spacing along u is chord length
between corresponding control points, matching the curve case.
Sections must share a degree and control-point count. Reconciling
mismatched sections requires knot merging and degree elevation, and doing
that implicitly would change the caller’s curves inside what looks like a
pure construction – so it is refused, and the caller elevates explicitly
with elevate_degree3.