Skip to main content

split

Function split 

Source
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.