Some missing utilities for working with Graphs, their embeddings, and cyclic orders. More...
Go to the source code of this file.
Namespaces | |
namespace | ogdf |
The namespace for all OGDF objects. | |
Enumerations | |
enum class | ogdf::OrderComp { ogdf::SAME , ogdf::REVERSED , ogdf::DIFFERENT } |
Functions | |
void | ogdf::assertStarCentreAndRay (node centre, node ray) |
Check that one vertex is the centre of star while the other is one of its rays. | |
OrderComp | ogdf::compareCyclicOrder (node n, List< adjEntry > &o, bool full_check=false) |
Cyclically compare the rotation of a node with a given cyclic order. | |
node | ogdf::getCentreOfStar (node g_n) |
Given a vertex that is either the centre or ray of a star, return the centre of the respective star. | |
bool | ogdf::joinEdge (Graph &G, adjEntry u_adj, adjEntry v_adj, node u, node v) |
Join two edges into one, keeping the two endpoints corresponding to the adjEntries. | |
bool | ogdf::joinEdge (Graph &G, adjEntry u_adj, adjEntry v_adj, node u, node v, const std::function< void(edge)> &deleteEdge) |
Join two edges into one, keeping the two endpoints corresponding to the adjEntries and using a custom function for deleting the old edge. | |
bool | ogdf::joinEdge (Graph &G, edge u_e, edge v_e, node u, node v) |
Join two edges into one, keeping the two given endpoints. | |
bool | ogdf::joinEdge (Graph &G, edge u_e, edge v_e, node u, node v, const std::function< void(edge)> &deleteEdge) |
Join two edges into one, keeping the two given endpoints and using a custom function for deleting the old edge. | |
void | ogdf::moveAdjToBack (Graph &G, adjEntry b) |
Rotate a node to move a given adjEntry to the back of its list. | |
void | ogdf::moveAdjToFront (Graph &G, adjEntry f) |
Rotate a node to move a given adjEntry to the front of its list. | |
void | ogdf::moveEnd (Graph &G, adjEntry keep_adj, adjEntry new_adj, Direction dir=Direction::after) |
Change one endpoint of an edge observing a certain embedding, no matter its direction. | |
void | ogdf::moveEnd (Graph &G, edge e, node keep_end, node new_end) |
Change one endpoint of an edge, no matter its direction. | |
adjEntry | ogdf::splitEdge (Graph &G, adjEntry adj, node new_adj_to_node, node new_adj_to_twin, edge new_edge=nullptr) |
Split an edge, moving the two new middle endpoints to some other vertices observing a certain embedding. | |
edge | ogdf::splitEdge (Graph &G, edge old_edge, node new_adj_to_source, node new_adj_to_target, edge new_edge=nullptr) |
Split an edge, moving the two new middle endpoints to some other vertices. | |
Some missing utilities for working with Graphs, their embeddings, and cyclic orders.
TODO should be moved to a central location (some maybe part of the Graph class?).
Definition in file GraphUtils.h.