Skip to main content

Crate geop_lib_shell

Crate geop_lib_shell 

Source
Expand description

Rebuilding a solid face by face: some of its faces put on new surfaces, everything they reach moved to where the surfaces now meet (rebuilt, replace_faces) — what a draft, a face moved, offset or replaced, and a face deleted and healed over (delete_faces) do. Shelling: a solid hollowed out to walls of one thickness, open where faces are taken away (shell()); a sheet thickened into a solid (thicken) or offset (offset_faces). How the hollow is built, and what it does not do yet, is told in shell.rs.

What rebuilding needs, for others that do it: room around a surface ([extended]), a pcurve on it (pcurve), and whether a curve lies on the surfaces it should (surface_missed).

Enums§

Heal
What delete_faces leaves where the faces were.
Smooth
Whether replace_faces takes along the faces a face it puts on a new surface runs smoothly into, or refuses.

Functions§

delete_faces
Takes the faces faces out of their solid of part and leaves the gap as heal says — see the module docs — and returns what is left: the healed solid, named namer’s root, or the sheet. Every face, edge and vertex that stays keeps its name; of two vertices made one, the one the face’s loop reaches first.
offset_faces
Copies the faces faces of part — of a solid or of a sheet — into a sheet distance along their normals (against them for a negative distance), and returns it: the inner side of the faces shelled (see the module docs), sharing nothing with them, which stay as they are.
pcurve
The pcurve on surface of a coedge that runs along curve — or sits at a vertex, without one — from (u, v) start to end. Exact where it can be: on a surface affine in (u, v), a plane, the curve mapped (NurbSurface3D::affine_pcurve); and straight where the coedge it is a copy of ran along an iso-line, original, and its copy does too — the line keeps its u (or v) — as a cylinder’s rim or seam does. Fitted otherwise: a sphere’s meridian cut by a plane is straight, but its inner copy, where the offset plane cuts the offset sphere, is a small circle no straight pcurve follows.
rebuilt
The body spec rebuilt: the faces marked replaced lie on the surfaces spec gives them now — made from the old ones given room first (room): a fitted offset given room after, its end span of many carried on, is extrapolated and widened, and an exact one given room before and after is widened twice — every vertex they reach — and every vertex marked reseat, at the point spec gives as a seed — moves to where the surfaces around it meet, every edge they reach to where its faces’ surfaces meet (see the module docs). spec’s edge curves are where the edges were: the guides the new ones follow. names name its entities, for the errors.
replace_faces
Puts the faces faces of one solid of part on new surfaces — surface(name, old) gives the one for the face named name, on the surface old — and rebuilds the solid around them (rebuilt): the result replaces it, named namer’s root, and every face, edge and vertex keeps its name. What a draft, a face moved, offset or replaced do. A new surface’s normal points out of the solid, as the old one’s did.
room
surface with room around it: carried on past each side (NurbSurface3D::extended) by as much of its parameter as its end span is long that way — or by a half, a quarter or an eighth of that where more would carry it too far: an arc round past where its weights stay positive, a cone through its apex, a free-form patch past where it folds back on itself and has no normal. Not past a side that is a single point, a pole: the pole would end up inside the patch, where it has no normal. How much room is a free choice; the patch’s own size is room enough unless a face moves as far as it is wide.
shell
Hollows the solid solid of part out to walls thickness thick — measured inward from its faces, or outward for a negative thickness — those of the faces in thicker as thick as it says instead — open where its faces open were — see the module docs — and returns the hollowed solid, which replaces it and is named namer’s root.
surface_missed
The first of the faces faces, indices into surfaces, whose surface curve does not lie on all along, with a point that shows it: the middle of the first stretch of the curve that is off the surface. None if the curve could lie on all of them. A curve built for an edge between moved faces is only right if it does.
tangent_to_kept
A face to be put on another surface, f, that meets a face kept, g, tangentially along the edge e — a fillet or a smooth blend along it — if there is one: (f, g, e). Asked of spec before the surfaces change. A face kept that runs smoothly into one that moves would have to move with it, which rebuilt does not do: they would no longer meet along the edge, or cross where they should touch.
thicken
Thickens the sheet sheet of part into a solid of walls thickness thick — against its faces’ normals, or along them if along_normal — and returns it: the sheet shelled (see the module docs), which replaces it and is named namer’s root.