update layout names and help text.

This commit is contained in:
Tom Nelson 2021-03-03 19:51:52 +00:00 committed by tom
parent b57744d4e0
commit ccaf1fea59
2 changed files with 42 additions and 40 deletions

View file

@ -111,63 +111,65 @@
<BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI><A name="Compact_Hierarchical">
<LI><A name="Compact_Hierarchical"/>
<B>Compact Hierarchical</B> is the <B>TidierTree Layout Algorithm</B>. It builds a tree
structure and attempts to reduce horizontal space.</LI>
<LI><A name="Hierarchical">
<B>Hierarchical</B> is a basic Tree algorithm. It prioritizes 'important' edges while
constructing the tree.</LI>
<LI><A name="Hierarchical"/>
<B>Hierarchical</B> is a basic Tree algorithm with the root(s) at the top.</LI>
<LI><A name="Compact Radial">
<LI><A name="Compact Radial"/>
<B>Compact Radial</B> is the <B>TidierTree Layout Algorithm</B> with the root(s) at the
center and child vertices radiating outwards.</LI>
<LI><B>Hierarchical MinCross</B> is the <B>Sugiyama Layout Algorithm</B>. It attempts to
<LI><B>Hierarchical MinCross</B> is the <B>Sugiyama Layout Algorithm with optimizations</B>. It attempts to
route edges around vertices in order to reduce crossing. There are four layering
algorithms (below)</LI>
<LI><B>Vertical Hierarchical MinCross</B> is the <B>Sugiyama Layout Algorithm with optimizations</B>. It attempts to
route edges around vertices in order to reduce crossing. If there is a favored EdgeType, an attempt is made to
line up those favored edges so they are vertical in the presentation. There are four layering
algorithms:</LI>
<LI style="list-style: none">
<LI style="list-style: none"/>
<UL>
<LI><A name="Hierarchical_MinCross_Top_Down">
<B>Top Down</B> - biases the vertices to the top</LI>
<LI><A name="Hierarchical_MinCross_Top_Down"/>
<B>Top Down</B> - Biases the vertices to the top. Sources on the top row.</LI>
<LI><A name="Hierarchical_MinCross_Longest_Path">
<B>Longest Path</B> - biases the vertices to the bottom</LI>
<LI><A name="Hierarchical_MinCross_Longest_Path"/>
<B>Longest Path</B> - Biases the vertices to the bottom. Sinks are on the bottom row.</LI>
<LI><A name="Hierarchical_MinCross_Network_Simplex">
<B>Network Simplex</B> - layers after finding an 'optimal tree'</LI>
<LI><A name="Hierarchical_MinCross_Network_Simplex"/>
<B>Network Simplex</B> - Layers after finding an 'optimal tree' by not considering longer edges.</LI>
<LI><A name="Hierarchical_MinCross_Coffman_Graham">
<B>Coffman Graham</B> - biases the vertices using a scheduling algorithm to minimize
length</LI>
<LI><A name="Hierarchical_MinCross_Coffman_Graham"/>
<B>Coffman Graham</B> - Biases the vertices using a scheduling algorithm to minimize
length. Tends to balance the graph around the middle.</LI>
</UL>
</LI>
<LI><A name="Circle">
<B>Circle</B> will arrange vertices in a Circle. If there are not too many edges (less
than specified in the jungrapht.circle.reduceEdgeCrossingMaxEdges property with a default
of 200), it will attempt to reduce edge crossing by rearranging the vertices.</LI>
<LI><A name="Circle"/>
<B>Circle</B> will arrange vertices in a Circle. </LI>
<LI><A name="Force_Balanced">
<LI><A name="Force_Balanced"/>
<B>Force Balanced</B> is a <B>Force Directed Layout Algorithm</B> using the the <B>Kamada
Kawai</B> approach. It attempts to balance the graph by considering vertices and edge
Kawai</B> algorithm. It attempts to balance the graph by considering vertices and edge
connections.</LI>
<LI><A name="Force_Directed">
<LI><A name="Force_Directed"/>
<B>Force Directed</B> is a <B>Force Directed Layout Algorithm</B> using the
<B>Fructermann Reingold</B> approach. It pushes unconnected vertices apart and draws
connected vertices together.</LI>
<LI><A name="Radial">
<LI><A name="Radial"/>
<B>Radial</B> is a Tree structure with the root(s) at the center and child vertices
radiating outwards.</LI>
<LI><A name="Balloon">
<LI><A name="Balloon"/>
<B>Balloon</B> is a Tree structure with the root(s) at the centers of circles in a radial
pattern</LI>
<LI><A name="Gem__Graph_Embedder_">
<LI><A name="GEM__Graph_Embedder_"/>
<B>GEM</B> is a Force Directed layout with locally separated components</LI>
</UL>
</BLOCKQUOTE>

View file

@ -45,10 +45,10 @@ class LayoutFunction
static final String MIN_CROSS_LONGEST_PATH = "Hierarchical MinCross Longest Path";
static final String MIN_CROSS_NETWORK_SIMPLEX = "Hierarchical MinCross Network Simplex";
static final String MIN_CROSS_COFFMAN_GRAHAM = "Hierarchical MinCross Coffman Graham";
static final String EXP_MIN_CROSS_TOP_DOWN = "Experimental Hierarchical MinCross Top Down";
static final String EXP_MIN_CROSS_LONGEST_PATH = "Experimental Hierarchical MinCross Longest Path";
static final String EXP_MIN_CROSS_NETWORK_SIMPLEX = "Experimental Hierarchical MinCross Network Simplex";
static final String EXP_MIN_CROSS_COFFMAN_GRAHAM = "Experimental Hierarchical MinCross Coffman Graham";
static final String VERT_MIN_CROSS_TOP_DOWN = "Vertical Hierarchical MinCross Top Down";
static final String VERT_MIN_CROSS_LONGEST_PATH = "Vertical Hierarchical MinCross Longest Path";
static final String VERT_MIN_CROSS_NETWORK_SIMPLEX = "Vertical Hierarchical MinCross Network Simplex";
static final String VERT_MIN_CROSS_COFFMAN_GRAHAM = "Vertical Hierarchical MinCross Coffman Graham";
static final String TREE = "Hierarchical";
static final String RADIAL = "Radial";
static final String BALLOON = "Balloon";
@ -66,10 +66,10 @@ class LayoutFunction
return new String[] { TIDIER_TREE, TREE,
TIDIER_RADIAL_TREE, MIN_CROSS_TOP_DOWN, MIN_CROSS_LONGEST_PATH,
MIN_CROSS_NETWORK_SIMPLEX, MIN_CROSS_COFFMAN_GRAHAM, CIRCLE,
EXP_MIN_CROSS_TOP_DOWN,
EXP_MIN_CROSS_LONGEST_PATH,
EXP_MIN_CROSS_NETWORK_SIMPLEX,
EXP_MIN_CROSS_COFFMAN_GRAHAM,
VERT_MIN_CROSS_TOP_DOWN,
VERT_MIN_CROSS_LONGEST_PATH,
VERT_MIN_CROSS_NETWORK_SIMPLEX,
VERT_MIN_CROSS_COFFMAN_GRAHAM,
KAMADA_KAWAI, FRUCTERMAN_REINGOLD, RADIAL, BALLOON, GEM
};
}
@ -112,25 +112,25 @@ class LayoutFunction
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
.edgeComparator(edgeTypeComparator)
.layering(Layering.COFFMAN_GRAHAM);
case EXP_MIN_CROSS_TOP_DOWN:
case VERT_MIN_CROSS_TOP_DOWN:
return EiglspergerLayoutAlgorithm
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
.edgeComparator(edgeTypeComparator)
.favoredEdgePredicate(favoredEdgePredicate)
.layering(Layering.TOP_DOWN);
case EXP_MIN_CROSS_LONGEST_PATH:
case VERT_MIN_CROSS_LONGEST_PATH:
return EiglspergerLayoutAlgorithm
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
.edgeComparator(edgeTypeComparator)
.favoredEdgePredicate(favoredEdgePredicate)
.layering(Layering.LONGEST_PATH);
case EXP_MIN_CROSS_NETWORK_SIMPLEX:
case VERT_MIN_CROSS_NETWORK_SIMPLEX:
return EiglspergerLayoutAlgorithm
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
.edgeComparator(edgeTypeComparator)
.favoredEdgePredicate(favoredEdgePredicate)
.layering(Layering.NETWORK_SIMPLEX);
case EXP_MIN_CROSS_COFFMAN_GRAHAM:
case VERT_MIN_CROSS_COFFMAN_GRAHAM:
return EiglspergerLayoutAlgorithm
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
.edgeComparator(edgeTypeComparator)