public static class BlockoutRetopologydocs/plan/41 § D16's blockout row: a `Retopologize` verb, one undo entry, result selected.
Remarks
"Its natural input is a boolean result, which is exactly the hard-surface case." Doc 24's booleans produce a solid whose triangulation is whatever the CSG happened to emit — long slivers along every cut, a fan across every cap — and that mesh has no loops to cut, no rings to select and nothing to subdivide. Retopology gives the fourteen verbs above it something to work on again, which is the argument docs/plan/41 § D15 makes for quads at all.
⚠ One undo entry, and it records the whole mesh. Doc 24's D3: a topology change has no inverse, so the entry is the mesh as it was rather than a description of what happened — the same shape BlockoutBoolean's own Record takes, and for the same reason. A retopology replaces every vertex and every face, so an entry that tried to be clever about it would be an entry that restores nothing.
⚠ A refusal leaves the mesh alone and is not an undo entry. The remesher refuses by returning an empty mesh with the stage named in its report — docs/plan/41's seventh exit criterion — and a verb that pushed that onto the stack would give a designer an undo step that undoes nothing, which is worse than a verb that visibly did not fire.
Methods (1)
public static int Run(SceneDocument document, RemeshSettings settings, IList<RemeshReport>? reports = null)Retopologises the selected solids, undoably.
Used by (2)
- BlockoutModeVixen.Editor.Blockout
- BlockoutRetopologyTestsVixen.Editor.Blockout.Tests