Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
VarEdgeInserterCore.h
Go to the documentation of this file.
1
33#pragma once
34
35#include <ogdf/basic/Module.h>
40
41namespace ogdf {
42
44public:
48
50
52 double percentMostCrossed);
53
55 double percentMostCrossed);
56
57 int runsPostprocessing() const { return m_runsPostprocessing; }
58
59protected:
61 class ExpandedGraph;
62
65
66 bool dfsVertex(node v, int parent);
67 node dfsComp(int i, node parent);
68
70 bool pathSearch(node v, edge parent, List<edge>& path);
72 node s, node t);
73
75
78 const StaticSPQRTree& T);
79
80 static const int c_bigM = 10000;
82
86
87 node m_s, m_t;
90
91 // representation of BC tree
96
97 node m_v1, m_v2;
98
100};
101
122
123}
Declares base class for all module types.
Declaration of class PlanRepLight.
Definition of RemoveReinsertType (used for postprocessing in edge insertion algorithms).
Declaration of class StaticSPQRTree.
Declares base class for modules with timeout functionality.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Class for the representation of edges.
Definition Graph_d.h:300
EdgeType
The type of edges (only used in derived classes).
Definition Graph_d.h:566
Doubly linked lists (maintaining the length of the list).
Definition List.h:1435
ReturnType
The return type of a module.
Definition Module.h:50
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
Light-weight version of a planarized representation, associated with a PlanRep.
EdgeType typeOrig(edge eOrig) const
Singly linked lists (maintaining the length of the list).
Definition SList.h:833
Linear-time implementation of static SPQR-trees.
class for timeout funtionality.
Definition Timeouter.h:46
Array< SList< node > > m_nodeB
const EdgeArray< bool > * m_pForbidden
bool dfsVertex(node v, int parent)
virtual ExpandedGraph * createExpandedGraph(const BiconnectedComponent &BC, const StaticSPQRTree &T)
const EdgeArray< int > * m_pCost
Array< SList< edge > > m_edgeB
virtual BiconnectedComponent * createBlock()
bool pathSearch(node v, edge parent, List< edge > &path)
void blockInsert(const BiconnectedComponent &G, node s, node t, List< adjEntry > &L)
Module::ReturnType call(const Array< edge > &origEdges, RemoveReinsertType rrPost, double percentMostCrossed)
int costCrossed(edge eOrig) const
NodeArray< SList< int > > m_compV
node dfsComp(int i, node parent)
virtual void storeTypeOfCurrentEdge(edge eOrig)
int m_runsPostprocessing
Runs of remove-reinsert method.
VarEdgeInserterCore(PlanRepLight &pr, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubgraphs)
void insert(node s, node t, SList< adjEntry > &eip)
const EdgeArray< uint32_t > * m_pSubgraph
virtual void buildSubpath(node v, edge eIn, edge eOut, List< adjEntry > &L, ExpandedGraph &Exp, node s, node t)
Module::ReturnType callPostprocessing(const Array< edge > &origEdges, RemoveReinsertType rrPost, double percentMostCrossed)
BiconnectedComponent * createBlock() override
VarEdgeInserterUMLCore(PlanRepLight &pr, const EdgeArray< int > *pCostOrig, const EdgeArray< uint32_t > *pEdgeSubgraph)
ExpandedGraph * createExpandedGraph(const BiconnectedComponent &BC, const StaticSPQRTree &T) override
void storeTypeOfCurrentEdge(edge eOrig) override
virtual void buildSubpath(node v, edge eIn, edge eOut, List< adjEntry > &L, ExpandedGraph &Exp, node s, node t) override
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
RemoveReinsertType
The postprocessing method for edge insertion algorithms.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.