Class mxMedianHybridCrossingReduction
- java.lang.Object
-
- com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction
-
- All Implemented Interfaces:
mxHierarchicalLayoutStage
public class mxMedianHybridCrossingReduction extends java.lang.Object implements mxHierarchicalLayoutStage
Performs a vertex ordering within ranks as described by Gansner et al 1993
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
mxMedianHybridCrossingReduction.MedianCellSorter
A utility class used to track cells whilst sorting occurs on the median values.
-
Field Summary
Fields Modifier and Type Field Description protected int
currentBestCrossings
The total number of crossings found in the best configuration so farprotected int
iterationsWithoutImprovement
protected mxHierarchicalLayout
layout
Reference to the enclosing layout algorithmprotected int
maxIterations
The maximum number of iterations to perform whilst reducing edge crossingsprotected int
maxNoImprovementIterations
protected mxGraphAbstractHierarchyCell[][]
nestedBestRanks
Stores each rank as a collection of cells in the best order found for each layer so far
-
Constructor Summary
Constructors Constructor Description mxMedianHybridCrossingReduction(mxHierarchicalLayout layout)
Constructor that has the roots specified
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
calculateRankCrossing(int i, mxGraphHierarchyModel model)
Calculates the number of edges crossings between the specified rank and the rank below itvoid
execute(java.lang.Object parent)
Performs a vertex ordering within ranks as described by Gansner et al 1993
-
-
-
Field Detail
-
layout
protected mxHierarchicalLayout layout
Reference to the enclosing layout algorithm
-
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 interfacemxHierarchicalLayoutStage
-
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
-
-