pub fn offset_faces(
model: &mut Model,
solid: &Shape,
faces: &[Shape],
distance: f64,
tol: Tolerances,
) -> OgeomResult<Built>Expand description
Offset some faces of a solid by distance along their outward normals
(negative moves them into the material), the faces around them
following: a plane moves parallel, a cylinder, cone, sphere or torus
changes radius about its own axis or centre, and each neighbour stays on
its own surface, its edges re-derived where the moved faces now meet it.
The topology is kept one for one, so the history maps every face to the
face it became.
§Errors
As offset_shape, and additionally if distance moves nothing or a
face is not a face of solid. A move that would need a face the solid
does not have (a step where a moved face runs past a neighbour) or would
collapse one fails by name, as the rebuild’s vertices and edges do.