Embedder that maximizing the external face. More...
#include <ogdf/planarity/embedder/EmbedderMaxFaceBiconnectedGraphs.h>
Static Public Member Functions | |
static void | compute (const Graph &G, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, StaticSPQRTree *spqrTree, NodeArray< EdgeArray< T >> &edgeLengthSkel) |
Computes the component lengths of all virtual edges in spqrTree. More... | |
static T | computeSize (const Graph &G, const node &n, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength) |
Returns the size of a maximum external face in G containing the node n . More... | |
static T | computeSize (const Graph &G, const node &n, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, StaticSPQRTree *spqrTree) |
Returns the size of a maximum external face in G containing the node n . More... | |
static T | computeSize (const Graph &G, const node &n, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, StaticSPQRTree *spqrTree, const NodeArray< EdgeArray< T >> &edgeLengthSkel) |
Returns the size of a maximum external face in G containing the node n . More... | |
static T | computeSize (const Graph &G, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength) |
Returns the size of a maximum external face in G . More... | |
static T | computeSize (const Graph &G, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, StaticSPQRTree *spqrTree, NodeArray< EdgeArray< T >> &edgeLengthSkel) |
Returns the size of a maximum external face in G . More... | |
static void | embed (Graph &G, adjEntry &adjExternal, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, const node &n=nullptr) |
Embeds G by computing and extending a maximum face in G containing n . More... | |
Static Protected Member Functions | |
static void | adjEntryForNode (adjEntry &ae, ListIterator< adjEntry > &before, const StaticSPQRTree &spqrTree, NodeArray< bool > &treeNodeTreated, const node &mu, const node &leftNode, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength, NodeArray< List< adjEntry >> &newOrder, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArraySource, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArrayTarget, adjEntry &adjExternal) |
static void | bottomUpTraversal (StaticSPQRTree &spqrTree, const node &mu, const NodeArray< T > &nodeLength, NodeArray< EdgeArray< T >> &edgeLength) |
Bottom up traversal of SPQR-tree computing the component length of all non-reference edges. More... | |
static void | expandEdge (const StaticSPQRTree &spqrTree, NodeArray< bool > &treeNodeTreated, const node &mu, const node &leftNode, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength, NodeArray< List< adjEntry >> &newOrder, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArraySource, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArrayTarget, adjEntry &adjExternal, const node &n=nullptr) |
static void | expandEdgePNode (const StaticSPQRTree &spqrTree, NodeArray< bool > &treeNodeTreated, const node &mu, const node &leftNode, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength, NodeArray< List< adjEntry >> &newOrder, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArraySource, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArrayTarget, adjEntry &adjExternal) |
static void | expandEdgeRNode (const StaticSPQRTree &spqrTree, NodeArray< bool > &treeNodeTreated, const node &mu, const node &leftNode, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength, NodeArray< List< adjEntry >> &newOrder, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArraySource, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArrayTarget, adjEntry &adjExternal, const node &n) |
static void | expandEdgeSNode (const StaticSPQRTree &spqrTree, NodeArray< bool > &treeNodeTreated, const node &mu, const node &leftNode, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength, NodeArray< List< adjEntry >> &newOrder, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArraySource, NodeArray< ListIterator< adjEntry >> &adjBeforeNodeArrayTarget, adjEntry &adjExternal) |
static T | largestFaceContainingNode (const StaticSPQRTree &spqrTree, const node &mu, const node &n, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength) |
Computes the size of a maximum face in the skeleton graph of mu containing n . More... | |
static T | largestFaceInSkeleton (const StaticSPQRTree &spqrTree, const node &mu, const NodeArray< T > &nodeLength, const NodeArray< EdgeArray< T >> &edgeLength) |
Computes the size of a maximum face in the skeleton graph of mu . More... | |
static void | topDownTraversal (StaticSPQRTree &spqrTree, const node &mu, const NodeArray< T > &nodeLength, NodeArray< EdgeArray< T >> &edgeLength) |
Top down traversal of SPQR-tree computing the component length of all reference edges. More... | |
Embedder that maximizing the external face.
See the paper "Graph Embedding with Minimum Depth and Maximum External Face" by C. Gutwenger and P. Mutzel (2004) for details.
Definition at line 54 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
(ae->theEdge() == referenceEdge)
(S.isVirtual(ae->theEdge()))
Definition at line 443 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Bottom up traversal of SPQR-tree computing the component length of all non-reference edges.
spqrTree | is the SPQR-tree of G . |
mu | is the SPQR-tree node treated in this function call. |
nodeLength | is saving for each node of the original graph G its length. |
edgeLength | is saving for each skeleton graph the length of each edge. |
Definition at line 1277 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Computes the component lengths of all virtual edges in spqrTree.
G | is the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
spqrTree | is the SPQR-tree of G . |
edgeLengthSkel | is saving for each skeleton graph of the SPQR-tree all edge lengths. |
Definition at line 1109 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Returns the size of a maximum external face in G
containing the node n
.
G | is the original graph. |
n | is a node of the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
G
containing the node n
. Definition at line 1205 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Returns the size of a maximum external face in G
containing the node n
.
G | is the original graph. |
n | is a node of the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
spqrTree | is the SPQR-tree of G. |
G
containing the node n
. Definition at line 1225 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Returns the size of a maximum external face in G
containing the node n
.
G | is the original graph. |
n | is a node of the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
spqrTree | is the SPQR-tree of G. |
edgeLengthSkel | is saving for each skeleton graph the length of each edge. |
G
containing the node n
. Definition at line 1233 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Returns the size of a maximum external face in G
.
G | is the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
G
. Definition at line 1138 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Returns the size of a maximum external face in G
.
The SPQR-tree is given. The computed component lengths are computed and returned.
G | is the original graph. |
nodeLength | is saving for each vertex in G its length. |
edgeLength | is saving for each edge in G its length. |
spqrTree | is the SPQR-tree of G. |
edgeLengthSkel | is saving for each skeleton graph the length of each edge. |
G
. Definition at line 1157 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
static |
Embeds G
by computing and extending a maximum face in G
containing n
.
G | is the original graph. |
adjExternal | is assigned an adjacency entry of the external face. |
nodeLength | stores for each vertex in G its length. |
edgeLength | stores for each edge in G its length. |
n | is a vertex of the original graph. If n is given, a maximum face containing n is computed, otherwise any maximum face. |
Definition at line 367 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Definition at line 517 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Definition at line 634 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Definition at line 856 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Definition at line 545 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Computes the size of a maximum face in the skeleton graph of mu
containing n
.
spqrTree | is the SPQR-tree of G . |
mu | is the SPQR-tree node treated in this function call. |
n | is a node of the original graph G . |
nodeLength | is saving for each node of the original graph G its length. |
edgeLength | is saving for each skeleton graph the length of each edge. |
Definition at line 1432 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Computes the size of a maximum face in the skeleton graph of mu
.
spqrTree | is the SPQR-tree of G . |
mu | is the SPQR-tree node treated in this function call. |
nodeLength | is saving for each node of the original graph G its length. |
edgeLength | is saving for each skeleton graph the length of each edge. |
Definition at line 1515 of file EmbedderMaxFaceBiconnectedGraphs.h.
|
staticprotected |
Top down traversal of SPQR-tree computing the component length of all reference edges.
spqrTree | is the SPQR-tree of G . |
mu | is the SPQR-tree node treated in this function call. |
nodeLength | is saving for each node of the original graph G its length. |
edgeLength | is saving for each skeleton graph the length of each edge. |
Definition at line 1356 of file EmbedderMaxFaceBiconnectedGraphs.h.