Open
Graph Drawing
Framework

 v. 2022.02 (Dogwood)
 

UMLCrossingMinimizationModule.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/uml/PlanRepUML.h>
35 #include <ogdf/basic/Module.h>
36 #include <ogdf/basic/Timeouter.h>
37 
38 
39 namespace ogdf {
40 
43 {
44 public:
47 
50 
53 
55  virtual UMLCrossingMinimizationModule *clone() const = 0;
56 
57 
59 
71  int cc,
72  int& crossingNumber,
73  const EdgeArray<int> *pCostOrig = nullptr)
74  {
75  return doCall(prUML, cc, pCostOrig, crossingNumber);
76  }
77 
79 
91  int cc,
92  int & crossingNumber,
93  const EdgeArray<int> *pCostOrig = nullptr)
94  {
95  return doCall(prUML, cc, pCostOrig, crossingNumber);
96  }
97 
99  static bool checkCrossingGens(const PlanRepUML &prUML);
100 
101 protected:
103 
114  virtual ReturnType doCall(PlanRepUML &prUML,
115  int cc,
116  const EdgeArray<int> *pCostOrig,
117  int &crossingNumber) = 0;
118 
120 };
121 
122 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanRepUML
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
Definition: PlanRepUML.h:49
PlanRepUML.h
Declaration of class PlanRepUML.
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule()
Initializes a UML crossing minimization module (default constructor).
Definition: UMLCrossingMinimizationModule.h:46
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule(const UMLCrossingMinimizationModule &cmm)
Initializes a UML crossing minimization module (copy constructor).
Definition: UMLCrossingMinimizationModule.h:49
ogdf::UMLCrossingMinimizationModule::operator()
ReturnType operator()(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
Definition: UMLCrossingMinimizationModule.h:90
ogdf::EdgeArray< int >
Timeouter.h
Declares base class for modules with timeout functionality.
ogdf::UMLCrossingMinimizationModule
Base class for UML crossing minimization algorithms.
Definition: UMLCrossingMinimizationModule.h:42
OGDF_MALLOC_NEW_DELETE
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition: memory.h:91
ogdf::Module
Base class for modules.
Definition: Module.h:47
ogdf::UMLCrossingMinimizationModule::~UMLCrossingMinimizationModule
virtual ~UMLCrossingMinimizationModule()
Destructor.
Definition: UMLCrossingMinimizationModule.h:52
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:99
ogdf::UMLCrossingMinimizationModule::call
ReturnType call(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
Definition: UMLCrossingMinimizationModule.h:70
ogdf::Timeouter
class for timeout funtionality.
Definition: Timeouter.h:47
Module.h
Declares base class for all module types.
ogdf::Module::ReturnType
ReturnType
The return type of a module.
Definition: Module.h:51