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.