Menu

Contribute orthogonal edge layouting algorith

2010-07-28
2023-05-15
  • Steffen Ryll

    Steffen Ryll - 2010-07-28

    Hi everyone,

    I read in several places that JUNG's support for routing edges in an orthogonal fashion is rather incomplete (e.g. here: http://sourceforge.net/mailarchive/message.php?msg_name=7535969.252062%40sourceforge.net). I want to offer you a source code contribution to improve on this routing style.

    First a few sentences about the background:
    We are using JUNG for generating graphical reports in our open source enterprise architecture management tool, iteraplan (http://sf.net/projects/iteraplan and www.iteraplan.de). In one context, we also needed an orthognal edge layout, i.e. all the edges that connect the nodes should have rectangular intersections. We wanted it to look very similar to what MS Visio does.
    After we found that JUNG cannot do that as we wanted, one team member implemented such a routing algorithm, based on a paper by Mikami and Tabuchi.
    Now we have that code working fine for our purposes, but we also would like to feed it back to the source and make it available to a wider audience.

    Please let me know whether you are interested to incorporate that code into JUNG. I would get back to you with more details subsequently. For the time being, you may want to take a look at a sample diagram that has been generated with JUNG's springforce node layouting and our orthogonal edge layouting algorithm:
    http://www.iteraplan.de/examples/exampleDiagramWithOrtogonalEdgesLayout.pdf

    An equivalent Visio diagram is here: http://www.iteraplan.de/examples/exampleDiagramWithOrtogonalEdgesLayout.vdx

    Steffen

     
  • Anonymous

    Anonymous - 2010-07-29

    Hi Steffen,
    That's very nice your company accepts to share this work :)
    Is that possible you indicate the URL of the reference paper used? I searched "Mikami and Tabuchi" and could mainly find citations of their paper "A computer program for optimal routing of printed circuit connectors", but the paper itself does not seem to be found by google.
    Regards, and thanks again for sharing your work!
    Martin

     
  • Steffen Ryll

    Steffen Ryll - 2010-07-29

    Hi Martin,
    I don't have a link for you, but you found the right reference. For completeness:

    Mikami K.; Tabuchi, K.: A computer program for optimal routing of printed circuit connectors. Proceedings of IFIP, H47, pp. 1475-1478,1968.

    Did you try searching with Google Scholar already?
    Regards,
    Steffen

     
  • Anonymous

    Anonymous - 2010-07-29

    Hi Steffen,
    Thanks for the complete reference. Yes I both search Google Scholar and Google without success.
    I will try to look for other paper repositories, and will tell you if I can find something.
    Regards,
    Martin

     
  • obe

    obe - 2020-01-20

    Hello Steffen,

    A decade after your post here, I'm looking for Mikami and Tabuchi's paper, but can't find it :(
    Do you know where I can find the paper online? (even for pay).
    Also, have you released your implementation as open source, at the end? It would be great to have a look at it.

    Thank you!
    Oz

     
  • Maria Nice

    Maria Nice - 2023-05-15

    To improve JUNG's support for routing edges in an orthogonal fashion, you can contribute your code implementation to the JUNG project. Begin by preparing your code, ensuring it is well-documented, thoroughly tested, and adheres to the coding standards of the JUNG project. See CBD example.
    Next, reach out to the JUNG project maintainers or developers, either through their official website or project repository, to express your interest in contributing your code. Provide a brief explanation of the problem you encountered and how your code addresses it, emphasizing the benefits it brings to the wider audience.
    Collaborating with the JUNG project allows your code to be reviewed, integrated, and made available to a larger community of users, ultimately improving the capabilities and functionality of the JUNG library for orthogonal edge routing.

     

Log in to post a comment.