|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
44 class KuratowskiSubdivision;
170 virtual bool isPlanarDestructive(
Graph& g)
override;
194 return planarEmbedDestructive(G, list);
207 const bool onlyDifferent =
false);
215 const bool onlyDifferent =
false) {
216 transform(sourceList, targetList, h.
original(), onlyDifferent);
231 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
232 bool avoidE2Minors =
true);
238 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
239 bool avoidE2Minors =
true) {
240 return planarEmbedDestructive(g, output,
static_cast<int>(embeddingGrade), bundles,
241 limitStructures, randomDFSTree, avoidE2Minors);
257 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
258 bool avoidE2Minors =
true);
264 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
265 bool avoidE2Minors =
true) {
266 return planarEmbed(g, output,
static_cast<int>(embeddingGrade), bundles, limitStructures,
267 randomDFSTree, avoidE2Minors);
282 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
283 bool avoidE2Minors =
true);
289 bool bundles =
false,
bool limitStructures =
false,
bool randomDFSTree =
false,
290 bool avoidE2Minors =
true) {
291 return planarEmbed(h, output,
static_cast<int>(embeddingGrade), bundles, limitStructures,
292 randomDFSTree, avoidE2Minors);
The namespace for all OGDF objects.
virtual bool planarEmbed(Graph &G) override
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
Includes declaration of graph class.
Declaration of the class BoyerMyrvoldPlanar.
Wrapper-class for Kuratowski Subdivisions containing the minortype and edgelist.
virtual bool planarEmbedPlanarGraph(Graph &G) override
Constructs a planar embedding of G. G has to be planar!
Singly linked lists (maintaining the length of the list).
BoyerMyrvoldPlanar * pBMP
Class BoyerMyrvoldPlanar on heap.
bool isPlanar(const Graph &G)
Returns true, if G is planar, false otherwise.
BoyerMyrvold()
Constructor.
Copies of graphs with mapping between nodes and edges.
void clear()
Deletes BoyerMyrvoldPlanar on heap.
Declaration of PlanarityModule.
EmbeddingGrade
Denotes the different embedding options.
Declaration of singly linked lists and iterators.
int numberOfStructures()
The number of extracted Structures for statistical purposes.
bool planarEmbed(Graph &G)
Returns true, if G is planar, false otherwise. If true is returned, G will be planarly embedded.
~BoyerMyrvold()
Destructor.
Declaration of graph copy classes.
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
Wrapper class used for preprocessing and valid invocation of the planarity test.
void transform(const SList< KuratowskiWrapper > &sourceList, SList< KuratowskiSubdivision > &targetList, const GraphCopySimple &h, const bool onlyDifferent=false)
Transforms KuratowskiWrapper-List in KuratowskiSubdivision-List with respect to sieving constraints.
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
This class implements the extended BoyerMyrvold planarity embedding algorithm.
Module for planarity testing and planar embeddings.
bool planarEmbedDestructive(Graph &g, SList< KuratowskiWrapper > &output, BoyerMyrvoldPlanar::EmbeddingGrade embeddingGrade=BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind, bool bundles=false, bool limitStructures=false, bool randomDFSTree=false, bool avoidE2Minors=true)
Returns an embedding, if g is planar and Kuratowski Subdivisions otherwise.
bool planarEmbed(GraphCopySimple &h, SList< KuratowskiWrapper > &output, BoyerMyrvoldPlanar::EmbeddingGrade embeddingGrade=BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind, bool bundles=false, bool limitStructures=false, bool randomDFSTree=false, bool avoidE2Minors=true)
Returns an embedding, if graph copy h is planar and Kuratowski Subdivisions otherwise.
bool planarEmbed(Graph &g, SList< KuratowskiWrapper > &output, BoyerMyrvoldPlanar::EmbeddingGrade embeddingGrade=BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind, bool bundles=false, bool limitStructures=false, bool randomDFSTree=false, bool avoidE2Minors=true)
Returns an embedding, if g is planar and Kuratowski Subdivisions otherwise.
const Graph & original() const
Returns a reference to the original graph.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
int nOfStructures
The number of extracted Structures for statistical purposes.