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
MMCrossingMinimizationModule.h
Go to the documentation of this file.
1
33#pragma once
34
35#include <ogdf/basic/Logger.h>
36#include <ogdf/basic/Module.h>
38
39namespace ogdf {
40
46public:
48 MMCrossingMinimizationModule() : m_nodeSplits(0), m_splittedNodes(0) { }
49
50 // destruction
52
69 const EdgeArray<bool>* forbid = nullptr) {
70 return doCall(PG, cc, forbid, crossingNumber, m_nodeSplits, m_splittedNodes);
71 };
72
83 ReturnType call(const Graph& G, int& cr, const EdgeArray<bool>* forbid = nullptr);
84
97 const EdgeArray<bool>* forbid = nullptr);
98
102 int numberOfNodeSplits() const { return m_nodeSplits; }
103
104 int numberOfSplittedNodes() const { return m_splittedNodes; }
105
106protected:
123 int& crossingNumber, int& numNS, int& numSN) = 0;
124
125private:
128
130};
131
132}
Contains logging functionality.
Declares base class for all module types.
Declaration of class PlanRepExpansion representing a planarized representation of the expansion of a ...
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Doubly linked lists (maintaining the length of the list).
Definition List.h:1435
Interface for minor-monotone crossing minimization algorithms.
int numberOfNodeSplits() const
Returns the number of required node splits after the call.
ReturnType call(const Graph &G, const List< node > &splittableNodes, int &cr, const EdgeArray< bool > *forbid=nullptr)
Performs minor-monotone crossing minimization on G for given splittable nodes.
int m_splittedNodes
The number of nodes that are split.
int m_nodeSplits
The number of required node splits.
virtual ReturnType doCall(PlanRepExpansion &PG, int cc, const EdgeArray< bool > *forbid, int &crossingNumber, int &numNS, int &numSN)=0
Actual algorithm call that needs to be implemented by derived classed.
ReturnType call(const Graph &G, int &cr, const EdgeArray< bool > *forbid=nullptr)
Performs minor-monotone crossing minimization on G.
MMCrossingMinimizationModule()
Initializes a minor-monotone crossing minimization module.
ReturnType call(PlanRepExpansion &PG, int cc, int &crossingNumber, const EdgeArray< bool > *forbid=nullptr)
Computes a planarized representation of an expansion of the input graph.
Base class for modules.
Definition Module.h:47
ReturnType
The return type of a module.
Definition Module.h:50
Planarized representations (of a connected component) of a graph.
#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.