pub fn make_sweep_surface(
model: &mut Model,
profile: &Shape,
spine: &Shape,
law: &PipeLaw<'_>,
tol: Tolerances,
) -> OgeomResult<Built>Expand description
Sweep a profile along a spine into a sheet.
The profile is an edge or a wire, open or closed, planar or not, swept
as it stands: it is the sheet’s first section, and law turns it about
the spine the way it turns a pipe’s section (PipeLaw::Fixed carries
it by translation). The sheet has one face per profile edge and spine
edge, each spine edge’s faces skinned through their own copies and
meeting the next edge’s on the copy at the edges’ shared vertex, and no
caps; its far end is the profile where the law carries it to the
spine’s end. The skin passes through rigid copies of the profile placed
along the spine, exactly, and keeps within ten confusions of the swept
profile between them, measured halfway between each pair of copies.
§Errors
OgeomError::Construction if
the profile is not an edge or a wire or has a curve with no exact
B-spline form; if the spine is closed (a sweep surface along a closed
spine is not built), turns a sharp corner, or stands still; and as the
law refuses its spine (a Frenet frame along a spine that never bends,
a guide the stations’ planes do not cross).
OgeomError::NotDone if the skin
cannot reach the target with the most sections it is built through.