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

Line jump calculation does not work correctly for bezier edges #287

Open
tortmayr opened this issue Apr 16, 2022 · 3 comments
Open

Line jump calculation does not work correctly for bezier edges #287

tortmayr opened this issue Apr 16, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@tortmayr
Copy link
Contributor

When playing around with the class diagram example I noticed that the line jumping calculation for bezier edges doesn't seem to work as expected:
weird-routing

I guess we should try to fix this and in the meantime disable line jumping for bezier edges. IMO it's better do don't have any line jumps instead of wrongly computed ones.

@planger As the original contributor of the line jumping feature,do yo maybe have any additional insights on what could cause this problem and how to fix it?

@planger
Copy link
Contributor

planger commented Apr 16, 2022

Yes, this is because the IntersectionFinder obtains the routing points of an edge to get its segments. With a sweepline algorithm it then finds the intersections among the segments. However, this algorithm assumes that the segments are straight lines.

I'm afraid, it'll be quite some work to compute the intersections among or with bezier edges, as it would potentially require a different algorithm that takes the curves into account.

Imho we should document in the typedoc that this doesn't work for bezier edges.

@spoenemann
Copy link
Contributor

Right, this was already noted in #245 (review) but we forgot to create a separate issue for it.

planger added a commit to planger/sprotty that referenced this issue May 6, 2022
Also...
  * Fixes launch config for running single tests
  * Adds line gaps to random-graph example for testing
  * Mention that intersection finder only works for straight segments (eclipse-sprotty#287)

Fixes eclipse-sprotty#277

Change-Id: I3c72de91188e32fcb296ef81f27c6b03e18c8bd0
Signed-off-by: Philip Langer <planger@eclipsesource.com>
planger added a commit to planger/sprotty that referenced this issue May 6, 2022
Also...
  * Fixes launch config for running single tests
  * Adds line gaps to random-graph example for testing
  * Mention that intersection finder only works for straight segments (eclipse-sprotty#287)

Fixes eclipse-sprotty#277

Change-Id: I3c72de91188e32fcb296ef81f27c6b03e18c8bd0
Signed-off-by: Philip Langer <planger@eclipsesource.com>
planger added a commit to planger/sprotty that referenced this issue May 10, 2022
eclipse-sprotty#287

Change-Id: I1ab416244ca42b09d51c3d2125378980e7dfd069
Signed-off-by: Philip Langer <planger@eclipsesource.com>
planger added a commit that referenced this issue May 13, 2022
Also...
  * Fixes launch config for running single tests
  * Adds line gaps to random-graph example for testing
  * Mention that intersection finder only works for straight segments (#287)

Fixes #277

Change-Id: I3c72de91188e32fcb296ef81f27c6b03e18c8bd0
Signed-off-by: Philip Langer <planger@eclipsesource.com>
planger added a commit that referenced this issue May 13, 2022
#287

Change-Id: I1ab416244ca42b09d51c3d2125378980e7dfd069
Signed-off-by: Philip Langer <planger@eclipsesource.com>
@planger
Copy link
Contributor

planger commented May 13, 2022

The intersection finder ignores bezier edges with 9241c35. Should we consider this task closed, or do we want to keep it open, in case someone would like to work on supporting line gaps and jumps for bezier lines?

@spoenemann spoenemann added the enhancement New feature or request label Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants