Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
BoothLueker.h
Go to the documentation of this file.
1
33#pragma once
34
37#include <ogdf/basic/SList.h>
39
40namespace ogdf {
41
43
52public:
54
56
58 virtual bool isPlanarDestructive(Graph& G) override;
59
61 virtual bool isPlanar(const Graph& G) override;
62
64 virtual bool planarEmbed(Graph& G) override { return preparation(G, true); }
65
67
71 virtual bool planarEmbedPlanarGraph(Graph& G) override { return preparation(G, true); }
72
73private:
75 bool preparation(Graph& G, bool embed);
76
83
91
92 // Used by doEmbed. Computes an entire embedding from an
93 // upward embedding.
96
98
99
100 //private Members for handling parallel edges
104};
105
106}
Declaration and implementation of EdgeArray class.
Declaration and implementation of NodeArray class.
Declaration of PlanarityModule.
Declaration of singly linked lists and iterators.
Booth-Lueker planarity test.
Definition BoothLueker.h:51
bool doEmbed(Graph &G, NodeArray< int > &numbering, EdgeArray< edge > &backTableEdges, EdgeArray< edge > &forwardTableEdges)
Performs a planarity test on a biconnected component of G and embedds it planar.
void entireEmbed(Graph &G, NodeArray< SListPure< adjEntry > > &entireEmbedding, NodeArray< SListIterator< adjEntry > > &adjMarker, NodeArray< bool > &mark, node v)
virtual bool isPlanar(const Graph &G) override
Returns true, if G is planar, false otherwise.
void prepareParallelEdges(Graph &G)
virtual bool planarEmbedPlanarGraph(Graph &G) override
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
Definition BoothLueker.h:71
bool doTest(Graph &G, NodeArray< int > &numbering)
Performs a planarity test on a biconnected component of G.
virtual bool isPlanarDestructive(Graph &G) override
Returns true, if G is planar, false otherwise.
virtual bool planarEmbed(Graph &G) override
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
Definition BoothLueker.h:64
bool preparation(Graph &G, bool embed)
Prepares the planarity test and the planar embedding.
EdgeArray< ListPure< edge > > m_parallelEdges
EdgeArray< bool > m_isParallel
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
Module for planarity testing and planar embeddings.
Encapsulates a pointer to an ogdf::SList element.
Definition SList.h:92
Singly linked lists.
Definition SList.h:179
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.