Skip to main content

loft_profile_brep_guided

Function loft_profile_brep_guided 

Source
pub fn loft_profile_brep_guided(
    sections: &[Vec<NurbsCurve>],
    guide: &NurbsCurve,
    name: Option<&str>,
) -> Result<BrepSolid, String>
Expand description

Loft a set of loft-compatible cross-sections so the loft’s SPINE follows a GUIDE curve (§5.8) instead of the straight centroid-to-centroid path.

V1 is TRANSLATION-ONLY: at each station along the guide the two bracketing sections are blended per control point (homogeneous, w blended too) into a compatible intermediate section, which is then RIGIDLY TRANSLATED so its centroid lands on the guide. The sections keep their OWN orientation — they bend along the guide but are not rotated into its moving frame (that is loft_profile_brep_guided_frame). The heavy lifting (skin surfaces, shared edges, planar end caps, winding normalization, validation) is delegated to loft_profile_brep, so the guided sections inherit all of its guarantees.

Clear Err on: fewer than 2 sections, incompatible sections, a degenerate guide, sections that do not project monotonically onto the guide, coincident stations, or a downstream loft failure.