Class mxMedianHybridCrossingReduction

    • Field Detail

      • maxIterations

        protected int maxIterations
        The maximum number of iterations to perform whilst reducing edge crossings
      • nestedBestRanks

        protected mxGraphAbstractHierarchyCell[][] nestedBestRanks
        Stores each rank as a collection of cells in the best order found for each layer so far
      • currentBestCrossings

        protected int currentBestCrossings
        The total number of crossings found in the best configuration so far
      • iterationsWithoutImprovement

        protected int iterationsWithoutImprovement
      • maxNoImprovementIterations

        protected int maxNoImprovementIterations
    • Constructor Detail

      • mxMedianHybridCrossingReduction

        public mxMedianHybridCrossingReduction​(mxHierarchicalLayout layout)
        Constructor that has the roots specified
    • Method Detail

      • execute

        public void execute​(java.lang.Object parent)
        Performs a vertex ordering within ranks as described by Gansner et al 1993
        Specified by:
        execute in interface mxHierarchicalLayoutStage
      • calculateRankCrossing

        protected int calculateRankCrossing​(int i,
                                            mxGraphHierarchyModel model)
        Calculates the number of edges crossings between the specified rank and the rank below it
        Parameters:
        i - the topmost rank of the pair ( higher rank value )
        model - the internal hierarchy model of the graph
        Returns:
        the number of edges crossings with the rank beneath