Rocs general graph layout implementation question.
Dilson GuimarĂ£es <[email protected]> Mon, 1 Jun 2020 09:23:07 -0300
| Newsgroups | gmane.comp.kde.devel.education |
|---|---|
| Message-ID | <CAHw8pqzmyWrTc_0oa3OibvkXCGqCxQSxr3kZZbbobbJehwz=mQ__10489.3312019826$1591014215$gmane$org@mail.gmail.com> |
Hello, I am a GSoC student working on the graph layout (drawing) capabilities of Rocs <https://kde.org/applications/education/org.kde.rocs>. I am going to include graph layout algorithms to compute the positions for all the graph vertices, satisfying some constraints such as keeping every vertex inside the drawing area. I have two options here: use an existing library to do that or implement the algorithms directly. Because I am new here, I thought it would be a good idea to ask for your opinion. What option do you think is more appropriate? Even if there is no clear answer, I would like get your opinion about the pros and cons of each option. I am providing more information about each option below. The graph layout algorithms I would have to implement are optimization algorithms, which I have some experience with because I do research on optimization. A positive thing about implementing the algorithms myself is that I would have more flexibility to make them better suited for Rocs. Besides that, on future phases of this GSoC project, I will implement graph layout algorithms for specific kinds of graph. For those, I did not find a library ready for use. On the other hand, going with the library can speed things up. I found one library that seems to provide a good amount of functionality. Its name is libcola <https://www.adaptagrams.org/documentation/libcola.html> and its GitHub repository can be found here <https://github.com/mjwybrow/adaptagrams>. Maybe there are some issues about adding more dependencies. Thank you, Dilson GuimarĂ£es.