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

Explode node operation #4481

Closed
slhh opened this issue Oct 27, 2017 · 4 comments
Closed

Explode node operation #4481

slhh opened this issue Oct 27, 2017 · 4 comments
Labels
considering Not Actionable - still considering if this is something we want operation An editing operation / edit menu item

Comments

@slhh
Copy link
Contributor

slhh commented Oct 27, 2017

The current disconnect operation with a single node selected has some disadvatages:

  • It generates coincident nodes.
  • The operation is hardly visible, and user might not be aware that the shortcut key was hit by accident.
  • It is often disabled due to breaking relations
  • Tags are duplicated to all disconnected nodes.

Therefore, I propose an "explode node" operation which is similar, but with some modifications:

  • Disconnected vertexes are displaced a few pixels around the original node position.
  • Disconnected vertexes don't get tags.
  • If the node is tagged it stays with the tags at its original position as a point.
  • Broken relations are healed by inserting untagged two-node member ways connecting the displaced vertexes where required.

The explode operation can replace the current single node disconnect operation, or it can be a separate operation. In the latter case, we can use shortcut "E" and an icon like the expolsive hazard symbol or like a bomb.

@bhousel
Copy link
Member

bhousel commented Oct 28, 2017

Hey @slhh I like your rules for "explode node". Would it be ok if we just apply these to the existing disconnect operation? I don't think we need to create a new operation.

@bhousel bhousel added considering Not Actionable - still considering if this is something we want operation An editing operation / edit menu item labels Oct 28, 2017
@slhh
Copy link
Contributor Author

slhh commented Oct 28, 2017

@bhousel

I like your rules for "explode node".

That's fine, so we should also discuss some similar cases.
The current disconnect operation with a node and at least one connected way selected has similar disadvatages as mentioned above.
I suggest to change this operation to work as follows:
Detach a single untagged vertex from the selected node. This vertex replaces the selected node in all selected ways, and the user is put into move mode with this vertex selected. Broken relations are healed by inserting an untagged two-node member way connecting the detached vertex and the original one if required.

In case the selection contains a node and multiple ways the current operation generates multiple disconnected nodes. I don't see any usecase requiring to preserve this function, but in case we really want to preserve it, it might be moved to the explode operation using the same selection as currently and modified accordingly.

@slhh
Copy link
Contributor Author

slhh commented Oct 28, 2017

@bhousel

Would it be ok if we just apply these to the existing disconnect operation?

I see some potential strategic reasons not to do so:

  • We should withdraw the current single node disconnect function, but we might want to replace it with something else than the explode function. One candidate for replacing it is detaching a tagged node (Possibility to detach a node from a way #4320). This fits well into the disconnect operation. In fact the operation discussed there has the same result than the disconnect operation modified according to my previous comment with the tagged node and all connected ways selected. The only difference is moving the tagged point instead of the untagged vertex. While we have an easy to remember icon and shortcut for the expode operation, this seem to be difficult for a separate "detach a tagged node" operation, especially in view of distinguishing from the disconnect operation.
  • We might want to also use the explode operation for other types of selections. One candidate was mentioned in my previous comment, but I hope we don't need that one. Another candidate is exploding a complex multipolygon where separate Multypolygons are generated for each outer ring. I haven't thought about further ideas for explode yet.

@bhousel
Copy link
Member

bhousel commented Jan 26, 2018

To keep things simple, I'm just going to add some of this to #2206.
I like the idea of keeping only one survivor vertex with tags, leaving that in its place, and moving other ones away from it.

@bhousel bhousel closed this as completed Jan 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
considering Not Actionable - still considering if this is something we want operation An editing operation / edit menu item
Projects
None yet
Development

No branches or pull requests

2 participants