Skip to main content

imprint_on_face

Function imprint_on_face 

Source
pub fn imprint_on_face(
    model: &mut NamedModel,
    namer: &Namer,
    face: FaceId,
    tools: &[Body],
    params: RemeshParams,
) -> GeopResult<Vec<EdgeId>>
Expand description

Divides face along the curves where the boundaries of the bodies tools cross it, and returns the edges imprinted there. The tools are consumed; nothing else of the face’s body changes but the boundary edges of the face being split where a curve ends on them.

Named by namer as a boolean names what it creates (see naming), but for the curves and the face’s pieces: a curve along the tool’s face N(X) takes that name, the tool’s face being gone, and is N(X,k) for its k-th stretch if the face crosses this one several times. A piece split off the face F along it is N(F,X) or N(F,X,k), and the other piece keeps the name F. So what the user reads of a curve is what made it, not where it happened to end.

Fails, leaving the part with the face’s copy and the tools in it, if no tool crosses the face, a curve runs along one of its edges, a curve ends inside it, or a curve only joins two of its boundaries: each curve has to have a piece of the face on either side.