|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
46 class CombinatorialEmbedding;
47 template<
class E1,
class E2>
70 os <<
"(" << c.
m_adj <<
")";
167 int numberOfSplittedNodes()
const;
185 bool isPseudoCrossing(
node v)
const;
188 int computeNumberOfCrossings()
const;
238 void unsplit(
edge eIn,
edge eOut)
override;
241 virtual void delEdge(
edge e)
override;
289 void removeEdgePath(
edge eOrig, nodeSplit ns,
node& oldSrc,
node& oldTgt);
308 void contractSplit(nodeSplit ns);
389 void removeSelfLoop(
edge e);
406 void resolvePseudoCrossing(
node v);
415 void consistencyCheck()
const;
List< edge > m_path
The insertion path of the node split.
The namespace for all OGDF objects.
int m_currentCC
The index of the current component.
Includes declaration of graph class.
SList< adjEntry > m_partitionLeft
Declaration and implementation of ogdf::FaceSet.
int currentCC() const
Returns the index of the current connected component (-1 if not yet initialized).
EdgeArray< edge > m_eAuxCopy
bool splittable(node v) const
Returns true iff v is splittable.
Tuples of two elements (2-tuples).
SList< adjEntry > m_partitionRight
ListIterator< NodeSplit > m_nsIterator
This node split's iterator in the list of all node splits.
std::pair< node, node > split(Graph &G, sync_plan::PipeBij &bij, const EdgeArray< edge > *new_edges=nullptr, const EdgeArray< bool > *reverse_edges=nullptr, node src=nullptr, node tgt=nullptr)
Singly linked lists (maintaining the length of the list).
int m_numCC
The number of components in the original graph.
Planarized representations (of a connected component) of a graph.
NodeArray< bool > m_splittableOrig
NodeSplit * nodeSplitOf(edge e) const
Returns the node split associated with e, or 0 if none (e.g., e belongs to an original edge).
NodeArray< List< node > > m_vCopy
The corresponding list of nodes in the graph copy.
EdgeArray< List< edge > > m_eCopy
The corresponding list of edges in the graph copy.
Array< List< node > > m_nodesInCC
The list of original nodes in each component.
Declaration and implementation of NodeSet, EdgeSet, and AdjEntrySet classes.
node source() const
Returns the first node on the node split's insertion path.
const List< node > & expansion(node vOrig) const
Returns the list of copy nodes of vOrig.
node target() const
Returns the last node on the node split's insertion path.
Class for adjacency list elements.
const List< node > & nodesInCC() const
Returns the list of (original) nodes in the current connected component.
NodeArray< ListIterator< node > > m_vIterator
The position of copy node in the list.
EdgeArray< edge > m_eOrig
The corresponding edge in the original graph.
node copy(node vOrig) const
Returns the first copy node of vOrig.
const List< edge > & chain(edge eOrig) const
Returns the insertion path of edge eOrig.
NodeSplit(ListIterator< NodeSplit > it)
Creates a node split and sets its iterator in the list of all node splits.
Declaration of singly linked lists and iterators.
The parameterized class Array implements dynamic arrays of type E.
bool splittableOrig(node vOrig) const
Returns true iff vOrig is splittable.
EdgeArray< NodeSplit * > m_eNodeSplit
int numberOfCCs() const
Returns the number of connected components in the original graph.
NodeSplit()
Creates an empty node split.
ListConstIterator< edge > position(edge e) const
edge originalEdge(edge e) const
Returns the original edge of e, or 0 if e has none (e.g., e belongs to a node split).
RegisteredArray for nodes, edges and adjEntries of a graph.
NodeArray< bool > m_splittable
Data type for general directed graphs (adjacency list representation).
List< NodeSplit > m_nodeSplits
EdgeArray< ListIterator< edge > > m_eIterator
The position of copy edge in the list.
edge copy(edge eOrig) const
Returns the first edge in eOrig's insertion path.
List< NodeSplit > & nodeSplits()
Returns the list of node splits.
NodeArray< node > m_vOrig
The corresponding node in the original graph.
Basic declarations, included by all source files.
node original(node v) const
Returns the original node of v, or 0 if v is a dummy.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Combinatorial embeddings of planar graphs with modification functionality.
const Graph & original() const
Returns a reference to the original graph.
Declaration and implementation of Array class and Array algorithms.
Representation of a node split in a planarized expansion.
Class for the representation of edges.
Declaration of doubly linked lists and iterators.
int numberOfNodeSplits() const
Returns the number of node splits.
Encapsulates a pointer to a list element.
const List< node > & nodesInCC(int i) const
Returns the list of (original) nodes in connected component i.
friend std::ostream & operator<<(std::ostream &os, const Crossing &c)
const Graph * m_pGraph
The original graph.
Class for the representation of nodes.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.