pub fn boolean_up_to_next(
model: &mut NamedModel,
namer: &Namer,
target: SolidId,
tool: SolidId,
op: BooleanOp,
(start, end): (&str, &str),
params: RemeshParams,
) -> GeopResult<Reach<Option<SolidId>>>Expand description
Like boolean — target combined with tool — but “up to next”:
only the first piece of tool its face start reaches is combined.
For a BooleanOp::Union that is the first piece of the tool outside
the target — growing from start until it runs into the target; for a
BooleanOp::Difference or BooleanOp::Intersection, the first
piece inside it — cutting, or keeping, from where the tool enters the
target until it comes out of it again. The tool has to be long enough to
reach past whatever stops it: if the piece also reaches its face end,
nothing stopped it, and it Reach::RunsOn. start and end are the
names those faces had before the boolean (see naming).