SeparatorGrips class final
A separator's end grips (spec 10 D21, D20), through the render layer's object grip seam.
- Grips: two
stretchgrips 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
gripofgrouptoworld, or null when that drag is refused (a degenerate result, say).worldis only read during the call. -
gripsOf(
DraftDocument d, Handle group) → List< Grip> -
group's grips, in world; empty whengroupis 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.
worldis only read during the call. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited