Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
UMLCrossingMinimizationModule.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Graph.h>
35#include <ogdf/basic/Module.h>
37#include <ogdf/basic/basic.h>
38#include <ogdf/basic/memory.h>
39
40namespace ogdf {
41class PlanRepUML;
42
45public:
48
51
54
57
59
70 ReturnType call(PlanRepUML& prUML, int cc, int& crossingNumber,
71 const EdgeArray<int>* pCostOrig = nullptr) {
72 return doCall(prUML, cc, pCostOrig, crossingNumber);
73 }
74
76
87 ReturnType operator()(PlanRepUML& prUML, int cc, int& crossingNumber,
88 const EdgeArray<int>* pCostOrig = nullptr) {
89 return doCall(prUML, cc, pCostOrig, crossingNumber);
90 }
91
93 static bool checkCrossingGens(const PlanRepUML& prUML);
94
95protected:
97
108 virtual ReturnType doCall(PlanRepUML& prUML, int cc, const EdgeArray<int>* pCostOrig,
109 int& crossingNumber) = 0;
110
112};
113
114}
Includes declaration of graph class.
Declares base class for all module types.
Declares base class for modules with timeout functionality.
Basic declarations, included by all source files.
Base class for modules.
Definition Module.h:49
ReturnType
The return type of a module.
Definition Module.h:52
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
Definition PlanRepUML.h:55
class for timeout funtionality.
Definition Timeouter.h:46
Base class for UML crossing minimization algorithms.
static bool checkCrossingGens(const PlanRepUML &prUML)
Checks if the planarized represenation contains crossing generalizations.
UMLCrossingMinimizationModule(const UMLCrossingMinimizationModule &cmm)
Initializes a UML crossing minimization module (copy constructor).
ReturnType call(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
virtual ReturnType doCall(PlanRepUML &prUML, int cc, const EdgeArray< int > *pCostOrig, int &crossingNumber)=0
Actual algorithm call that needs to be implemented by derived classes.
ReturnType operator()(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
UMLCrossingMinimizationModule()
Initializes a UML crossing minimization module (default constructor).
virtual UMLCrossingMinimizationModule * clone() const =0
Returns a new instance of the UML crossing minimization module with the same option settings.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition memory.h:92
Declaration of memory manager for allocating small pieces of memory.
The namespace for all OGDF objects.