pub fn combine_tools(
model: &mut NamedModel,
namer: &Namer,
step: &str,
tools: &[Tool],
how: &Combine,
) -> GeopResult<Reach<()>>Expand description
Combines the tools built, one after the other, as how says, as the
step step, whose names namer builds: the result is named namer’s
root, and what the k-th tool’s combination creates is named after
combine(E) — scoped by the tool’s own scope, if it has one. An
empty result — an intersection with a solid the new one does not
touch — leaves no solid, and no tool. A tool going up to the next
face that nothing stops all round Reach::RunsOn, and leaves
model part way through: a caller going another way tries on a copy.
A new body is the tools as built — a tool going up to the next face
of whichever other solid it meets first (see piece_up_to_next),
those solids left as they are — joined into one.
Combined with a target, each tool is recorded, as built, as the
feature of the step (see geop_ops_model::Feature): what a pattern of
the feature copies and combines the same way. A new body is no
feature: it is a body, patterned as one.