Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement request: Add tool to move object(s) #1263

Open
sfroyen opened this issue Jun 13, 2019 · 6 comments
Open

Enhancement request: Add tool to move object(s) #1263

sfroyen opened this issue Jun 13, 2019 · 6 comments

Comments

@sfroyen
Copy link

sfroyen commented Jun 13, 2019

Why do miss a tool when you can just select the object(s) and drag?

The use case I have in mind is importing a large number of objects, often from another application, that needs to be moved and perhaps rotated and scaled in order to align with the existing map. In order to move objects you currently have to drag at the boundary box of the object selection. Frequently, good alignment points are far from the boundary. If you zoom out, the mouse resolution is too imprecise, and if you zoom in, you have to move blindly (or use some helper object at the edge to measure the move).

What I suggest is to have the same move mechanism that is currently used for templates. A manual move mode that can be used anywhere on the map and a positioning popup where you can enter numeric values that control the move. The popup could also be used for scaling and rotation, just like the one for the templates. There might even be a checkbox

A nice to have feature would be popup coordinates matching the currently selected viewing coordinates.

@ghost
Copy link

ghost commented Jun 13, 2019

Why do miss a tool when you can just select the object(s) and drag?

Would be really useful to add such tool (I know that similar "move selected object" tool presented in some vector and raster editors).

@lpechacek
Copy link
Member

The process described in initial comment feels very OCAD-ish to me. ;)

In Mapper map import can be done this way:

  • Open map as a template
  • Adjust the position and rotation using Template adjustment tool
  • When position and rotation are right, select Import and remove under the template Edit button in templates setup window.

Please note that the map intended for import can be placed above the target map and its opacity can be adjusted so that underlying details are visible.

Would that work for you?

@sfroyen
Copy link
Author

sfroyen commented Jul 2, 2019

I was unaware of the template import option. Nice addition!

I still think a non-template way would be useful, however. There are cases where you might want to adjust objects that are already on the map. For instance, when you have spent time tracing objects from an image that was incorrectly georeferenced. You adjust the image and then reposition the objects. Also, when correcting for the (small) difference between NAD83 and WGS84.

@lpechacek lpechacek self-assigned this Apr 6, 2020
lpechacek added a commit to lpechacek/mapper that referenced this issue May 30, 2020
So far, moving objects was possible only by dragging their frame.
However, if the frame was far from the object of interest, dragging the
frame was impractical. This change introduces tracking of path segments
and areas and offers them as an object move handle.

Closes OpenOrienteeringGH-1263
@lpechacek
Copy link
Member

I've implemented this feature, and it is possible to drag a group objects by any line or area. However, if a large number of objects are selected, it is almost impossible to tell whether the drag movement will result in vertex move or the object group move.

I've tried to fight the problem by a cursor change as a feedback to the user. That, however, is not in line with the Mapper GUI design principles as Mapper uses color highlights to provide such feedback. It also won't work on touch displays.
ezgif com-video-to-gif(3)

Alternatives are - highlight all objects in view or provide a separate tool to move objects, that is, stop trying to squeeze the object move functionality into the edit point tool. Opinions?

@ghost
Copy link

ghost commented May 30, 2020

it is almost impossible to tell whether the drag movement will result in vertex move or the object group move.

Why just not add mouse X/Y movement delta to each vertex X/Y of moved objects vertex?

JFTR, What about keep "exact shape" of moved object according "Map coordinates", "Local coordinates" and "Coordinate reference system" (projection) for georeferenced maps?

@dg0yt
Copy link
Member

dg0yt commented May 30, 2020

However, if a large number of objects are selected, it is almost impossible to tell whether the drag movement will result in vertex move or the object group move.

I don't think there is a need to move a single node when there so many selected nodes that we don't display node handles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants