Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
FixEdgeInserterCore.h
Go to the documentation of this file.
1
33#pragma once
34
36#include <ogdf/basic/FaceSet.h>
37#include <ogdf/basic/Module.h>
38#include <ogdf/basic/Queue.h>
42
43namespace ogdf {
44
46public:
50
52
53 Module::ReturnType call(const Array<edge>& origEdges, bool keepEmbedding,
54 RemoveReinsertType rrPost, double percentMostCrossed);
55
56 int runsPostprocessing() const { return m_runsPostprocessing; }
57
58protected:
59 int getCost(edge e, int stSubGraph) const;
62 SList<adjEntry>& crossed);
63
67
69
70 virtual void init(CombinatorialEmbedding& E);
71 virtual void cleanup();
72 virtual void constructDual(const CombinatorialEmbedding& E);
73
76 int maxCost, node v, int currentDist);
77
80
82
86
88
91
94
97
99};
100
124
125}
declaration and implementation of FaceArray class
Declaration and implementation of ogdf::FaceSet.
Declares base class for all module types.
Declaration of class PlanRepLight.
Definition of RemoveReinsertType (used for postprocessing in edge insertion algorithms).
Declares base class for modules with timeout functionality.
Declaration and implementation of list-based queues (classes QueuePure<E> and Queue<E>).
Class for adjacency list elements.
Definition Graph_d.h:79
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
Combinatorial embeddings of planar graphs with modification functionality.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Class for the representation of edges.
Definition Graph_d.h:300
Dynamic arrays indexed with faces of a combinatorial embedding.
Definition FaceArray.h:126
Faces in a combinatorial embedding.
Face sets.
Definition FaceSet.h:53
const EdgeArray< int > * m_pCost
virtual void insertEdgesIntoDual(const CombinatorialEmbedding &E, adjEntry adjSrc)
const EdgeArray< bool > * m_pForbidden
FixEdgeInserterCore(PlanRepLight &pr, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubgraphs)
int costCrossed(edge eOrig) const
const EdgeArray< uint32_t > * m_pSubgraph
void removeEdge(CombinatorialEmbedding &E, edge eOrig)
void findShortestPath(const CombinatorialEmbedding &E, edge eOrig, SList< adjEntry > &crossed)
Graph m_dual
(Extended) dual graph, constructed/destructed during call.
void findWeightedShortestPath(const CombinatorialEmbedding &E, edge eOrig, SList< adjEntry > &crossed)
int m_runsPostprocessing
Runs of remove-reinsert method.
void insertEdge(CombinatorialEmbedding &E, edge eOrig, const SList< adjEntry > &crossed)
FaceArray< node > m_nodeOf
The node in dual corresponding to face in primal.
virtual void appendCandidates(QueuePure< edge > &queue, node v)
node m_vT
The node in extended dual representing t.
virtual void appendCandidates(Array< SListPure< edge > > &nodesAtDist, EdgeArray< int > &costDual, int maxCost, node v, int currentDist)
EdgeArray< adjEntry > m_primalAdj
Adjacency entry in primal graph corresponding to edge in dual.
Module::ReturnType call(const Array< edge > &origEdges, bool keepEmbedding, RemoveReinsertType rrPost, double percentMostCrossed)
virtual void init(CombinatorialEmbedding &E)
int getCost(edge e, int stSubGraph) const
virtual void insertEdgesIntoDualAfterRemove(const CombinatorialEmbedding &E, face f)
virtual void constructDual(const CombinatorialEmbedding &E)
node m_vS
The node in extended dual representing s.
virtual void storeTypeOfCurrentEdge(edge eOrig)
void insertEdgesIntoDualAfterRemove(const CombinatorialEmbedding &E, face f) override
void appendCandidates(Array< SListPure< edge > > &nodesAtDist, EdgeArray< int > &costDual, int maxCost, node v, int currentDist) override
EdgeArray< bool > m_primalIsGen
true iff corresponding primal edge is a generalization.
void init(CombinatorialEmbedding &E) override
void storeTypeOfCurrentEdge(edge eOrig) override
void constructDual(const CombinatorialEmbedding &E) override
void appendCandidates(QueuePure< edge > &queue, node v) override
FixEdgeInserterUMLCore(PlanRepLight &pr, const EdgeArray< int > *pCostOrig, const EdgeArray< uint32_t > *pEdgeSubgraph)
void insertEdgesIntoDual(const CombinatorialEmbedding &E, adjEntry adjSrc) override
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
EdgeType
The type of edges (only used in derived classes).
Definition Graph_d.h:566
ReturnType
The return type of a module.
Definition Module.h:50
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
Implementation of list-based queues.
Definition Queue.h:50
Singly linked lists (maintaining the length of the list).
Definition SList.h:833
Singly linked lists.
Definition SList.h:179
class for timeout funtionality.
Definition Timeouter.h:46
#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.