extrude_profile_lofted

Function extrude_profile_lofted 

Source
pub fn extrude_profile_lofted(
    start: &Profile2D,
    end: &Profile2D,
    depth: f64,
    transform: Option<Matrix4<f64>>,
) -> Result<Mesh>
Expand description

Extrude with a different cross section at the top (lofted/tapered extrusion).

Used for IfcExtrudedAreaSolidTapered. The two profiles must share topology per the IFC WR2 constraint, which we trust to mean same winding direction and corresponding start vertex — the side walls are stitched 1:1 by vertex index, so reversed winding or rotated start indices would cross. In practice authoring tools sometimes emit loops with different vertex counts; we resample the shorter loop to the longer one’s length (by arc length) so a side wall can always be built. Holes are paired by index; any pair where either side has fewer than 3 vertices is dropped from both caps so the mesh stays manifold.