View Issue Details

IDProjectCategoryView StatusLast Update
0000772FreeCADFeaturepublic2012-07-06 20:28
Reporterpperisin Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.12 
Fixed in Version0.13 
Summary0000772: Navigation style suggestion - do not change cursor location when you are controling view

Currently when you are doing pan, zoom and rotate, cursor is moving on the screen. this usually means that you need to "enter" navigation mode, use it until cursor gets to the edge of the screen, exit it, move cursor to the center of the screen, "enter" navigation mode again, and repeat all steps above.

This is worse imo with pan, if you are zoomed in a lot to the object.

Maybe it would be worth to consider to keep cursor location fixed during navigation (or have CB in preferences for it, or some other way of setting it).

TagsNo tags attached.
FreeCAD Information



2012-07-03 07:17

administrator   ~0002262

Sorry but that's totally impossible. When we move the mouse then we can compute a vector of the two different mouse positions. Depending on the vector direction and its length we can compute where to pan/rotate and how fast.

If we force the mouse to be always on the same position we always get a null vector and thus cannot do anything with this information.


2012-07-03 08:07

developer   ~0002264

could the mouse coursor made wrapping at the edge of the window/screen?


2012-07-03 08:37

reporter   ~0002265

I could be wrong, but see this:

you have start cursor location, and end one. and then you process event.
after event is processed, can you set cursor back to start cursor location, in the code?



2012-07-06 12:30

administrator   ~0002282

For panning I think the cursor should always be at same point on the model and not on the screen when he started the operation. If we kept fix the cursor position on the screen this will confuse the user. At least I have never seen an application which does it differently. And panning isn't actually a problem.

For rotating it's another story. In FreeCAD you need much more space to achieve a certain rotation compared to other applications. They do the same amount of rotation with maybe a fourth of the space.

Another observation is that the nearer the cursor to the border the less amount of rotation is done. At the center the rotation is the highest. Other applications do the same amount of rotation independent of the cursor position.


2012-07-06 20:28

administrator   ~0002283

In the parameter editor go to the group Preferences > View and create a boolean key "ResetCursorPosition" and set it to true.

git show c3d84e9

Issue History

Date Modified Username Field Change
2012-07-03 06:11 pperisin New Issue
2012-07-03 07:17 wmayer Note Added: 0002262
2012-07-03 08:07 shoogen Note Added: 0002264
2012-07-03 08:37 pperisin Note Added: 0002265
2012-07-06 12:30 wmayer Note Added: 0002282
2012-07-06 20:28 wmayer Note Added: 0002283
2012-07-06 20:28 wmayer Status new => closed
2012-07-06 20:28 wmayer Resolution open => fixed
2012-07-06 20:28 wmayer Fixed in Version => 0.13