I'm afraid some sort of new dependency is inevitable. There's just too much (unnecessary) work in implementing our own graph data-structures and algorithms.
Of the open source ones available I think boost and graphviz are definitely the two most viable options.
Currently I'm leaning towards boost for the following reasons - please correct me if I'm wrong about anything:
- Boost is header only while graphviz is shared libraries. Obviously there are pros and cons to each of these - but in the short term header only seems a bit easier to handle across all the different platforms inkscape needs to support.
- Boost seems to offer a larger collection of graph algorithms, while graphviz is mostly aimed at visualisation. We are planning to use these tools to implement our own new layout algorithms, rather than just using the existing layout tools.
- Boost has quite an elegant C++ template interface, while graphviz is good old-fashioned pure C.
- Boost seems to be a more active / open community, while graphviz seems to be developed mostly in-house at AT&T research. They're both open-source, but of the two the Boost license seems a little less restrictive (though IANAL).
Anyway, having said all that, graphviz also has some nice stuff. Their hierarchical layout is very good (though hooking it up to inkscape would be a bit scary - handling dummy nodes, spline edge routing, etc, etc). If anyone has strong opinions on this choice now is the time to let me know what you think.
Cheers
Tim
mental@...3... wrote:
Quoting Ralf Stephan <ralf@...748...>:
Tim, this is great news but I have graphviz installed. Can you use that, too? Is your code written such that the graph libraries can be exchanged easily? That would be Good Design[tm].
Interchangability doesn't always correspond to good design.
Also, graphviz has a totally different function to the boost graph library.
-mental
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmdlnk&kid%103432&bid#0486&dat%1... _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel