|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
41 class BoyerMyrvoldPlanar;
91 lhs |=
static_cast<int>(rhs);
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
The namespace for all OGDF objects.
A Kuratowski Structure is a special graph structure containing severals subdivisions.
node findRoot(node stopX) const
Finds root node of the bicomp containing the stopping node stopX.
Declaration and implementation of ArrayBuffer class.
Includes declaration of graph class.
SListIterator< ExternE > externEEnd
void extractPertinentSubgraphBundles(const SListPure< WInfo > &W_All, const node V, SListPure< edge > &pertinentSubgraph, int nodeMarker)
Extracts pertinent subgraph from all wNodes to V (with bundles)
void extractHighestFacePath(ArrayBuffer< adjEntry > &highestFacePath, int marker)
Extracts the highestFace Path of the bicomp containing both stopping nodes.
~FindKuratowskis()
Destructor.
NodeArray< WInfo * > m_getWInfo
Links appropriate WInfo to node.
SListPure< ExternE > externE
List of externally active nodes strictly between x and y for minortypes B and E.
node stopY
Second stopping node.
const NodeArray< int > & m_leastAncestor
The DFI of the least ancestor node over all backedges.
node stopX
First stopping node.
SListPure< SListPure< edge > > pertinentPaths
FindKuratowskis & operator=(const FindKuratowskis &)=delete
const NodeArray< adjEntry > & m_adjParent
The adjEntry which goes from DFS-parent to current vertex.
SListPure< ArrayBuffer< adjEntry > > zPaths
A path from the zNode in minortype D to node V for each highest XY-Path.
KuratowskiStructure & operator=(const KuratowskiStructure &orig)
Assignment.
void splitInMinorTypes(const SListPure< adjEntry > &externalFacePath, int marker)
Assign pertinent nodes to the different minortypes and extracts inner externalPaths.
SListPure< node > stopXEndnodes
List of all endnodes of paths starting at stopX (only without bundles)
Encapsulates a pointer to an ogdf::SList element.
SListPure< node > endnodes
void extractExternalSubgraph(const node stop, int root, SListPure< int > &externalStartnodes, SListPure< node > &externalEndnodes)
Extracts external subgraph from node stop to ancestors of node with DFI root (without bundles)
int operator&(int lhs, UMLOpt rhs)
SListPure< WInfo > wNodes
Holds information about all pertinent nodes w of the bicomp containing V.
MinorType
All possible base minortypes on w.
const bool m_bundles
If true, bundles are extracted, otherwise single paths?
SListPure< KuratowskiStructure > & getAllKuratowskis()
Get-method for the list of all KuratowskiStructures.
ArrayBuffer< adjEntry > * highestXYPath
BoyerMyrvoldPlanar * pBM
Link to class BoyerMyrvoldPlanar.
int V_DFI
DFI of the current node to embed.
int m_nodeMarker
Value used as marker for visited nodes etc.
SListPure< edge > externalSubgraph
A list of all edges in all externally active paths (bundles only)
ArrayBuffer< adjEntry > highestFacePath
The whole highestFacePath of the bicomp containing V.
static void copy(const T &from, T &to)
SListPure< int > stopYStartnodes
List of all virtual startnodes of paths starting at stopY (only without bundles)
unsigned int operator|=(unsigned int &i, CPUFeatureMask fm)
const Array< node > & m_nodeFromDFI
Returns appropriate node from given DFI.
Declaration of singly linked lists and iterators.
void extractExternalFacePath(SListPure< adjEntry > &externalFacePath, const ArrayBuffer< adjEntry > &highestFacePath, int marker, int highMarker)
Extracts externalFacePath in direction CCW and splits highestFacePath in highestXYPaths.
List of externally active nodes strictly between x and y for minortypes B and E
const NodeArray< int > & m_highestSubtreeDFI
The highest DFI in a subtree with node as root.
~KuratowskiStructure()
Destructor.
KuratowskiStructure k
Current Kuratowski Structure.
NodeArray< SListPure< node > > & m_pertinentRoots
List of virtual bicomp roots, that are pertinent to the current embedded node.
const NodeArray< int > & m_dfi
The one and only DFI-NodeArray.
void addKuratowskiStructure(const node currentNode, const node root, const node stopx, const node stopy)
Adds Kuratowski Structure on current node with root root and stopping nodes stopx and stopy.
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
SListPure< KuratowskiStructure > allKuratowskis
List of all Kuratowski Structures.
NodeArray< int > & m_lowPoint
The lowpoint of each node.
void extractPertinentSubgraph(SListPure< WInfo > &W_All)
Extracts pertinent subgraph from all wNodes to V (without bundles)
SListPure< ArrayBuffer< adjEntry > > highestXYPaths
The appropriate paths of the highestFacePath for each wNode.
const int & m_embeddingGrade
The embedding grade.
node R
The root of the bicomp containing stopX and stopY.
const SListPure< KuratowskiStructure > & getAllKuratowskis() const
Constant get-method for the list of all KuratowskiStructures.
Basic declarations, included by all source files.
KuratowskiStructure(const KuratowskiStructure &orig)
Copy constructor.
NodeArray< SListPure< adjEntry > > & m_backedgeFlags
Holds information, if node is the source of a backedge.
SListPure< int > stopXStartnodes
List of all virtual startnodes of paths starting at stopX (only without bundles)
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
FindKuratowskis(BoyerMyrvoldPlanar *bm)
Constructor.
NodeArray< int > m_wasHere
Array maintaining visited bits on each node.
This class collects information about Kuratowski Subdivisions which is used for extraction later.
Declaration and implementation of Array class and Array algorithms.
This class implements the extended BoyerMyrvold planarity embedding algorithm.
const NodeArray< ListPure< node > > & m_separatedDFSChildList
A list to all separated DFS-children of node.
node RReal
Real node of virtual node R.
SListPure< edge > pertinentSubgraph
A list of all edges in pertinent paths (bundles only)
const EdgeArray< node > & m_pointsToRoot
Identifies the rootnode of the child bicomp the given backedge points to.
BoyerMyrvoldEdgeType
Type of edge.
SListPure< node > stopYEndnodes
List of all endnodes of paths starting at stopY (only without bundles)
node V
The current node to embed.
NodeArray< int > & m_numUnembeddedBackedgesInBicomp
Stores for each (virtual) bicomp root how many backedges to its bicomp still have to be embedded.
const NodeArray< node > & m_realVertex
Link to non-virtual vertex of a virtual Vertex.
SListPure< adjEntry > externalFacePath
External face path of bicomp containing V in direction CCW.
ArrayBuffer< adjEntry > * zPath
SListIterator< ExternE > externEStart
void extractExternalSubgraphBundles(const node stop, int root, SListPure< edge > &externalSubgraph, int nodeMarker)
Extracts external subgraph from node stop to ancestors of node with DFI root (with bundles)
SListPure< int > startnodes
Class for the representation of nodes.
Saves information about a pertinent node w between two stopping vertices.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
SListPure< SListPure< edge > > externalPaths
KuratowskiStructure()
Constructor.
EdgeArray< BoyerMyrvoldEdgeType > & m_edgeType
Contains the type of each edge.