(full graph with 5 nodes) or an
(complete bipartite graph on 3 ANode and 3 BNode) subdivision.
The current implementation calculates an embedding or an Kuratowski subdivision if the graph is not planar. The running time of the algorithm is
. #include <lemon/planarity.h>
Public Types | |
|
typedef UGraph::template EdgeMap< Edge > | EmbeddingMap |
| The map for store of embedding. | |
Public Member Functions | |
| PlanarEmbedding (const UGraph &ugraph) | |
| Constructor. | |
| bool | run (bool kuratowski=true) |
| Runs the algorithm. | |
| Edge | next (const Edge &edge) const |
| Gives back the successor of an edge. | |
| const EmbeddingMap & | embedding () const |
| Gives back the calculated embedding map. | |
| bool | kuratowski (const UEdge &uedge) |
| Gives back true when the undirected edge is in the kuratowski subdivision. | |
| PlanarEmbedding | ( | const UGraph & | ugraph | ) | [inline] |
The graph should be simple, i.e. parallel and loop edge free.
| bool run | ( | bool | kuratowski = true |
) | [inline] |
Runs the algorithm.
| kuratowski | If the parameter is false, then the algorithm does not calculate the isolate Kuratowski subdivisions. |
| Edge next | ( | const Edge & | edge | ) | const [inline] |
Gives back the successor of an edge. This function makes possible to query the cyclic order of the outgoing edges from a node.
| const EmbeddingMap& embedding | ( | ) | const [inline] |
The returned map contains the successor of each edge in the graph.
| bool kuratowski | ( | const UEdge & | uedge | ) | [inline] |
Gives back true when the undirected edge is in the kuratowski subdivision
1.5.9