Vixen
feb85697
csharp
public sealed class BlockoutVerbs

The blockout verbs over the scene a mode is editing, at that mode's dials.

Read the guide page for this →

Remarks

Moved out of BlockoutMode, not rewritten (#1307). Every body here was a closure in the mode's Register or one of the four helpers beside it — Created, Pushed, Repeated, Exported — and says what it said there. What changed is who can reach it: the mode's commands call these, the module publishes them as IBlockout, and a test can call one with no shell at all.

⚠ The guards moved in with the verbs. The mode used to check for a scene, or for an active mesh, before running a closure; a method a plugin calls directly has to check for itself, so each one does, and the mode's commands now call them unconditionally.

⚠ The mode keeps the pointer. Arming the shape tool or the knife, choosing a shape kind and which lattice cell is under the cursor are statements about a gesture in a pane, so they stayed where the pointer handling is; CubeGrid takes the hovered cell as an argument for that reason.

Methods (45)

  • public BlockoutVerbs(BlockoutMode mode)

    The blockout verbs over the scene a mode is editing, at that mode's dials.

  • public bool SelectLoop()

    Selects the edge loop through the active edge.

  • public bool SelectRing()

    Selects the edge ring through it.

  • public bool Grow()

    Takes in everything touching the selection.

  • public bool Shrink()

    Gives back everything on its rim.

  • public bool SelectGroup()

    Selects every face in the active face's group.

  • public bool SelectCoplanar()

    Selects every face coplanar with and joined to it.

  • public bool SelectLinked()

    Selects every face joined to it.

  • public bool SelectAll()

    Selects every element of the current element mode.

  • public bool SelectNone()

    Deselects everything.

  • public bool Invert()

    Selects what is not selected.

  • public bool Extrude(bool individually = false)

    Pulls the selected faces out along their normal by the mode's step.

  • public bool Inset(bool individually = false)

    Shrinks the selected faces towards their own centre.

  • public bool Bevel()

    Cuts the corner off the selected edges.

  • public bool LoopCut()
  • public bool Subdivide()

    Splits the selected faces into one face per corner.

  • public bool Bridge()

    Joins two selected faces with a tube.

  • public bool FillHole()

    Puts a face across a hole.

  • public bool Flip()

    Turns the selected faces inside out.

  • public bool Weld()

    Merges the selected positions into one.

  • public bool Dissolve()

    Removes the selected edges and keeps the surface.

  • public bool Delete()

    Removes the selected faces, leaving a hole.

  • public bool Detach()

    Takes the selected faces out into an entity of their own.

  • public bool Project(UvProjection projection)

    Projects the selected faces' texture coordinates, at the mode's UV scale.

  • public bool FitUvs()

    Stretches each selected face's coordinates to cover one repeat.

  • public bool Smooth(bool smooth = true)

    Puts the selected faces in a smoothing group, or takes them out of one.

  • public bool AutoSmooth()

    Groups the whole mesh's faces by how sharply they meet.

  • public bool NewGroup()

    Puts the selected faces in a face group of their own.

  • public Entity CreateShape()

    Makes one of the mode's current shape at its default size, at the work plane's origin, and selects it.

  • public Entity CubeGrid(GridBox? at = null)
  • public bool Push(int cells)
  • public int Duplicate()

    Copies what is selected.

  • public int Mirror()

    Reflects a copy of what is selected across the work plane.

  • public int Repeat(bool radial)

    Repeats the first selected entity along a line, the mode's step apart.

  • public Entity Union()

    Everything in either of the selected solids, as a derived result.

  • public Entity Subtract()

    The first selected solid, less the rest.

  • public Entity Intersect()

    Only what all the selected solids share.

  • public bool ApplyBoolean()

    Collapses the selected derived results into plain meshes and deletes their operands.

  • public int PlaneCut()

    Cuts the selection with the work plane and keeps the near half.

  • public bool Trim()

    Cuts the first selected solid by the second's surface.

  • public int Retopologize()

    Replaces the selected solids with all-quad meshes of the same shape, at the mode's settings.

  • public bool ToggleRemeshDebug()
  • public int Bake()

    Writes the selection into mesh assets and points the entities at them.

  • public int MakeEditable()

    Gives the selected mesh references their geometry back as editable meshes.

  • public bool Export(string extension)

    Exports the selection and hands the text to the mode's export callback.

Used by (1)

  • BlockoutModeVixen.Editor.Blockout