-
Notifications
You must be signed in to change notification settings - Fork 600
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix positioning algorithm / temporarily disable rank optimizer
Rework the position algorithm to take into account that it is possible for a class to have different shifts depending on the adjacent classes and it is impossible to decide which should impact final shift until we've already iterated through all nodes. Now we keep track of the potential shifts that may be applied during the first pass and then we calculate the actual shifts (choosing the smallest value) during final coordinate assignment. As far as I know this addresses all issues I am aware of with the Brandes-Köpf paper. In addition, I have temporarily disabled the rank optimizer, which yields some incorrect rank assignments in complex graphs. This needs to be investigated further in another ticket. The impact for now is that we may have longer edges than necessary between nodes until the optimizer is re-enabled. Fixes #67.
- Loading branch information
Showing
3 changed files
with
39 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters