Expand description
Joining loose topology: ordering a bag of edges into a wire, and sewing free faces into a shell.
Both exist because geometry arrives disconnected. An imported file gives a pile of faces that touch but share nothing; a sketch gives edges in whatever order they were drawn. Topologically these are unrelated pieces, and every algorithm that walks a boundary treats them that way: a shell of faces that merely abut has a free edge everywhere two of them meet, encloses no volume, and cannot be classified against.
§Sewing is a topological operation, not a geometric one
It does not move anything. Two edges within tolerance of each other are decided to be one edge, and every face that used either uses that one, so the shell closes because the topology says so, not because the geometry was nudged until it did. A version that moved geometry to close gaps would be a repair, would need to decide which of two positions is right, and would quietly invalidate every tolerance in the neighbourhood.
What it will not do is claim a closure it did not achieve. Faces that do not meet within tolerance stay in separate shells, and the result says how many there are.
Modules§
- roles
- Roles sewing assigns.
Structs§
- Sewn
- What sewing produced.
Functions§
- make_
wire_ unordered - Build a wire from edges in any order.
- order_
edges - Put a bag of edges into an order that walks them end to end.
- sew
- Sew free faces into shells by finding the edges they share.