mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
update layout names and help text.
This commit is contained in:
parent
b57744d4e0
commit
ccaf1fea59
2 changed files with 42 additions and 40 deletions
|
@ -111,63 +111,65 @@
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<UL>
|
<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
|
<B>Compact Hierarchical</B> is the <B>TidierTree Layout Algorithm</B>. It builds a tree
|
||||||
structure and attempts to reduce horizontal space.</LI>
|
structure and attempts to reduce horizontal space.</LI>
|
||||||
|
|
||||||
<LI><A name="Hierarchical">
|
<LI><A name="Hierarchical"/>
|
||||||
<B>Hierarchical</B> is a basic Tree algorithm. It prioritizes 'important' edges while
|
<B>Hierarchical</B> is a basic Tree algorithm with the root(s) at the top.</LI>
|
||||||
constructing the tree.</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
|
<B>Compact Radial</B> is the <B>TidierTree Layout Algorithm</B> with the root(s) at the
|
||||||
center and child vertices radiating outwards.</LI>
|
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
|
route edges around vertices in order to reduce crossing. There are four layering
|
||||||
algorithms:</LI>
|
algorithms (below)</LI>
|
||||||
|
|
||||||
<LI style="list-style: none">
|
<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"/>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A name="Hierarchical_MinCross_Top_Down">
|
<LI><A name="Hierarchical_MinCross_Top_Down"/>
|
||||||
<B>Top Down</B> - biases the vertices to the top</LI>
|
<B>Top Down</B> - Biases the vertices to the top. Sources on the top row.</LI>
|
||||||
|
|
||||||
<LI><A name="Hierarchical_MinCross_Longest_Path">
|
<LI><A name="Hierarchical_MinCross_Longest_Path"/>
|
||||||
<B>Longest Path</B> - biases the vertices to the bottom</LI>
|
<B>Longest Path</B> - Biases the vertices to the bottom. Sinks are on the bottom row.</LI>
|
||||||
|
|
||||||
<LI><A name="Hierarchical_MinCross_Network_Simplex">
|
<LI><A name="Hierarchical_MinCross_Network_Simplex"/>
|
||||||
<B>Network Simplex</B> - layers after finding an 'optimal tree'</LI>
|
<B>Network Simplex</B> - Layers after finding an 'optimal tree' by not considering longer edges.</LI>
|
||||||
|
|
||||||
<LI><A name="Hierarchical_MinCross_Coffman_Graham">
|
<LI><A name="Hierarchical_MinCross_Coffman_Graham"/>
|
||||||
<B>Coffman Graham</B> - biases the vertices using a scheduling algorithm to minimize
|
<B>Coffman Graham</B> - Biases the vertices using a scheduling algorithm to minimize
|
||||||
length</LI>
|
length. Tends to balance the graph around the middle.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</LI>
|
</LI>
|
||||||
|
|
||||||
<LI><A name="Circle">
|
<LI><A name="Circle"/>
|
||||||
<B>Circle</B> will arrange vertices in a Circle. If there are not too many edges (less
|
<B>Circle</B> will arrange vertices in a Circle. </LI>
|
||||||
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="Force_Balanced">
|
<LI><A name="Force_Balanced"/>
|
||||||
<B>Force Balanced</B> is a <B>Force Directed Layout Algorithm</B> using the the <B>Kamada
|
<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>
|
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>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
|
<B>Fructermann Reingold</B> approach. It pushes unconnected vertices apart and draws
|
||||||
connected vertices together.</LI>
|
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
|
<B>Radial</B> is a Tree structure with the root(s) at the center and child vertices
|
||||||
radiating outwards.</LI>
|
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
|
<B>Balloon</B> is a Tree structure with the root(s) at the centers of circles in a radial
|
||||||
pattern</LI>
|
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>
|
<B>GEM</B> is a Force Directed layout with locally separated components</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
|
@ -45,10 +45,10 @@ class LayoutFunction
|
||||||
static final String MIN_CROSS_LONGEST_PATH = "Hierarchical MinCross Longest Path";
|
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_NETWORK_SIMPLEX = "Hierarchical MinCross Network Simplex";
|
||||||
static final String MIN_CROSS_COFFMAN_GRAHAM = "Hierarchical MinCross Coffman Graham";
|
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 VERT_MIN_CROSS_TOP_DOWN = "Vertical Hierarchical MinCross Top Down";
|
||||||
static final String EXP_MIN_CROSS_LONGEST_PATH = "Experimental Hierarchical MinCross Longest Path";
|
static final String VERT_MIN_CROSS_LONGEST_PATH = "Vertical Hierarchical MinCross Longest Path";
|
||||||
static final String EXP_MIN_CROSS_NETWORK_SIMPLEX = "Experimental Hierarchical MinCross Network Simplex";
|
static final String VERT_MIN_CROSS_NETWORK_SIMPLEX = "Vertical Hierarchical MinCross Network Simplex";
|
||||||
static final String EXP_MIN_CROSS_COFFMAN_GRAHAM = "Experimental Hierarchical MinCross Coffman Graham";
|
static final String VERT_MIN_CROSS_COFFMAN_GRAHAM = "Vertical Hierarchical MinCross Coffman Graham";
|
||||||
static final String TREE = "Hierarchical";
|
static final String TREE = "Hierarchical";
|
||||||
static final String RADIAL = "Radial";
|
static final String RADIAL = "Radial";
|
||||||
static final String BALLOON = "Balloon";
|
static final String BALLOON = "Balloon";
|
||||||
|
@ -66,10 +66,10 @@ class LayoutFunction
|
||||||
return new String[] { TIDIER_TREE, TREE,
|
return new String[] { TIDIER_TREE, TREE,
|
||||||
TIDIER_RADIAL_TREE, MIN_CROSS_TOP_DOWN, MIN_CROSS_LONGEST_PATH,
|
TIDIER_RADIAL_TREE, MIN_CROSS_TOP_DOWN, MIN_CROSS_LONGEST_PATH,
|
||||||
MIN_CROSS_NETWORK_SIMPLEX, MIN_CROSS_COFFMAN_GRAHAM, CIRCLE,
|
MIN_CROSS_NETWORK_SIMPLEX, MIN_CROSS_COFFMAN_GRAHAM, CIRCLE,
|
||||||
EXP_MIN_CROSS_TOP_DOWN,
|
VERT_MIN_CROSS_TOP_DOWN,
|
||||||
EXP_MIN_CROSS_LONGEST_PATH,
|
VERT_MIN_CROSS_LONGEST_PATH,
|
||||||
EXP_MIN_CROSS_NETWORK_SIMPLEX,
|
VERT_MIN_CROSS_NETWORK_SIMPLEX,
|
||||||
EXP_MIN_CROSS_COFFMAN_GRAHAM,
|
VERT_MIN_CROSS_COFFMAN_GRAHAM,
|
||||||
KAMADA_KAWAI, FRUCTERMAN_REINGOLD, RADIAL, BALLOON, GEM
|
KAMADA_KAWAI, FRUCTERMAN_REINGOLD, RADIAL, BALLOON, GEM
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -112,25 +112,25 @@ class LayoutFunction
|
||||||
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
||||||
.edgeComparator(edgeTypeComparator)
|
.edgeComparator(edgeTypeComparator)
|
||||||
.layering(Layering.COFFMAN_GRAHAM);
|
.layering(Layering.COFFMAN_GRAHAM);
|
||||||
case EXP_MIN_CROSS_TOP_DOWN:
|
case VERT_MIN_CROSS_TOP_DOWN:
|
||||||
return EiglspergerLayoutAlgorithm
|
return EiglspergerLayoutAlgorithm
|
||||||
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
||||||
.edgeComparator(edgeTypeComparator)
|
.edgeComparator(edgeTypeComparator)
|
||||||
.favoredEdgePredicate(favoredEdgePredicate)
|
.favoredEdgePredicate(favoredEdgePredicate)
|
||||||
.layering(Layering.TOP_DOWN);
|
.layering(Layering.TOP_DOWN);
|
||||||
case EXP_MIN_CROSS_LONGEST_PATH:
|
case VERT_MIN_CROSS_LONGEST_PATH:
|
||||||
return EiglspergerLayoutAlgorithm
|
return EiglspergerLayoutAlgorithm
|
||||||
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
||||||
.edgeComparator(edgeTypeComparator)
|
.edgeComparator(edgeTypeComparator)
|
||||||
.favoredEdgePredicate(favoredEdgePredicate)
|
.favoredEdgePredicate(favoredEdgePredicate)
|
||||||
.layering(Layering.LONGEST_PATH);
|
.layering(Layering.LONGEST_PATH);
|
||||||
case EXP_MIN_CROSS_NETWORK_SIMPLEX:
|
case VERT_MIN_CROSS_NETWORK_SIMPLEX:
|
||||||
return EiglspergerLayoutAlgorithm
|
return EiglspergerLayoutAlgorithm
|
||||||
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
||||||
.edgeComparator(edgeTypeComparator)
|
.edgeComparator(edgeTypeComparator)
|
||||||
.favoredEdgePredicate(favoredEdgePredicate)
|
.favoredEdgePredicate(favoredEdgePredicate)
|
||||||
.layering(Layering.NETWORK_SIMPLEX);
|
.layering(Layering.NETWORK_SIMPLEX);
|
||||||
case EXP_MIN_CROSS_COFFMAN_GRAHAM:
|
case VERT_MIN_CROSS_COFFMAN_GRAHAM:
|
||||||
return EiglspergerLayoutAlgorithm
|
return EiglspergerLayoutAlgorithm
|
||||||
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
.<AttributedVertex, AttributedEdge> edgeAwareBuilder()
|
||||||
.edgeComparator(edgeTypeComparator)
|
.edgeComparator(edgeTypeComparator)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue