54struct EncapsulatedBlock;
76 mutable int counter = 1;
114 std::function<std::ostream&(std::ostream&)>
fmtBCOf(
node n)
const {
115 return fmtBCNode(biconnectedComponent(n));
132 conn_count = conn_next_id = 0;
133 bc_conn_id.
init(BC, -1);
134 g_bc.
init(*G,
nullptr);
135 bc_g.
init(BC,
nullptr);
137 bc_type.
init(BC, BCTree::BNodeType::BComp);
Declaration of class BCTree.
An iterator-based BFS through a Graph.
Includes declaration of graph class.
Declaration and implementation of NodeSet, EdgeSet, and AdjEntrySet classes.
Basic declarations, included by all source files.
BNodeType
Enumeration type for characterizing the BC-tree-vertices.
GNodeType
Enumeration type for characterizing the vertices of the original graph.
An iterator-based BFS through a Graph.
Functionality for temporarily hiding edges in constant time.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
void init(const Base *base=nullptr)
Reinitializes the array. Associates the array with the matching registry of base.
Singly linked lists (maintaining the length of the list).
RegisteredArray for nodes, edges and adjEntries of a graph.
Hides all (edges leading to) adjacent biconnected components without changing the current embedding.
BiconnectedIsolation(SyncPlanComponents &comps, node bicon)
NodeArray< SListPure< adjEntry > > m_adjEntries
SyncPlanComponents & m_comps
Graph::HiddenEdgeSet m_hiddenEdges
void restore(bool restore_embedding=true)
(Bi)Connected components information maintained during the SyncPlan algorithm.
int connectedId(node n) const
void postSplitOffEncapsulatedBlock(node cut, internal::EncapsulatedBlock &block)
std::pair< edge, edge > graphEdgeToBCEdge(node bc_src, node bc_tgt) const
bool isCutVertex(node n) const
FilteringBFS nodesInBiconnectedComponent(node bicon) const
std::function< std::ostream &(std::ostream &)> fmtBCOf(node n) const
void insert(BCTree &tmp_bc)
int connectedCount() const
void nodeInserted(node g_n, node bc_n)
NodeArray< std::pair< int, edge > > marker
node biconnectedComponent(node n) const
std::function< std::ostream &(std::ostream &)> fmtBCNode(node bc) const
BCTree::BNodeType bcNodeType(node n) const
void labelIsolatedNodes()
bool isCutComponent(node n) const
BCTree::GNodeType nodeType(node n) const
void biconReprNodes(node bicon, SList< node > &nodes) const
void makeRepr(node bc, node n)
void cutReplacedByWheel(node centre, const NodeArray< SList< adjEntry > > &block_neigh)
NodeArray< int > bc_conn_id
node findCommonBiconComp(node bc_cut1, node bc_cut2) const
int biconnectedId(node n) const
int bcConnectedId(node n) const
const Graph & bcTree() const
node bcRepr(node bc) const
NodeArray< BCTree::BNodeType > bc_type
void relabelExplodedStar(node center1, node center2, List< node > remnants)
node findOtherRepr(node bc) const
SyncPlanComponents(Graph *g)
void preJoin(node keep, node merge)
Consistency checks for debugging the SyncPlan algorithm.
Utilities by dumping a drawing of the current state of a SyncPlan instance.
A class for modelling and solving Synchronized Planarity instances.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.
Information on a single block adjacent to a cut-vertex that is about to be encapsulated.