discontinuedPackage jet_cad_floor_plan has been discontinued and replaced by jet_cad_2d_plan.

SeparatorGrips class final

A separator's end grips (spec 10 D21, D20), through the render layer's object grip seam.

  • Grips: two stretch grips at the separator's world ends, index 0 the start and 1 the end.
  • Drag: the dragged end goes to the point the select tool has already resolved through its snap chain (08's Ruling 08-15), then through trimSeparator with the end that stays, over the shell's RoomInputs and F3's object snap (objectSnap): the one function the Separator tool calls (Ruling 10-9), so a dragged end is band-trimmed as a drawn one is. The end that stays is stored as it was, bit for bit: a drag moves one end. One SetComponentCommand<SeparatorParams>, the moved end written back in the separator group's local space, or null when trimSeparator makes nothing (both ends in one band, or too short) or the drag stores what is stored (a drop on the end itself included: the round trip through the group's transform is not exact).
  • Preview: the segment as it would be stored, in world.
  • Movable: the select tool moves and rotates a separator like any line.

inputs is invalidated at each release, before the trim, as the Separator tool does at its second click: the document's change stream delivers after the task that made a change (Ruling 10-11).

Constructors

SeparatorGrips({required RoomInputs inputs, required bool objectSnap()})

Properties

hashCode → int
The hash code for this object.
no setterinherited
inputs → RoomInputs
The shell's document adapter, shared with the Room and Separator tools. Never disposed here.
final
objectSnap → bool Function()
Whether object snap (F3) is on, read at each drag event: band trimming is object snapping (R-21).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

drag(DraftDocument d, Handle group, Grip grip, Vector2 world) → DraftCommand?
The one command that moves grip of group to world, or null when that drag is refused (a degenerate result, say). world is only read during the call.
gripsOf(DraftDocument d, Handle group) → List<Grip>
group's grips, in world; empty when group is not one of this provider's objects. The list order is each grip's ordinal.
movable(DraftDocument d, Handle group) → bool
False when the select tool must not move or rotate the root-level group (spec 08 D16): a move or rotate skips it, as it skips a fill, the rotation grip needs some other movable key, and its body shows no move cursor. True for any group this provider does not own.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
preview(DraftDocument d, Handle group, Grip grip, Vector2 world) → List<(EntityKind, GeometryPayload)>
What drag would draw, in world: the pieces a reshape preview paints, computed once per pointer move, never per frame. Empty when there is nothing to show. world is only read during the call.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited