Skip to main content

remesh

Function remesh 

Source
pub fn remesh(
    model: &mut NamedModel,
    namer: &Namer,
    body_a: impl Into<Body>,
    body_b: impl Into<Body>,
    params: RemeshParams,
) -> GeopResult<Origins>
Expand description

Prepare body_a and body_b’s topology for a boolean operation or a split: every coincidence between them (vertex/vertex, vertex/edge, edge/edge, edge/face) is resolved into shared topology, so that afterwards the two bodies meet only along entities they genuinely share. Either may be a sheet: imprinting asks nothing of a body but its faces, edges and vertices.

Runs in strictly increasing order of dimension — vertices, then edges against vertices, then edges against edges, then edges against faces (but for the branch points of tangent edges, which are vertices) — so each phase can assume everything lower-dimensional has already settled (e.g. remesh_vertices_x_edges treats a point-coincidence with a different vertex id as a bug, since remesh_vertices should already have merged them).

Everything it creates is named by namer, following naming’s scheme.

Returns what every face and edge of either body came from (see Origins).