Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PlanarizerChordlessCycle.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/DualGraph.h>
35 #include <ogdf/basic/Graph.h>
36 #include <ogdf/basic/basic.h>
39 
40 #include <cstdint>
41 
42 namespace ogdf {
43 class GraphCopy;
44 class PlanRep;
45 template<class E>
46 class List;
47 
62 protected:
64 
67  virtual ReturnType doCall(PlanRep& pr, int cc, const EdgeArray<int>* pCostOrig,
68  const EdgeArray<bool>* pForbiddenOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs,
69  int& crossingNumber) override;
70 
71 public:
74 
77 
79  virtual CrossingMinimizationModule* clone() const override;
80 
82  PlanarizerChordlessCycle& operator=(const PlanarizerChordlessCycle& planarizer);
83 
84 private:
90  bool findChordlessCycle(const Graph& G, List<node>& cycle);
91 
104  void transferToPlanRep(PlanRep& pr, const GraphCopy& graphCopy, const GraphCopy& copyCopy);
105 
119  void addToGraphCopy(GraphCopy& graphCopy, GraphCopy& copyCopy, DynamicDualGraph& dual,
120  node vOrig, const EdgeArray<int>* pCostOrig, EdgeArray<int>* pCostCopy);
121 
124 };
125 
126 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
ogdf::PlanRep
Planarized representations (of a connected component) of a graph.
Definition: PlanRep.h:69
ogdf::CrossingMinimizationModule
Base class for crossing minimization algorithms.
Definition: CrossingMinimizationModule.h:48
ogdf::DualGraphBase
A dual graph including its combinatorial embedding of an embedded graph.
Definition: DualGraph.h:47
CrossingMinimizationModule.h
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
ogdf::GraphCopy
Copies of graphs supporting edge splitting.
Definition: GraphCopy.h:391
ogdf::PlanarizerChordlessCycle::m_inserter
StarInserter m_inserter
The StarInserter used to insert new nodes into the planarization.
Definition: PlanarizerChordlessCycle.h:123
ogdf::StarInserter
Definition: StarInserter.h:237
DualGraph.h
Includes declaration of dual graph class.
ogdf::List
Doubly linked lists (maintaining the length of the list).
Definition: DfsMakeBiconnected.h:40
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
StarInserter.h
Declaration of class StarInserter.
ogdf::Module::ReturnType
ReturnType
The return type of a module.
Definition: Module.h:52
ogdf::PlanarizerChordlessCycle
Definition: PlanarizerChordlessCycle.h:61
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716