solvespace icon indicating copy to clipboard operation
solvespace copied to clipboard

Add midpoint when none selected

Open phkahler opened this issue 4 years ago • 4 comments

Expected behavior

When the user selects a line and no point, pressing "m" should create a new point constrained to the midpoint of the line.

Actual behavior

Nothing happens

Additional information

This is not a bug, as "m" is meant to constrain an existing point to a line. Some users don't realize this and expect the midpoint function to create a midpoint, and that seems reasonable to do even if it's not quite consistent with usual application of constraints.

phkahler avatar Nov 05 '21 17:11 phkahler

When the user selects a line and no point, pressing M should create a new point constrained to the midpoint of the line.

JFTR, What would happen if user would quickly or curiously press M few times in a row?

Also, what about use next behavior instead:

  1. Select line entity;
  2. Press P;
  3. Press M.

ghost avatar Nov 07 '21 01:11 ghost

What would happen if user would quickly or curiously press M few times in a row?

Well I hadn't thought of that. A naive implementation might create extra points at the midpoint. But only if the line remains selected?

phkahler avatar Nov 07 '21 18:11 phkahler

But only if the line remains selected?

In theory, yes.

But I don't know, could be there a case where second M click in row would be faster then selected line would be released after first M click and creating dot on line in mid position? (on complex 3D models I few times spotted that selecting/unselecting may require even 1-2 seconds)

JFTR, There is issue in "Property Browser" where if click on last (three-state) icon on toolbar (for switching show don't draw occluded/stipple occluded/draw occluded lines) too fast order of states is missed and it starts switch unorder.

ghost avatar Nov 07 '21 23:11 ghost

I don't particularly like either of the proposed ways to implement this.

Both break the "uniformity" of the UI and in my opinion it is much more important to have consistent behaviour without "corner cases" and "special cases" than to cater to a beginner.

ruevs avatar Nov 08 '21 07:11 ruevs

I don't particularly like either of the proposed ways to implement this.

Both break the "uniformity" of the UI and in my opinion it is much more important to have consistent behaviour without "corner cases" and "special cases" than to cater to a beginner.

I agree. Closing this because it's just too weird at this time to add an entity from the constraint code.

phkahler avatar Jan 02 '23 17:01 phkahler