pub fn split(
model: &mut NamedModel,
namer: &Namer,
solid: SolidId,
sheet: ShellId,
params: RemeshParams,
) -> GeopResult<Vec<SolidId>>Expand description
Splits solid along the sheet sheet into the pieces it cuts the solid
into, each a solid of its own. The solid is consumed; the sheet is left as
it is — a copy of it does the cutting.
The pieces are named N(0), N(1), …, ordered by the smallest name of
a face they kept of the solid, so the order does not depend on how they
were found. Every face, edge and vertex keeps its name in the first piece
it is part of; a piece sharing it with an earlier one — the cut, on its
other side, and the edges and vertices around it — names its own copy
N(name,k) for piece k. What the cutting creates is named as a
boolean names what it creates (see naming), the copy of the
sheet’s face F being N(F).
Fails, leaving the solid in pieces of no use, unless the sheet cuts the solid clean through: a sheet ending inside the solid, or one along which the solid stays connected, splits nothing.