Booth-Lueker planarity test. More...
#include <ogdf/planarity/BoothLueker.h>
Public Member Functions | |
BoothLueker () | |
~BoothLueker () | |
virtual bool | isPlanar (const Graph &G) override |
Returns true, if G is planar, false otherwise. More... | |
virtual bool | isPlanarDestructive (Graph &G) override |
Returns true, if G is planar, false otherwise. More... | |
virtual bool | planarEmbed (Graph &G) override |
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding. More... | |
virtual bool | planarEmbedPlanarGraph (Graph &G) override |
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding. More... | |
Public Member Functions inherited from ogdf::PlanarityModule | |
PlanarityModule () | |
virtual | ~PlanarityModule () |
Private Member Functions | |
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. More... | |
bool | doTest (Graph &G, NodeArray< int > &numbering) |
Performs a planarity test on a biconnected component of G . More... | |
void | entireEmbed (Graph &G, NodeArray< SListPure< adjEntry >> &entireEmbedding, NodeArray< SListIterator< adjEntry >> &adjMarker, NodeArray< bool > &mark, node v) |
bool | preparation (Graph &G, bool embed) |
Prepares the planarity test and the planar embedding. More... | |
void | prepareParallelEdges (Graph &G) |
Private Attributes | |
EdgeArray< bool > | m_isParallel |
int | m_parallelCount |
EdgeArray< ListPure< edge > > | m_parallelEdges |
Booth-Lueker planarity test.
This class implements the linear-time planarity test proposed by Booth and Luecker, based on PQ-trees.
This class is deprecated! You will usually want to use the more modern/faster/versatile linear-time planarity test by Boyer and Myrvold instead, implemented in the class BoyerMyrvold. Generally, it is suggested to use the direct function calls isPlanar and planarEmbed in extended_graph_alg.h (which in turn use BoyerMyrvold).
Definition at line 52 of file BoothLueker.h.
|
inline |
Definition at line 54 of file BoothLueker.h.
|
inline |
Definition at line 56 of file BoothLueker.h.
|
private |
Performs a planarity test on a biconnected component of G
and embedds it planar.
numbering
contains an st-numbering of the component.
Performs a planarity test on a biconnected component of G
.
numbering
contains an st-numbering of the component.
|
private |
|
overridevirtual |
Returns true, if G is planar, false otherwise.
Implements ogdf::PlanarityModule.
|
overridevirtual |
Returns true, if G is planar, false otherwise.
Implements ogdf::PlanarityModule.
|
inlineoverridevirtual |
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
Implements ogdf::PlanarityModule.
Definition at line 65 of file BoothLueker.h.
|
inlineoverridevirtual |
Returns true, if G is planar, false otherwise. If true, G contains a planar embedding.
For BoothLueker, this procedure is exactly the same as planarEmbed. (See PlanarityModule or BoyerMyrvold for the rationale of this function's existence.
Implements ogdf::PlanarityModule.
Definition at line 72 of file BoothLueker.h.
|
private |
Prepares the planarity test and the planar embedding.
|
private |
|
private |
Definition at line 103 of file BoothLueker.h.
|
private |
Definition at line 104 of file BoothLueker.h.
Definition at line 102 of file BoothLueker.h.