|
| | DualGraphBase (Embedding &CE) |
| | Constructor; creates dual graph and its combinatorial embedding.
|
| |
| | ~DualGraphBase () |
| | Destructor.
|
| |
| Embedding & | getPrimalEmbedding () const |
| | Returns a reference to the combinatorial embedding of the primal graph.
|
| |
| const Graph & | getPrimalGraph () const |
| | Returns a reference to the primal graph.
|
| |
|
| const node & | primalNode (face f) const |
| | Returns the node in the primal graph corresponding to f.
|
| |
| const edge & | primalEdge (edge e) const |
| | Returns the edge in the primal graph corresponding to e.
|
| |
| const face & | primalFace (node v) const |
| | Returns the face in the embedding of the primal graph corresponding to v.
|
| |
| const node & | dualNode (face f) const |
| | Returns the node in the dual graph corresponding to f.
|
| |
| const edge & | dualEdge (edge e) const |
| | Returns the edge in the dual graph corresponding to e.
|
| |
| const face & | dualFace (node v) const |
| | Returns the face in the embedding of the dual graph corresponding to v.
|
| |
| | CombinatorialEmbedding (Graph &G) |
| | Creates a combinatorial embedding of graph G.
|
| |
| const Graph & | getGraph () const |
| | Returns the associated graph.
|
| |
| Graph & | getGraph () |
| |
| | operator const Graph & () const |
| |
| | operator Graph & () |
| |
| void | init (Graph &G) |
| | Initializes the embedding for graph G.
|
| |
| void | clear () |
| | Removes all nodes, edges, and faces from the graph and the embedding.
|
| |
| edge | split (edge e) |
| | Splits edge e=(v,w) into e=(v,u) and e'=(u,w) creating a new node u.
|
| |
| void | unsplit (edge eIn, edge eOut) |
| | Undoes a split operation.
|
| |
| node | splitNode (adjEntry adjStartLeft, adjEntry adjStartRight) |
| | Splits a node while preserving the order of adjacency entries.
|
| |
| node | contract (edge e, bool keepSelfLoops=false) |
| | Contracts edge e while preserving the order of adjacency entries.
|
| |
| edge | splitFace (adjEntry adjSrc, adjEntry adjTgt, bool sourceAfter=false) |
| | Splits a face by inserting a new edge.
|
| |
| edge | addEdgeToIsolatedNode (node v, adjEntry adjTgt) |
| | Inserts a new edge similarly to splitFace without having to call computeFaces again.
|
| |
| edge | addEdgeToIsolatedNode (adjEntry adjSrc, node v) |
| | Inserts a new edge similarly to splitFace without having to call computeFaces again.
|
| |
| face | joinFaces (edge e) |
| | Removes edge e and joins the two faces adjacent to e.
|
| |
| face | joinFaces (adjEntry adj) |
| | Removes edge e corresponding to adj and joins the two faces adjacent to e.
|
| |
| void | reverseEdge (edge e) |
| | Reverses edges e and updates embedding.
|
| |
| void | moveBridge (adjEntry adjBridge, adjEntry adjBefore) |
| | Moves a bridge in the graph.
|
| |
| void | removeDeg1 (node v) |
| | Removes degree-1 node v.
|
| |
| void | updateMerger (edge e, face fRight, face fLeft) |
| | Update face information after inserting a merger in a copy graph.
|
| |
| | ConstCombinatorialEmbedding () |
| | Creates a combinatorial embedding associated with no graph.
|
| |
| | ConstCombinatorialEmbedding (const ConstCombinatorialEmbedding &C) |
| | Copy constructor.
|
| |
| | ConstCombinatorialEmbedding (const Graph &G) |
| | Creates a combinatorial embedding of graph G.
|
| |
| virtual | ~ConstCombinatorialEmbedding () |
| | Destructor.
|
| |
| face_iterator | begin () const |
| |
| int | calculateArraySize (int add) const |
| |
| face | chooseFace (std::function< bool(face)> includeFace=[](face) { return true;}, bool isFastTest=true) const |
| | Returns a random face.
|
| |
| void | computeFaces () |
| | Computes the list of faces.
|
| |
| void | consistencyCheck () const |
| | Asserts that this embedding is consistent.
|
| |
| face_iterator | end () const |
| |
| face | externalFace () const |
| | Returns the external face.
|
| |
| adjEntry | findCommonFace (const node v, const node w, adjEntry &adjW, bool left=true) const |
| | Identifies a common face of two nodes and returns the respective adjacency entry.
|
| |
| adjEntry | findCommonFace (const node v, const node w, bool left=true) const |
| | Identifies a common face of two nodes and returns the respective adjacency entry.
|
| |
| face | firstFace () const |
| | Returns the first face in the list of all faces.
|
| |
| const Graph & | getGraph () const |
| | Returns the associated graph of the combinatorial embedding.
|
| |
| void | init () |
| |
| void | init (const Graph &G) |
| | Initializes the embedding for graph G.
|
| |
| bool | isBridge (edge e) const |
| |
| bool | isKeyAssociated (face key) const |
| |
| face | lastFace () const |
| | Returns the last face in the list of all faces.
|
| |
| face | leftFace (adjEntry adj) const |
| | Returns the face to the left of adj, i.e., the face containing the twin of adj.
|
| |
| int | maxFaceIndex () const |
| | Returns the largest used face index.
|
| |
| face | maximalFace () const |
| | Returns a face of maximal size.
|
| |
| int | maxKeyIndex () const |
| |
| int | numberOfFaces () const |
| | Returns the number of faces.
|
| |
| | operator const Graph & () const |
| | Returns associated graph.
|
| |
| ConstCombinatorialEmbedding & | operator= (const ConstCombinatorialEmbedding &C) |
| | Assignment operator.
|
| |
| face | rightFace (adjEntry adj) const |
| | Returns the face to the right of adj, i.e., the face containing adj.
|
| |
| void | setExternalFace (face f) |
| | Sets the external face to f.
|
| |
| bool | valid () const |
| | Returns whether the embedding is associated with a graph.
|
| |
| virtual | ~RegistryBase () noexcept |
| | Destructor. Unregisters all associated arrays.
|
| |
| void | copyArrayEntries (int toIndex, int fromIndex) |
| | Copies the entry from fromIndex to toIndex in all registered arrays.
|
| |
| int | getArraySize () const |
| | Returns the current size of all registered arrays.
|
| |
| const registration_list_type & | getRegisteredArrays () const |
| | Returns a reference to the list of all registered arrays.
|
| |
| bool | isAutoShrink () const |
| | Returns whether the registry allows arrays to shrink when keys are removed.
|
| |
| void | keyAdded (Key key) |
| | Records the addition of a new key and resizes all registered arrays if necessary.
|
| |
| void | keyRemoved (Key key) |
| | Records the deletion of a key and resizes all registered arrays if auto shrink is enabled.
|
| |
| void | keysCleared () |
| | Records that all keys have been cleared. If auto shrink is enabled, all arrays are cleared and resized to 0.
|
| |
| void | moveRegisterArray (registration_iterator_type it, registered_array_type *pArray) const |
| | Stores array pArray at position it in the list of registered arrays.
|
| |
| OGDF_NODISCARD registration_iterator_type | registerArray (registered_array_type *pArray) const |
| | Registers a new array with this registry.
|
| |
| void | reserveSpace (int new_keys) |
| | Resizes all arrays to make space of new_keys new keys.
|
| |
| void | resizeArrays () |
| | Resizes all arrays to the size requested by calculateArraySize(). Only shrinks the arrays if auto shrink is enabled.
|
| |
| void | resizeArrays (int size) |
| | Resizes all arrays to size. Only shrinks the arrays if auto shrink is enabled.
|
| |
| void | resizeArrays (int size, bool shrink) |
| | Resizes all arrays to size. If shrink is true, the arrays may also shrink.
|
| |
| void | setAutoShrink (bool mAutoShrink) |
| | Specifies whether the registry allows arrays to shrink when keys are removed.
|
| |
| void | swapArrayEntries (int index1, int index2) |
| | Swaps the entries at index1 and index2 in all registered arrays.
|
| |
| void | unregisterArray (registration_iterator_type it) const noexcept |
| | Unregisters an array associated with this registry.
|
| |
| void | unregisterArrays () noexcept |
| | Unregister all associated arrays.
|
| |
| | Observable ()=default |
| |
| | Observable (const Observable ©)=delete |
| | If you want to copy a subclass of Observable, call the default Observable() constructor.
|
| |
| | Observable (Observable &&move)=delete |
| | If you want to move a subclass of Observable, call the default Observable() constructor.
|
| |
| virtual | ~Observable () |
| | Note that all Observers must already be removed once the destructor of this base class is invoked (e.g.
|
| |
| Observable & | operator= (const Observable ©)=delete |
| |
| Observable & | operator= (Observable &&move)=delete |
| |
|
| Embedding & | m_primalEmbedding |
| | The embedding of the primal graph.
|
| |
| FaceArray< node > | m_primalNode |
| | The corresponding node in the primal graph.
|
| |
| NodeArray< face > | m_primalFace |
| | The corresponding facee in the embedding of the primal graph.
|
| |
| EdgeArray< edge > | m_primalEdge |
| | The corresponding edge in the primal graph.
|
| |
| FaceArray< node > | m_dualNode |
| | The corresponding node in the dual graph.
|
| |
| NodeArray< face > | m_dualFace |
| | The corresponding face in embedding of the dual graph.
|
| |
| EdgeArray< edge > | m_dualEdge |
| | The corresponding edge in the dual graph.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| edge | splitPrimal (edge e) |
| | Splits edge e=(v,w) into e=(v,u) and e'=(u,w) creating a new node u.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| void | unsplitPrimal (edge eIn, edge eOut) |
| | Undoes a split operation.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| node | splitNodePrimal (adjEntry adjStartLeft, adjEntry adjStartRight) |
| | Splits a node while preserving the order of adjacency entries.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| node | contractPrimal (edge e, bool keepSelfLoops=false) |
| | Contracts edge e while preserving the order of adjacency entries.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| edge | splitFacePrimal (adjEntry adjSrc, adjEntry adjTgt, bool sourceAfter=false) |
| | Splits a face by inserting a new edge.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| edge | addEdgeToIsolatedNodePrimal (node v, adjEntry adjTgt) |
| | Inserts a new edge similarly to splitFace without having to call computeFaces again.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| edge | addEdgeToIsolatedNodePrimal (adjEntry adjSrc, node v) |
| | Inserts a new edge similarly to splitFace without having to call computeFaces again.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| face | joinFacesPrimal (edge e) |
| | Removes edge e and joins the two faces adjacent to e.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| void | removeDeg1Primal (node v) |
| | Removes degree-1 node v.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| void | reverseEdgePrimal (edge e) |
| | Reverses edges e and updates embedding.
|
| |
| void | consistencyCheck () const |
| | Asserts that this embedding is consistent.
|
| |
| template<bool isConstSFINAE = isConst, typename std::enable_if<!isConstSFINAE, int >::type = 0> |
| edge | addEdgeToIsolatedNodePrimal (adjEntry adj, node v, bool adjSrc) |
| | Inserts a new edge similarly to splitFace without having to call computeFaces again.
|
| |
| adjEntry | dualAdj (adjEntry primalAdj, bool reverse=false) |
| | Returns the corresponding adjEntry of the dual edge of primalAdj (or the opposite adjEntry of the dual edge if reverse is set).
|
| |
template<bool isConst>
class ogdf::DualGraphBase< isConst >
A dual graph including its combinatorial embedding of an embedded graph.
Dual edges are rotated counter-clockwise compared to the primal ones.
Definition at line 61 of file DualGraph.h.