|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
91 virtual const Graph& originalGraph()
const = 0;
97 virtual edge rootEdge()
const = 0;
100 virtual node rootNode()
const = 0;
103 virtual int numberOfSNodes()
const = 0;
106 virtual int numberOfPNodes()
const = 0;
109 virtual int numberOfRNodes()
const = 0;
115 virtual NodeType typeOf(
node v)
const = 0;
118 virtual List<node> nodesOfType(NodeType t)
const = 0;
130 virtual const Skeleton& skeletonOfReal(
edge e)
const = 0;
136 virtual edge copyOfReal(
edge e)
const = 0;
143 if (m_cpV ==
nullptr) {
159 while (!m_cpVAdded.empty()) {
160 cpV[m_cpVAdded.popFrontRet()] =
nullptr;
172 virtual node rootTreeAt(
edge e) = 0;
178 virtual node rootTreeAt(
node v) = 0;
185 skeleton(vT).getGraph().reverseEdge(e);
190 Graph& M = skeleton(vT).getGraph();
212 node& vP = (*m_cpV)[vOrig];
214 m_cpVAdded.pushBack(vOrig);
The namespace for all OGDF objects.
Includes declaration of graph class.
SList< node > m_cpVAdded
list of added nodes (auxiliary member)
Declaration of class PertinentGraph.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
virtual edge split(edge e)
Splits edge e into two edges introducing a new node.
Singly linked lists (maintaining the length of the list).
Linear-time implementation of static SPQR-trees.
void reverseEdge(edge e)
Reverses the edge e, i.e., exchanges source and target node.
Declaration of class Skeleton.
static void copy(const T &from, T &to)
edge cpAddEdge(edge eOrig, PertinentGraph &Gp) const
Add an edge to Gp corresponding to eOrig.
edge referenceEdge() const
Returns the reference edge of S in M.
void replaceSkEdgeByPeak(node vT, edge e)
const T & move(const T &v)
Declaration of singly linked lists and iterators.
edge m_skRefEdge
reference edge (in skeleton(m_vT))
edge m_vEdge
reference edge (in m_P)
NodeArray< node > m_origV
corresp.
node source() const
Returns the source node of the edge.
Doubly linked lists (maintaining the length of the list).
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
@ tree
for every hyperedge e a minimal subcubic tree connecting all hypernodes incident with e together is a...
void pertinentGraph(node v, PertinentGraph &Gp) const
Returns the pertinent graph of tree node v in Gp.
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
NodeType
The type of a tree node in T.
node newNode(int index=-1)
Creates a new node and returns it.
void init(node vT)
Initialization of a pertinent graph of tree node vT.
Class for the representation of edges.
Declaration of doubly linked lists and iterators.
Skeleton graphs of nodes in an SPQR-tree.
virtual node original(node v) const =0
Returns the vertex in the original graph G that corresponds to v.
Pertinent graphs of nodes in an SPQR-tree.
node cpAddNode(node vOrig, PertinentGraph &Gp) const
Add a node to Gp corresponding to vOrig if required.
node target() const
Returns the target node of the edge.
edge newEdge(node v, node w, int index=-1)
Creates a new edge (v,w) and returns it.
NodeArray< node > * m_cpV
node in pertinent graph corresponding to an original node (auxiliary member)
Class for the representation of nodes.
EdgeArray< edge > m_origE
corresp.
void directSkEdge(node vT, edge e, node src)