-
Notifications
You must be signed in to change notification settings - Fork 80
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
Cannot move single routing point with Manhattan routing #310
Comments
@martin-fleck-at can you show how you did realize your workaround? Currently I am trying to implement my own manhantan router and this would possible help me to understand the inner logic. |
@rsoika I opened a WIP PR on GLSP to show how I did it for the second GIF you see in the bug report. The changed code is basically the if-block starting on line 33. Hopefully, this will help you with your own Manhattan router. |
…-310 Move single routing point with Manhattan #310
Fixed in master |
Investigating the bug reported in GLSP, I saw that there is a bug in the Manhattan routing that prevents moving the single routing point.
(it can also be reproduced with the class diagram of Sprotty)
When moving the routing handles (which are placed between two routing points or the start/end point), we want to align the calculated route with the routing points present in the edge. However, if we only have start and end point, then the routing points array of the edge is empty preventing any update.
We can avoid the problem when we simply add a routing point to the edge if we try to move the routing handle. However, it is not very clear to me which routing points would be suitable as it very much depends on the start/end position calculation of the edge. If we simply were to use the target position then we would get something like this:
But this does not behave like we would expect as you can see if I have already an arch between source and target then I get a much nicer move.
The text was updated successfully, but these errors were encountered: