Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

EmbedderMinDepth.h
Go to the documentation of this file.
1 
32 #pragma once
33 
37 
38 namespace ogdf {
39 
41 
48 public:
55  virtual void doCall(Graph& G, adjEntry& adjExternal) override;
56 
57  EmbedderMinDepth() = default;
58 
59  /* needs to be deleted explicitly for MSVC<=16 and classes containing a NodeArrayP */
61 
62 private:
69  void computeBlockGraphs(const node& bT, const node& cH);
70 
81  int bottomUpTraversal(const node& bT, const node& cH);
82 
94  void topDownTraversal(const node& bT);
95 
102  void embedBlock(const node& bT);
103 
114  void embedBlock(const node& bT, const node& cT, ListIterator<adjEntry>& after);
115 
116 private:
119 
122 
125 
128 
131 
134 
137 
140 
146 
153 
156 
160 
163 };
164 
165 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::EmbedderMinDepth::nH_to_nBlockEmbedding
NodeArray< NodeArray< node > > nH_to_nBlockEmbedding
a mapping of nodes in the auxiliaryGraph of the BC-tree to blockG
Definition: EmbedderMinDepth.h:121
StaticSPQRTree.h
Declaration of class StaticSPQRTree.
ogdf::embedder::EmbedderBCTreeBase
Common base for embedder algorithms based on BC trees.
Definition: EmbedderBCTreeBase.h:44
ogdf::EmbedderMinDepth::nodeLength
NodeArray< NodeArray< int > > nodeLength
saving for each node in the block graphs its length
Definition: EmbedderMinDepth.h:133
ogdf::EmbedderMinDepth
Embedder that minimizes block-nesting depth.
Definition: EmbedderMinDepth.h:47
ogdf::EmbedderMinDepth::nBlockEmbedding_to_nH
NodeArray< NodeArray< node > > nBlockEmbedding_to_nH
a mapping of nodes in blockG to the auxiliaryGraph of the BC-tree
Definition: EmbedderMinDepth.h:127
ogdf::AdjElement
Class for adjacency list elements.
Definition: Graph_d.h:135
ogdf::EmbedderMinDepth::M2
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...
Definition: EmbedderMinDepth.h:152
ogdf::EmbedderMinDepth::minDepth
NodeArray< int > minDepth
an array containing the minimum depth of each block
Definition: EmbedderMinDepth.h:136
ogdf::EmbedderMinDepth::M_B
NodeArray< List< node > > 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,...
Definition: EmbedderMinDepth.h:145
ogdf::Direction::after
@ after
ogdf::EmbedderMinDepth::spqrTrees
NodeArray< StaticSPQRTree * > spqrTrees
The SPQR-trees of the blocks.
Definition: EmbedderMinDepth.h:162
OGDF_NO_COPY
#define OGDF_NO_COPY(cls)
Explicitly disables (deletes) copy construction and assignment for class cls.
Definition: copy_move.h:37
ogdf::EmbedderMinDepth::m_cB
EdgeArray< int > m_cB
an array saving the length for each edge in the BC-tree
Definition: EmbedderMinDepth.h:139
ogdf::EmbedderMinDepth::blockG
NodeArrayP< Graph > blockG
all blocks
Definition: EmbedderMinDepth.h:118
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
ogdf::EmbedderMinDepth::eBlockEmbedding_to_eH
NodeArray< EdgeArray< edge > > eBlockEmbedding_to_eH
a mapping of edges in blockG to the auxiliaryGraph of the BC-tree
Definition: EmbedderMinDepth.h:130
ogdf::EmbedderMinDepth::treeNodeTreated
NodeArray< bool > treeNodeTreated
treeNodeTreated saves for all block nodes in the BC-tree if it has already been treated or not.
Definition: EmbedderMinDepth.h:159
ogdf::EmbedderMinDepth::newOrder
NodeArray< List< adjEntry > > newOrder
saves for every node of G the new adjacency list
Definition: EmbedderMinDepth.h:155
ogdf::EmbedderMinDepth::eH_to_eBlockEmbedding
NodeArray< EdgeArray< edge > > eH_to_eBlockEmbedding
a mapping of edges in the auxiliaryGraph of the BC-tree to blockG
Definition: EmbedderMinDepth.h:124
EmbedderBCTreeBase.h
Definition of ogdf::EmbedderBCTreeBase.
EmbedderMaxFaceBiconnectedGraphs.h
Declares ogdf::EmbedderMaxFaceBiconnectedGraphs.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::ListIteratorBase
Encapsulates a pointer to a list element.
Definition: List.h:46
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709