Declaration and implementation of ClusterArray class.
Declaration of ClusterPQContainer.
Declaration of the class EmbedPQTree.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
C-planarity test and embedding by Cohen, Feng and Eades.
void copyEmbedding(ClusterGraph &Ccopy, Graph &Gcopy, ClusterGraph &C, Graph &G)
ClusterArray< EdgeArray< ArrayBuffer< edge > * > * > m_clusterOutgoingEdgesAnker
bool preparation(Graph &subGraph, const cluster origCluster, node superSink)
EdgeArray< ListPure< edge > > m_parallelEdges
bool doEmbed(Graph *biconComp, NodeArray< int > &numbering, const cluster origCluster, node superSink, Graph &subGraph, EdgeArray< edge > &tableEdgesBiComp2SubGraph, EdgeArray< edge > &tableEdgesSubGraph2BiComp, NodeArray< node > &tableNodesBiComp2SubGraph)
NodeArray< node > m_nodeTableOrig2Copy
void hubControl(Graph &G, NodeArray< bool > &hubs)
virtual bool embed(ClusterGraph &C, Graph &G)
Tests if a clustered graph (C, G) is C-planar and embeds it.
void constructWheelGraph(ClusterGraph &C, Graph &G, cluster &parent, cluster &origCl, EmbedPQTree *T, EdgeArray< node > &outgoingTable, node superSink)
ClusterArray< cluster > m_clusterTableCopy2Orig
ClusterArray< cluster > m_clusterTableOrig2Copy
void nonPlanarCleanup(ClusterGraph &Ccopy, Graph &Gcopy)
NodeArray< node > m_nodeTableCopy2Orig
EdgeArray< ArrayBuffer< edge > * > m_outgoingEdgesAnker
ClusterArray< NodeArray< bool > * > m_clusterSubgraphHubs
bool planarityTest(ClusterGraph &C, const cluster act, Graph &G)
NodeArray< cluster > m_wheelGraphNodes
ClusterArray< cluster_planarity::ClusterPQContainer > m_clusterPQContainer
ClusterArray< EmbedPQTree * > m_clusterPQTree
void prepareParallelEdges(Graph &G)
ClusterArray< NodeArray< SListPure< adjEntry > > * > m_clusterEmbedding
ClusterArray< Graph * > m_clusterSubgraph
ClusterArray< node > m_clusterSuperSink
bool preProcess(ClusterGraph &Ccopy, Graph &Gcopy)
NodeArray< bool > m_currentHubs
CconnectClusterPlanarEmbed()
Constructor.
ClusterGraph * m_instance
ArrayBuffer< cluster > m_callStack
ClusterArray< ClusterGraph * > m_clusterClusterGraph
ClusterArray< NodeArray< node > * > m_clusterNodeTableNew2Orig
void entireEmbed(Graph &biconComp, NodeArray< SListPure< adjEntry > > &entireEmbedding, NodeArray< SListIterator< adjEntry > > &adjMarker, NodeArray< bool > &mark, node v)
void recursiveEmbed(ClusterGraph &Ccopy, Graph &Gcopy)
virtual ~CconnectClusterPlanarEmbed()
Destructor.
ClusterArray< bool > m_unsatisfiedCluster
ClusterArray< ClusterArray< cluster > * > m_clusterClusterTableOrig2New
EdgeArray< bool > m_isParallel
ClusterArray< NodeArray< cluster > * > m_clusterSubgraphWheelGraph
Dynamic arrays indexed with clusters.
Representation of clusters in a clustered graph.
Representation of clustered graphs.
Dynamic arrays indexed with edges.
Data type for general directed graphs (adjacency list representation).
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
Encapsulates a pointer to an ogdf::SList element.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.