Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
UpwardPlanarizerModule.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Module.h>
36
37namespace ogdf {
38
44public:
46 UpwardPlanarizerModule() : m_useCost(false), m_useForbid(false) { }
47
48 // destruction
50
70 const EdgeArray<bool>* forbid = nullptr) {
71 m_useCost = (cost != nullptr);
72 m_useForbid = (forbid != nullptr);
73
74 if (!useCost()) {
75 cost = new EdgeArray<int>(UPR.original(), 1);
76 }
77 if (!useForbid()) {
78 forbid = new EdgeArray<bool>(UPR.original(), 0);
79 }
80
81
82 ReturnType R = doCall(UPR, *cost, *forbid);
83
84 if (!useCost()) {
85 delete cost;
86 }
87 if (!useForbid()) {
88 delete forbid;
89 }
90 return R;
91 }
92
95 const EdgeArray<bool>* forbid = nullptr) {
96 return call(UPR, cost, forbid);
97 }
98
100 bool useCost() const { return m_useCost; }
101
103 bool useForbid() const { return m_useForbid; }
104
105protected:
124 const EdgeArray<bool>& forbid) = 0;
125
127
128private:
131};
132
133}
Declares base class for all module types.
Declaration of a base class for planar representations of graphs and cluster graphs.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Base class for modules.
Definition Module.h:47
ReturnType
The return type of a module.
Definition Module.h:50
Upward planarized representations (of a connected component) of a graph.
Interface for upward planarization algorithms.
ReturnType call(UpwardPlanRep &UPR, const EdgeArray< int > *cost=nullptr, const EdgeArray< bool > *forbid=nullptr)
Computes a upward planarized representation (UPR) of the input graph G.
ReturnType operator()(UpwardPlanRep &UPR, const EdgeArray< int > *cost=nullptr, const EdgeArray< bool > *forbid=nullptr)
Computes a upward planarized representation of the input graph (shorthand for call)
bool m_useForbid
True iff forbidden edges are given.
bool useForbid() const
Returns true iff forbidden edges are given.
bool m_useCost
True iff edge costs are given.
UpwardPlanarizerModule()
Initializes an upward planarizer module.
virtual ReturnType doCall(UpwardPlanRep &UPR, const EdgeArray< int > &cost, const EdgeArray< bool > &forbid)=0
Computes an upward planarized representation of the input graph.
bool useCost() const
Returns true iff edge costs are given.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition memory.h:91
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.