|
| 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.