Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
EmbedderMinDepthMaxFace.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Graph.h>
35#include <ogdf/basic/List.h>
36#include <ogdf/basic/basic.h>
39
40namespace ogdf {
41
43
50public:
56 virtual void doCall(Graph& G, adjEntry& adjExternal) override;
57
58protected:
60
71 int bottomUpTraversal(const node& bT, const node& cH);
72
84 void topDownTraversal(const node& bT);
85
86 int constraintMaxFace(const node& bT, const node& cH) override;
87
88 void maximumFaceRec(const node& bT, node& bT_opt, int& ell_opt) override;
89
90 virtual void embedBlock(const node& bT, const node& cT, ListIterator<adjEntry>& after) override;
91
92 using EmbedderMaxFace::embedBlock;
93
96
99
102
106
111
114
117
120
123
126};
127
128}
Declares ogdf::EmbedderMaxFace.
Includes declaration of graph class.
Declaration of doubly linked lists and iterators.
Definition of MDMFLengthAttribute.
Basic declarations, included by all source files.
Class for adjacency list elements.
Definition Graph_d.h:143
Embedder that maximizes the external face.
Embedding that minimizes block-nesting depth and maximizes the external face.
NodeArray< List< node > > M2
M2 is empty, if |M_B| != 1, otherwise M_B = {cH} M2 = {cH' in V_B \ {v} | m_B(cH') = m2} with m2 = ma...
EdgeArray< int > cB
an array saving the length for each edge in the BC-tree
NodeArray< int > mf_nodeLength
is saving for each node of the block graph its length
NodeArray< MDMFLengthAttribute > mdmf_nodeLength
is saving for each node of the block graph its length
void topDownTraversal(const node &bT)
Top-down-traversal of BC-tree.
NodeArray< int > md_nodeLength
saving for each node in the block graph its length
int bottomUpTraversal(const node &bT, const node &cH)
Bottom-up-traversal of bcTree computing the values m_{cT, bT} for all edges (cT, bT) in the BC-tree.
NodeArray< int > mf_cstrLength
is saving for each node of the block graph its cstrLength
NodeArray< List< node > > md_M_B
M_B = {cH in B | m_B(cH) = m_B} with m_B = max{m_B(c) : c in B} and m_B(c) = max( {0} cup {m_{c,...
virtual void embedBlock(const node &bT, const node &cT, ListIterator< adjEntry > &after) override
Computes the adjacency list for all nodes in a block and calls recursively the function for all block...
virtual void doCall(Graph &G, adjEntry &adjExternal) override
Call embedder algorithm.
int constraintMaxFace(const node &bT, const node &cH) override
Bottom up traversal of BC-tree.
void maximumFaceRec(const node &bT, node &bT_opt, int &ell_opt) override
Top down traversal of BC-tree.
NodeArray< int > minDepth
an array containing the minimum depth of each block
NodeArray< int > maxFaceSize
an array containing the maximum face size of each block
EdgeArray< MDMFLengthAttribute > edgeLength
is saving for each edge of the block graph its length
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:866
Encapsulates a pointer to a list element.
Definition List.h:113
Class for the representation of nodes.
Definition Graph_d.h:241
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition Graph_d.h:659
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
The namespace for all OGDF objects.