Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.