Booth-Lueker planarity test. More...
#include <ogdf/planarity/BoothLueker.h>
Inheritance diagram for ogdf::BoothLueker:Public Member Functions | |
| BoothLueker () | |
| ~BoothLueker () | |
| virtual bool | isPlanar (const Graph &G) override |
| Returns true, if G is planar, false otherwise. | |
| 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. | |
| virtual bool | planarEmbedPlanarGraph (Graph &G) override |
| Returns true, if G is planar, false otherwise. If true, G contains a planar embedding. | |
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. | |
| bool | doTest (Graph &G, NodeArray< int > &numbering) |
Performs a planarity test on a biconnected component of G. | |
| 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. | |
| 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.