43class KuratowskiWrapper;
193 return planarEmbedDestructive(G, list);
236 BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind,
262 BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind,
287 BoyerMyrvoldPlanar::EmbeddingGrade::doNotFind,
Declaration of the class BoyerMyrvoldPlanar.
Declaration of graph copy classes.
Declaration of KuratowskiSubdivion class.
Declaration of PlanarityModule.
Wrapper class used for preprocessing and valid invocation of the planarity test.
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.
BoyerMyrvold()
Constructor.
bool planarEmbed(GraphCopySimple &h, SList< KuratowskiWrapper > &output, int embeddingGrade, 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.
void transform(const KuratowskiWrapper &source, KuratowskiSubdivision &target, NodeArray< int > &count, EdgeArray< int > &countEdge)
Transforms KuratowskiWrapper in KuratowskiSubdivision.
bool planarEmbedDestructive(Graph &g, SList< KuratowskiWrapper > &output, int embeddingGrade, bool bundles=false, bool limitStructures=false, bool randomDFSTree=false, bool avoidE2Minors=true)
Returns an embedding, if g is planar and Kuratowski Subdivisions otherwise.
void clear()
Deletes BoyerMyrvoldPlanar on heap.
virtual bool isPlanarDestructive(Graph &g) override
Returns true, iff g is planar.
~BoyerMyrvold()
Destructor.
int nOfStructures
The number of extracted Structures for statistical purposes.
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.
BoyerMyrvoldPlanar * pBMP
Class BoyerMyrvoldPlanar on heap.
virtual bool planarEmbed(Graph &G) override
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
bool planarEmbed(Graph &g, SList< KuratowskiWrapper > &output, int embeddingGrade, bool bundles=false, bool limitStructures=false, bool randomDFSTree=false, bool avoidE2Minors=true)
Returns an embedding, if g is planar and Kuratowski Subdivisions otherwise.
int numberOfStructures()
The number of extracted Structures for statistical purposes.
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.
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.
virtual bool isPlanar(const Graph &g) override
Returns true, iff a copy of the constant graph g is planar.
void transform(const SList< KuratowskiWrapper > &sourceList, SList< KuratowskiSubdivision > &targetList, const Graph &g, const bool onlyDifferent=false)
Transforms KuratowskiWrapper-List in KuratowskiSubdivision-List with respect to sieving constraints.
virtual bool planarEmbedPlanarGraph(Graph &G) override
Constructs a planar embedding of G. G has to be planar!
This class implements the extended BoyerMyrvold planarity embedding algorithm.
EmbeddingGrade
Denotes the different embedding options.
Dynamic arrays indexed with edges.
Copies of graphs with mapping between nodes and edges.
Data type for general directed graphs (adjacency list representation).
Wrapper-class for Kuratowski Subdivisions containing the minortype and edgelist.
Dynamic arrays indexed with nodes.
Module for planarity testing and planar embeddings.
Singly linked lists (maintaining the length of the list).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
bool planarEmbed(Graph &G)
Returns true, if G is planar, false otherwise. If true is returned, G will be planarly embedded.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.