Page MenuHome

Fix T45964: Edge/Vert Slide fail to properly "redo"

Authored by Germano Cavalcante (mano-wii) on Feb 17 2020, 6:27 PM.



The solution for this patch is to split the "mouse_coordinate_override"
property into two:

  • "mouse_co_initial_override" and
  • "mouse_co_final_override".

Thus the transform operators can calculate the direction of movement as
if it were in the modal.

My main question is regarding the style (names and descriptions).

Diff Detail

rB Blender
arcpatch-D6872 (branched from master)
Build Status
Buildable 6674
Build 6674: arc lint + arc unit

Event Timeline

  • Rename the properties
Germano Cavalcante (mano-wii) planned changes to this revision.Feb 27 2020, 8:50 PM

The mouse coordinates depend on the view, which can vary when redoing.

Campbell Barton (campbellbarton) requested changes to this revision.Feb 28 2020, 12:55 AM

Using the mouse coordinates isn't fool proof since it relies on view rotation.

We could store a 3D direction based on the mouse movement, so the direction and value could be used to redo the operation.

This could work for vertex slide, for edge slide it's more complicated, since the mouse position is used to select the side of the edge-slide used.

I'd rather leave this as-is, or move to a method that doesn't rely so on screen-space coordinates since I'm not sure this is especially helpful.

I'm not sure about using 3D direction, as the current code works with 2D direction.
Using a 3D direction could modify the behavior in the redo when you slide many vertices.

The solution to this problem needs a bigger change.