ogdf / ogdf

OGDF, the Open Graph Drawing Framework/Open Graph algorithms and Data structure Framework.
http://www.ogdf.net/
Other
318 stars 108 forks source link

Unify Layout Algorithms #110

Open milsen opened 9 years ago

milsen commented 9 years ago

In GitLab by @TiloW on Jul 20, 2015, 17:30

Reduce duplications in layout calls. Override a method for drawing a single PlanRep (connected components) instead of the whole graph in each layout implementation. The decomposition step is currently duplicated across all layout algorithms. Some algorithms are missing this step and only work on connected graphs.

Requires #111. Related to #123.

milsen commented 6 years ago

The decomposition step is currently duplicated across all layout algorithms. Some algorithms are missing this step and only work on connected graphs.

ComponentSplitterLayout and SimpleCCPacker are two LayoutModules that call a given LayoutModule on each component and then pack those drawings. They seem to do the same thing, by the way, except that the ComponentSplitterLayout rotates some of the CCs. However, none of them moves bend points.

If we could make sure that none of the layout algorithms we currently have do some fancy packing by themselves, we could move the component packing to LayoutModule itself and then delete ComponentSplitterLayout, SimpleCCPacker and all those duplicated packing routines in all the different LayoutModules.

milsen commented 6 years ago

In GitLab by @mchimani on Apr 9, 2018, 13:40

Depending on the use case, sometimes components is allowed, sometimes not (e.g., if the box contains text for which you don't want to tilt your head 90 degrees), or the drawing logic dictaes an orientation (e.g. "all arrows go downward") So this are two different use cases that should be preserved.

Apart from that: (a) the naming is bad (if the above is their only difference, the names should say so in one way or another), and (b) I agree.