|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
66 virtual void doCall(
Graph& G,
adjEntry& adjExternal)
override;
77 deleteDummyNodes(G, result);
92 void embedBlocks(
const node& bT,
const node& cH);
100 void embedCutVertex(
const node& vT,
bool root =
false);
108 void embedBlockVertex(
const node& bT,
const node& parent_cT);
116 int computeBlockCutfaceTreeEdgeLengths(
const node& n);
123 void computeTdiam(
const node& n);
155 int eccentricityBottomUp(
const node& nT);
163 void eccentricityTopDown(
const node& nT);
170 int depthBlock(
const node& bT);
177 int depthCutvertex(
const node& cT);
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
The namespace for all OGDF objects.
BCTree * pm_blockCutfaceTree
the block-cutface tree of G (the BC-tree of the dual graph)
Embedder that minimizes block-nesting depth for given embedded blocks.
Declaration and implementation of ArrayBuffer class.
ArrayBuffer< node > fPG_to_nDG
mapping faces (by ID) in G to nodes in DG
Includes declaration of graph class.
NodeArray< node > nBlockCutfaceTree_to_nm_blockCutfaceTree
mapping of nodes from the graph blockCutfaceTree to the BC-tree m_blockCutfaceTree
NodeArrayP< Graph > G_nT
given a node nT (cutvertex or block), G_nT is the subgraph of G associated with the subtree of the BC...
NodeArray< EdgeArray< edge > > eG_nT_to_ePG
a mapping of edges in G_nT to edges in G
bool Tdiam_initialized
Needed in computeTdiam function to know if first vertex was already inserted.
EdgeArray< int > edgeLength_blockCutfaceTree
Saving edge lengths for the block-cutface tree.
Declaration of extended graph algorithms.
bool m_useExtendedDepthDefinition
Simple, safe base classes for C++ observables and observers.
NodeArray< EdgeArray< edge > > eH_to_eBlockEmbedding
a mapping of edges in the auxiliaryGraph of the BC-tree to blockG
NodeArray< int > eccentricity
saving eccentricity for every node of the block-cutface tree
Common base for embedder algorithms based on BC trees.
NodeArray< NodeArray< node > > nBlockEmbedding_to_nH
a mapping of nodes in blockG to the auxiliaryGraph of the BC-tree
adjEntry tmpAdjExtFace
adjacency entry of the external face of the embedding of G
Graph bcTreePG
the tree of pBCTree rooted at a cutface.
NodeArray< NodeArray< int > > nodeLength
saving for each node in the block graphs its length
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,...
Class for adjacency list elements.
adjEntry firstAdj() const
Returns the first adjacency element in the face.
Graph Tdiam
The diametrical tree of the block-cutface tree.
NodeArray< node > nBlockCutfaceTree_to_nTdiam
Mapping nodes from block-cutvertex tree to the diametrical tree.
NodeArray< adjEntry > Gamma_adjExt_nT
adjacency entry of the external face of G_nT[nT]
NodeArray< NodeArray< node > > nG_nT_to_nPG
a mapping of nodes in G_nT to nodes in G
NodeArray< EdgeArray< edge > > eBlockEmbedding_to_eH
a mapping of edges in blockG to the auxiliaryGraph of the BC-tree
NodeArray< node > bDG_to_bPG
a mapping of blocks of the dual graph DG to its original graph G
NodeArray< node > nTdiam_to_nBlockCutfaceTree
Mapping nodes from the diametrical tree to block-cutvertex tree.
#define OGDF_NO_COPY(cls)
Explicitly disables (deletes) copy construction and assignment for class cls.
bool planarEmbed(Graph &G)
Returns true, if G is planar, false otherwise. If true is returned, G will be planarly embedded.
Doubly linked lists (maintaining the length of the list).
RegisteredArray for nodes, edges and adjEntries of a graph.
bool useExtendedDepthDefinition() const
Data type for general directed graphs (adjacency list representation).
face chooseFace(std::function< bool(face)> includeFace=[](face) { return true;}, bool isFastTest=true) const
Returns a random face.
List< node > dummyNodes
this list is saving the dummy nodes which were inserted to produce a face in one-edge-blocks
EdgeArray< int > m_cB
an array saving the length for each edge in the BC-tree
NodeArray< NodeArray< node > > nPG_to_nG_nT
a mapping of nodes in G to nodes in G_nT
NodeArray< node > nm_blockCutfaceTree_to_nBlockCutfaceTree
mapping of nodes from the BC-tree m_blockCutfaceTree to the graph blockCutfaceTree
Definition of ogdf::EmbedderBCTreeBase.
Basic declarations, included by all source files.
NodeArray< EdgeArray< edge > > ePG_to_eG_nT
a mapping of edges in G to edges in G_nT
Declaration of CombinatorialEmbedding and face.
NodeArray< int > nDG_to_fPG
mapping nodes in DG to faces in DG
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
NodeArray< node > npBCTree_to_nBCTree
a mapping of nodes in pBCTree->bcTree() to nodes in bcTreePG
Combinatorial embeddings of planar graphs with modification functionality.
void useExtendedDepthDefinition(bool b)
NodeArray< NodeArray< node > > nH_to_nBlockEmbedding
a mapping of nodes in the auxiliaryGraph of the BC-tree to blockG
node knotTdiam
The knot of the diametrical tree.
Class for the representation of edges.
Declaration of doubly linked lists and iterators.
NodeArray< node > nBCTree_to_npBCTree
a mapping of nodes in bcTreePG to nodes in pBCTree->bcTree()
NodeArray< List< adjEntry > > newOrder
saves for every node of G the new adjacency list
Graph blockCutfaceTree
the block-cutface tree of G (only the graph, rooted at the external face
NodeArray< node > bPG_to_bDG
a mapping of blocks of the graph G to its dual graph DG
Class for the representation of nodes.
List< node > oneEdgeBlockNodes
list of nodes which are only in one block which exists of extactly this node plus a cutvertex
adjEntry trivialInit(Graph &G) override
Initialization code for biconnected input. Returns an adjacency entry that lies on the external face.
NodeArrayP< Graph > blockG
all blocks
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
NodeArray< int > eccentricity_alt
saving second highest eccentricity for every node of the block-cutface tree
List< List< adjEntry > > faces
a list of all faces in G, a face in this list is containing a list of all adjacency entries